@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
.box_sample {
  margin: 10px;
  padding: 10px;
}

.mincho {
  font-family: "游明朝", YuMincho, "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}

.ftEN {
  font-family: "Crimson Text", serif;
}

.invisible {
  opacity: 0;
}

.animated {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.anime {
  opacity: 0;
}
.anime-delay-1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.anime-delay-2 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.anime-delay-3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-4 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-6 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-delay-7 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.anime-delay-8 {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
.anime-delay-9 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.anime-delay-10 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.anime-delay-11 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.anime-delay-12 {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
.anime-delay-13 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.anime-delay-14 {
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
}
.anime-delay-fast1 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-fast2 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.anime-delay-fast3 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-fast4 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.anime-delay-fast5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-fast6 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.anime-delay-fast7 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-slow {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 2.5s;
          animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInDown {
  -webkit-animation: 0.8s 0.6s fadeInDown both;
          animation: 0.8s 0.6s fadeInDown both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media only screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}
@media only screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}
main {
  word-break: break-word;
  padding-bottom: 14.2857142857vw;
  background-color: #fff;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
main.is-active {
  background-color: #000;
}
main.is-active .lang-jp,
main.is-active .credit {
  opacity: 1;
}
main img {
  width: 100%;
}
main .lang-jp,
main .credit {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.lang-btn {
  position: fixed;
  right: 3.4285714286vw;
  top: 3.4285714286vw;
  width: 5.5714285714vw;
  z-index: 2;
  cursor: pointer;
}

.mv {
  position: relative;
  width: 100%;
  margin: 0 auto 0;
}
.mv_img {
  position: relative;
}
.mv_img video {
  width: 100%;
}

.img01 {
  position: relative;
  padding: 14.2857142857vw 0 5vw;
  max-width: 49.2857142857vw;
  margin-left: 25.3571428571vw;
}
.img01 img {
  display: block;
  width: 100%;
}

.img02 {
  margin: 0vw auto 0;
}
.img02 img {
  display: block;
  margin: 0 auto;
}

.img03 {
  margin: 0vw 0 0;
  position: relative;
}
.img03 img {
  display: block;
  margin-inline: auto;
}

.img04 {
  margin: 12.8571428571vw auto 0;
}
.img04 img {
  width: 100%;
  height: auto;
}

.img05 {
  margin: 12.8571428571vw auto 0;
}
.img05 img {
  width: 100%;
  height: auto;
}

.img06 {
  margin: 5vw auto 0;
  position: relative;
}
.img06 img {
  display: block;
  max-width: 51.4285714286vw;
  margin-inline: auto;
}

/* SP */
@media screen and (max-width: 750px) {
  main {
    padding-bottom: 26.6666666667vw;
    padding-top: 0;
  }
  .lang-btn {
    right: 10.6666666667vw;
    top: 10.6666666667vw;
    width: 26.6666666667vw;
  }
  .img01 {
    position: relative;
    padding-top: 0vw;
    max-width: unset;
    margin-left: 0;
    margin-top: -10.6666666667vw;
    width: 89.8666666667vw;
  }
  .img01 img {
    display: block;
    width: 100%;
  }
  .img02 {
    margin: 0vw auto 0;
  }
  .img02 img {
    display: block;
    max-width: unset;
    margin: 0 auto;
  }
  .img03 {
    margin: 13.3333333333vw 0 0;
    position: relative;
  }
  .img03 img {
    max-width: unset;
  }
  .img04 {
    margin: 6.6666666667vw auto 0;
  }
  .img04 img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .img05 {
    margin: 13.3333333333vw auto 0;
  }
  .img05 img {
    width: 100%;
  }
  .img06 {
    margin: 26.6666666667vw auto 0;
    position: relative;
  }
  .img06 img {
    display: block;
    max-width: 93.2vw;
    margin-left: 2.6666666667vw;
  }
  .img07 {
    margin: 61.3333333333vw auto 0;
  }
  .img07 img {
    width: 193.3333333333vw;
    height: auto;
  }
  .img07_01 {
    margin: 68vw auto 0;
  }
  .img07_01 img {
    width: 106.1333333333vw;
  }
  .img08 {
    margin-top: 62.6666666667vw;
  }
  .img08 .-txtarea {
    color: #fff;
    width: 173.3333333333vw;
    margin: 0vw auto;
    position: relative;
  }
  .img08 .-txtarea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    z-index: 0;
  }
  .img08 .-txtarea::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  .img08 .-txtarea__inr {
    position: relative;
    padding: 12vw 9.3333333333vw;
  }
  .img08 .-txtarea__inr::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    z-index: 0;
  }
  .img08 .-txtarea__inr::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
  .img08 .-txtarea__ttl {
    margin-bottom: 8vw;
  }
  .img08 .-txtarea__ttl span {
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    font-size: 7.3333333333vw;
  }
  .img08 .-txtarea__txt {
    font-size: 6vw;
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    -webkit-column-width: 100%;
       -moz-column-width: 100%;
            column-width: 100%;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
  .img08 .-txtarea.fadeIn::before {
    -webkit-animation: grow-line 2s forwards;
            animation: grow-line 2s forwards;
  }
  .img08 .-txtarea.fadeIn::after {
    -webkit-animation: grow-line-rev 2s forwards;
            animation: grow-line-rev 2s forwards;
  }
  @-webkit-keyframes grow-line {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  @keyframes grow-line {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  @-webkit-keyframes grow-line-rev {
    from {
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    to {
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @keyframes grow-line-rev {
    from {
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    to {
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  .img08 .-txtarea.fadeIn .-txtarea__inr::before {
    -webkit-animation: grow-h 2s forwards;
            animation: grow-h 2s forwards;
  }
  .img08 .-txtarea.fadeIn .-txtarea__inr::after {
    -webkit-animation: grow-h-rev 2s forwards;
            animation: grow-h-rev 2s forwards;
  }
  @-webkit-keyframes grow-h {
    0% {
      height: 0;
    }
    100% {
      height: 100%;
    }
  }
  @keyframes grow-h {
    0% {
      height: 0;
    }
    100% {
      height: 100%;
    }
  }
  @-webkit-keyframes grow-h-rev {
    from {
      -webkit-transform: scaleY(0);
              transform: scaleY(0);
    }
    to {
      -webkit-transform: scaleY(1);
              transform: scaleY(1);
    }
  }
  @keyframes grow-h-rev {
    from {
      -webkit-transform: scaleY(0);
              transform: scaleY(0);
    }
    to {
      -webkit-transform: scaleY(1);
              transform: scaleY(1);
    }
  }
  .btmtxt {
    padding-top: 26.6666666667vw;
    margin-left: 21.3333333333vw;
    color: #fff;
  }
  .btmtxt__blk:nth-child(2) {
    margin-top: 21.3333333333vw;
  }
  .btmtxt__blk--ttl {
    font-size: 4.6666666667vw;
    font-weight: bold;
    margin-bottom: 3.3333333333vw;
    font-family: "Open Sans", sans-serif;
  }
  .btmtxt__blk--txt {
    font-size: 4.6666666667vw;
  }
  .btmtxt__blk--txt.--small {
    width: 126.2666666667vw;
    text-align: justify;
  }
  .btmtxt__blk--txt a {
    color: #fff;
    text-decoration: underline;
  }
  .btmtxt__blk--txt img {
    width: 4.9333333333vw;
    margin: 0 0 2.6666666667vw 0;
  }
}
/* SP ここまで */
/*# sourceMappingURL=style.css.map */