@-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: 52.308vw;
    height: 47.436vw;
    top: 10%;
  }
}
.loading_img02 {
  width: min(57.617vw, 590px);
  height: min(47.559vw, 487px);
  right: 0;
  bottom: 15%;
}
@media only screen and (max-width: 768px) {
  .loading_img02 {
    width: 72.821vw;
    height: 67.692vw;
    bottom: 10%;
  }
}
.loading_img03 {
  width: min(63.086vw, 646px);
  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) 30%;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 {
    padding: 5.128vw 0 5.128vw 2.564vw;
  }
}
#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-active.is-visible {
  -webkit-transform: scale(1);
          transform: scale(1);
  margin-left: -3%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide.is-active.is-visible {
    margin-left: 0%;
  }
}
#mv #splide02 .splide__slide.is-next {
  margin-left: 3%;
}
@media only screen and (max-width: 768px) {
  #mv #splide02 .splide__slide.is-next {
    margin-left: min(3.613vw, 37px);
  }
}
#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: 2.564vw;
  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: 2.564vw;
  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: 1;
  }
}
.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: 11.528vw;
  left: 71.875vw;
  width: 24.583vw;
  aspect-ratio: 354/289;
  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);
}
@media only screen and (max-width: 768px) {
  .kv_dragon {
    top: 5.385vw;
    left: 63.846vw;
    width: 41.795vw;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.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%);
}
@media only screen and (max-width: 768px) {
  .kv_shibuya {
    top: 62.564vw;
    left: 54.359vw;
    width: 50.513vw;
  }
}
.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_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 {
    top: -4.103vw;
    left: 60vw;
    width: 8.462vw;
  }
}
.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: 9.861vw;
  left: 90.625vw;
  width: 8.611vw;
  aspect-ratio: 124/125;
  -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_takoyaki {
    top: 62.821vw;
    left: 87.692vw;
    width: 13.846vw;
  }
}
.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 2.5s ease-in-out 0.2s infinite alternate;
          animation: starAnimation 2.5s ease-in-out 0.2s infinite alternate;
}
.kv_star02.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.7s ease-in-out 0.3s infinite alternate;
          animation: starAnimation 1.7s ease-in-out 0.3s infinite alternate;
}
.kv_star03.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.4s ease-in-out 0.9s infinite alternate;
          animation: starAnimation 2.4s ease-in-out 0.9s infinite alternate;
}
.kv_star04.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.9s ease-in-out 0.9s infinite alternate;
          animation: starAnimation 2.9s ease-in-out 0.9s infinite alternate;
}
.kv_star05.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.1s ease-in-out 0.9s infinite alternate;
          animation: starAnimation 2.1s ease-in-out 0.9s infinite alternate;
}
.kv_star06.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.1s ease-in-out 0.6s infinite alternate;
          animation: starAnimation 2.1s ease-in-out 0.6s infinite alternate;
}
.kv_star07.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 2.2s ease-in-out 0.5s infinite alternate;
          animation: starAnimation 2.2s ease-in-out 0.5s infinite alternate;
}
.kv_star08.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.4s ease-in-out 0.9s infinite alternate;
          animation: starAnimation 1.4s ease-in-out 0.9s infinite alternate;
}
.kv_star09.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 3s ease-in-out 1s infinite alternate;
          animation: starAnimation 3s ease-in-out 1s infinite alternate;
}
.kv_star10.is-anim {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: starAnimation 1.2s ease-in-out 0.7s infinite alternate;
          animation: starAnimation 1.2s ease-in-out 0.7s infinite alternate;
}
.kv_star11.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_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: 10.764vw;
  left: 75.694vw;
  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: 12.708vw;
  left: 74.097vw;
  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_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: 42.153vw;
  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(8.789vw, 90px) 0 min(0vw, 0px);
  background: #F7F0D8;
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  main .about {
    padding: 11.538vw 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(21.973vw, 225px);
  height: min(17.285vw, 177px);
  right: -3%;
  top: 36%;
  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: 32.564vw;
    height: 26.667vw;
    right: 14vw;
    top: initial;
    bottom: 52vw;
  }
}
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: 0vw;
    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(72.266vw, 740px);
  height: min(72.266vw, 740px);
  background: url(../img/about_title_bg.png) no-repeat;
  background-size: contain;
  bottom: -140px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -2;
}
@media only screen and (max-width: 768px) {
  main .about_lead::before {
    width: 100vw;
    height: 209.231vw;
    bottom: -54vw;
    background: url(../img/about_title_bg_sp.png) no-repeat center;
    background-size: contain;
  }
}
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: 40vw;
    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(7.813vw, 80px) 0;
  background: url(../img/pattern.png) repeat, #00B68D;
}
@media only screen and (max-width: 768px) {
  main .event {
    padding: 10.256vw 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;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  right: 25px;
  top: 25px;
}
@media only screen and (max-width: 768px) {
  main .event_block::before {
    width: 7.692vw;
    height: 7.692vw;
  }
}
@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;
  right: 25px;
  bottom: 25px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (max-width: 768px) {
  main .event_block::after {
    width: 7.692vw;
    height: 7.692vw;
  }
}
@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;
  left: 25px;
  top: 25px;
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::before {
    width: 7.692vw;
    height: 7.692vw;
  }
}
@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;
  left: 25px;
  bottom: 25px;
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
@media only screen and (max-width: 768px) {
  main .event_block_bg::after {
    width: 7.692vw;
    height: 7.692vw;
  }
}
@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 .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(12.695vw, 130px);
  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;
  }
}
main .news .inner {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  main .news .inner {
    padding-bottom: 56.41vw;
  }
}
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;
}
@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);
}
@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);
}
@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;
}
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 .news .btn_style-02_wrap::before {
  width: min(51.074vw, 523px);
  height: min(29.98vw, 307px);
  position: absolute;
  display: inline-block;
  content: "";
  left: -420px;
  bottom: -80px;
  background: url(../img/news_cloud03.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1440px) {
  main .news .btn_style-02_wrap::before {
    left: -400px;
    bottom: -10px;
  }
}
@media only screen and (max-width: 768px) {
  main .news .btn_style-02_wrap::before {
    width: 49.231vw;
    height: 52.051vw;
    left: -6.41vw;
    top: initial;
    bottom: -5vw;
    background: url(../img/news_cloud03_sp.png) no-repeat center;
    background-size: contain;
  }
}
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_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_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 .lineup {
  position: relative;
  overflow: hidden;
  padding: min(9.766vw, 100px) 0 min(12.695vw, 130px);
  background: #F7F0D8;
}
@media only screen and (max-width: 768px) {
  main .lineup {
    padding: 17.179vw 0 22.308vw;
  }
}
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));
}
main .lineup_wrap_blc.anime .lineup_wrap_blc_list_item {
  width: calc(25% - min(0.977vw, 10px));
}
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;
  }
}
@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(34.961vw, 358px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_ttl {
    width: 65.128vw;
  }
}
main .lineup_wrap_blc.program .lineup_wrap_blc_list::after {
  content: "";
  display: block;
  width: calc(33.3333333333% - min(0.977vw, 10px));
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc.program .lineup_wrap_blc_list::after {
    width: calc(50% - min(0.977vw, 10px));
  }
}
main .lineup_wrap_blc.program .lineup_wrap_blc_list_item {
  width: calc(33.3333333333% - min(0.977vw, 10px));
}
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;
  }
}
@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 10.256vw;
    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;
  margin-bottom: min(2.441vw, 25px);
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list {
    margin-bottom: 5.128vw;
  }
}
main .lineup_wrap_blc_list_item_link {
  display: block;
}
main .lineup_wrap_blc_list_item_link:hover {
  opacity: 1;
  cursor: pointer;
}
main .lineup_wrap_blc_list_item_link:hover .lineup_wrap_blc_list_item_link__thum {
  background: #000;
}
main .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_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);
  padding-left: min(2.441vw, 25px);
  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;
    padding-left: 6.41vw;
  }
}
main .lineup_wrap_blc_list_item_link__title::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: min(1.953vw, 20px);
  height: min(1.953vw, 20px);
  background: url(../img/lineup_icon.svg) no-repeat center;
  background-size: contain;
  left: 0;
  top: 3px;
}
@media only screen and (max-width: 768px) {
  main .lineup_wrap_blc_list_item_link__title::before {
    top: 0.5vw;
    bottom: initial;
    width: 5.128vw;
    height: 5.128vw;
  }
}
@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(7.324vw, 75px) 0 min(6.836vw, 70px);
  background: #F7F0D8;
}
@media only screen and (max-width: 768px) {
  main .banner {
    padding: 23.077vw 0 23.077vw;
  }
}
main .banner .inner {
  position: relative;
}
main .banner_ttl {
  position: relative;
  width: min(48.828vw, 500px);
  margin: 0 auto min(1.953vw, 20px);
  font-size: min(2.539vw, 26px);
  font-weight: bold;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 768px) {
  main .banner_ttl {
    width: 100%;
    margin-bottom: 5.128vw;
    font-size: 6.154vw;
  }
}
main .banner_ttl::before {
  position: absolute;
  display: inline-block;
  content: "";
  left: min(-0.977vw, -10px);
  bottom: min(0.488vw, 5px);
  width: min(1.953vw, 20px);
  height: min(2.93vw, 30px);
  background: url(../img/banner_ttl01.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .banner_ttl::before {
    width: 7.692vw;
    height: 11.282vw;
    left: 2vw;
    bottom: 1vw;
  }
}
main .banner_ttl::after {
  position: absolute;
  display: inline-block;
  content: "";
  right: min(-0.977vw, -10px);
  bottom: min(0.488vw, 5px);
  width: min(1.953vw, 20px);
  height: min(2.93vw, 30px);
  background: url(../img/banner_ttl02.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  main .banner_ttl::after {
    width: 7.692vw;
    height: 11.282vw;
    right: 2vw;
    bottom: 1vw;
  }
}
main .banner_ttl .green {
  color: #008978;
  font-size: min(2.93vw, 30px);
}
@media only screen and (max-width: 768px) {
  main .banner_ttl .green {
    font-size: 6.667vw;
  }
}
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: block;
  max-width: 500px;
  margin: 0 auto;
}
main .banner_image::before {
  position: absolute;
  display: inline-block;
  content: "";
  left: -150px;
  bottom: min(0vw, 0px);
  width: min(6.543vw, 67px);
  height: min(20.703vw, 212px);
  background: url(../img/banner_illust02.png) no-repeat center;
  background-size: contain;
}
main .banner_image::after {
  position: absolute;
  display: inline-block;
  content: "";
  right: -150px;
  bottom: min(0vw, 0px);
  width: min(6.543vw, 67px);
  height: min(20.703vw, 212px);
  background: url(../img/banner_illust01.png) no-repeat center;
  background-size: contain;
}
main .banner_image a {
  display: block;
}
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%;
  color: #008978;
  padding: min(1.953vw, 20px) 0;
  font-size: min(1.953vw, 20px);
  font-weight: 700;
  border-bottom: solid 5px #E7E7E7;
}
main .contact_block_tab_item_ttl_text:hover {
  cursor: pointer;
}
@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(3.906vw, 40px) 0 min(5.859vw, 60px);
}
@media only screen and (max-width: 768px) {
  main .sponsor {
    padding: 7.692vw 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(34.766vw, 356px);
  left: -60px;
  bottom: 0px;
  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;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor .inner::before {
    width: 12.821vw;
    height: 49.487vw;
    left: 5vw;
    top: 9vw;
    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(34.766vw, 356px);
  right: -60px;
  bottom: 0px;
  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 {
    right: 10px;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor .inner::after {
    width: 12.821vw;
    height: 49.231vw;
    right: 5vw;
    top: 10vw;
    background: url(../img/sponsor_kira02_sp.png) no-repeat center;
    background-size: contain;
  }
}
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;
  padding-bottom: min(1.953vw, 20px);
  margin: 0 auto min(1.953vw, 20px);
  border-bottom: solid 2px #CCF0E8;
}
@media screen and (max-width: 1440px) {
  main .sponsor_main_name {
    width: 80%;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor_main_name {
    width: 100%;
    font-size: 6.154vw;
    margin-bottom: 7.692vw;
    padding-bottom: 7.692vw;
    border-bottom: solid 2px #CCF0E8;
  }
}
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);
  padding-bottom: min(1.953vw, 20px);
  margin: 0 auto min(1.953vw, 20px);
}
main .sponsor_special_name a {
  display: block;
}
@media only screen and (max-width: 768px) {
  main .sponsor_special_name {
    width: 29.231vw;
    padding-bottom: 7.692vw;
    margin-bottom: 0;
  }
}
main .sponsor_copy {
  padding-top: min(2.93vw, 30px);
  border-top: solid 2px #CCF0E8;
}
@media screen and (max-width: 1440px) {
  main .sponsor_copy {
    width: 80%;
    margin: 0 auto;
    padding: min(2.93vw, 30px) min(0vw, 0px) 0;
  }
}
@media only screen and (max-width: 768px) {
  main .sponsor_copy {
    width: 100%;
    padding: 7.692vw 0 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;
  width: min(9.766vw, 100px);
  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);
}
#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 {
    width: 24.872vw;
    height: 28.974vw;
    bottom: 3vw;
  }
}
#top_navi a {
  display: block;
}
#top_navi a:hover {
  opacity: 0.8;
}