@charset "UTF-8";

/******ローディングアニメーション*******/
#loader {
  position: fixed;
  z-index: 10010;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(0deg, #a9e9ff, #2bcaff);
}
.drop-shaped{
  position: relative;
  margin:  0 auto;
  top: -45px;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 0% 100% 50% 50%/ 0% 50% 50% 100%;
  transform: rotate(45deg) skew(10deg, 10deg);
  animation: 2s cubic-bezier(.97,.03,.86,.12) 0s running fall-water;
}
@keyframes fall-water {
  to {
    top: 380px;
  }
}
.ripple {
  position: relative;
  margin:  0 auto;
  top: 250px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 15px solid #fff;
  background: #fff;
  transform: scale(0.01,0.01);
  opacity: 0;
  animation: 6s ease-out 3s running spread;
}
@keyframes spread {
  from {
    opacity: 0.5;
  }
  to {
    transform: scale(7,7);
    opacity: 0.5;
  }
}
.delay1 {
  top: 100px;
  animation-delay: 2s;
}
.delay2 {
  top: -50px;
  animation-delay: 2.3s;
}
.delay3 {
  top: -200px;
  animation-delay: 2.7s;
}
.delay4 {
  top: -350px;
  animation-delay: 3.2s;
}
body.loaded #loader {
  opacity: 0;
  pointer-events: none;
  transition: opacity 5s ease 1.2s;
}
/******ローディングアニメーション*******/

/******グローバルメニュードロップダウン*******/
.drop-menu:hover .drop-menu-list {
  visibility: visible; /* 下層メニューを表示 */
}
/* ドロップダウンメニュー */
.drop-menu {
  position: relative;
}
.drop-menu-list {
  /* background-color: #fff; */
  left: 0;
  position: absolute;
  top: 100%;
  visibility: hidden; /* 下層メニューを非表示 */
  width: max-content;
  z-index: 1;
}
.drop-menu-item a {
  align-items: center;
  color: #333;
  background-color: #fff;
  display: flex;
  text-decoration: none;
  /* justify-content: center;
  height: 50px;
  width: 120px; */
  padding: 1em;
  margin-left: -1em;
  margin-bottom: 3px;
  border-radius: 5px;
  /* transition: .5s; */
}
.drop-menu-item a:hover{
  /* color: #fff;
  background-color: #003f73; */
  background-color: #ddd;
}
/******グローバルメニュードロップダウン*******/

/******葉が舞い落ちるエフェクト*******/
.fall-leaf {
  position: fixed;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  pointer-events: none; /* クリック操作を邪魔しない */
  overflow: hidden;
  z-index: -1;
}
.fall-leaf li {
  position: absolute;
  top: -50px;
  width: 50px;
  list-style: none;
}
.fall-leaf li img {
  width: 100%;
}
@keyframes fall-leaf {
  to {
    top: 120%;
  }
}
@keyframes rotate1 {
  from {
    transform: translateX(0px) rotate(0deg);
  }
  to {
    transform: translateX(500px) rotate(-120deg) rotateX(180deg);
  }
}
@keyframes rotate2 {
  from {
    transform: translateX(0px) rotate(-45deg);
  }
  to {
    transform: translateX(300px) rotate(50deg) rotateX(-180deg);
  }
}
 @keyframes rotate3 {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(400px) rotate(-80deg) rotateX(180deg);
  }
  100% {
    transform: translateX(200px) rotate(80deg) rotateX(90deg);
  }
}
@keyframes rotate4 {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(-100px) rotate(90deg) rotateX(-180deg);
  }
  100% {
    transform: translateX(300px) rotate(-80deg) rotateX(0deg);
  }
}
/******葉が舞い落ちるエフェクト*******/

.textnewline{/*テキストの改行制御*/
  display: inline-block;
}

/******NEWS area*******/
:root {
    --color-text-primary: #333;
    --color-text-secondary: #666;
    --color-text-glay: #999;
    --color-text-link: #03a9f4;
    --color-glay-dark-dark: #ddd;
    --color-glay-dark: #eee;
    --color-glay: #f6f6f6;
    --color-glay-light: #f2f2f2;
    --color-bg: #eaedf2;
    --color-red: #d90909;
    --color-red-05: #fdf5f5;
    --color-yellow: #ffe001;
    --color-brand: #8ec748;
    --color-brand-05: #ebf1e2;
    --color-white: #fff;
    --color-black: #000;
    --font-family: YakuHanJP, -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Helvetica Neue", "Segoe UI", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, "ヒラギノ角ゴ ProN W3", Meiryo, "M+ 1p", sans-serif;
    --font-family-en: "Cabin", "Verdana", "Arial", "Arial Black", sans-serif;
    --border-radius-large: 12px;
    --border-radius-middle: 8px;
    --border-radius-small: 4px;
    --weight-normal: 400;
    --weight-middle: 500;
    --weight-bold: 700;
    --weight-xbold: 900;
    --fs-xxxlarge: 36px;
    --fs-xxlarge: 32px;
    --fs-xlarge: 28px;
    --fs-large: 24px;
    --fs-xxmiddle: 22px;
    --fs-xmiddle: 20px;
    --fs-middle: 18px;
    --fs-default: 15px;
    --fs-small: 13px;
    --fs-xsmall: 11px;
    --transition: all .3s 
cubic-bezier(0, 1, .64, 1);
}
.news-archive__body {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.news-item {
    -webkit-transition: var(--transition);
    transition: var(--transition);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border-bottom: 1px solid var(--color-text-glay);
}
.news-page-item {
    -webkit-transition: var(--transition);
    transition: var(--transition);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 100px;
}
.news-item__link {
    -webkit-transition: var(--transition);
    transition: var(--transition);
    width: 100%;
    padding: 15px 0 15px 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left;
    color: var(--color-text-primary) !important;
    text-decoration: none;
    transition: .4s ease,color .4s ease;
}
.news-item__link:hover {
  background: #fff;
  color: var(--color-primary) !important;
}
.news-item__thumbnail {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    min-width: 142px;
    max-width: 142px;
    width: 100%;
    height: 80px;
    -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .1);
    box-shadow: 0 0 2px rgba(0, 0, 0, .1);
}
.news-item__thumbnail img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.news-item__info {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    position: relative;
}
.news-item__info .news-time {
    background: var(--color-text-glay);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100px;
    height: 24px;
    position: absolute;
    top: 0;
    left: -130px;
}
.news-item__info .news-time span {
    font-size: var(--fs-small);
    font-family: var(--font-family-en);
    color: var(--color-white);
    font-weight: var(--weight-bold);
}
.news-item__info .news-category {
    font-size: var(--fs-small);
    font-family: var(--font-family-en);
    color: var(--color-text-secondary);
    font-weight: var(--weight-bold);
    height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.news-title {
    font-size: var(--fs-middle);
    font-weight: var(--weight-bold);
    margin: 4px 0 0;
    width: 100%;
    padding: 0 32px 0 0;
    line-height: 1.4;
}
.news-page-title {
    font-size: var(--fs-large);
    font-weight: var(--weight-bold);
    margin: 1em 0;
    width: 100%;
    padding: 0 32px 0 0;
    line-height: 1.4;
}
.news-img-01{
  width: 100%;
  max-width: 600px;
}
@media screen and (max-width: 768px) {
    .news-item__link {
        display: block;
        padding: 24px 0;
    }
    .news-item__thumbnail {
        display: none;
    }
    .news-item__info .news-time {
        width: 70px;
        height: 20px;
        left: 0;
    }
    .news-item__info .news-time span {
        font-size: var(--fs-xsmall);
    }
    .news-item__info .news-category {
        font-size: var(--fs-xsmall);
        padding-left: 80px;
        height: 20px;
    }
    .news-title {
        font-size: var(--fs-small);
        padding: 0;
        margin: 8px 0 0;
    }
}
/******NEWS area*******/

/******SERVICE area*******/
.service-block {
    padding: var(--s12) 0 var(--s8);
    position: relative;
    z-index: 1;
}
.service-card-01-wrapper{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
}
.service-card-01-wrapper li{
  width: calc(100% / 3);
}
.about-text{
  padding: var(--s3) 0 0 0;
}
.service-card-01 {
    text-align: center;
    position: relative;
    transition: transform 1s cubic-bezier(.68,-.6,.32,1.6);
}
.service-card-01::after {
    content: "";
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    /* transition: border-width .4s; */
}
.service-card-01__thumb {
    height: 0;
    padding-top: 35%;
    overflow: hidden;
    position: relative;
}
.service-card-01__thumb__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) scale(0.8);
    transition: transform .6s;
}
.service-card-01__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--s1-2);
}
.service-card-01__title {
    font-size: var(--fs-xmiddle);
    font-weight: var(--weight-xbold);
    line-height: 1.75;
}
.service-card-01__label {
    font-size: var(--fs-default);
    color: var(--color-text-secondary);
    line-height: 1.75;
    text-align: center;
}
.service-card-01__link {
    height: 100%;
    padding: var(--s3);
    display: flex;
    flex-direction: column;
    gap: var(--s1);
    text-decoration: none;
    position: relative;
    z-index: 1;
}
.service-bg {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: -6rem;
    left: 50%;
    z-index: -1;
    transform: translate(-50%,0);
}
.service-bg__inner {
    max-width: 129.6rem;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.service-bg__badge-01,.service-bg__badge-02,.service-bg__badge-03 {
    position: fixed;
}
.service-bg__badge-01 {
    top: -2rem;
    left: -10rem;
    animation: rotate-02 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-bg__badge-01 .service-bg__badge-01__img {
    display: block;
    width: 35rem;
    height: 35rem;
    transform: rotate(-29deg);
    background: url(../images/icon/leaf-01.svg) no-repeat center;
}
.service-bg__badge-02 {
    top: 40rem;
    left: -4.4rem;
    animation: rotate-02 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-bg__badge-02 .service-bg__badge-02__img {
    display: block;
    width: 14rem;
    height: 14rem;
    transform: rotate(-5deg);
    background: url(../images/icon/leaf-03.svg) no-repeat center;
}
.service-bg__badge-03 {
    top: 0rem;
    right: -3rem;
    animation: rotate-01 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-bg__badge-03 .service-bg__badge-03__img {
    display: block;
    width: 30rem;
    height: 30rem;
    transform: rotate(119deg);
    background: url(../images/icon/leaf-02.svg) no-repeat center;
}
@media (hover: hover) {
    .service-card-01:hover .service-card-01__link {
        color:#666;
    }
    .service-card-01:hover::after {
        border-width: 2px;
    }
    .service-card-01:hover .service-card-01__thumb__img {
        transform: translate(-50%,-50%) scale(1);
    }
}
@media screen and (max-width: 768px) {
    .service-block {
        padding: var(--s8) 0 var(--s4);
    }
    .service-card-01-wrapper li{
        width: calc(100% / 2);
    }
    .service-card-01__thumb {
        padding-top: 60%;
    }
    .service-card-01__content {
        display: block;
        padding: var(--s1-2);
        font-size: 0;
    }
    .service-card-01__label {
        font-size: 1rem;
        display: inline-block;
    }
    .service-card-01__title {
        font-size: 1.2rem;
        display: inline-block;
    }
    .service-card-01__link {
        padding: var(--s1);
        gap: var(--s1-2);
    }
    .service-bg {
        top: -3rem;
    }
    .service-bg__badge-01 {
        top: -1rem;
        left: -6rem;
    }
    .service-bg__badge-01 .service-bg__badge-01__img {
        width: 16rem;
        height: 16rem;
    }
    .service-bg__badge-02 {
      top: 36rem;
  }
    .service-bg__badge-02 .service-bg__badge-02__img {
        width: 10rem;
        height: 10rem;
    }
    .service-bg__badge-03 {
        top: 16rem;
        right: -10rem;
    }
    .service-bg__badge-03 .service-bg__badge-03__img {
        width: 18rem;
        height: 18rem;
    }
}
/*SERVICE page*/
.service-page-area{
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--s1);
  padding: var(--s2) var(--s8);
  max-width: 1000px;
  margin: auto;
}
.analog-box-01,.fanclub-box-01,.ticket-box-01,.event-box-01,.goods-box-01{
  font-size: 1.2em;
  line-height: 1.5;
}
.service-block-title{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  gap: var(--s1-2);
  margin: var(--s4) 0;
}
.service-block-title::before{
  content: "";
  display: inline-block;
  background-position:center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 3em;
  height: 2em;
}
.fanclub-title-icon::before{
  background-image: url(../images/icon/icon-fanclub.svg);
}
.analog-title-icon::before{
  background-image: url(../images/icon/icon-analog.svg);
}
.ticket-title-icon::before{
  background-image: url(../images/icon/icon-ticket.svg);
}
.event-title-icon::before{
  background-image: url(../images/icon/icon-event.svg);
}
.goods-title-icon::before{
  background-image: url(../images/icon/icon-goods.svg);
}
.service-summary-01 {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: var(--s1);
    overflow: hidden;
}
.service-summary-01__label {
    padding: var(--s1) var(--s2);
    background: var(--color-primary);
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: var(--s1-2);
    font-family: Lexend,sans-serif;
    font-weight: 700;
    line-height: 1.5;
}
.service-summary-01__content {
    padding: var(--s2);
    background: #fff;
}
.service-page-bg {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: -2rem;
    left: 50%;
    z-index: -1;
    transform: translate(-50%,0);
}
.service-page-bg__inner {
    max-width: 129.6rem;
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.service-page-bg__badge-01,.service-page-bg__badge-02,.service-page-bg__badge-03,.service-page-bg__badge-04 {
    position: fixed;
}
.service-page-bg__badge-01 {
    top: -3rem;
    left: -10rem;
    animation: rotate-01 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-page-bg__badge-01 .service-page-bg__badge-01__img {
    display: block;
    width: 37rem;
    height: 37rem;
    transform: rotate(-29deg);
    background: url(../images/icon/leaf-01.svg) no-repeat center;
}
.service-page-bg__badge-02 {
    top: 40rem;
    left: -4.4rem;
    animation: rotate-02 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-page-bg__badge-02 .service-page-bg__badge-02__img {
    display: block;
    width: 14rem;
    height: 14rem;
    transform: rotate(-5deg);
    background: url(../images/icon/leaf-03.svg) no-repeat center;
}
.service-page-bg__badge-03 {
    top: 6.8rem;
    right: -2rem;
    animation: rotate-01 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-page-bg__badge-03 .service-page-bg__badge-03__img {
    display: block;
    width: 23rem;
    height: 23rem;
    transform: rotate(140deg);
    background: url(../images/icon/leaf-02.svg) no-repeat center;
}
.service-page-bg__badge-04 {
    top: -0.5rem;
    right: -3rem;
    animation: rotate-01 7s cubic-bezier(.45,0,.55,1) infinite;
}
.service-page-bg__badge-04 .service-page-bg__badge-04__img {
    display: block;
    width: 25rem;
    height: 25rem;
    transform: rotate(191deg);
    background: url(../images/icon/leaf-04.svg) no-repeat center;
}
.fanclub-item-02{
  line-height: 1.5;
  margin: 0 0 1em 0;
}
.fanclub-item-02 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
}
.fanclub-item-02 ul li {
  width: calc(100% / 2);
}
.fanclub-item-02__content{
  background: linear-gradient(125deg, #25a47e, #53c9a6);
  color: var(--color-white);
  border-radius: var(--s1);
  text-align: center;
  padding: 1em;
  margin: 1em;
  position: relative;
  transition: transform 1s cubic-bezier(.68,-.6,.32,1.6);
  height: -webkit-fill-available;
}
.fanclub-item-02__content span{
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  margin: 1em 0 0 0;
}
.fanclub-fadeUp {
  animation-name: fanclub-fadeUp;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fanclub-fadeUp {
  from {
  opacity: 0;
  transform: translateY(50px);
  }
  to {
  opacity: 1;
  transform: translateY(0);
  }
}
/* .analog-box-01{
  display: grid;
  grid-template-areas: "analog-item-01 analog-item-01" "analog-item-02 analog-item-04" "analog-item-03 analog-item-04";
  grid-template-columns: 1fr 30rem;
  grid-template-rows: auto auto auto;
}
.analog-item-01{
  grid-area: analog-item-01;
}
.analog-item-02{
  grid-area: analog-item-02;
}
.analog-item-03{
  grid-area: analog-item-03;
}
.analog-item-04{
  grid-area: analog-item-04;
}
.analog-item-text{
  max-width: 100%;
  background: #53c9a6;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 0 20px 50px;
  padding: 10px 0px 13px 0;
  border-radius: 5px;
} */
 .analog-item-03 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
}
.analog-item-03 ul li {
  width: calc(100% / 3);
}
.analog-item-03__content{
  background: linear-gradient(125deg, #25a47e, #53c9a6);
  color: var(--color-white);
  border-radius: var(--s1);
  text-align: center;
  padding: 1em 0.5em;
  margin: 0.5em;
  position: relative;
  transition: transform 1s cubic-bezier(.68,-.6,.32,1.6);
  height: -webkit-fill-available;
}
.analog-item-03__content span{
  font-size: 0.8em;
}
.ticket-box-01{
  display: grid;
  grid-template-areas: "ticket-item-01 ticket-item-01" "ticket-item-02 ticket-item-04" "ticket-item-03 ticket-item-04";
  grid-template-columns: 1fr 30rem;
  grid-template-rows: auto auto auto;
}
.ticket-item-01{
  grid-area: ticket-item-01;
}
.ticket-item-02{
  grid-area: ticket-item-02;
}
.ticket-item-03{
  grid-area: ticket-item-03;
}
.ticket-item-04{
  grid-area: ticket-item-04;
}
.ticket-item-text{
  width: 100%;
  background: linear-gradient(125deg, #25a47e, #53c9a6);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 0 20px 50px;
  padding: 10px 0px 8px 0;
  border-radius: 5px;
}
.event-achievement-title{
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  margin: 1em 0 0 0;
}
.event-achievement{
  display: flex;
  justify-content: center;
}
.event-achievement-img{
  display: flex;
  justify-content: center; /* 水平方向にセンターに配置 */
  align-items: center;
  margin: 0 1em 3em 1em;
}
.event-achievement-img img{
  /* width: 100%;
  max-width: 450px; */
  width: 350px;
  height: 350px;
  object-fit: cover;
  border-radius:50%;
}
.event-achievement-text{
  text-align: center;
}
.goods-box-01{
  display: grid;
  grid-template-areas: "item-01 item-02";
  grid-template-columns: 30rem 1fr;
  grid-template-rows: auto;
}
.goods-box-01{
  display: grid;
  grid-template-areas: "goods-item-01 goods-item-01" "goods-item-02 goods-item-05" "goods-item-03 goods-item-05" "goods-item-04 goods-item-05";
  grid-template-columns: 1fr 30rem;
  grid-template-rows: auto auto auto auto;
}
.goods-item-01{
  grid-area: goods-item-01;
}
.goods-item-02{
  grid-area: goods-item-02;
}
.goods-item-03{
  grid-area: goods-item-03;
}
.goods-item-04{
  grid-area: goods-item-04;
}
.goods-item-05{
  grid-area: goods-item-05;
}
.goods-item-text{
  width: 100%;
  background: linear-gradient(125deg, #25a47e, #53c9a6);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 0 20px 50px;
  padding: 10px 0px 8px 0;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
    .service-page-area{
      padding: var(--s2);
    }
    .service-block-title{
        margin: var(--s2) 0;
    }
    .service-block-title::before{
        width: 1.5em;
        height: 1em;
    }
    .service-page-bg {
        top: -3rem;
    }
    .service-page-bg__badge-01 .service-page-bg__badge-01__img {
        width: 25rem;
        height: 25rem;
    }
    .service-page-bg__badge-03 {
        right: -10rem;
    }
    .service-page-bg__badge-03 .service-page-bg__badge-03__img {
        width: 20rem;
        height: 20rem;
    }
    .service-page-bg__badge-04 {
        right: -10rem;
    }
    .service-page-bg__badge-04 .service-page-bg__badge-04__img {
        width: 20rem;
        height: 20rem;
    }
    .fanclub-item-02 ul li {
      width: 100%;
    }
    .fanclub-item-02__content{
      padding: 1em 0.5em;
      margin: 1em 0;
      height: auto;
      overflow: hidden;
    }
    .analog-item-03 ul li {
      width: 100%;
    }
    .analog-item-03__content{
      padding: 1em 0.5em;
      margin: 0.5em 0;
      height: auto;
      overflow: hidden;
    }
    .analog-item-text,.goods-item-text,.ticket-item-text{
      margin: 0 0 10px 0;
    }
    .analog-item-04,.ticket-item-04,.goods-item-05{
      margin: 2em 0 0 0;
    }
    /* .analog-box-01{
      grid-template-areas: "analog-item-01" "analog-item-02" "analog-item-03" "analog-item-04";
      grid-template-columns: 100%;
    } */
    .ticket-box-01{
      display: grid;
      grid-template-areas: "ticket-item-01" "ticket-item-02" "ticket-item-03" "ticket-item-04";
      grid-template-columns: 100%;
    }
    .event-achievement{
      display: block;
    }
    .event-achievement-title{
      margin: 3em 0 0 0;
    }
    .event-achievement-img{
      margin: 0 0 1em 0;
    }
    .event-achievement-img img{
      width: 250px;
      height: 250px;
    }
    .event-achievement-text{
      text-align: left;
    }
    .goods-box-01{
      display: grid;
      grid-template-areas: "goods-item-01" "goods-item-02" "goods-item-03" "goods-item-04" "goods-item-05";
      grid-template-columns: 100%;
    }
}

.ticket-box-02{
  font-size: 1.2em;
  line-height: 1.5;
}
.ticket-item-flex{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 7px 10px 8px 10px;
  margin: 0 0 15px 0;
}
.ticket-item-text-title{
  min-width: 200px;
}
.ticket-item-text-text{
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  text-align: left;
}
.goods-box-02{
  font-size: 1.2em;
  line-height: 1.5;
}
.goods-item-flex{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 7px 10px 8px 10px;
  margin: 0 0 15px 0;
}
.goods-item-text-title{
  min-width: 200px;
}

.goods-item-text-text{
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 768px) {
    .ticket-item-text-title{
      min-width: 100px;
      font-size: 1.7rem;
    }
    .goods-item-text-title{
      min-width: 100px;
      font-size: 1.7rem;
    }
}
/*SERVICE page*/
/******SERVICE area*******/

/******CONTACT area*******/
.contact-block {
    padding-top: var(--s12);
    padding-bottom: var(--s4);
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .contact-block {
        padding-top:var(--s8);
        padding-bottom: var(--s8);
    }
}
.btn-contact__link {
    width: 70rem;
    min-height: var(--s6);
    padding: var(--s4) var(--s5);
    background: #fff url(../images/icon/arrow-02-right-black.svg) no-repeat center right var(--s5)/5rem 5rem;
    border-radius: 2rem;
    display: flex;
    align-items: center;
    /* justify-content: center; */
    font-weight: 700;
    text-decoration: none;
    line-height: 1.25;
    position: relative;
    transition: background-color .6s,color .6s;
    border: 2px solid #fff;
}
.contact-title-block {
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-title {
  margin-right: 2em;
  letter-spacing: .1em;
}
.contact-title span {
  display: block;
}
.contact-title span:first-child {
  font-size: 2.25em;
}
.contact-title span:last-child {
  font-size: 1em;
}
.contact-description {
  font-size: 1em;
  font-weight: normal;
  line-height: 1.25;
}
@media (hover: hover) {
    .btn-contact__link:hover {
        background-color:var(--color-black);
        color: var(--color-white);
    }
}
@media screen and (max-width: 768px) {
    .btn-contact__link {
      width: fit-content;
      min-width: 22.8rem;
      min-height: 4.4rem;
      padding: var(--s2) var(--s6) var(--s2) var(--s2);
      background-position: center right var(--s2-2);
    }
    .contact-title-block {
      display: block;
    }
    .contact-title{
      margin: 0 0 1em 0;
    }
}
/*CONTACT page*/
.contact-body {
  background-color: #f9f9f9;
}
#formWrap {
	max-width:750px;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
.contactform-text{
  text-align: center;
  line-height: 1.25;
  margin: 0 0 var(--s6) 0;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  border-radius: var(--s2);
}
table.formTable th, table.formTable td {
  /* border-bottom:1px solid #ccc; */
	padding:var(--s5) var(--s2);
}
table.formTable th{
	width:30%;
	font-weight:normal;
	/* background:#efefef; */
	text-align:left;
  font-size: 1.3em;
  font-weight: bold;
}
.required::after {
    content: "必須";
    display: inline-block;
    left: 0.5em;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 3px;
    background: #ce0000;
    color: #fff;
    font-size: 11px;
    text-align: center;
    line-height: 1;
    vertical-align: 1px;
}
.nmbr,.namefamry,.mail,.address,.select,.text {
  width: 400px;
}
.birthday {
  width: 80px;
}
.nmbr,.namefamry,.mail,.address,.birthday,.select {
  height: 40px;
  background: #fff;
  border: 1px #ccc solid;
  border-radius: 5px;
}
.text {
  height: 250px;
  background: #fff;
  border: 1px #ccc solid;
  border-radius: 5px;
}
.contactform-btn{
  text-align: center;
  margin: var(--s5) 0 0 0;
  display: flex;
  justify-content: center;
}
.contactform-btn input{
  width: 20rem;
  cursor: pointer;
  min-height: var(--s6);
  padding: var(--s1) var(--s5);
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border-radius: 10rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 1.25;
  letter-spacing: .1em;
  transition: background-color .6s, color .6s;
}
/* .contactform-btn input:first-child{
  margin-right: var(--s5);
} */
.contactform-btn input:last-child{
  margin-left: var(--s5);
}
@media screen and (max-width: 768px) {
  .nmbr,.namefamry,.mail,.address {
    width: 100%;
  }
  .select,.text {
    width: 90%;
  }
  #formWrap {
    max-width: 100%;
    margin:0 auto;
  }
  table.formTable th, table.formTable td {
    width:auto;
    display:block;
  }
  table.formTable th {
    padding:var(--s2) var(--s2) 5px var(--s2);
    border-bottom:0;
  }
  table.formTable td {
    padding: 0 var(--s2) var(--s2) var(--s2);
  }
  form input[type="text"], form textarea {
    width:90%;
    padding:5px;
    margin-top:5px;
    font-size:110%;
    display:block;
  }
  form input[type="submit"], form input[type="reset"], form input[type="button"] {
    display:block;
    width:100%;
    height:40px;
  }
  .contactform-btn{
    display: block;
    margin: 0 0 var(--s2) 0 auto;
  }
  /* .contactform-btn input:first-child{
    margin: 0 0 var(--s2) 0 auto;
  } */
  .contactform-btn input:last-child{
    margin-left: 0;
  }
}
/*CONTACT page*/
/******CONTACT area*******/

/******WORKS area*******/
/*WORKS page*/
.works-goods-title{
  padding: var(--s8) var(--s4) var(--s4);
  font-size: var(--s3);
  color: var(--color-primary);
  font-weight: bold;
  text-align: center;
}
.works-summary-01 {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: var(--s1);
    overflow: hidden;
}
.works-summary-01__label {
    padding: var(--s2);
    background: var(--color-primary);
    color: var(--color-white);
    display: flex;
    align-items: center;
    gap: var(--s1-2);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
}
.works-summary-01__content {
    padding: var(--s2);
    background: #fff;
    font-size: 1.8rem;
    line-height: 1.8;
}
.works-fc-list__item{
  margin: 0 0 0.5rem 0;
}
.works-fc-list__item a{
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .works-summary-01__label {
    font-size: 1.8rem;
  }
  .works-summary-01__content {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
/*WORKS page*/
/******WORKS area*******/

.footer-nm {
    background: var(--color-primary);
}
.footer-nm a {
    color: #fff;
}
.footer-menu__link::after {
    background: #fff;
}
@media (hover: hover) {
    .footer-menu__link:hover {
        color:#ddd;
    }
}
.footer-menu--secondary {
    border-top: 1px solid rgba(255, 255, 255, .5);
}
.privacy-logo{
  color: #fff;
}
.footer-copy{
  color: #fff;
}
@media screen and (max-width: 768px) {
  .privacy-logo{
    margin: 3em 0 0 0;
  }
}