@charset "UTF-8";
@-webkit-keyframes bound {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  8% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  17% {
    -webkit-transform: scale(1.332);
            transform: scale(1.332);
    opacity: 1;
  }
  34% {
    scale: 1;
    opacity: 1;
  }
  51% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 1;
  }
  68% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  84% {
    -webkit-transform: scale(1.03525);
            transform: scale(1.03525);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes bound {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  8% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  17% {
    -webkit-transform: scale(1.332);
            transform: scale(1.332);
    opacity: 1;
  }
  34% {
    scale: 1;
    opacity: 1;
  }
  51% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 1;
  }
  68% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  84% {
    -webkit-transform: scale(1.03525);
            transform: scale(1.03525);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes pop {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  5% {
    opacity: 0.3;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes pop {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  5% {
    opacity: 0.3;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes pop_sp {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes pop_sp {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes pop_02 {
  0% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes pop_02 {
  0% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes text_anime_left {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1000% 0;
  }
}
@keyframes text_anime_left {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1000% 0;
  }
}
@-webkit-keyframes text_anime_right {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 1000% 0;
  }
}
@keyframes text_anime_right {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 1000% 0;
  }
}
.loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 99999;
  background: #F7F0D8;
  -webkit-transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
  transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
.loading.loaded {
  opacity: 0;
  z-index: -9999;
}
.loading_inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.loading_inner > div {
  position: absolute;
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.loading_inner > div.active {
  opacity: 1;
}
.loading_img01 {
  width: min(41.992vw, 430px);
  height: min(26.367vw, 270px);
  left: 0;
  top: 15%;
}
@media only screen and (max-width: 768px) {
  .loading_img01 {
    width: 65.128vw;
    height: 47.436vw;
    top: 10%;
  }
}
.loading_img02 {
  width: min(43.945vw, 450px);
  height: min(47.559vw, 487px);
  right: 0;
  bottom: 4%;
}
@media only screen and (max-width: 768px) {
  .loading_img02 {
    width: 65.128vw;
    height: 67.692vw;
    bottom: 10%;
  }
}
.loading_img03 {
  width: min(51.758vw, 530px);
  height: min(45.508vw, 466px);
  left: 0%;
  right: 0;
  margin: auto;
  top: 0%;
  bottom: 0;
}
@media only screen and (max-width: 768px) {
  .loading_img03 {
    width: 74.615vw;
    height: 53.846vw;
  }
}

#mv #mv_wrapper {
  position: relative;
  z-index: 2;
}
#mv #splide02 {
  position: relative;
  background: #FFEDBF;
  z-index: 1;
  padding: min(1.953vw, 20px) 35%;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 {
    padding: 5.128vw 0 5.128vw 5.128vw;
  }
}
#mv #splide02 #splide02-list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#mv #splide02 .splide__slide {
  position: relative;
  margin-bottom: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#mv #splide02 .splide__slide .splide__list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#mv #splide02 .splide__slide .c-slider__img {
  padding: min(1.465vw, 15px) 0;
  background: repeating-linear-gradient(90deg, #FFFAED, #FFFAED 4px, #fff 4px, #fff 10px);
  border: solid 2px #00B68D;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide .c-slider__img {
    padding: 3.846vw 0;
  }
}
#mv #splide02 .splide__slide:hover {
  cursor: pointer;
}
#mv #splide02 .splide__slide.is-prev {
  margin-left: -3.4%;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide.is-prev {
    margin-left: -2%;
  }
}
#mv #splide02 .splide__slide.is-active.is-visible:not(.splide__slide--clone) {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide.is-active.is-visible:not(.splide__slide--clone) {
    margin-left: 0%;
  }
}
#mv #splide02 .splide__slide.is-next {
  margin-left: 3.4%;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide.is-next {
    margin-left: 3vw;
  }
}
#mv #splide02 .splide__arrow {
  position: absolute;
  height: min(5.859vw, 60px);
  width: min(5.859vw, 60px);
}
#mv #splide02 .splide__arrow:hover {
  cursor: pointer;
}
#mv #splide02 .splide__arrow svg {
  display: none;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__arrow {
    width: 11.282vw;
    height: 11.282vw;
  }
}
#mv #splide02 .splide__arrow--prev {
  background: url(../img/slide_btn01.svg) no-repeat center;
  background-size: contain;
  left: 25%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__arrow--prev {
    display: none;
  }
}
#mv #splide02 .splide__arrow--next {
  background: url(../img/slide_btn02.svg) no-repeat center;
  background-size: contain;
  right: 25%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__arrow--next {
    right: 1vw;
  }
}

.kv {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1440/740;
  overflow: hidden;
  background: url(../img/kv/kv_bg.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .kv {
    aspect-ratio: 390/518;
  }
}
.kv img {
  -o-object-fit: contain;
     object-fit: contain;
}
.kv > * {
  font-size: 1px;
}
.kv_build01 {
  position: absolute;
  top: 35.556vw;
  left: 18.819vw;
  width: 60.903vw;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  .kv_build01 {
    top: 91.282vw;
    left: -20vw;
    width: 140.256vw;
  }
}
.kv_build01.is-active {
  opacity: 1;
  -webkit-animation: build01Animation 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
          animation: build01Animation 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.kv_build02 {
  position: absolute;
  top: -5.556vw;
  left: -6.944vw;
  width: 18.75vw;
  aspect-ratio: 270/495;
  visibility: hidden;
  -webkit-transform: translate(-10%, 100%);
          transform: translate(-10%, 100%);
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.35s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.35s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.35s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (max-width: 768px) {
  .kv_build02 {
    top: 58.974vw;
    left: -7.179vw;
    width: 19.231vw;
  }
}
.kv_build02.is-active {
  visibility: visible;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.kv_cloud01 {
  position: absolute;
  top: 43.611vw;
  left: -7.431vw;
  width: 28.194vw;
  aspect-ratio: 406/154;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
}
@media only screen and (max-width: 768px) {
  .kv_cloud01 {
    top: 118.974vw;
    left: -13.59vw;
    width: 42.821vw;
  }
}
.kv_cloud01.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_cloud02 {
  position: absolute;
  top: 18.472vw;
  left: 0.694vw;
  width: 30.903vw;
  aspect-ratio: 445/175;
  -webkit-transform: translateX(-103%);
          transform: translateX(-103%);
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (max-width: 768px) {
  .kv_cloud02 {
    top: 26.41vw;
    left: -57.179vw;
    width: 68.718vw;
  }
}
.kv_cloud02.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.kv_cloud03 {
  position: absolute;
  top: -4.583vw;
  left: -3.819vw;
  width: 33.056vw;
  aspect-ratio: 952/438;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (max-width: 768px) {
  .kv_cloud03 {
    top: -6.667vw;
    left: -32.051vw;
    width: 74.103vw;
  }
}
.kv_cloud03.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.kv_cloud04 {
  position: absolute;
  top: 43.819vw;
  left: 11.319vw;
  width: 18.056vw;
  aspect-ratio: 260/176;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
}
@media only screen and (max-width: 768px) {
  .kv_cloud04 {
    display: none;
  }
}
.kv_cloud04.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_cloud05 {
  position: absolute;
  top: -6.25vw;
  left: 69.653vw;
  width: 37.986vw;
  aspect-ratio: 547/226;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (max-width: 768px) {
  .kv_cloud05 {
    top: -11.538vw;
    left: 57.179vw;
    width: 84.359vw;
  }
}
.kv_cloud05.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_cloud06 {
  position: absolute;
  top: 9.028vw;
  left: 83.194vw;
  width: 24.444vw;
  aspect-ratio: 352/125;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (max-width: 768px) {
  .kv_cloud06 {
    top: 30vw;
    left: 83.333vw;
    width: 51.282vw;
    z-index: 2;
  }
}
.kv_cloud06.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_train {
  position: absolute;
  top: 4.444vw;
  left: 3.958vw;
  width: 22.569vw;
  aspect-ratio: 325/255;
  visibility: hidden;
  -webkit-transform-origin: 80% 100%;
          transform-origin: 80% 100%;
  -webkit-transform: rotate(-85deg);
          transform: rotate(-85deg);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
@media only screen and (max-width: 768px) {
  .kv_train {
    top: 9.744vw;
    left: -3.333vw;
    width: 38.718vw;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.kv_train.is-active {
  visibility: visible;
  -webkit-transform: translateX(0) rotate(0);
          transform: translateX(0) rotate(0);
}
.kv_train.is-anim {
  visibility: visible;
  -webkit-transform: translateX(0) rotate(0);
          transform: translateX(0) rotate(0);
  -webkit-animation: jumpAnimation 4.5s ease-in-out 0.5s infinite alternate;
          animation: jumpAnimation 4.5s ease-in-out 0.5s infinite alternate;
}
.kv_hachi {
  position: absolute;
  top: 16.667vw;
  left: -2.708vw;
  width: 25.139vw;
  aspect-ratio: 362/503;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translate(-10%, 103%);
          transform: translate(-10%, 103%);
}
@media only screen and (max-width: 768px) {
  .kv_hachi {
    top: 68.974vw;
    left: -3.59vw;
    width: 41.026vw;
    -webkit-transform: translate(-10%, 120%);
            transform: translate(-10%, 120%);
  }
}
.kv_hachi.is-active {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.kv_light {
  position: absolute;
  top: 17.292vw;
  left: 15.417vw;
  width: 10.347vw;
  aspect-ratio: 149/151;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
}
@media only screen and (max-width: 768px) {
  .kv_light {
    top: 41.282vw;
    left: -4.103vw;
    width: 13.333vw;
  }
}
.kv_light.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_ticket {
  position: absolute;
  top: 24.931vw;
  left: 21.736vw;
  width: 9.375vw;
  aspect-ratio: 135/102;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
}
@media only screen and (max-width: 768px) {
  .kv_ticket {
    top: 53.333vw;
    left: -3.59vw;
    width: 18.974vw;
  }
}
.kv_ticket.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_hotdog {
  position: absolute;
  top: 40.764vw;
  left: 3.819vw;
  width: 11.181vw;
  aspect-ratio: 161/127;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
}
@media only screen and (max-width: 768px) {
  .kv_hotdog {
    top: -1.538vw;
    left: 28.205vw;
    width: 16.923vw;
  }
}
.kv_hotdog.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_dragon {
  position: absolute;
  top: 20.833vw;
  left: 75vw;
  width: 14.861vw;
  aspect-ratio: 428/454;
  visibility: hidden;
  -webkit-transform-origin: 30% 100%;
          transform-origin: 30% 100%;
  -webkit-transform: rotate(85deg);
          transform: rotate(85deg);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .kv_dragon {
    top: 14.103vw;
    left: 74.359vw;
    width: 23.846vw;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.kv_dragon img {
  -webkit-transform: rotate(9deg);
          transform: rotate(9deg);
}
.kv_dragon.is-active {
  visibility: visible;
  -webkit-transform: translateX(0) rotate(0);
          transform: translateX(0) rotate(0);
}
.kv_dragon.is-anim {
  visibility: visible;
  -webkit-transform: translateX(0) rotate(0);
          transform: translateX(0) rotate(0);
  -webkit-animation: jumpAnimation 3s ease-in-out 0s infinite alternate;
          animation: jumpAnimation 3s ease-in-out 0s infinite alternate;
}
.kv_shibuya {
  position: absolute;
  top: 11.806vw;
  left: 71.042vw;
  width: 28.958vw;
  aspect-ratio: 417/581;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translate(10%, 103%);
          transform: translate(10%, 103%);
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .kv_shibuya {
    top: 62.564vw;
    left: 53.846vw;
    width: 46.154vw;
    z-index: 0;
  }
}
.kv_shibuya.is-active {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.kv_lantern01 {
  position: absolute;
  top: -6.25vw;
  left: -1.111vw;
  width: 8.264vw;
  aspect-ratio: 119/289;
  -webkit-transform-origin: 80% 0%;
          transform-origin: 80% 0%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (max-width: 768px) {
  .kv_lantern01 {
    top: -6.923vw;
    left: -1.282vw;
    width: 9.231vw;
  }
}
.kv_lantern01.is-active {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
}
.kv_lantern01.is-anim {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
  -webkit-animation: swingAnimation 5s ease-in-out 0s infinite alternate;
          animation: swingAnimation 5s ease-in-out 0s infinite alternate;
}
.kv_lantern04 {
  position: absolute;
  top: -4.167vw;
  left: 25vw;
  width: 4.306vw;
  aspect-ratio: 125/214;
  -webkit-transform-origin: 80% 0%;
          transform-origin: 80% 0%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (max-width: 768px) {
  .kv_lantern04 {
    top: -7.692vw;
    left: 60vw;
    width: 8.462vw;
  }
}
.kv_lantern04.is-active {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
}
.kv_lantern04.is-anim {
  -webkit-animation: swingAnimation 5s ease-in-out 0s infinite alternate;
          animation: swingAnimation 5s ease-in-out 0s infinite alternate;
}
.kv_lantern02 {
  position: absolute;
  top: -0.903vw;
  left: 84.722vw;
  width: 6.319vw;
  aspect-ratio: 91/205;
  -webkit-transform-origin: 30% 0%;
          transform-origin: 30% 0%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (max-width: 768px) {
  .kv_lantern02 {
    display: none;
  }
}
.kv_lantern02.is-active {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
}
.kv_lantern02.is-anim {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
  -webkit-animation: swingAnimation 6s ease-in-out 0.2s infinite alternate;
          animation: swingAnimation 6s ease-in-out 0.2s infinite alternate;
}
.kv_lantern03 {
  position: absolute;
  top: -6.25vw;
  left: 92.569vw;
  width: 6.25vw;
  aspect-ratio: 90/232;
  -webkit-transform-origin: 45% 0%;
          transform-origin: 45% 0%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (max-width: 768px) {
  .kv_lantern03 {
    top: -7.692vw;
    left: 89.231vw;
    width: 7.949vw;
  }
}
.kv_lantern03.is-active {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
}
.kv_lantern03.is-anim {
  -webkit-transform: translateY(0) rotate(-5deg);
          transform: translateY(0) rotate(-5deg);
  -webkit-animation: swingAnimation 4s ease-in-out 0s infinite alternate;
          animation: swingAnimation 4s ease-in-out 0s infinite alternate;
}
.kv_hamburger {
  position: absolute;
  top: 0.903vw;
  left: 73.125vw;
  width: 10.139vw;
  aspect-ratio: 146/129;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
}
@media only screen and (max-width: 768px) {
  .kv_hamburger {
    top: 45.385vw;
    left: 89.231vw;
    width: 12.821vw;
    z-index: 2;
  }
}
.kv_hamburger.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_takoyaki {
  position: absolute;
  top: 11.944vw;
  left: 76.736vw;
  width: 15.069vw;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .kv_takoyaki {
    display: none;
  }
}
.kv_takoyaki.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_star {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.kv_star.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.kv_star01.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.2s ease-in-out 0.3s infinite alternate;
          animation: starAnimation 1.2s ease-in-out 0.3s infinite alternate;
}
.kv_star02.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.2s ease-in-out 0.3s infinite alternate;
          animation: starAnimation 1.2s ease-in-out 0.3s infinite alternate;
}
.kv_star03.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.8s ease-in-out 0.1s infinite alternate;
          animation: starAnimation 2.8s ease-in-out 0.1s infinite alternate;
}
.kv_star04.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.5s ease-in-out 0.4s infinite alternate;
          animation: starAnimation 1.5s ease-in-out 0.4s infinite alternate;
}
.kv_star05.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.4s ease-in-out 1s infinite alternate;
          animation: starAnimation 1.4s ease-in-out 1s infinite alternate;
}
.kv_star06.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.8s ease-in-out 1s infinite alternate;
          animation: starAnimation 1.8s ease-in-out 1s infinite alternate;
}
.kv_star07.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.8s ease-in-out 0.6s infinite alternate;
          animation: starAnimation 2.8s ease-in-out 0.6s infinite alternate;
}
.kv_star08.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.1s ease-in-out 0.2s infinite alternate;
          animation: starAnimation 2.1s ease-in-out 0.2s infinite alternate;
}
.kv_star09.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.2s ease-in-out 0.1s infinite alternate;
          animation: starAnimation 2.2s ease-in-out 0.1s infinite alternate;
}
.kv_star10.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.3s ease-in-out 1s infinite alternate;
          animation: starAnimation 1.3s ease-in-out 1s infinite alternate;
}
.kv_star11.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.5s ease-in-out 0.8s infinite alternate;
          animation: starAnimation 1.5s ease-in-out 0.8s infinite alternate;
}
.kv_star12.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.1s ease-in-out 0.5s infinite alternate;
          animation: starAnimation 1.1s ease-in-out 0.5s infinite alternate;
}
.kv_star13.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.4s ease-in-out 0.8s infinite alternate;
          animation: starAnimation 2.4s ease-in-out 0.8s infinite alternate;
}
.kv_star01 {
  position: absolute;
  top: 1.875vw;
  left: 30.694vw;
  width: 2.847vw;
  aspect-ratio: 41/38;
}
@media only screen and (max-width: 768px) {
  .kv_star01 {
    top: 20.513vw;
    left: 37.949vw;
    width: 4.359vw;
  }
}
.kv_star02 {
  position: absolute;
  top: 0.972vw;
  left: 66.111vw;
  width: 2.361vw;
  aspect-ratio: 34/39;
}
@media only screen and (max-width: 768px) {
  .kv_star02 {
    top: 1.282vw;
    left: 54.359vw;
    width: 2.821vw;
  }
}
.kv_star03 {
  position: absolute;
  top: 17.292vw;
  left: 13.403vw;
  width: 1.528vw;
  aspect-ratio: 22/24;
}
@media only screen and (max-width: 768px) {
  .kv_star03 {
    top: 30.769vw;
    left: 9.231vw;
    width: 4.359vw;
  }
}
.kv_star04 {
  position: absolute;
  top: 19.306vw;
  left: 25.417vw;
  width: 2.222vw;
  aspect-ratio: 32/34;
}
@media only screen and (max-width: 768px) {
  .kv_star04 {
    top: 64.359vw;
    left: 14.615vw;
    width: 3.077vw;
  }
}
.kv_star05 {
  position: absolute;
  top: 35.069vw;
  left: 2.153vw;
  width: 3.194vw;
  aspect-ratio: 46/44;
}
@media only screen and (max-width: 768px) {
  .kv_star05 {
    top: 97.436vw;
    left: 2.821vw;
    width: 5.897vw;
  }
}
.kv_star06 {
  position: absolute;
  top: 34.306vw;
  left: 20.903vw;
  width: 1.597vw;
  aspect-ratio: 23/21;
}
@media only screen and (max-width: 768px) {
  .kv_star06 {
    top: 95.641vw;
    left: 35.385vw;
    width: 3.333vw;
  }
}
.kv_star07 {
  position: absolute;
  top: 32.917vw;
  left: 33.819vw;
  width: 2.153vw;
  aspect-ratio: 31/35;
}
@media only screen and (max-width: 768px) {
  .kv_star07 {
    top: 82.564vw;
    left: 26.667vw;
    width: 2.821vw;
  }
}
.kv_star08 {
  position: absolute;
  top: 36.597vw;
  left: 41.528vw;
  width: 1.528vw;
  aspect-ratio: 22/24;
}
@media only screen and (max-width: 768px) {
  .kv_star08 {
    top: 90.769vw;
    left: 38.718vw;
    width: 2.308vw;
  }
}
.kv_star09 {
  position: absolute;
  top: 30.486vw;
  left: 70.139vw;
  width: 3.125vw;
  aspect-ratio: 45/43;
}
@media only screen and (max-width: 768px) {
  .kv_star09 {
    top: 88.462vw;
    left: 70vw;
    width: 3.846vw;
  }
}
.kv_star10 {
  position: absolute;
  top: 17.014vw;
  left: 75vw;
  width: 2.292vw;
  aspect-ratio: 33/35;
}
@media only screen and (max-width: 768px) {
  .kv_star10 {
    top: 17.179vw;
    left: 58.974vw;
    width: 3.077vw;
  }
}
.kv_star11 {
  position: absolute;
  top: 18.958vw;
  left: 73.403vw;
  width: 1.667vw;
  aspect-ratio: 24/25;
}
@media only screen and (max-width: 768px) {
  .kv_star11 {
    top: 20vw;
    left: 55.641vw;
    width: 2.564vw;
  }
}
.kv_star12 {
  position: absolute;
  top: 27.083vw;
  left: 70.833vw;
  width: 2.083vw;
  aspect-ratio: 30/30;
}
@media only screen and (max-width: 768px) {
  .kv_star12 {
    display: none;
  }
}
.kv_star13 {
  position: absolute;
  top: 29.167vw;
  left: 65.972vw;
  width: 3.472vw;
  aspect-ratio: 50/50;
}
@media only screen and (max-width: 768px) {
  .kv_star13 {
    display: none;
  }
}
.kv_person01 {
  position: absolute;
  top: 33.681vw;
  left: 19.514vw;
  width: 17.153vw;
  aspect-ratio: 247/374;
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media only screen and (max-width: 768px) {
  .kv_person01 {
    top: 107.436vw;
    left: 3.59vw;
    width: 28.462vw;
  }
}
.kv_person01.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_person01.is-anim {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: jumpAnimation 1s ease-in-out 0.2s infinite alternate;
          animation: jumpAnimation 1s ease-in-out 0.2s infinite alternate;
}
.kv_person02 {
  position: absolute;
  top: 37.986vw;
  left: 31.667vw;
  width: 14.375vw;
  aspect-ratio: 207/297;
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media only screen and (max-width: 768px) {
  .kv_person02 {
    top: 112.051vw;
    left: 23.333vw;
    width: 23.846vw;
  }
}
.kv_person02.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_person02.is-anim {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: jumpAnimation 1.1s ease-in-out 0.2s infinite alternate;
          animation: jumpAnimation 1.1s ease-in-out 0.2s infinite alternate;
}
.kv_person03 {
  position: absolute;
  top: 36.597vw;
  left: 43.125vw;
  width: 13.819vw;
  aspect-ratio: 199/342;
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.26, 1.33, 0.52, 0.96);
  transition: -webkit-transform 0.3s cubic-bezier(0.26, 1.33, 0.52, 0.96);
  transition: transform 0.3s cubic-bezier(0.26, 1.33, 0.52, 0.96);
  transition: transform 0.3s cubic-bezier(0.26, 1.33, 0.52, 0.96), -webkit-transform 0.3s cubic-bezier(0.26, 1.33, 0.52, 0.96);
}
@media only screen and (max-width: 768px) {
  .kv_person03 {
    top: 106.667vw;
    left: 42.308vw;
    width: 22.821vw;
  }
}
.kv_person03.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_person03.is-anim {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: jumpAnimation 1.4s ease-in-out 0.2s infinite alternate;
          animation: jumpAnimation 1.4s ease-in-out 0.2s infinite alternate;
}
.kv_person04 {
  position: absolute;
  top: 39.167vw;
  left: 54.167vw;
  width: 11.528vw;
  aspect-ratio: 166/288;
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media only screen and (max-width: 768px) {
  .kv_person04 {
    top: 115.128vw;
    left: 58.718vw;
    width: 18.974vw;
  }
}
.kv_person04.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_person04.is-anim {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: jumpAnimation 1.2s ease-in-out 0.2s infinite alternate;
          animation: jumpAnimation 1.2s ease-in-out 0.2s infinite alternate;
}
.kv_person05 {
  position: absolute;
  top: 34.167vw;
  left: 63.542vw;
  width: 14.514vw;
  aspect-ratio: 209/349;
  -webkit-transform: translateY(103%);
          transform: translateY(103%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media only screen and (max-width: 768px) {
  .kv_person05 {
    top: 108.462vw;
    left: 72.821vw;
    width: 23.846vw;
  }
}
.kv_person05.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.kv_person05.is-anim {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: jumpAnimation 1.3s ease-in-out 0.2s infinite alternate;
          animation: jumpAnimation 1.3s ease-in-out 0.2s infinite alternate;
}
.kv_title {
  position: absolute;
  top: 3.264vw;
  left: 28.889vw;
  width: 40.972vw;
  aspect-ratio: 607/462;
  font-size: 16px;
  visibility: hidden;
  opacity: 0;
  -webkit-transform-origin: 50% 20%;
          transform-origin: 50% 20%;
  -webkit-transition: opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.59, 3.21, 0.28, 1.04);
  transition: opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.59, 3.21, 0.28, 1.04);
  transition: transform 0.5s cubic-bezier(0.59, 3.21, 0.28, 1.04), opacity 0.2s linear;
  transition: transform 0.5s cubic-bezier(0.59, 3.21, 0.28, 1.04), opacity 0.2s linear, -webkit-transform 0.5s cubic-bezier(0.59, 3.21, 0.28, 1.04);
  -webkit-transform: scale(0.3);
          transform: scale(0.3);
}
@media only screen and (max-width: 768px) {
  .kv_title {
    top: 32.308vw;
    left: 14.872vw;
    width: 70.513vw;
  }
}
.kv_title.is-active {
  visibility: visible;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@-webkit-keyframes swingAnimation {
  0% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
}
@keyframes swingAnimation {
  0% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
}
@-webkit-keyframes jumpAnimation {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes jumpAnimation {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes starAnimation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes starAnimation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes build01Animation {
  0% {
    -webkit-transform: translateY(103%);
            transform: translateY(103%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes build01Animation {
  0% {
    -webkit-transform: translateY(103%);
            transform: translateY(103%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

main .content {
  position: relative;
  z-index: 1;
}
@-webkit-keyframes about_train_anime {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(-30px) translateY(-30px) rotate(-18deg);
            transform: translateX(-30px) translateY(-30px) rotate(-18deg);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
            transform: translateX(0) translateY(0) rotate(0deg);
  }
}
@keyframes about_train_anime {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(-30px) translateY(-30px) rotate(-18deg);
            transform: translateX(-30px) translateY(-30px) rotate(-18deg);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
            transform: translateX(0) translateY(0) rotate(0deg);
  }
}
@-webkit-keyframes about_cloud_anime {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(-60px) translateY(-30px);
            transform: translateX(-60px) translateY(-30px);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
@keyframes about_cloud_anime {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(-60px) translateY(-30px);
            transform: translateX(-60px) translateY(-30px);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
@-webkit-keyframes about_cloud_anime_right {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(60px) translateY(-30px);
            transform: translateX(60px) translateY(-30px);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
@keyframes about_cloud_anime_right {
  0% {
    visibility: hidden;
    -webkit-transform: translateX(60px) translateY(-30px);
            transform: translateX(60px) translateY(-30px);
  }
  100% {
    visibility: visible;
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
main .about {
  position: relative;
  padding: min(2.93vw, 30px) 0 min(0vw, 0px);
  background: #F7F0D8;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  main .about {
    padding: 3.846vw 0 0;
  }
}
main .about_logo {
  width: min(33.984vw, 348px);
  margin: 0 auto min(2.441vw, 25px);
  padding-top: min(2.93vw, 30px);
  opacity: 0;
}
main .about_logo.on {
  -webkit-animation: 0.6s 0s linear bound forwards;
          animation: 0.6s 0s linear bound forwards;
  -webkit-animation-delay: 0.2;
          animation-delay: 0.2;
}
@media only screen and (max-width: 768px) {
  main .about_logo.on {
    -webkit-animation-delay: 0.1;
            animation-delay: 0.1;
  }
}
@media only screen and (max-width: 768px) {
  main .about_logo {
    width: 65.641vw;
    margin-bottom: 5.128vw;
    padding-top: 17.949vw;
  }
}
main .about_copy {
  position: relative;
  width: min(52.734vw, 540px);
  margin: 0 auto min(1.953vw, 20px);
  z-index: 1;
}
main .about_copy > picture {
  display: block;
  opacity: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
@media only screen and (max-width: 768px) {
  main .about_copy > picture {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
}
main .about_copy.on > picture {
  -webkit-animation: pop 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: pop 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
@media only screen and (max-width: 768px) {
  main .about_copy.on > picture {
    -webkit-animation: pop_sp 0.6s cubic-bezier(0.85, 0, 0.15, 1) forwards;
            animation: pop_sp 0.6s cubic-bezier(0.85, 0, 0.15, 1) forwards;
    -webkit-animation-delay: 0.13;
            animation-delay: 0.13;
  }
}
@media only screen and (max-width: 768px) {
  main .about_copy {
    position: initial;
    width: 100%;
    margin-bottom: 3.846vw;
  }
}
main .about_anime_silde.on .about_anime_silde_tra {
  -webkit-animation: about_cloud_anime 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: about_cloud_anime 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
main .about_anime_silde.on .about_anime_silde_tra img {
  display: block;
  -webkit-animation: jumpAnimation 4.5s ease-in-out infinite alternate;
          animation: jumpAnimation 4.5s ease-in-out infinite alternate;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
main .about_anime_silde.on .about_anime_silde_dra {
  -webkit-animation: about_cloud_anime_right 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: about_cloud_anime_right 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
main .about_anime_silde.on .about_anime_silde_dra img {
  display: block;
  -webkit-animation: jumpAnimation 3.9s ease-in-out infinite alternate;
          animation: jumpAnimation 3.9s ease-in-out infinite alternate;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
main .about_anime_silde.on::before {
  -webkit-animation: about_cloud_anime 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: about_cloud_anime 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
main .about_anime_silde.on::after {
  -webkit-animation: about_cloud_anime_right 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: about_cloud_anime_right 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
main .about_anime_silde_tra {
  position: absolute;
  width: min(21.973vw, 225px);
  height: min(17.285vw, 177px);
  left: -4%;
  top: 24%;
  z-index: -1;
  visibility: hidden;
  -webkit-transform: translateX(-60px) translateY(-30px);
          transform: translateX(-60px) translateY(-30px);
}
@media screen and (max-width: 1000px) {
  main .about_anime_silde_tra {
    left: -3%;
    top: 25%;
  }
}
@media only screen and (max-width: 768px) {
  main .about_anime_silde_tra {
    width: 29.487vw;
    height: 23.077vw;
    top: initial;
    bottom: 63vw;
    left: 11vw;
  }
}
main .about_anime_silde_dra {
  position: absolute;
  width: min(19.141vw, 196px);
  height: min(20.508vw, 210px);
  right: -4%;
  top: 35%;
  z-index: -1;
  visibility: hidden;
  -webkit-transform: translateX(60px) translateY(-30px);
          transform: translateX(60px) translateY(-30px);
}
@media screen and (max-width: 1000px) {
  main .about_anime_silde_dra {
    right: -2%;
    top: 36%;
  }
}
@media only screen and (max-width: 768px) {
  main .about_anime_silde_dra {
    width: 28.205vw;
    height: 33.333vw;
    right: 14vw;
    top: initial;
    bottom: 48vw;
  }
}
main .about_anime_silde::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(45.898vw, 470px);
  height: min(13.379vw, 137px);
  left: -260px;
  top: 320px;
  background: url(../img/about_illust02_le.png) no-repeat center;
  background-size: contain;
  z-index: 1;
  visibility: hidden;
  -webkit-transform: translateX(-60px) translateY(-30px);
          transform: translateX(-60px) translateY(-30px);
}
@media screen and (max-width: 1000px) {
  main .about_anime_silde::before {
    left: -24%;
    top: 37%;
  }
}
@media only screen and (max-width: 768px) {
  main .about_anime_silde::before {
    width: 43.59vw;
    height: 17.949vw;
    left: -1vw;
    top: initial;
    bottom: 55vw;
    background: url(../img/about_illust02_le_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .about_anime_silde::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(48.438vw, 496px);
  height: min(14.941vw, 153px);
  right: -250px;
  top: 440px;
  background: url(../img/about_illust02_ri.png) no-repeat center;
  background-size: contain;
  z-index: -1;
  visibility: hidden;
  -webkit-transform: translateX(60px) translateY(-30px);
          transform: translateX(60px) translateY(-30px);
}
@media screen and (max-width: 1000px) {
  main .about_anime_silde::after {
    right: -23%;
    top: 50%;
  }
}
@media only screen and (max-width: 768px) {
  main .about_anime_silde::after {
    width: 54.103vw;
    height: 21.154vw;
    right: 0vw;
    top: initial;
    bottom: 40vw;
    background: url(../img/about_illust02_ri_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .about_lead {
  position: relative;
}
@media only screen and (max-width: 768px) {
  main .about_lead {
    margin: 0 -7.692vw;
  }
}
main .about_lead::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(70.313vw, 720px);
  height: min(70.313vw, 720px);
  background: url(../img/about_title_bg.png) no-repeat;
  background-size: contain;
  bottom: -150px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -4;
}
@media only screen and (max-width: 768px) {
  main .about_lead::before {
    width: 100vw;
    height: 207.692vw;
    bottom: -50vw;
    background: url(../img/about_title_bg_sp.png) no-repeat center;
    background-size: contain;
    z-index: -5;
  }
}
main .about_lead_txt {
  font-weight: 600;
  font-size: min(1.563vw, 16px);
  line-height: 2;
  margin-bottom: min(0.977vw, 10px);
}
@media only screen and (max-width: 768px) {
  main .about_lead_txt {
    font-size: 3.59vw;
    margin-bottom: 3vw;
    line-height: 2.2;
    white-space: nowrap;
  }
}
main .about_lead_txt strong {
  font-weight: 900;
}
main .about .inner {
  position: relative;
  padding-bottom: min(18.555vw, 190px);
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  main .about .inner {
    padding-bottom: 89.744vw;
  }
}
main .about .inner::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(120.605vw, 1235px);
  height: min(36.035vw, 369px);
  left: -885px;
  bottom: -12px;
  background: url(../img/about_illust03_le.png) no-repeat center bottom;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main .about .inner::before {
    left: -85%;
  }
}
@media only screen and (max-width: 768px) {
  main .about .inner::before {
    width: 48.718vw;
    height: 47.692vw;
    left: 0;
    bottom: -1.282vw;
    background: url(../img/about_illust03_le_sp.png) no-repeat center bottom;
    background-size: contain;
  }
}
main .about .inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(126.563vw, 1296px);
  height: min(38.281vw, 392px);
  right: -860px;
  bottom: -10px;
  background: url(../img/about_illust03_ri.png) no-repeat center bottom;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main .about .inner::after {
    right: -85%;
  }
}
@media only screen and (max-width: 768px) {
  main .about .inner::after {
    width: 51.282vw;
    height: 37.179vw;
    right: -1vw;
    bottom: -0.6vw;
    background: url(../img/about_illust03_ri_sp.png) no-repeat center bottom;
    background-size: contain;
  }
}
main .about .inner .chouchin::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(69.336vw, 710px);
  height: min(11.035vw, 113px);
  left: -415px;
  top: 0;
  background: url(../img/about_illust01_le.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  main .about .inner .chouchin::before {
    left: -40%;
  }
}
@media only screen and (max-width: 768px) {
  main .about .inner .chouchin::before {
    width: 35.897vw;
    height: 16.667vw;
    left: 0;
    top: 0;
    background: url(../img/about_illust01_le_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .about .inner .chouchin::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(69.336vw, 710px);
  height: min(11.035vw, 113px);
  right: -415px;
  top: 0;
  background: url(../img/about_illust01_ri.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 1440px) {
  main .about .inner .chouchin::after {
    right: -40%;
  }
}
@media only screen and (max-width: 768px) {
  main .about .inner .chouchin::after {
    width: 35.897vw;
    height: 16.667vw;
    right: 0;
    top: 0;
    background: url(../img/about_illust01_ri_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .about .cloud-left::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(52.344vw, 536px);
  height: min(15.82vw, 162px);
  left: -310px;
  top: -110px;
  background: url(../img/about_cloud01.png) no-repeat center;
  background-size: contain;
  z-index: -5;
}
@media screen and (max-width: 1440px) {
  main .about .cloud-left::before {
    left: -33%;
    top: -90px;
  }
}
@media only screen and (max-width: 768px) {
  main .about .cloud-left::before {
    width: 89.487vw;
    height: 46.154vw;
    left: -51vw;
    top: -16vw;
    background: url(../img/about_cloud01_sp.png) no-repeat center;
    background-size: contain;
    opacity: 0.7;
  }
}
main .about .cloud-left::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(95.703vw, 980px);
  height: min(24.609vw, 252px);
  left: -610px;
  top: 310px;
  background: url(../img/about_cloud02.png) no-repeat center;
  background-size: contain;
  z-index: -5;
}
@media screen and (max-width: 1440px) {
  main .about .cloud-left::after {
    top: 300px;
  }
}
@media only screen and (max-width: 768px) {
  main .about .cloud-left::after {
    display: none;
  }
}
main .about .cloud-right::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(94.043vw, 963px);
  height: min(31.055vw, 318px);
  right: -720px;
  bottom: 240px;
  background: url(../img/about_cloud03.png) no-repeat center;
  background-size: contain;
  z-index: -5;
}
@media only screen and (max-width: 768px) {
  main .about .cloud-right::before {
    width: 37.692vw;
    height: 55.385vw;
    right: 0;
    bottom: 30vw;
    background: url(../img/about_cloud03_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .about .cloud-right::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(47.852vw, 490px);
  height: min(18.555vw, 190px);
  right: -170px;
  bottom: 60px;
  background: url(../img/about_cloud04.png) no-repeat center;
  background-size: contain;
  z-index: -5;
}
@media only screen and (max-width: 768px) {
  main .about .cloud-right::after {
    width: 100vw;
    height: 55.385vw;
    right: 0;
    bottom: -7vw;
    background: url(../img/about_cloud04_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .event {
  padding: min(11.719vw, 120px) 0;
  background: url(../img/pattern.png) repeat, #00B68D;
}
@media only screen and (max-width: 768px) {
  main .event {
    padding: 20.513vw 0 14.103vw;
  }
}
@media screen and (max-width: 1440px) {
  main .event {
    position: relative;
    z-index: 1;
  }
}
main .event .inner {
  position: relative;
}
@media screen and (max-width: 1440px) {
  main .event .inner {
    position: initial;
  }
}
main .event .inner::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(11.914vw, 122px);
  height: min(63.086vw, 646px);
  left: -210px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: url(../img/event_chouchin_le.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 1440px) {
  main .event .inner::before {
    left: -27px;
    z-index: -1;
  }
}
@media only screen and (max-width: 768px) {
  main .event .inner::before {
    width: 10.256vw;
    height: 150vw;
    left: 0;
    background: url(../img/event_chouchin_le_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .event .inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(11.914vw, 122px);
  height: min(63.086vw, 646px);
  right: -210px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: url(../img/event_chouchin_ri.png) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 1440px) {
  main .event .inner::after {
    right: -27px;
    z-index: -1;
  }
}
@media only screen and (max-width: 768px) {
  main .event .inner::after {
    width: 10.256vw;
    height: 150vw;
    right: 0;
    background: url(../img/event_chouchin_ri_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .event_block {
  position: relative;
  width: 100%;
  background: #fff;
  padding: 10px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  main .event_block {
    padding: 2.564vw;
  }
}
main .event_block::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(3.906vw, 40px);
  height: min(3.906vw, 40px);
  background: url(../img/event_square.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .event_block::before {
    width: 7.692vw;
    height: 7.692vw;
  }
}
main .event_block::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  right: 25px;
  top: 25px;
}
@media only screen and (max-width: 768px) {
  main .event_block::before {
    right: 6.41vw;
    top: 6.41vw;
  }
}
main .event_block::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(3.906vw, 40px);
  height: min(3.906vw, 40px);
  background: url(../img/event_square.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .event_block::after {
    width: 7.692vw;
    height: 7.692vw;
  }
}
main .event_block::after {
  right: 25px;
  bottom: 25px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (max-width: 768px) {
  main .event_block::after {
    right: 6.41vw;
    bottom: 6.41vw;
  }
}
main .event_block_inner {
  border: solid 6px #00B68D;
  padding: min(5.859vw, 60px) 0 min(5.859vw, 60px);
}
@media only screen and (max-width: 768px) {
  main .event_block_inner {
    border: solid 1.538vw #00B68D;
    padding: 10.256vw 0 12.821vw;
  }
}
main .event_block_bg::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(3.906vw, 40px);
  height: min(3.906vw, 40px);
  background: url(../img/event_square.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::before {
    width: 7.692vw;
    height: 7.692vw;
  }
}
main .event_block_bg::before {
  left: 25px;
  top: 25px;
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::before {
    left: 6.41vw;
    top: 6.41vw;
  }
}
main .event_block_bg::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(3.906vw, 40px);
  height: min(3.906vw, 40px);
  background: url(../img/event_square.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::after {
    width: 7.692vw;
    height: 7.692vw;
  }
}
main .event_block_bg::after {
  left: 25px;
  bottom: 25px;
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::after {
    left: 6.41vw;
    bottom: 6.41vw;
  }
}
main .event_block_ttl {
  width: min(35.84vw, 367px);
  margin: 0 auto min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .event_block_ttl {
    width: 58.974vw;
    margin-bottom: 2.564vw;
  }
}
main .event_block_item {
  position: relative;
  display: block;
  padding: min(1.953vw, 20px) 0 min(1.953vw, 20px) min(16.602vw, 170px);
  width: min(68.359vw, 700px);
  margin: 0 auto;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  main .event_block_item {
    padding: 5.128vw 0;
    width: 66.667vw;
  }
  main .event_block_item:first-of-type {
    padding-bottom: 2.564vw;
  }
}
main .event_block_item_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 0;
  bottom: min(1.953vw, 20px);
  width: min(13.672vw, 140px);
  height: min(3.906vw, 40px);
  font-size: min(1.953vw, 20px);
  margin-right: min(1.953vw, 20px);
  color: #fff;
  font-weight: 500;
  border-radius: 100vh;
  letter-spacing: 0.1rem;
  background: #EB1E00;
  padding-left: 3px;
}
@media only screen and (max-width: 768px) {
  main .event_block_item_ttl {
    position: initial;
    width: 100%;
    height: 7.692vw;
    font-size: 4.103vw;
    font-weight: 500;
    margin-right: 0;
    margin-bottom: 3vw;
    letter-spacing: 0.3rem;
    padding-left: 1vw;
  }
}
main .event_block_item_txt {
  font-weight: 700;
}
main .event_block_item.day {
  border-bottom: solid 2px #E7E7E7;
}
main .event_block_item.day .event_block_item_ttl {
  padding-bottom: 2px;
}
@media only screen and (max-width: 768px) {
  main .event_block_item.day .event_block_item_ttl {
    padding-top: 0;
  }
}
main .event_block_item.day .event_block_item_txt {
  font-size: min(5.859vw, 60px);
  line-height: 1.1;
}
@media only screen and (max-width: 768px) {
  main .event_block_item.day .event_block_item_txt {
    font-size: 6.667vw;
    text-align: center;
  }
}
main .event_block_item.day .event_block_item_txt span {
  vertical-align: middle;
  line-height: 1;
}
main .event_block_item.day .event_block_item_txt span.year {
  font-size: min(3.906vw, 40px);
}
@media only screen and (max-width: 768px) {
  main .event_block_item.day .event_block_item_txt span.year {
    font-size: 4.103vw;
  }
}
main .event_block_item.day .event_block_item_txt span.week {
  display: inline-block;
  width: min(3.516vw, 36px);
  height: min(3.516vw, 36px);
  line-height: min(3.32vw, 34px);
  font-size: min(1.367vw, 14px);
  background: #EB1E00;
  text-align: center;
  border-radius: 100%;
  color: #fff;
  vertical-align: middle;
  margin: 0 5px;
}
@media only screen and (max-width: 768px) {
  main .event_block_item.day .event_block_item_txt span.week {
    width: 8.205vw;
    height: 8.205vw;
    line-height: 7.692vw;
    font-size: 3.077vw;
    font-weight: 600;
    margin: 0 0.5vw 2vw;
  }
}
main .event_block_item.day .event_block_item_txt span.nami {
  font-size: min(2.93vw, 30px);
  margin: 0 3px;
}
@media only screen and (max-width: 768px) {
  main .event_block_item.day .event_block_item_txt span.nami {
    display: inline-block;
    padding: 0 0vw 2vw;
    font-size: 4.103vw;
    margin: 0 0.5vw 0 0;
  }
}
main .event_block_item.place .event_block_item_txt {
  font-size: min(2.344vw, 24px);
}
@media only screen and (max-width: 768px) {
  main .event_block_item.place .event_block_item_txt {
    text-align: center;
    line-height: 1.4;
    font-size: 5.128vw;
  }
}
main .event_block_note {
  font-size: min(1.367vw, 14px);
}
main .event_block_note.n_01 {
  width: min(68.359vw, 700px);
  border-bottom: solid 2px #E7E7E7;
  margin: 0 auto;
  padding-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .event_block_note.n_01 {
    width: 66.667vw;
    padding-bottom: 5.128vw;
  }
}
main .event_block_note.n_02.mb10 {
  margin-bottom: min(0.977vw, 10px);
}
@media only screen and (max-width: 768px) {
  main .event_block_note.n_02.mb10 {
    margin-bottom: 3vw;
  }
}
@media only screen and (max-width: 768px) {
  main .event_block_note.n_02.p10 {
    margin: 0 6vw;
  }
}
@media only screen and (max-width: 768px) {
  main .event_block_note {
    font-size: 3.077vw;
  }
}
main .news {
  position: relative;
  overflow: hidden;
  padding: min(13.672vw, 140px) 0 min(20.508vw, 210px);
  background: #FFEDBF;
}
@media only screen and (max-width: 768px) {
  main .news {
    padding: 25.641vw 0 0;
  }
}
@media only screen and (max-width: 768px) {
  main .news::after {
    position: absolute;
    display: inline-block;
    content: "";
    width: 71.795vw;
    height: 108.462vw;
    right: 0;
    bottom: -5vw;
    background: url(../img/news_cloud04_sp.png) no-repeat center;
    background-size: contain;
    z-index: 0;
  }
}
@media only screen and (max-width: 768px) {
  main .news::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 49.231vw;
    height: 52.051vw;
    left: 0vw;
    bottom: 5vw;
    background: url(../img/news_cloud03_sp.png) no-repeat center;
    background-size: contain;
    z-index: 1;
    pointer-events: none;
  }
}
main .news .inner {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  main .news .inner {
    padding-bottom: 74.359vw;
  }
}
main .news .inner::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(47.754vw, 489px);
  height: min(23.73vw, 243px);
  right: -280px;
  top: -50px;
  background: url(../img/news_cloud02.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  main .news .inner::before {
    right: -160px;
  }
}
@media only screen and (max-width: 768px) {
  main .news .inner::before {
    width: 35.128vw;
    height: 36.667vw;
    right: 0;
    top: -17vw;
    background: url(../img/news_cloud02_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .news_ttl {
  position: relative;
  width: min(35.547vw, 364px);
  margin: 0 auto min(4.883vw, 50px);
}
main .news_ttl::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(175.879vw, 1801px);
  height: min(91.211vw, 934px);
  left: 50%;
  -webkit-transform: translateX(-51.5%);
          transform: translateX(-51.5%);
  top: -180px;
  background: url(../img/news_cloud01.png) no-repeat center;
  background-size: contain;
  z-index: -10;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  main .news_ttl::before {
    width: 67.179vw;
    height: 70vw;
    -webkit-transform: none;
            transform: none;
    left: 0;
    top: -33vw;
    bottom: initial;
    background: url(../img/news_cloud01_sp.png) no-repeat center;
    background-size: contain;
  }
}
@media only screen and (max-width: 768px) {
  main .news_ttl {
    position: initial;
    width: 58.974vw;
    margin-bottom: 7.692vw;
  }
}
main .news_block {
  width: 100%;
  margin: 0 auto;
  border: solid 2px #00B68D;
  background: #fff;
  text-align: left;
}
main .news_block:not(:last-of-type) {
  margin-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .news_block:not(:last-of-type) {
    margin-bottom: 3.846vw;
  }
}
main .news_block.active .news_block_ttl {
  color: #fff;
  background: #00B68D;
}
main .news_block.active .news_block_ttl .news_block_ttl_day p {
  color: #fff;
}
main .news_block.active .news_block_ttl_txt .icon::after {
  background: #fff;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}
main .news_block.active .news_block_ttl_txt .icon::before {
  background: #fff;
}
main .news_block_ttl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  color: #000;
  gap: 0 min(3.418vw, 35px);
  padding: min(1.465vw, 15px) min(8.789vw, 90px);
}
main .news_block_ttl:hover {
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  main .news_block_ttl {
    display: block;
    padding: 5.128vw 17.949vw 5.128vw 5.128vw;
  }
}
main .news_block_ttl_day p {
  font-size: min(1.367vw, 14px);
  font-weight: 700;
  color: #969696;
}
@media only screen and (max-width: 768px) {
  main .news_block_ttl_day p {
    font-size: 3.59vw;
  }
}
main .news_block_ttl_txt p {
  font-size: min(1.563vw, 16px);
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  main .news_block_ttl_txt p {
    font-size: 4.103vw;
  }
}
main .news_block_ttl_txt .icon_wrap {
  position: absolute;
  width: min(2.148vw, 22px);
  height: min(2.148vw, 22px);
  right: min(2.93vw, 30px);
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media only screen and (max-width: 768px) {
  main .news_block_ttl_txt .icon_wrap {
    width: 5.641vw;
    height: 5.641vw;
    right: 5.128vw;
  }
}
main .news_block_ttl_txt .icon_wrap .icon {
  width: min(2.148vw, 22px);
  height: min(2.148vw, 22px);
  position: relative;
  display: block;
  margin: auto;
  -webkit-transition: 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
  will-change: transform;
}
@media only screen and (max-width: 768px) {
  main .news_block_ttl_txt .icon_wrap .icon {
    width: 5.641vw;
    height: 5.641vw;
  }
}
main .news_block_ttl_txt .icon_wrap .icon:hover {
  -webkit-transform: scale(0.92);
          transform: scale(0.92);
}
main .news_block_ttl_txt .icon_wrap .icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background: #00B68D;
  display: block;
}
main .news_block_ttl_txt .icon_wrap .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2px;
  height: 100%;
  background: #00B68D;
  display: block;
  will-change: transform;
  -webkit-transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
main .news_block_cnt {
  display: none;
  padding: min(1.953vw, 20px) min(8.789vw, 90px);
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt {
    padding: 5.128vw;
  }
}
main .news_block_cnt p {
  font-weight: 500;
}
main .news_block_cnt p:not(:last-of-type) {
  margin-bottom: min(0.977vw, 10px);
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p:not(:last-of-type) {
    margin-bottom: 3vw;
  }
}
main .news_block_cnt p.f14 {
  font-size: min(1.367vw, 14px);
}
main .news_block_cnt p.f14.mb30 {
  margin-bottom: min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p.f14.mb30 {
    margin-bottom: 5.128vw;
  }
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p.f14 {
    font-size: 3.59vw;
  }
}
main .news_block_cnt p.f12 {
  line-height: 1.5;
  font-size: min(1.172vw, 12px);
}
main .news_block_cnt p.f12.mb20 {
  margin-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p.f12.mb20 {
    margin-bottom: 5.128vw;
  }
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p.f12 {
    font-size: 3.077vw;
  }
}
main .news_block_cnt p a {
  padding-bottom: 3px;
  border-bottom: solid 1px #000;
}
@media only screen and (max-width: 768px) {
  main .news_block_cnt p a {
    padding-bottom: 1px;
  }
}
main .news_block_illust {
  position: relative;
}
main .news_block_illust::before {
  width: min(51.074vw, 523px);
  height: min(29.98vw, 307px);
  position: absolute;
  display: inline-block;
  content: "";
  left: -455px;
  bottom: -160px;
  background: url(../img/news_cloud03.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  main .news_block_illust::before {
    display: none;
  }
}
main .news .btn_style-02_wrap {
  width: min(33.008vw, 338px);
  height: min(5.859vw, 60px);
  margin: min(3.906vw, 40px) auto 0;
}
@media only screen and (max-width: 768px) {
  main .news .btn_style-02_wrap {
    width: 100%;
    height: 15.385vw;
    margin: 10.256vw 0 0;
  }
}
main .contents_banner {
  position: relative;
  padding: min(9.766vw, 100px) 0 0;
  background: url(../img/pattern.png) repeat, #F4C7CD;
}
@media only screen and (max-width: 768px) {
  main .contents_banner {
    padding: 15.385vw 0 0;
  }
}
main .contents_banner_bg {
  padding-bottom: min(12.695vw, 130px);
  background: url(../img/contents_banner_bg.png) repeat-x center bottom;
  background-size: min(208.105vw, 2131px) auto;
}
@media only screen and (max-width: 768px) {
  main .contents_banner_bg {
    padding-bottom: 20.513vw;
    background: url(../img/contents_banner_bg_sp.png) no-repeat center bottom;
    background-size: contain;
  }
}
main .contents_banner_ttl {
  width: min(35.547vw, 364px);
  margin: 0 auto min(4.883vw, 50px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_ttl {
    width: 58.974vw;
    margin-bottom: 7.692vw;
  }
}
main .contents_banner_area_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_flex {
    display: block;
  }
  main .contents_banner_area_flex .contents_banner_area_item {
    margin-bottom: 7.692vw;
  }
}
main .contents_banner_area_flex .contents_banner_area_item_img {
  margin-bottom: 0;
}
main .contents_banner_area_item {
  margin-bottom: min(3.906vw, 40px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item {
    margin-bottom: 10.256vw;
  }
  main .contents_banner_area_item.mb30 {
    margin-bottom: 7.692vw;
  }
}
main .contents_banner_area_item_img {
  display: block;
  margin-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item_img {
    margin-bottom: 5.128vw;
  }
}
main .contents_banner_area_item_exp {
  text-align: left;
}
main .contents_banner_area_item_exp p {
  font-weight: bold;
}
main .contents_banner_area_item_exp p.f16 {
  font-size: min(1.563vw, 16px);
  margin-bottom: min(0.488vw, 5px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item_exp p.f16 {
    font-size: 4.103vw;
    margin-bottom: 1vw;
  }
}
main .contents_banner_area_item_exp p.f14 {
  font-size: min(1.367vw, 14px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item_exp p.f14 {
    font-size: 3.59vw;
  }
}
main .contents_banner_area_item.map {
  background: #fff;
  border: solid 6px #00B68D;
  padding: min(6.836vw, 70px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item.map {
    padding: 10.256vw 6.41vw 10.256vw;
  }
}
main .contents_banner_area_item_map_btn {
  margin-top: min(3.906vw, 40px);
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item_map_btn {
    margin-top: 7.692vw;
  }
}
main .contents_banner_area_item_map_btn .btn_style-02_wrap_green a {
  width: min(42.969vw, 440px);
  height: min(6.348vw, 65px);
  font-weight: 500;
  font-size: min(1.953vw, 20px);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  main .contents_banner_area_item_map_btn .btn_style-02_wrap_green a {
    width: 61.538vw;
    height: 12.821vw;
    font-size: 3.59vw;
  }
}
main .lineup {
  position: relative;
  overflow: hidden;
  padding: min(9.766vw, 100px) 0 min(18.555vw, 190px);
  background: #F7F0D8;
}
@media only screen and (max-width: 768px) {
  main .lineup {
    padding: 17.179vw 0 30.769vw;
  }
}
main .lineup::before {
  width: 100%;
  height: 100%;
  position: absolute;
  display: inline-block;
  content: "";
  top: 26%;
  left: 0;
  right: 0;
  background: url(../img/lineup_cloud_bg.png) repeat-y center top;
  background-size: min(325.781vw, 3336px) auto;
  z-index: 0;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  main .lineup::before {
    top: 12%;
    background: url(../img/lineup_cloud_bg_sp.png) repeat-y center top;
    background-size: 100vw auto;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup::after {
    position: absolute;
    display: inline-block;
    content: "";
    width: 100vw;
    height: 62.051vw;
    top: 0;
    left: 0;
    background: url(../img/lineup_ttl_cloud01_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .lineup .inner {
  position: relative;
  z-index: 1;
}
main .lineup .inner::before {
  width: min(125.879vw, 1289px);
  height: min(53.711vw, 550px);
  position: absolute;
  display: inline-block;
  content: "";
  top: -16%;
  left: -99%;
  background: url(../img/lineup_ttl_cloud01.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  main .lineup .inner::before {
    display: none;
  }
}
main .lineup .inner::after {
  width: min(66.797vw, 684px);
  height: min(35.059vw, 359px);
  position: absolute;
  display: inline-block;
  content: "";
  top: 3%;
  right: -40%;
  background: url(../img/lineup_ttl_cloud02.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  main .lineup .inner::after {
    display: none;
  }
}
main .lineup .inner .top_chouchin_left {
  position: absolute;
  top: -120px;
  left: -73px;
  width: min(9.18vw, 94px);
}
@media screen and (max-width: 1440px) {
  main .lineup .inner .top_chouchin_left {
    left: 10px;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup .inner .top_chouchin_left {
    width: 11.795vw;
    left: 7.692vw;
    top: -24.359vw;
  }
}
main .lineup .inner .top_chouchin_right-01 {
  position: absolute;
  top: -130px;
  right: -10px;
  width: min(11.133vw, 114px);
}
@media screen and (max-width: 1440px) {
  main .lineup .inner .top_chouchin_right-01 {
    right: 70px;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup .inner .top_chouchin_right-01 {
    width: 14.615vw;
    right: 6.41vw;
    top: -21.795vw;
  }
}
main .lineup .inner .top_chouchin_right-02 {
  position: absolute;
  top: -130px;
  right: -80px;
  width: min(8.398vw, 86px);
}
@media screen and (max-width: 1440px) {
  main .lineup .inner .top_chouchin_right-02 {
    right: 10px;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup .inner .top_chouchin_right-02 {
    width: 12.051vw;
    right: -4.615vw;
    top: -21.795vw;
  }
}
main .lineup_ttl {
  position: relative;
  width: min(33.789vw, 346px);
  margin: 0 auto min(7.813vw, 80px);
}
@media only screen and (max-width: 768px) {
  main .lineup_ttl {
    width: 59.487vw;
    margin-bottom: 20.513vw;
  }
}
main .lineup_wrap_blc {
  position: relative;
}
main .lineup_wrap_blc.anime .lineup_wrap_blc_ttl {
  width: min(26.172vw, 268px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.anime .lineup_wrap_blc_ttl {
    width: 65.128vw;
  }
}
main .lineup_wrap_blc.anime .lineup_wrap_blc_list::after {
  content: "";
  display: block;
  width: calc(50% - min(0.977vw, 10px));
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.anime .lineup_wrap_blc_list::after {
    display: none;
    width: calc(50% - 2.564vw);
  }
}
main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item:nth-of-type(n+5) {
  margin-top: min(2.441vw, 25px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item:nth-of-type(n+5) {
    margin-top: 6.41vw;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item:nth-of-type(n+3):nth-child(-n+5) {
    margin-top: 6.41vw;
  }
}
main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item {
  width: calc(25% - min(0.977vw, 10px));
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item {
    width: calc(50% - 2.564vw);
  }
}
main .lineup_wrap_blc.program .lineup_wrap_blc_ttl {
  width: min(43.457vw, 445px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_ttl {
    width: 72.821vw;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_list_item_link__more_btn {
    width: 33.333vw;
    margin: 0 auto 0 0;
  }
}
main .lineup_wrap_blc.program .lineup_wrap_blc_list_item:nth-of-type(n+4) {
  margin-top: min(2.441vw, 25px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_list_item:nth-of-type(n+4) {
    margin-top: 6.41vw;
  }
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_list_item:nth-of-type(n+2):nth-child(-n+4) {
    margin-top: 6.41vw;
  }
}
main .lineup_wrap_blc.program .lineup_wrap_blc_list_item {
  width: calc(33.3333333333% - min(0.977vw, 10px));
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_list_item {
    width: 100%;
  }
}
main .lineup_wrap_blc:not(:last-of-type) {
  margin-bottom: min(9.277vw, 95px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc:not(:last-of-type) {
    margin-bottom: 23.077vw;
  }
}
main .lineup_wrap_blc::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  background: #EB1E00;
  width: 100%;
  height: 6px;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc::before {
    top: -3.077vw;
    height: 1.538vw;
  }
}
main .lineup_wrap_blc_wrap {
  background: #fff;
  padding: min(6.836vw, 70px) min(4.883vw, 50px) min(4.883vw, 50px);
  border-top: 6px solid #00B68D;
  border-left: 2px solid #00B68D;
  border-right: 2px solid #00B68D;
  border-bottom: 2px solid #00B68D;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_wrap {
    padding: 14.103vw 7.692vw 5.128vw;
    border-top: 1.538vw solid #00B68D;
  }
}
main .lineup_wrap_blc_ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: -40px;
  bottom: 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  outline: solid 2px #fff;
  outline-offset: -8px;
  height: min(7.422vw, 76px);
  font-size: min(3.516vw, 36px);
  font-weight: 700;
  color: #fff;
  background: #EB1E00;
  padding-bottom: min(0.391vw, 4px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_ttl {
    outline-offset: -2.051vw;
    height: 14.103vw;
    font-size: 6.154vw;
    top: -8.974vw;
    padding-bottom: 0.5vw;
  }
}
main .lineup_wrap_blc_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list {
    margin-bottom: 5.128vw;
  }
}
main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link .lineup_wrap_blc_list_item_link__title, main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link button {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link:hover {
  opacity: 1;
  cursor: pointer;
}
main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link:hover .lineup_wrap_blc_list_item_link__thum {
  background: #000;
}
main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link:hover img {
  -webkit-transform: scale(1.17);
          transform: scale(1.17);
  opacity: 0.7;
}
main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link:hover .lineup_wrap_blc_list_item_link__title, main .lineup_wrap_blc_list_item:not(.no_link) .lineup_wrap_blc_list_item_link:hover button {
  opacity: 0.6;
}
main .lineup_wrap_blc_list_item_link {
  display: block;
}
main .lineup_wrap_blc_list_item_link__thum {
  margin-bottom: min(0.977vw, 10px);
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.5s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
}
main .lineup_wrap_blc_list_item_link__thum img {
  position: relative;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.5s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.5s cubic-bezier(0, 0.55, 0.45, 1);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list_item_link__thum {
    margin-bottom: 2.564vw;
  }
}
main .lineup_wrap_blc_list_item_link__title {
  position: relative;
  font-size: min(1.367vw, 14px);
  margin-bottom: min(0.977vw, 10px);
  font-weight: 700;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list_item_link__title {
    font-size: 3.59vw;
    margin-bottom: 2vw;
  }
}
main .lineup_wrap_blc_list_item_link__more_btn {
  font-size: min(1.367vw, 14px);
  padding: 2px min(0.977vw, 10px);
  color: #008978;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: solid 1px #00B68D;
  gap: 0 5px;
  border-radius: 100vh;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list_item_link__more_btn {
    width: 100%;
    font-size: 3.59vw;
    padding: 2px 2vw;
    gap: 0 1vw;
  }
}
main .lineup_wrap_blc_list_item_link__more_btn:hover {
  cursor: pointer;
}
main .lineup_wrap_blc_list_item_link__more_btn span {
  position: relative;
  display: block;
  width: min(1.172vw, 12px);
  height: min(1.172vw, 12px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list_item_link__more_btn span {
    width: 3.077vw;
    height: 3.077vw;
  }
}
main .lineup_wrap_blc_list_item_link__more_btn span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 2px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #008978;
}
main .lineup_wrap_blc_list_item_link__more_btn span::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2px;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #008978;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc__more_btn {
    margin-bottom: 1vw;
  }
}
main .lineup_wrap_blc__more_btn .icon_wrap {
  display: inline-block;
  width: min(2.148vw, 22px);
  height: min(2.148vw, 22px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc__more_btn .icon_wrap {
    width: 5.641vw;
    height: 5.641vw;
    right: 5.128vw;
  }
}
main .lineup_wrap_blc__more_btn .icon_wrap .icon {
  width: min(2.148vw, 22px);
  height: min(2.148vw, 22px);
  position: relative;
  display: block;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc__more_btn .icon_wrap .icon {
    width: 7.692vw;
    height: 7.692vw;
  }
}
main .lineup_wrap_blc__more_btn .icon_wrap .icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background: #00B68D;
  display: block;
}
main .lineup_wrap_blc__more_btn .icon_wrap .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2px;
  height: 100%;
  background: #00B68D;
  display: block;
}
main .lineup_wrap_blc__more_btn_text {
  color: #008978;
  font-size: min(2.344vw, 24px);
  font-weight: 700;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc__more_btn_text {
    font-size: 5.128vw;
  }
}
main .banner {
  padding: min(12.695vw, 130px) 0 min(9.766vw, 100px);
  background: #F7F0D8;
}
@media only screen and (max-width: 768px) {
  main .banner {
    padding: 25.641vw 0 23.077vw;
  }
}
main .banner .inner {
  position: relative;
}
main .banner_ttl {
  position: relative;
  margin: min(0.977vw, 10px) auto 0;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 768px) {
  main .banner_ttl {
    margin-top: 2.564vw;
    font-size: 6.154vw;
  }
}
main .banner_ttl .green {
  color: #008978;
  font-size: min(2.344vw, 24px);
}
@media only screen and (max-width: 768px) {
  main .banner_ttl .green {
    font-size: 6.154vw;
  }
}
main .banner_ttl .f20 {
  font-size: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .banner_ttl .f20 {
    font-size: 4.615vw;
  }
}
main .banner_image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  main .banner_image {
    display: block;
  }
}
main .banner_image::before {
  position: absolute;
  display: inline-block;
  content: "";
  left: -20px;
  bottom: min(-0.977vw, -10px);
  width: min(6.543vw, 67px);
  height: min(20.703vw, 212px);
  background: url(../img/banner_illust02.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .banner_image::before {
    display: none;
  }
}
main .banner_image::after {
  position: absolute;
  display: inline-block;
  content: "";
  right: -20px;
  bottom: min(-0.977vw, -10px);
  width: min(6.543vw, 67px);
  height: min(20.703vw, 212px);
  background: url(../img/banner_illust01.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .banner_image::after {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  main .banner_image_item:first-of-type {
    margin-bottom: 10.256vw;
  }
}
main .banner_image_item a {
  display: block;
  width: min(35.156vw, 360px);
}
@media only screen and (max-width: 768px) {
  main .banner_image_item a {
    width: 100%;
  }
}
main .contact {
  padding: min(11.719vw, 120px) 0 min(13.672vw, 140px);
  background: url(../img/pattern.png) repeat, #F4C7CD;
}
@media screen and (max-width: 1024px) {
  main .contact {
    position: relative;
    z-index: 0;
  }
}
@media only screen and (max-width: 768px) {
  main .contact {
    padding: 23.077vw 0 22.564vw;
  }
}
main .contact .inner {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  main .contact .inner {
    position: initial;
  }
}
main .contact .inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(11.426vw, 117px);
  height: min(42.383vw, 434px);
  left: -150px;
  top: -30px;
  background: url(../img/contact_illust01.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main .contact .inner::after {
    left: -20px;
    top: 90px;
  }
}
@media only screen and (max-width: 768px) {
  main .contact .inner::after {
    width: 16.41vw;
    height: 97.692vw;
    left: 0;
    top: 18vw;
    background: url(../img/contact_illust01_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .contact .inner::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(11.426vw, 117px);
  height: min(42.383vw, 434px);
  right: -150px;
  top: -30px;
  background: url(../img/contact_illust02.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  main .contact .inner::before {
    right: -20px;
    top: 90px;
  }
}
@media only screen and (max-width: 768px) {
  main .contact .inner::before {
    width: 16.41vw;
    height: 97.692vw;
    right: 0;
    top: 18vw;
    background: url(../img/contact_illust02_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .contact_ttl {
  width: min(35.547vw, 364px);
  margin: 0 auto min(5.371vw, 55px);
}
@media only screen and (max-width: 768px) {
  main .contact_ttl {
    width: 58.974vw;
    margin-bottom: 7.692vw;
  }
}
main .contact_block {
  width: 100%;
  background: #fff;
  border: solid 2px #00B68D;
}
main .contact_block_tab_item_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .contact_block_tab_item_ttl_text {
  width: 50%;
}
main .contact_block_tab_item_ttl_text:hover {
  cursor: pointer;
}
main .contact_block_tab_item_ttl_text {
  color: #008978;
  padding: min(1.953vw, 20px) 0;
  font-size: min(1.953vw, 20px);
  font-weight: 700;
  border-bottom: solid 5px #E7E7E7;
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_ttl_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0vw 0 0vw 12.821vw;
    text-align: left;
    line-height: 1.3;
    font-size: 4.103vw;
    height: 17.949vw;
    border-bottom: solid 3px #E7E7E7;
  }
}
main .contact_block_tab_item_ttl_text.tab_ttl_01 span {
  position: relative;
}
main .contact_block_tab_item_ttl_text.tab_ttl_01 span::before {
  width: min(3.223vw, 33px);
  height: min(3.223vw, 33px);
  position: absolute;
  display: inline-block;
  content: "";
  left: -40px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: url(../img/contact_icon01.svg) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_ttl_text.tab_ttl_01 span::before {
    width: 8.974vw;
    height: 8.974vw;
    left: -10.256vw;
  }
}
main .contact_block_tab_item_ttl_text.tab_ttl_02 span {
  position: relative;
}
main .contact_block_tab_item_ttl_text.tab_ttl_02 span::before {
  width: min(2.344vw, 24px);
  height: min(2.148vw, 22px);
  position: absolute;
  display: inline-block;
  content: "";
  left: -35px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: url(../img/contact_icon02.svg) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_ttl_text.tab_ttl_02 span::before {
    width: 6.154vw;
    height: 6.154vw;
    left: -8.974vw;
  }
}
main .contact_block_tab_item_ttl_text.current {
  border-bottom: solid 5px #00B68D;
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_ttl_text.current {
    border-bottom: solid 3px #00B68D;
  }
}
main .contact_block_tab_item_cnt > div {
  display: none;
}
main .contact_block_tab_item_cnt > div.active {
  display: block;
}
main .contact_block_tab_item_cnt_text {
  padding: min(3.906vw, 40px) min(4.883vw, 50px);
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_cnt_text {
    padding: 7.692vw 5.128vw;
  }
}
main .contact_block_tab_item_cnt_text p {
  font-size: min(1.367vw, 14px);
  text-align: left;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  main .contact_block_tab_item_cnt_text p {
    font-size: 3.59vw;
  }
}
main .contact_block_tab_item_cnt_text p a {
  padding-bottom: 3px;
  border-bottom: solid 1px #000;
}
main .sponsor {
  padding: min(4.883vw, 50px) 0 min(7.813vw, 80px);
}
@media only screen and (max-width: 768px) {
  main .sponsor {
    padding: 12.821vw 0 10.256vw;
  }
}
main .sponsor .inner {
  position: relative;
}
main .sponsor .inner::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(6.152vw, 63px);
  height: min(37.891vw, 388px);
  left: -60px;
  top: 30px;
  background: url(../img/sponsor_kira01.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  main .sponsor .inner::before {
    left: 10px;
    top: 10px;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor .inner::before {
    width: 12.821vw;
    height: 58.974vw;
    left: 5vw;
    top: 5vw;
    background: url(../img/sponsor_kira01_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .sponsor .inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(6.152vw, 63px);
  height: min(37.891vw, 388px);
  right: -10px;
  top: 30px;
  background: url(../img/sponsor_kira02.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  main .sponsor .inner::after {
    top: 10px;
    right: 10px;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor .inner::after {
    width: 12.821vw;
    height: 58.974vw;
    right: 5vw;
    top: 5vw;
    background: url(../img/sponsor_kira02_sp.png) no-repeat center;
    background-size: contain;
  }
}
main .sponsor_block {
  width: 86%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  main .sponsor_block {
    width: 100%;
  }
}
main .sponsor_block:not(:last-of-type) {
  border-bottom: solid 2px #CCF0E8;
  padding-bottom: min(3.906vw, 40px);
  margin-bottom: min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_block:not(:last-of-type) {
    margin-bottom: 7.692vw;
    padding-bottom: 7.692vw;
  }
}
main .sponsor_block:not(:last-of-type).pb20 {
  padding-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_block:not(:last-of-type).pb20 {
    padding-bottom: 10.256vw;
  }
}
main .sponsor_main_ttl {
  font-size: min(2.539vw, 26px);
  font-weight: 700;
  color: #008978;
}
@media only screen and (max-width: 768px) {
  main .sponsor_main_ttl {
    font-size: 6.154vw;
  }
}
main .sponsor_main_name {
  font-size: min(2.539vw, 26px);
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  main .sponsor_main_name {
    width: 100%;
    font-size: 6.154vw;
  }
}
main .sponsor_special_ttl {
  font-size: min(1.953vw, 20px);
  font-weight: 700;
  color: #008978;
  margin-bottom: min(1.465vw, 15px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_special_ttl {
    font-size: 5.128vw;
    margin-bottom: 2.564vw;
  }
}
main .sponsor_special_name {
  width: min(12.695vw, 130px);
  margin: 0 auto;
}
main .sponsor_special_name a {
  display: block;
}
@media only screen and (max-width: 768px) {
  main .sponsor_special_name {
    width: 29.231vw;
  }
}
main .sponsor_cooperationd_name {
  width: min(11.719vw, 120px);
  margin: 0 auto;
}
main .sponsor_cooperationd_name a {
  display: block;
}
@media only screen and (max-width: 768px) {
  main .sponsor_cooperationd_name {
    width: 30.256vw;
  }
}
main .sponsor_copy_item {
  width: min(18.555vw, 190px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_copy_item {
    width: 48.5%;
  }
}
main .sponsor .sponsor_logo_ttl {
  font-size: min(1.953vw, 20px);
  font-weight: 700;
  color: #008978;
  margin-bottom: min(1.465vw, 15px);
}
@media only screen and (max-width: 768px) {
  main .sponsor .sponsor_logo_ttl {
    font-size: 5.128vw;
    margin-bottom: 5.128vw;
  }
}
main .sponsor_logo_flex_blc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(4.883vw, 50px);
}
main .sponsor_logo_flex_blc:first-of-type {
  margin-bottom: min(1.953vw, 20px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_blc {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6.41vw 6.41vw;
  }
}
main .sponsor_logo_flex_item.logo01 {
  width: min(11.328vw, 116px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo01 {
    width: 28.462vw;
  }
}
main .sponsor_logo_flex_item.logo02 {
  width: min(10.645vw, 109px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo02 {
    width: 27.949vw;
  }
}
main .sponsor_logo_flex_item.logo03 {
  width: min(7.129vw, 73px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo03 {
    width: 16.667vw;
  }
}
main .sponsor_logo_flex_item.logo04 {
  width: min(6.836vw, 70px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo04 {
    width: 17.949vw;
  }
}
main .sponsor_logo_flex_item.logo05 {
  width: min(6.348vw, 65px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo05 {
    width: 16.667vw;
  }
}
main .sponsor_logo_flex_item.logo06 {
  width: min(14.648vw, 150px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo06 {
    width: 28.205vw;
  }
}
main .sponsor_logo_flex_item.logo07 {
  padding-top: min(1.465vw, 15px);
  width: min(9.668vw, 99px);
}
@media only screen and (max-width: 768px) {
  main .sponsor_logo_flex_item.logo07 {
    width: 27.179vw;
    padding-top: 0;
  }
}
main .sponsor_copy p {
  font-size: min(1.367vw, 14px);
  font-weight: 500;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  main .sponsor_copy p {
    font-size: 3.59vw;
  }
}

#top_navi {
  position: fixed;
  left: min(0vw, 0px);
  bottom: min(2.93vw, 30px);
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media only screen and (max-width: 768px) {
  #top_navi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100vw;
  }
}
#top_navi ul li {
  width: min(9.766vw, 100px);
}
#top_navi ul li:not(:first-of-type) {
  margin-top: -4px;
}
@media only screen and (max-width: 768px) {
  #top_navi ul li:not(:first-of-type) {
    margin-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  #top_navi ul li.top_navi01 img {
    width: 14.872vw;
  }
  #top_navi ul li.top_navi02 img {
    width: 18.718vw;
  }
  #top_navi ul li.top_navi03 img {
    width: 21.795vw;
  }
}
#top_navi ul li a {
  display: block;
}
@media only screen and (max-width: 768px) {
  #top_navi ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#top_navi ul li a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  #top_navi ul li {
    width: 33.3333333333%;
    height: 28.974vw;
    background: #fff;
    border: solid 2px #000;
    border-bottom: solid 6px #000;
  }
}
#top_navi.active {
  opacity: 1;
  pointer-events: auto;
}
#top_navi.none {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media only screen and (max-width: 768px) {
  #top_navi {
    bottom: 0vw;
  }
}

.modal:not(.mov) {
  display: none;
}

.modal:not(.mov).is-open {
  display: block;
}

.modal_close {
  position: absolute;
  display: inline-block;
  width: min(4.492vw, 46px);
  height: min(4.98vw, 51px);
  top: min(1.758vw, 18px);
  right: min(2.93vw, 30px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: transparent;
  border: 0;
  outline: none !important;
}
.modal_close:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .modal_close {
    width: 11.795vw;
    height: 12.821vw;
    top: 2.564vw;
    right: 5.128vw;
  }
}
.modal_close_sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .modal_close_sp {
    display: block;
    width: 40vw;
    margin: 7.692vw auto 0vw;
  }
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99990;
  background: rgba(0, 0, 0, 0.8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 768px) {
  .modal__overlay {
    padding: 13vw 4vw 13vw;
    overflow-y: scroll;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.modal2 .modal__container {
  padding: min(13.672vw, 140px) min(4.395vw, 45px);
}
.modal2 .modal__container_flex {
  gap: 0 min(2.93vw, 30px);
}
.modal2 .modal__container_flex_blc_ttl p {
  margin-bottom: min(0.977vw, 10px);
}
@media only screen and (max-width: 768px) {
  .modal2 .modal__container_flex_blc_ttl p {
    margin-bottom: 5.128vw;
  }
}
@media only screen and (max-width: 768px) {
  .modal2 .modal__container_flex_blc.left {
    width: 100%;
    padding-top: 12.821vw;
  }
}

.modal__container {
  position: relative;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-height: 100vh;
  width: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  padding: min(6.836vw, 70px) min(8.301vw, 85px);
  border: solid 2px #00B68D;
}
@media only screen and (max-width: 768px) {
  .modal__container {
    display: block;
    overflow: visible;
    max-height: initial;
    padding: 21.795vw 6.41vw 10.256vw;
  }
}
.modal__container_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(4.883vw, 50px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc.left {
    width: 54.872vw;
    margin: 0 auto 7.692vw;
  }
}
.modal__container_flex_blc.right {
  margin-bottom: min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc.right {
    margin-bottom: 7.692vw;
  }
}
.modal__container_flex_blc_thum {
  width: min(31.055vw, 318px);
  margin-bottom: min(0.488vw, 5px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_thum {
    width: 100%;
    margin-bottom: 3vw;
  }
}
.modal__container_flex_blc_copy {
  font-size: min(1.172vw, 12px);
  width: min(31.055vw, 318px);
  text-align: left;
  word-break: break-all;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_copy {
    width: 100%;
    font-size: 3.077vw;
    width: 100%;
  }
}
.modal__container_flex_blc_ttl p {
  font-size: min(2.93vw, 30px);
  color: #008978;
  font-weight: bold;
  text-align: left;
  margin-bottom: min(0.977vw, 10px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_ttl p {
    font-size: 6.154vw;
    margin-bottom: 2.564vw;
  }
}
.modal__container_flex_blc_cts {
  width: min(48.828vw, 500px);
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(1.953vw, 20px) 0;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts {
    gap: 3vw 0;
    width: 100%;
  }
}
.modal__container_flex_blc_cts_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(33.3333333333% - min(0.977vw, 10px));
  height: min(5.469vw, 56px);
  padding: min(1.465vw, 15px) min(1.172vw, 12px) min(1.465vw, 15px) min(0.977vw, 10px);
  gap: 0 min(0.488vw, 5px);
  outline: none !important;
}
.modal__container_flex_blc_cts_item:first-of-type .modal__container_flex_blc_cts_item_ttl, .modal__container_flex_blc_cts_item:nth-of-type(2) .modal__container_flex_blc_cts_item_ttl {
  margin-left: min(0.586vw, 6px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item:first-of-type .modal__container_flex_blc_cts_item_ttl, .modal__container_flex_blc_cts_item:nth-of-type(2) .modal__container_flex_blc_cts_item_ttl {
    margin-left: 0vw;
  }
}
.modal__container_flex_blc_cts_item:nth-of-type(3) .modal__container_flex_blc_cts_item_ttl, .modal__container_flex_blc_cts_item:nth-of-type(4) .modal__container_flex_blc_cts_item_ttl {
  margin-left: min(1.465vw, 15px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item:nth-of-type(3) .modal__container_flex_blc_cts_item_ttl, .modal__container_flex_blc_cts_item:nth-of-type(4) .modal__container_flex_blc_cts_item_ttl {
    margin-left: 0vw;
  }
}
.modal__container_flex_blc_cts_item:nth-of-type(5) .modal__container_flex_blc_cts_item_ttl {
  margin-left: min(2.344vw, 24px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item:nth-of-type(5) .modal__container_flex_blc_cts_item_ttl {
    margin-left: 0vw;
  }
}
.modal__container_flex_blc_cts_item:hover {
  opacity: 1;
}
.modal__container_flex_blc_cts_item:not(.none):hover {
  cursor: pointer;
  -webkit-transform: translateY(0.3rem);
          transform: translateY(0.3rem);
  -webkit-box-shadow: 0 0 0 0;
          box-shadow: 0 0 0 0;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item {
    width: calc(50% - 1.5vw);
    height: 14.359vw;
    gap: 1vw;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 3.333vw 3.59vw 3.846vw 2.308vw;
  }
  .modal__container_flex_blc_cts_item:last-child {
    padding: 3.846vw 1.5vw 3.846vw 1vw;
  }
}
.modal__container_flex_blc_cts_item:not(.none) {
  -webkit-box-shadow: 4px 4px 0px 0 #008978;
          box-shadow: 4px 4px 0px 0 #008978;
  border: solid 2px #008978;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item:not(.none) {
    -webkit-box-shadow: 3px 3px 0px 0 #008978;
            box-shadow: 3px 3px 0px 0 #008978;
  }
}
.modal__container_flex_blc_cts_item:not(.none) .modal__container_flex_blc_cts_item_ttl {
  color: #008978;
}
.modal__container_flex_blc_cts_item.none {
  -webkit-box-shadow: 4px 4px 0px 0 #969696;
          box-shadow: 4px 4px 0px 0 #969696;
  border: solid 2px #969696;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item.none {
    -webkit-box-shadow: 3px 3px 0px 0 #969696;
            box-shadow: 3px 3px 0px 0 #969696;
  }
}
.modal__container_flex_blc_cts_item.none .modal__container_flex_blc_cts_item_ttl {
  color: #969696;
}
.modal__container_flex_blc_cts_item_icon.i01 {
  width: min(2.539vw, 26px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i01 {
    margin: 0vw 0.7vw 0vw 0.5vw;
    width: 6.667vw;
  }
}
.modal__container_flex_blc_cts_item_icon.i02 {
  width: min(3.223vw, 33px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i02 {
    width: 8.462vw;
    margin-right: 2vw;
  }
}
.modal__container_flex_blc_cts_item_icon.i03 {
  width: min(3.027vw, 31px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i03 {
    width: 7.949vw;
    margin-right: 3vw;
  }
}
.modal__container_flex_blc_cts_item_icon.i04 {
  width: min(2.148vw, 22px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i04 {
    width: 5.641vw;
    margin: 0 3vw 0 1vw;
  }
}
.modal__container_flex_blc_cts_item_icon.i05 {
  width: min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i05 {
    width: 7.692vw;
    margin-right: 6vw;
  }
}
.modal__container_flex_blc_cts_item_icon.i06 {
  width: min(3.32vw, 34px);
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_icon.i06 {
    width: 7.949vw;
  }
}
.modal__container_flex_blc_cts_item_ttl {
  font-size: min(1.367vw, 14px);
  font-weight: bold;
  line-height: 1.3;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .modal__container_flex_blc_cts_item_ttl {
    font-size: 3.59vw;
  }
}

.modal.mov {
  display: none;
}

.modal.mov.is-close {
  display: none;
}

/* モーダルアニメーション */
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.modal[aria-hidden=false] .modal-overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal-overlay {
  -webkit-animation: mmfadeOut 0s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__container {
  -webkit-animation: mmslideOut 0s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0s cubic-bezier(0, 0, 0.2, 1);
}

.modal .modal__container,
.modal .modal-overlay {
  will-change: transform;
}

.modal_mov {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  overflow: auto;
  opacity: 1;
  visibility: visible;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 99990;
}
.modal_mov-inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.modal_mov.is-close {
  opacity: 0;
  visibility: hidden;
}
.modal_mov-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background: #fff;
  padding: min(8.594vw, 88px) min(12.695vw, 130px);
  border: solid 2px #00B68D;
}
@media only screen and (max-width: 768px) {
  .modal_mov-container {
    padding: 21.795vw 2.564vw 10.256vw;
    width: 95vw;
  }
}
.modal_mov-container-close {
  position: absolute;
  display: inline-block;
  width: min(4.492vw, 46px);
  height: min(4.98vw, 51px);
  top: min(1.758vw, 18px);
  right: min(2.93vw, 30px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: transparent;
  border: 0;
  outline: none !important;
}
.modal_mov-container-close:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .modal_mov-container-close {
    width: 11.795vw;
    height: 12.821vw;
    top: 2.564vw;
    right: 5.128vw;
  }
}
.modal_mov-container-close_sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .modal_mov-container-close_sp {
    display: block;
    width: 40vw;
    margin: 7.692vw auto 0vw;
  }
}
.modal_mov-content_mov {
  width: min(77.148vw, 790px);
  position: relative;
  padding-top: 56.25%;
}
@media only screen and (max-width: 768px) {
  .modal_mov-content_mov {
    width: 100%;
  }
}
.modal_mov-content_mov iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}