@charset "UTF-8";
html {
  font-size: 6.4px;
}

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-pr6n, "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #000;
  background: #f7fbfd;
}

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

.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 0.5s ease-in;
}

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

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

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

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

.feature__inner {
  width: 75rem;
  margin: 0 auto;
  position: relative;
  background: #fff;
  overflow: clip;
  padding-top: 56.2857142857vw;
}

.main-visual.no-transition {
  transition: none !important;
}

.main-visual {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  height: 100vh;
  background: #f7fbfd;
  transition: filter 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.main-visual .main-visual-inner {
  position: relative;
}
.main-visual .main-visual-inner.is-cutoff {
  height: calc(100vh - 80px);
}
.main-visual .main-visual-inner.is-cutoff .main-txt-en {
  margin-bottom: 0;
}
.main-visual .main-visual-inner .main-txt {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 2.8vw;
  margin-left: 3.8vw;
  width: 33.9642857143vw;
}
.main-visual .main-visual-inner .main-txt-en {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 21.1428571429vw;
  margin-bottom: 2.2vw;
  margin-right: 3.2vw;
}
.main-visual.on {
  filter: blur(100px);
  transition: filter 0.8s ease-in-out, opacity 0.8s ease-in-out;
  opacity: 0;
  pointer-events: none;
}
.main-visual.js-in .main-visual-inner {
  opacity: 0;
  transition: opacity 0.5s ease-in;
}
.main-visual.js-in.is-show .main-visual-inner {
  opacity: 1;
}

@keyframes anim_loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.feature__inner:has(.sec02 .ph01.on) .fixed-ice img {
  opacity: 1;
  transition: opacity 0.5s ease-in;
  animation-play-state: running;
}

.feature__inner:has(.sec03 .credit-box.on) .fixed-ice img {
  opacity: 0;
  transition: opacity 0.5s ease-in;
  animation-play-state: running;
}

.fixed-ice {
  width: 265rem;
  height: 100dvh;
  display: flex;
  align-items: center;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
}
.fixed-ice img {
  animation: anim_loop 45s linear infinite;
  animation-play-state: paused;
  opacity: 0;
  transition: opacity 0.5s ease-in;
}

.section {
  position: relative;
}
.section .ph {
  position: relative;
}
.section .credit {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
  margin-left: 6rem;
  width: -moz-fit-content;
  width: fit-content;
}
.section .credit li a {
  font-family: fractul-variable, sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #5CB1D6;
  width: -moz-fit-content;
  width: fit-content;
}

.section.js-position {
  position: sticky;
}
.section.sec01 {
  margin-top: 10.8rem;
  margin-top: 14.5rem;
  padding-bottom: 20rem;
}
.section.sec01 .section-lead {
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #5CB1D6;
  text-align: center;
}
.section.sec01 .decolation-ice {
  width: 28rem;
  margin: 0 auto;
  margin-top: 4.6rem;
}
.section.sec01 .decolation-loop {
  width: 110.6rem;
  margin-top: 5.2rem;
  position: relative;
  display: flex;
  animation: anim_loop 15s linear infinite;
}
.section.sec01 .decolation-loop img {
  margin-right: 3rem;
}
.section.sec01 .txt-en {
  width: 62.95rem;
  margin: 0 auto;
  margin-top: 3.4rem;
}
.section.sec02 {
  background: #fff;
  padding-bottom: 13.8rem;
}
.section.sec02 .ph-box {
  background: #E7F3F9;
  padding-top: 17.2rem;
  padding-bottom: 17.3rem;
}
.section.sec02 .ph-box .ph01 {
  width: 52rem;
  margin: 0 auto;
}
.section.sec02 .ph03 {
  margin-top: 13.8rem;
}
.section.sec02 .ph05 {
  margin-top: 13.9rem;
}
.section.sec02 .ph06 .ph-catch {
  pointer-events: none;
}
.section.sec02 .ph06 .ph-catch1 {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 8.2rem;
  margin-left: 4%;
  width: 30.57rem;
}
.section.sec02 .ph06 .ph-catch2 {
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: 29.7rem;
  margin-right: 4.1rem;
  width: 31.43rem;
}
.section.sec03 {
  background: #fff;
}
.section.sec03 .ph09 {
  margin-top: 13.8rem;
}
.section.sec03 .ph10 {
  width: 52rem;
  margin: 0 auto;
  margin-top: 12rem;
}
.section.sec03 .credit-box .credit {
  margin-left: 11.5rem;
}
.section.sec03 .outro {
  padding-top: 15.8rem;
  padding-bottom: 13.8rem;
  margin-top: 10.8rem;
  position: relative;
}
.section.sec03 .outro:before {
  content: "";
  display: block;
  width: 90rem;
  height: 100%;
  background: #E7F3F9;
  border-radius: 45rem 45rem 0 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.section.sec03 .outro .allitems {
  width: 46.3rem;
  margin: 0 auto;
}
.section.sec03 .outro .staff-credit {
  font-family: fractul-variable, sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #5CB1D6;
  text-align: center;
  margin-top: 9.6rem;
}

.ph-slider {
  margin-bottom: 0 !important;
}
.ph-slider .slick-dots {
  text-align: left;
  bottom: -2.7rem;
  left: 1.5rem;
  z-index: 20;
}
.ph-slider .slick-dots li {
  width: 4rem;
  height: 0.2rem;
  margin: 0 0.4rem;
  padding: 0;
  background: #CECECE;
}
.ph-slider .slick-dots li button {
  display: none;
}
.ph-slider .slick-dots .slick-active {
  background: #000;
}/*# sourceMappingURL=style.css.map */