@charset "UTF-8";
html {
  font-size: 0.4857142857vw;
  scroll-behavior: smooth;
}

@media screen and (min-width: 1400px) {
  html {
    font-size: 6.8px;
  }
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, a {
  font-size: 100%;
  line-height: 1;
  transform: rotate(0.03deg);
  -moz-transform: rotate(0.03deg);
  -ms-transform: rotate(0.03deg);
  -o-transform: rotate(0.03deg);
  -webkit-transform: rotate(0.03deg);
}

.feature {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  overflow: clip;
  position: relative;
  font-feature-settings: "palt" 1;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #dce6f0;
}

.feature a {
  transition: 0.3s;
  display: block;
  text-decoration: none;
}
.feature a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.feature a img {
  transition: 0.3s;
  will-change: opacity;
}
.feature a img:hover {
  opacity: 0.7;
}

.feature img, svg, video {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

.l-container {
  width: 100%;
  overflow: clip;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}

* {
  box-sizing: border-box;
}

.js-fade {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.5s ease;
}

.js-fade.is-show {
  visibility: visible;
  opacity: 1;
  transform: none;
  pointer-events: inherit;
}

.js-fadeUp {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5rem);
  transition: opacity 1000ms, transform 1000ms ease-out;
}

.js-fadeUp.is-show {
  visibility: visible;
  opacity: 1;
  transform: none;
  pointer-events: inherit;
}

.js-zoomturn {
  pointer-events: none;
  overflow: clip;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.js-zoomturn img {
  transform: scale(1.2);
  transition: transform 1200ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-zoomturn.is-show {
  clip-path: inset(0);
  pointer-events: inherit;
}
.js-zoomturn.is-show img {
  transform: scale(1);
}

.js-zoom {
  pointer-events: none;
  overflow: clip;
  opacity: 0;
  transition: opacity 850ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.js-zoom img {
  transform: scale(1.2);
  transition: transform 1350ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 250ms;
}

.js-zoom.is-show {
  opacity: 1;
  pointer-events: inherit;
}
.js-zoom.is-show img {
  transform: scale(1);
}

section {
  scroll-margin-top: 100px;
}

.header {
  height: 80px;
  background: #000;
}

.footer {
  height: 300px;
  background: #000;
}

@keyframes anime_X01 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes anime_X02 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes scroll {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: translateY(2rem);
  }
  100% {
    opacity: 0;
  }
}
@keyframes anime_fuwa {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20%);
  }
  100% {
    transform: translateY(0);
  }
}
.feature {
  display: flex;
}

.pc-left {
  position: sticky;
  top: 80px;
  width: auto;
  height: calc(100vh - 80px);
  display: flex;
  order: 1;
  flex: 1;
  justify-content: center;
  align-items: center;
}
.pc-left .pc-ttl {
  width: 17.8571428571vw;
  max-width: 250px;
}

.pc-right {
  position: sticky;
  top: 80px;
  width: auto;
  height: calc(100vh - 80px);
  display: flex;
  order: 3;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.4285714286vw;
}
@media screen and (min-width: 1400px) {
  .pc-right {
    gap: 20px;
  }
}
.pc-right .pc-right-wrap {
  width: 19.6428571429vw;
  max-width: 275px;
  height: 32.2142857143vw;
  max-height: 451px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.1428571429vw;
  border: 2px solid #1f4386;
  background: #fff;
  position: relative;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap {
    gap: 30px;
  }
}
.pc-right .pc-right-wrap .pc-right-block {
  width: 0.7142857143vw;
  height: 0.7142857143vw;
  background: #1f4386;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-right-block {
    width: 10px;
    height: 10px;
  }
}
.pc-right .pc-right-wrap .pc-right-block:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
}
.pc-right .pc-right-wrap .pc-right-block:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 0;
}
.pc-right .pc-right-wrap .pc-right-block:nth-of-type(3) {
  position: absolute;
  bottom: 0;
  right: 0;
}
.pc-right .pc-right-wrap .pc-right-block:nth-of-type(4) {
  position: absolute;
  bottom: 0;
  left: 0;
}
.pc-right .pc-right-wrap .pc-anchor {
  width: 15.3571428571vw;
  max-width: 215px;
}
.pc-right .pc-right-wrap .pc-anchor .pc-anchor-link {
  border-bottom: 1px solid #1f4386;
}
.pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor01 {
  padding-bottom: 1.0714285714vw;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor01 {
    padding-bottom: 15px;
  }
}
.pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor02 {
  padding-top: 1.0714285714vw;
  padding-bottom: 1.0714285714vw;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor02 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor03 {
  padding-top: 1.0714285714vw;
  padding-bottom: 1.0714285714vw;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-anchor .pc-anchor-link.pc-anchor03 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.pc-right .pc-right-wrap .pc-all {
  width: 14.2857142857vw;
  max-width: 200px;
}
.pc-right .pc-right-wrap .pc-loop-txt {
  position: relative;
  background: #1f4386;
  width: 100%;
  height: 2.1428571429vw;
  max-height: 30px;
  overflow: clip;
}
.pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap {
  width: 35.7142857143vw;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.8571428571vw;
  padding-bottom: 0.2857142857vw;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap {
    width: 500px;
    padding-bottom: 4px;
    gap: 12px;
  }
}
.pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap span {
  font-family: "pf-videotext", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.1428571429vw;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #fff;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap span {
    font-size: 16px;
  }
}
.pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap:nth-of-type(1) {
  animation: anime_X01 15s linear infinite;
}
.pc-right .pc-right-wrap .pc-loop-txt .pc-loop-txt-wrap:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(100%);
  animation: anime_X02 15s linear infinite;
}
.pc-right .pc-right-wrap .pc-brandlink {
  display: flex;
  justify-content: center;
  gap: 1.0714285714vw;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-wrap .pc-brandlink {
    gap: 15px;
  }
}
.pc-right .pc-right-wrap .pc-brandlink .pc-brandlink-img {
  width: 1.1428571429vw;
  max-width: 16px;
}
.pc-right .pc-right-wrap .pc-brandlink .pc-brandlink-brand {
  width: 4.6428571429vw;
  max-width: 65px;
}
.pc-right .pc-right-en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 0.7142857143vw;
  line-height: 1.399;
  letter-spacing: 0.05em;
  color: #1f4386;
}
@media screen and (min-width: 1400px) {
  .pc-right .pc-right-en {
    font-size: 10px;
  }
}

.feature__inner {
  width: 75rem;
  margin: 0 auto;
  position: relative;
  padding-top: 10rem;
  padding-bottom: 16rem;
  order: 2;
  overflow: clip;
  background: #fff;
  flex-shrink: 0;
}
.feature__inner .main-bg {
  position: absolute;
  top: 0;
  left: 0;
}

.main-visual {
  position: relative;
}
.main-visual__inner {
  width: 69rem;
  margin: 0 auto;
  border: 2px solid #1f4386;
  background: #fff;
  padding-bottom: 6rem;
  position: relative;
}
.main-visual__inner .main-season {
  width: 23.16rem;
  margin: 0 auto;
  margin-top: 6.2rem;
}
.main-visual__inner .main-ttl {
  width: 44.8332rem;
  margin: 0 auto;
  margin-top: 8.2rem;
}
.main-visual__inner .main-visual-block {
  width: 2rem;
  height: 2rem;
  background: #1f4386;
}
.main-visual__inner .main-visual-block:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
}
.main-visual__inner .main-visual-block:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 0;
}
.main-visual__inner .main-visual-block:nth-of-type(3) {
  position: absolute;
  bottom: 0;
  right: 0;
}
.main-visual__inner .main-visual-block:nth-of-type(4) {
  position: absolute;
  bottom: 0;
  left: 0;
}

.movie-area {
  width: 63rem;
  position: relative;
  margin: 0 auto;
  margin-top: 8rem;
}
.movie-area .sound-btn {
  background: url(../img/sound_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 2.4rem;
  right: 3rem;
  height: 2.4rem;
  width: 13.7rem;
  z-index: 10;
  cursor: pointer;
}
.movie-area .sound-btn.on {
  background: url(../img/sound_on.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 2.5rem;
  right: 4.8rem;
  height: 2.3rem;
  width: 11.9rem;
}

.main-lead {
  position: relative;
  margin-top: 6.5rem;
  text-align: center;
}
.main-lead .main-lead-txt {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 2;
  color: #1f4386;
  letter-spacing: 0.05em;
}
.main-lead .main-lead-txt.main-lead-txt02 {
  display: none;
  margin-top: 3.3rem;
}
.main-lead .main-lead-txt span {
  display: block;
}
.main-lead .main-lead-txt span:nth-of-type(2) {
  margin-top: 3.2rem;
}
.main-lead .main-lead-txt span:nth-of-type(3) {
  margin-top: 3.2rem;
}
.main-lead .main-lead-txt span:nth-of-type(4) {
  margin-top: 3.2rem;
}
.main-lead .main-lead-btn {
  width: 20rem;
  margin: 0 auto;
  margin-top: 4.6rem;
  cursor: pointer;
}
.main-lead .main-lead-btn.active {
  margin-top: 5rem;
}
.main-lead .main-lead-btn.active img:nth-of-type(1) {
  display: block;
}
.main-lead .main-lead-btn.active img:nth-of-type(2) {
  display: none;
}
.main-lead .main-lead-btn img:nth-of-type(1) {
  display: none;
}
.main-lead .main-lead-btn img:nth-of-type(2) {
  display: block;
}

.loop-txt {
  position: relative;
  background: #1f4386;
  width: 100%;
  height: 8rem;
  overflow: clip;
  margin-top: 9.7rem;
}
.loop-txt .loop-txt-wrap {
  width: 140rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-bottom: 1rem;
}
.loop-txt .loop-txt-wrap span {
  font-family: "pf-videotext", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4.2rem;
  line-height: 1.1428571429;
  letter-spacing: 0.025em;
  color: #fff;
}
.loop-txt .loop-txt-wrap:nth-of-type(1) {
  animation: anime_X01 15s linear infinite;
}
.loop-txt .loop-txt-wrap:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(100%);
  animation: anime_X02 15s linear infinite;
}

.main-anchor {
  width: 56.2rem;
  margin: 0 auto;
  margin-top: 10rem;
  display: flex;
  justify-content: space-between;
}
.main-anchor .anchor {
  width: 15rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 2rem;
}
.main-anchor .anchor .anchor-img {
  width: 100%;
}
.main-anchor .anchor .anchor-arrow {
  width: 3.3rem;
  margin-top: 0.5rem;
  animation: scroll 2s infinite;
}

.main-decolation {
  width: 12rem;
  margin: 0 auto;
  margin-top: 8rem;
}

.section {
  position: relative;
}
.section .c__img {
  position: relative;
}
.section .c__img:hover .ph-wrap {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.section .c__img .ph-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.section .c__img .ph-wrap .ph-link {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.section .credit-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(0deg, black, transparent);
}
.section .credit-wrap .credit-close {
  width: 8.74297rem;
  position: absolute;
  right: 4.2rem;
  bottom: 4.4rem;
  z-index: 1;
  cursor: pointer;
}
.section .credit {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
.section .credit li {
  font-family: alternate-gothic-atf, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: #fff;
}
.section .credit li a {
  font-family: alternate-gothic-atf, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: #fff;
}
.section .credit li a .price {
  margin-left: 1.4rem;
}
.section .credit li a span {
  font-family: alternate-gothic-atf, sans-serif;
  font-weight: 600;
  font-style: normal;
}

.section.sec01 {
  padding-top: 25rem;
}
.section.sec01 .section-ttl {
  width: 69rem;
  pointer-events: none;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.section.sec01 .c__img01 {
  margin-top: -7.3rem;
}
.section.sec01 .c__img01 .credit-wrap {
  height: 23.2rem;
}
.section.sec01 .c__img01 .credit-wrap .credit {
  margin-top: 7.5rem;
  margin-left: 4rem;
}
.section.sec01 .c__img02 {
  width: 60rem;
  margin-left: auto;
  margin-top: 12rem;
}
.section.sec01 .c__img02 .section-decolation01 {
  width: 25.5rem;
  position: absolute;
  top: 4rem;
  left: -16rem;
}
.section.sec01 .c__img02 .credit-wrap {
  height: 23.2rem;
}
.section.sec01 .c__img02 .credit-wrap .credit {
  margin-top: 7.5rem;
  margin-left: 4rem;
}
.section.sec01 .section-wrap {
  position: relative;
  background: #fff;
  padding-top: 10rem;
  padding-bottom: 52rem;
}
.section.sec01 .section-wrap .section-decolation02 {
  width: 65.8rem;
  margin: 0 auto;
}
.section.sec01 .section-wrap .section-decolation-txt {
  font-family: "alternate-gothic-atf", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #1f4386;
  position: absolute;
  top: 58.3rem;
  right: 3rem;
  writing-mode: tb;
}
.section.sec01 .section-wrap .c__img03 {
  width: 70rem;
  margin-left: -8rem;
  margin-top: -6.3rem;
}
.section.sec01 .section-wrap .c__img03 .ph {
  overflow: initial !important;
}
.section.sec01 .section-wrap .c__img03 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec01 .section-wrap .c__img03 .ph-wrap .credit-wrap .credit-bg {
  width: 70rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec01 .section-wrap .c__img03 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec01 .section-wrap .c__img03 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec01 .section-wrap .c__img04 {
  width: 66rem;
  position: absolute;
  top: 106rem;
  right: -5rem;
}
.section.sec01 .section-wrap .c__img04 .ph {
  overflow: initial !important;
}
.section.sec01 .section-wrap .c__img04 .credit {
  position: absolute;
  bottom: 7rem;
  right: 9.5rem;
  transform: rotate(-25deg);
}
.section.sec01 .section-wrap .c__img04 .credit li {
  color: #1f4386 !important;
}
.section.sec01 .section-wrap .c__img04 .credit li a {
  color: #1f4386 !important;
}
.section.sec01 .section-wrap .c__img04 .credit li a span {
  display: inline-block;
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(1) {
  transform: rotate(12deg) translateY(-4px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(2) {
  transform: rotate(10deg) translateY(-2px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(3) {
  transform: rotate(8deg) translateY(-1px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(4) {
  transform: rotate(-5deg) translateY(1px);
  margin-left: 1.4rem;
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(5) {
  transform: rotate(-6deg) translateY(1px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(6) {
  transform: rotate(-8deg) translateY(-1px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(7) {
  transform: rotate(-8deg) translateY(-1px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(8) {
  transform: rotate(-8deg) translateY(-2px);
}
.section.sec01 .section-wrap .c__img04 .credit li a span:nth-of-type(9) {
  transform: rotate(-8deg) translateY(-3px);
}
.section.sec01 .section-wrap .c__img04 .credit li a .price {
  transform: rotate(-10deg);
}
.section.sec01 .c__img05 {
  width: 60rem;
  margin: 0 auto;
  margin-top: 32rem;
}
.section.sec01 .c__img05 .section-decolation03 {
  width: 7.9rem;
  position: absolute;
  top: -3rem;
  right: 2.6rem;
  animation: anime_fuwa 3s ease-in-out 0s infinite;
  z-index: 1;
  pointer-events: none;
}
.section.sec01 .c__img05 .credit-wrap {
  height: 23.2rem;
}
.section.sec01 .c__img05 .credit-wrap .credit-close {
  bottom: 2.4rem;
}
.section.sec01 .c__img05 .credit-wrap .credit {
  margin-top: 9rem;
  margin-left: 4rem;
}
.section.sec01 .c__img06 {
  width: 60rem;
  margin: 0 auto;
}
.section.sec01 .c__img06 .section-decolation04 {
  width: 13rem;
  position: absolute;
  top: 2rem;
  left: -8.5rem;
  animation: anime_fuwa 3s ease-in-out 1.5s infinite;
  z-index: 1;
  pointer-events: none;
}
.section.sec01 .c__img06 .credit-wrap {
  height: 23.2rem;
}
.section.sec01 .c__img06 .credit-wrap .credit-close {
  bottom: 2.4rem;
}
.section.sec01 .c__img06 .credit-wrap .credit {
  margin-top: 9rem;
  margin-left: 4rem;
}
.section.sec02 {
  padding-top: 22rem;
}
.section.sec02 .section-ttl {
  width: 69rem;
  pointer-events: none;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.section.sec02 .c__img07 {
  margin-top: -3.9rem;
}
.section.sec02 .c__img07 .credit-wrap {
  height: 23.2rem;
}
.section.sec02 .c__img07 .credit-wrap .credit {
  margin-top: 7.5rem;
  margin-left: 4rem;
}
.section.sec02 .section-wrap {
  position: relative;
  background: #fcf0f2;
  padding-top: 12rem;
  padding-bottom: 3rem;
}
.section.sec02 .c__img08 {
  width: 70rem;
  margin-left: -5rem;
}
.section.sec02 .c__img08 .ph {
  border-radius: 50%;
  border: solid 1px #9d0f29;
}
.section.sec02 .c__img08 .section-decolation01 {
  width: 43.9rem;
  position: absolute;
  top: 58rem;
  right: -19rem;
}
.section.sec02 .c__img08 .section-decolation-txt {
  font-family: "alternate-gothic-atf", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #9d0f29;
  position: absolute;
  top: 29.3rem;
  right: -7rem;
  writing-mode: tb;
}
.section.sec02 .c__img08 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec02 .c__img08 .ph-wrap .credit-wrap .credit-bg {
  width: 70rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec02 .c__img08 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec02 .c__img08 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec02 .c__img09 {
  width: 65rem;
  margin: 0 auto;
  margin-top: 12rem;
}
.section.sec02 .c__img09 .credit-wrap {
  height: 23.2rem;
}
.section.sec02 .c__img09 .credit-wrap .credit {
  margin-top: 7rem;
  margin-left: 4rem;
}
.section.sec02 .c__img10 {
  width: 93rem;
  margin-top: 29.5rem;
  margin-left: -9rem;
}
.section.sec02 .c__img10 .ph {
  border-radius: 50%;
}
.section.sec02 .c__img10 .section-decolation02 {
  width: 48.96rem;
  position: absolute;
  top: -9.5rem;
  left: 7.5rem;
}
.section.sec02 .c__img10 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec02 .c__img10 .ph-wrap .credit-wrap .credit-bg {
  width: 93rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec02 .c__img10 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec02 .c__img10 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec02 .c__img11 {
  width: 80rem;
  margin-top: 10rem;
  margin-left: -15rem;
}
.section.sec02 .c__img11 .ph {
  border-radius: 50%;
}
.section.sec02 .c__img11 .section-decolation02 {
  width: 48.96rem;
  position: absolute;
  top: -9.5rem;
  left: 7.5rem;
}
.section.sec02 .c__img11 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec02 .c__img11 .ph-wrap .credit-wrap .credit-bg {
  width: 80rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec02 .c__img11 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec02 .c__img11 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec02 .c__img12 {
  margin-top: 15rem;
}
.section.sec02 .c__img12 .section-decolation03 {
  width: 62.8494rem;
  margin: 0 auto;
}
.section.sec02 .c__img12 .ph {
  width: 54rem;
  margin: 0 auto;
  margin-top: -4.7rem;
}
.section.sec02 .c__img12 .credit {
  width: 48rem;
  margin: 0 auto;
  margin-top: 3.5rem;
  border-bottom: 1px solid #9d0f29;
  padding: 0 1rem;
}
.section.sec02 .c__img12 .credit li {
  color: #9d0f29;
}
.section.sec02 .c__img12 .credit li a {
  color: #9d0f29;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section.sec03 {
  padding-top: 22rem;
  background: #fcf0f2;
}
.section.sec03 .section-ttl {
  width: 69rem;
  pointer-events: none;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.section.sec03 .c__img13 {
  margin-top: -7.9rem;
}
.section.sec03 .c__img13 .credit-wrap {
  height: 27.4rem;
}
.section.sec03 .c__img13 .credit-wrap .credit {
  margin-top: 7.5rem;
  margin-left: 4rem;
}
.section.sec03 .section-wrap {
  position: relative;
  background: #fbf5be;
  padding-top: 12rem;
  padding-bottom: 25rem;
}
.section.sec03 .c__img14 {
  width: 61.8rem;
  margin-left: auto;
}
.section.sec03 .c__img14 .ph-pass {
  position: relative;
}
.section.sec03 .c__img14 .ph-pass .ph-clip {
  position: absolute;
  top: 0;
  left: 0;
  width: 70rem;
  height: 70rem;
  clip-path: url(#fourCircles);
}
.section.sec03 .c__img14 .ph-pass .ph {
  position: absolute;
  top: 0;
  left: 0;
  width: 62rem;
}
.section.sec03 .c__img14 .ph-pass .ph-pass-img {
  width: 70rem;
}
.section.sec03 .c__img14 .section-decolation-txt {
  font-family: "alternate-gothic-atf", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #1f4386;
  position: absolute;
  top: 30.3rem;
  left: -10rem;
  writing-mode: tb;
}
.section.sec03 .c__img14 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec03 .c__img14 .ph-wrap .credit-wrap .credit-bg {
  width: 70rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec03 .c__img14 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
  margin-left: 30rem;
}
.section.sec03 .c__img14 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
  margin-left: 25rem;
}
.section.sec03 .c__img15 {
  width: 63rem;
  margin: 0 auto;
  margin-top: 12rem;
}
.section.sec03 .c__img15 .credit-wrap {
  height: 27.4rem;
}
.section.sec03 .c__img15 .credit-wrap .credit {
  margin-top: 7rem;
  margin-left: 4rem;
}
.section.sec03 .section-decolation01 {
  width: 60.1rem;
  margin: 0 auto;
  margin-top: 20rem;
}
.section.sec03 .ph-loop {
  position: relative;
  margin-top: -3.3rem;
}
.section.sec03 .ph-loop .ph-loop-wrap01 {
  animation: anime_X01 15s linear infinite;
}
.section.sec03 .ph-loop .ph-loop-wrap02 {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(100%);
  animation: anime_X02 15s linear infinite;
}
.section.sec03 .ph-loop-wrap {
  position: relative;
  width: 124rem;
  display: flex;
  -moz-column-gap: 6rem;
       column-gap: 6rem;
}
.section.sec03 .ph-loop-wrap .c__img16 {
  width: 56rem;
}
.section.sec03 .ph-loop-wrap .c__img16 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec03 .ph-loop-wrap .c__img16 .ph-wrap .credit-wrap .credit-bg {
  width: 56rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec03 .ph-loop-wrap .c__img16 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec03 .ph-loop-wrap .c__img16 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec03 .ph-loop-wrap .c__img16-1 {
  width: 56rem;
}
.section.sec03 .ph-loop-wrap .c__img16-1 .ph-wrap .credit-wrap {
  background: none;
}
.section.sec03 .ph-loop-wrap .c__img16-1 .ph-wrap .credit-wrap .credit-bg {
  width: 56rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.section.sec03 .ph-loop-wrap .c__img16-1 .ph-wrap .credit-wrap .credit-close {
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 8.6rem;
}
.section.sec03 .ph-loop-wrap .c__img16-1 .ph-wrap .credit-wrap .credit {
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 14rem;
  align-items: center;
}
.section.sec03 .c__img17 {
  margin-top: 12rem;
}
.section.sec03 .c__img17 .credit-wrap {
  height: 23.2rem;
}
.section.sec03 .c__img17 .credit-wrap .credit {
  margin-top: 7rem;
  margin-left: 4rem;
}
.section.sec03 .c__img18 {
  margin-top: 15rem;
}
.section.sec03 .c__img18 .section-decolation03 {
  width: 30rem;
  position: absolute;
  top: -13.3rem;
  right: 5rem;
  pointer-events: none;
}
.section.sec03 .c__img18 .ph {
  width: 51rem;
  margin: 0 auto;
}
.section.sec03 .c__img18 .credit {
  width: 51rem;
  margin: 0 auto;
  margin-top: 3.5rem;
  border-bottom: 1px solid #1f4386;
  padding: 0 1rem;
}
.section.sec03 .c__img18 .credit:nth-of-type(2) {
  margin-top: 1.5rem;
}
.section.sec03 .c__img18 .credit li {
  color: #1f4386;
}
.section.sec03 .c__img18 .credit li a {
  color: #1f4386;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section.outro {
  padding-top: 12rem;
}
.section.outro .outro-bg {
  position: absolute;
  top: 0;
  left: 0;
}
.section.outro .section-ttl {
  width: 49.4342rem;
  margin: 0 auto;
}
.section.outro .c__img19 {
  width: 57rem;
  margin: 0 auto;
  margin-top: 5.4rem;
}
.section.outro .c__img19 .section-decolation01 {
  width: 6.8rem;
  position: absolute;
  top: 7.5rem;
  right: -3.6rem;
  animation: anime_fuwa 3s ease-in-out 0s infinite;
  z-index: 1;
  pointer-events: none;
}
.section.outro .c__img20 {
  width: 57rem;
  margin: 0 auto;
  margin-top: 2rem;
}
.section.outro .c__img20 .section-decolation02 {
  width: 12rem;
  position: absolute;
  top: 22.5rem;
  left: -8rem;
  animation: anime_fuwa 3s ease-in-out 1.5s infinite;
  z-index: 1;
  pointer-events: none;
}
.section.outro .c__img20 .credit {
  width: 51rem;
  margin: 0 auto;
  margin-top: 3.5rem;
  border-bottom: 1px solid #1f4386;
  padding: 0 1rem;
}
.section.outro .c__img20 .credit:nth-of-type(2) {
  margin-top: 1.5rem;
}
.section.outro .c__img20 .credit li {
  color: #1f4386;
}
.section.outro .c__img20 .credit li a {
  color: #1f4386;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section.outro .outro-all {
  width: 55rem;
  margin: 0 auto;
  margin-top: 20rem;
}
.section.outro .outro-txt {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #1f4386;
  text-align: center;
  margin-top: 7.6rem;
}
.section.outro .loop-txt {
  position: relative;
  background: #1f4386;
  width: 100%;
  height: 8rem;
  overflow: clip;
  margin-top: 9.7rem;
}
.section.outro .loop-txt .loop-txt-wrap {
  width: 131rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-bottom: 1rem;
}
.section.outro .loop-txt .loop-txt-wrap span {
  font-family: "pf-videotext", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4.2rem;
  line-height: 1.1428571429;
  letter-spacing: 0.025em;
  color: #fff;
}
.section.outro .loop-txt .loop-txt-wrap:nth-of-type(1) {
  animation: anime_X01 15s linear infinite;
}
.section.outro .loop-txt .loop-txt-wrap:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(100%);
  animation: anime_X02 15s linear infinite;
}
.section.banner {
  margin-top: 6rem;
}
.section.banner .section-decolation01 {
  width: 6.9rem;
  margin: 0 auto;
}
.section.banner .banner-img {
  width: 65rem;
  margin: 0 auto;
  margin-top: 6rem;
}/*# sourceMappingURL=style.css.map */