html {
  scroll-behavior: smooth;
}

@media screen and (min-width: 1401px) {
  html {
    font-size: 62.5%;
  }
}
@media screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857vw;
  }
}
body {
  width: 100%;
}

.l-container {
  width: 100%;
}

.feature {
  position: relative;
  width: 100%;
  text-align: center;
  font-family: 'hiragino-kaku-gothic-pron', sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #000000;

  font-feature-settings: 'palt';
}
.feature * {
  box-sizing: border-box;

  margin-block-start: 0;
  margin-block-end: 0;
}
.feature img,
.feature video {
  width: 100%;
  height: auto;
  vertical-align: top;
  pointer-events: none;

  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
}
.feature svg {
  display: block;
  width: 100%;
  height: auto;
}
.feature a {
  display: block;
  cursor: pointer;
  text-decoration: none;
  color: #000000;
  transition: opacity 0.3s;
}
.feature a:hover {
  opacity: 0.7;
}
.feature figure {
  display: block;
}
.feature .flex-column,
.feature .fixed__text.text01,
.feature .hero__text-box p.text01,
.feature .hero__text-box h1.title01,
.feature .hero__text-box {
  display: flex;
  flex-direction: column;
}
.feature .fade-in,
.feature .sec__img {
  opacity: 0;

  filter: alpha(opacity=0);
}
.feature .fade-in.showed,
.feature .showed.sec__img {
  opacity: 1;
  transition: opacity 580ms cubic-bezier(0.455, 0.03, 0.515, 0.955),
    transform 580ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translate3d(0, 0, 0);

  filter: none;
}
.feature .fade-up,
.feature .sec__text-area {
  opacity: 0;
  transition: 0.5s ease;
  transform: translateY(15px);
}
.feature .fade-up.showed,
.feature .showed.sec__text-area {
  opacity: 1;
  transform: translateY(0);
}
.feature .hero {
  position: relative;
  margin-bottom: 18rem;
}
.feature .hero__mv {
  width: 100%;
  opacity: 0;
  transition: opacity 880ms 440ms cubic-bezier(0.25, 0.46, 0.45, 0.94);

  filter: none;
}
.feature .hero__mv.showed {
  opacity: 1;
}
.feature .hero__text-box {
  position: absolute;
  z-index: 2;
  top: 25.9285714vw;
  align-items: center;
  width: 100%;
  opacity: 0;
  transition: opacity 380ms 1220ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 380ms 1220ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translate3d(0%, 2%, 0);

  filter: none;
}
.feature .hero__text-box.on {
  opacity: 1;
  transform: translate3d(0%, 0, 0);

  filter: none;
}
.feature .hero__text-box figure.title01 {
  width: 23.4285714vw;
  margin-bottom: 1.7857143vw;
}
.feature .hero__text-box figure.title02 {
  width: 30.2142857vw;
  margin-bottom: 4.4285714vw;
}
.feature .hero__text-box figure.text01 {
  width: 27.6428571vw;
}
.feature .hero__text-box h1.title01 {
  margin-bottom: 1.7857143vw;
  letter-spacing: 0.02em;
  font-family: 'nimbus-sans', sans-serif;
  font-size: 2.8571429vw;
  font-weight: 700;
  font-style: normal;
  line-height: 2vw;
  color: #ffffff;
}
.feature .hero__text-box h1.title01 span:nth-of-type(n + 2) {
  margin-top: 0.6785714vw;
}
.feature .hero__text-box h2.title02 {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 3.7857143vw;
  letter-spacing: 0.027em;
  font-family: 'trajan-pro-3', serif;
  font-size: 3.5714286vw;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  color: #50aadc;
}
.feature .hero__text-box h2.title02 span.sm {
  padding-right: 0.3vw;
  padding-left: 0.6vw;
  font-size: 2.8571429vw;
}
.feature .hero__text-box h2.title02 span.abs {
  position: absolute;
  top: -4%;
  line-height: 1.1;
}
.feature .hero__text-box h2.title02 span.abs:nth-of-type(1) {
  left: 0;
  transform: translateX(-90%);

  -webkit-clip-path: inset(0 0 35% 0);
  clip-path: inset(0 0 35% 0);
}
.feature .hero__text-box h2.title02 span.abs:nth-of-type(3) {
  right: 0;
  transform: translate(100%, -5%);

  -webkit-clip-path: inset(20% 0 0 0);
  clip-path: inset(20% 0 0 0);
}
.feature .hero__text-box p.text01 {
  letter-spacing: 0.11em;
  font-family: 'hiragino-kaku-gothic-pron', sans-serif;
  font-size: 1vw;
  font-weight: 300;
  font-style: normal;
  color: #ffffff;
}
.feature .hero__text-box p.text01 span {
  line-height: 1.8571429vw;
}
.feature__box {
  position: relative;
  display: flex;
}
.feature .contents__l {
  position: sticky;
  top: 80px;
  left: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  order: 1;
  width: calc((100% - 48rem) / 2);
  height: calc(100vh - 80px);
}
.feature .contents__r {
  position: sticky;
  top: 80px;
  right: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  order: 3;
  width: calc((100% - 48rem) / 2);
  height: calc(100vh - 80px);
}
.feature .contents__m {
  order: 2;
  width: 100%;
  max-width: 48rem;
}
.feature .contents__m-wrap {
  overflow: hidden;
  width: 100%;
  max-width: 48rem;
  margin: 0 auto;
}
.feature .fixed__text {
  opacity: 0;
  transition: all 0.5s ease;
}
.feature .fixed__text.vt {
  writing-mode: vertical-rl;
}
.feature .fixed__text.text01 {
  letter-spacing: 0.02em;
  font-family: 'nimbus-sans', sans-serif;
  font-size: 4.455rem;
  font-weight: 700;
  font-style: normal;
  line-height: 3rem;
  transform: rotate(180deg) translate(12%, -20px);
}
.feature .fixed__text.text01 span:nth-of-type(n + 2) {
  margin-right: 1.3rem;
}
.feature .fixed__text.text01.on {
  opacity: 1;
  transform: rotate(180deg) translate(12%, 0);
}
.feature .fixed__text.text01.on.shrink {
  transform: rotate(180deg) translate(12%, 0) scale(0.7);
}
.feature .fixed__text.text02 {
  position: relative;
  display: flex;
  align-items: center;
  letter-spacing: 0.08em;
  font-family: 'trajan-pro-3', serif;
  font-size: 6.7rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  color: #50a8bc;
  transform: rotate(180deg) translate(-23%, -20px);
}
.feature .fixed__text.text02 span.sm {
  padding-top: 1rem;
  padding-bottom: 0.3rem;
  font-size: 5.4rem;
}
.feature .fixed__text.text02 span.abs {
  position: absolute;
  left: 0;
  line-height: 1.1;
}
.feature .fixed__text.text02 span.abs:nth-of-type(1) {
  top: 0;
  transform: translateY(-100%);

  -webkit-clip-path: inset(0 0 15% 44%);
  clip-path: inset(0 0 15% 44%);
}
.feature .fixed__text.text02 span.abs:nth-of-type(3) {
  bottom: 0;
  transform: translateY(100%);

  -webkit-clip-path: inset(5% 47% 0 0);
  clip-path: inset(5% 47% 0 0);
}
.feature .fixed__text.text02.on {
  opacity: 1;
  transform: rotate(180deg) translate(-23%, 0);
}
.feature .fixed__text.text02.on.shrink {
  transform: rotate(180deg) translate(-23%, 0) scale(0.7);
}
.feature .products__credit {
  margin-top: 2.56rem;
  margin-bottom: 7.68rem;
}
.feature .products__credit ul.credit {
  display: flex;
  justify-content: center;
}
.feature .products__credit ul.credit a {
  display: flex;
}
.feature .products__credit .price {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.02em;
  font-family: 'nimbus-sans', sans-serif;
  font-size: 1.54rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.28rem;
}
.feature .products__credit .price::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1px;
  content: '';
  background-color: #000000;
}
.feature .products__credit .price span {
  position: relative;
  z-index: 2;
}
.feature .sec__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44.8rem;
  height: 5.12rem;
  margin: 0 auto 4.61rem;
  background-color: #50aadc;
}
.feature .sec__title span {
  font-family: 'hiragino-kaku-gothic-pron', sans-serif;
  font-size: 2.56rem;
  font-weight: 300;
  font-style: normal;
  color: #ffffff;
}
.feature .sec__text {
  width: 38.4rem;
  margin: 0 auto;
  text-align: justify;
  letter-spacing: 0.1em;
  font-family: 'hiragino-kaku-gothic-pron', sans-serif;
  font-size: 1.47rem;
  font-weight: 300;
  font-style: normal;
  line-height: 2.75rem;
}
.feature .sec__text span {
  display: inline-block;
}
.feature .sec__movie {
  position: relative;
  margin-top: 6.02rem;
  margin-bottom: 9.6rem;
}
.feature .sec__movie::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 2px;
  content: '';
  background-color: #ffffff;
}
.feature .sec01 .sec__title span {
  letter-spacing: 0.3em;
  transform: translateX(2%);
}
.feature .sec01 .img01 {
  width: 37.12rem;
  margin-bottom: 6.4rem;
  margin-left: 1.6rem;
}
.feature .sec01 .img02 {
  width: 37.12rem;
  margin-bottom: 12.8rem;
  margin-left: 9.28rem;
}
.feature .sec02 .sec__text-area {
  margin-bottom: 5.57rem;
}
.feature .sec02 .sec__title span {
  letter-spacing: 0.24em;
  transform: translateX(2%);
}
.feature .sec02 .img01 {
  margin-bottom: 8.19rem;
}
.feature .sec02 .img02 {
  width: 37.12rem;
  margin-bottom: 6.27rem;
  margin-left: 9.28rem;
}
.feature .sec02 .img03 {
  width: 37.12rem;
  margin-bottom: 11.58rem;
  margin-left: 1.6rem;
}
.feature .sec02 .img04 {
  margin-bottom: 12.99rem;
}
.feature .view__all {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0 0.58rem;
  margin: 0 auto 12.8rem;
  letter-spacing: 0.057em;
  font-family: 'nimbus-sans', sans-serif;
  font-size: 1.92rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.41rem;
  border-bottom: 1px solid #000000;
}

.pc-footer {
  margin-top: 0;
}

.l-footer {
  padding-top: 0;
}
