@charset 'UTF-8';
@keyframes border_anime {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@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%;
}

.pc-header-main.is-fixed {
  display: none;
}

.l-container {
  width: 100%;
}

.feature {
  overflow: clip;
  width: 100%;
  width: 100%;
  text-align: center;
  font-family: 'Yu Gothic', '游ゴシック', 'YuGothic', '游ゴシック体',
    'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #555555;

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

  margin-block-start: 0;
  margin-block-end: 0;
}
.feature .font-en,
.feature .detail__place,
.feature .detail__title {
  font-family: 'jaf-bernino-sans', sans-serif;
  font-weight: 400;
  font-style: normal;
}
.feature a.mask-img,
.feature a {
  position: relative;
}
.feature a.mask-img::after,
.feature a::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  content: '';
  transition: all 0.4s;

  -webkit-mask-size: cover;
  mask-size: cover;
}
.feature a.mask-img:hover,
.feature a:hover {
  opacity: 1;
}
.feature a.mask-img:hover::after,
.feature a:hover::after {
  opacity: 0.7;
  background: rgba(255, 255, 255, 0.3);
}
.feature .mask-bg,
.feature .pkg__image,
.feature .hero__mv {
  position: relative;
}
.feature .mask-bg::after,
.feature .pkg__image::after,
.feature .hero__mv::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  content: '';
  transition: all 0.4s;

  -webkit-mask-size: cover;
  mask-size: cover;
}
.feature .before-fadein,
.feature .fadeup,
.feature .sec__area {
  display: block;
  opacity: 0;
  transition: opacity 1.5s 0s ease, transform 1.5s ease;
  transform: translateY(4rem);
}
.feature .after-fadein,
.feature .fadeup.showed,
.feature .showed.sec__area,
.feature .fadein.showed {
  opacity: 1;
  transform: translateY(0);
}
.feature .fadein {
  display: block;
  opacity: 0;
  transition: all 1.5s 0s ease;
  transform: translateY(0);
}
.feature .fadeLeftIn {
  display: block;
  opacity: 0;
  transition: all 1.5s 0s ease;
  transform: translateX(-4rem);
}
.feature .fadeLeftIn.showed {
  opacity: 1;
  transform: translateX(0);
}
.feature .fadeRightIn {
  display: block;
  opacity: 0;
  transition: all 1.5s 0s ease;
  transform: translateX(4rem);
}
.feature .fadeRightIn.showed {
  opacity: 1;
  transform: translateX(0);
}
.feature img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.feature svg {
  display: block;
  width: 100%;
  height: auto;
}
.feature a {
  display: block;
  text-decoration: none;
  transition: opacity 0.3s;
}
.feature a:hover {
  opacity: 0.7;
}
.feature picture {
  display: block;
}
.feature .pc__box {
  position: relative;
  display: flex;
  overflow: clip;
  width: 100%;
  background-color: #e4e4e4;
}
.feature .pc__left {
  position: sticky;
  top: 0;
  overflow: hidden;
  width: 50%;
  max-height: 100vh;
}
@media screen and (min-width: 1401px) {
  .feature .pc__left .hero__mv img {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translateX(-50%);
  }
  .feature .pc__left .hero__title.pc-title .txt01 {
    margin-bottom: 40px;
    font-size: 19px;
  }
  .feature .pc__left .hero__title.pc-title .txt02 {
    font-size: 24px;
  }
  .feature .pc__left .hero__title.pc-title .txt02 span:nth-child(2) {
    margin-top: 28px;
  }
  .feature .pc__left.on .hero__mv img {
    height: 100%;
  }
}
@media screen and (max-width: 1400px) {
  .feature .pc__left .hero__mv img {
    position: absolute;
    top: 0;
    left: 50%;
    width: auto;
    height: 100vh;
    transform: translateX(-50%);
  }
  .feature .pc__left .hero__title.pc-title .txt01 {
    margin-bottom: 2.8571428571vw;
    font-size: 1.3571428571vw;
  }
  .feature .pc__left .hero__title.pc-title .txt02 {
    font-size: 1.7142857143vw;
  }
  .feature .pc__left .hero__title.pc-title .txt02 span:nth-child(2) {
    margin-top: 2vw;
  }
  .feature .pc__left.on .hero__mv img {
    width: 100%;
    height: 100vh;
  }
}
.feature .pc__left .pc-title {
  position: absolute;
  top: 61.9289340102vh;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  line-height: 1;
  color: #ffffff;
}
.feature .pc__left .pc-title span {
  width: 100%;
}
.feature .pc__left .pc-title .txt01 {
  font-size: 1.9vw;
}
.feature .pc__left .pc-title .txt02 {
  display: flex;
  flex-direction: column;
  font-size: 2.4vw;
}
.feature .pc__right {
  width: 50%;
  padding-top: 10.152284264vh;
  padding-bottom: 15.2284263959vh;
}
.feature .pc__right-wrap {
  overflow: hidden;
  width: 100%;
  max-width: 45rem;
  margin: 0 auto;
}
.feature .hero__mv {
  position: relative;
  width: 100%;
  height: 100vh;
}
.feature .hero__mv img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
}
.feature .hero__title {
  display: flex;
  flex-direction: column;
  letter-spacing: 0.3rem;
  font-weight: 500;
}
.feature .hero__title.sp-title {
  line-height: 1;
  color: #555555;
}
.feature .hero__title.sp-title .txt01 {
  margin-bottom: 3.3rem;
  letter-spacing: 0.2rem;
  font-size: 1.9rem;
}
.feature .hero__title.sp-title .txt02 {
  display: flex;
  flex-direction: column;
  letter-spacing: 0.25rem;
  font-size: 2.3rem;
}
.feature .hero__title.sp-title .txt02 span:nth-child(2) {
  margin: 2.7rem 0 3.4rem;
}
.feature .hero__text {
  margin-bottom: 9.6rem;
  letter-spacing: 0.18rem;
  font-size: 1.4rem;
  line-height: 2.9rem;
}
.feature .sec__image-list {
  display: flex;
  justify-content: center;
  margin-bottom: 3.6rem;

  gap: 1.8rem;
}
.feature .sec__image-list .sec__image {
  margin-bottom: 0;
}
.feature .sec__image {
  margin-bottom: 3.6rem;
}
.feature .sec .img01 {
  width: 17.9rem;
}
.feature .sec .img01 a::after {
  background: no-repeat url(../img/sec01_img01.png) 0 0 / contain;
}
.feature .sec .img02 {
  width: 17.9rem;
}
.feature .sec .img02 a::after {
  background: no-repeat url(../img/sec01_img02.png) 0 0 / contain;
}
.feature .sec .img03 {
  padding: 0 4.5rem;
}
.feature .sec__detail {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.feature .sec__detail > a {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.feature .sec__detail span {
  font-weight: 500;
  line-height: 1;
}
.feature .sec__detail-wl {
  width: 12.2rem;
  margin-bottom: 2.4rem;
}
.feature .sec__detail-name {
  margin-bottom: 3.6rem;
  letter-spacing: 0.25rem;
  font-size: 1.9rem;
}
.feature .sec__detail-color {
  margin-bottom: 1.4rem;
  letter-spacing: 0.12rem;
  font-size: 1.4rem;
}
.feature .sec__detail-size {
  margin-bottom: 1.4rem;
  letter-spacing: 0.15rem;
  font-size: 1.4rem;
}
.feature .sec__detail-price {
  margin-bottom: 2.9rem;
  letter-spacing: 0.15rem;
  font-size: 1.4rem;
}
.feature .sec__text {
  padding: 0 4.5rem;
  margin-bottom: 8.9rem;
  text-align: justify;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  line-height: 2.9rem;
}
.feature .descr {
  padding-top: 0.9rem;
}
.feature .descr__image {
  margin-bottom: 4.2rem;
}
.feature .descr__title {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 2.9rem;
}
.feature .descr__title span {
  letter-spacing: 0.25rem;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1;
}
.feature .descr__title span.txt01 {
  margin-bottom: 2.3rem;
}
.feature .descr__text {
  padding: 0 4.5rem;
  margin-bottom: 7.2rem;
  text-align: justify;
  letter-spacing: 0.11rem;
  font-size: 1.4rem;
  line-height: 2.9rem;
}
.feature .detail .dt01 {
  width: 39.6rem;
  margin: 0 auto;
}
.feature .detail .img02 {
  width: 32.4rem;
  margin-bottom: 3.6rem;
}
.feature .detail .img03 {
  width: 32.4rem;
  margin-left: auto;
}
.feature .detail .img04 {
  margin-bottom: 5.4rem;
}
.feature .detail .img05 {
  width: 27rem;
  margin-bottom: 5.4rem;
  margin-left: 14.4rem;
}
.feature .detail .img06 {
  width: 34.8rem;
  margin-bottom: 8.4rem;
  margin-left: 2.7rem;
}
.feature .detail__title {
  position: relative;
  padding-bottom: 1.4rem;
  margin-bottom: 3.6rem;
  text-align: left;
  letter-spacing: 0.28rem;
  font-size: 1.9rem;
  line-height: 2.5rem;
}
.feature .detail__title::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 0;
  height: 0.1rem;
  content: '';
  content: '';
  background-color: #555555;
}
.feature .detail__title.showed::before {
  animation: border_anime 1.8s 0.5s ease forwards;
}
.feature .detail__place {
  margin: 3.5rem 0 2rem;
  letter-spacing: 0.28rem;
  font-size: 1.9rem;
  line-height: 2.5rem;
}
.feature .detail__text {
  padding: 0 1.8rem;
  text-align: justify;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  line-height: 2.9rem;
}
.feature .detail__text span {
  display: inline-block;
}
.feature .detail .txt01 {
  margin-bottom: 8.6rem;
}
.feature .detail .txt02 {
  padding: 0 4.2rem;
  margin-bottom: 9.8rem;
}
.feature .view__all-items {
  width: 32.4rem;
  margin: 0 auto 8.4rem;
}
.feature .pkg {
  padding: 0 2.7rem;
}
.feature .pkg__image {
  margin-right: auto;
  margin-left: auto;
}
.feature .pkg .img01 {
  margin-bottom: 3.6rem;
}
.feature .pkg__title {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-weight: 500;
  line-height: 1;
}
.feature .pkg .title01 {
  margin-bottom: 1.6rem;
  letter-spacing: 0.125rem;
  font-size: 1.6rem;
}
.feature .pkg .title02 {
  margin-bottom: 2.4rem;
  letter-spacing: 0.25rem;
  font-size: 1.9rem;
}
.feature .pkg .title03 {
  margin-bottom: 4.8rem;
  letter-spacing: 0.025rem;
  font-size: 1.1rem;
}
.feature .pkg__image-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.feature .pkg__image-list .pkg__image {
  width: 18.9rem;
}
.feature .pkg__box:nth-child(even) {
  margin-left: auto;
}
.feature .pkg__box:nth-child(n + 3) {
  margin-top: 3.8rem;
}
.feature .pkg__advantage {
  margin: 3.4rem 0 1.6rem;
  letter-spacing: 0.28rem;
  font-family: 'jaf-bernino-sans', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8rem;
}
.feature .pkg__text {
  letter-spacing: 0.15rem;
  font-size: 1.4rem;
  line-height: 2.9rem;
}

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

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