@charset "UTF-8";
html {
  font-size: 10px;
}
:root {
  --scale-PCwidth: 0.613333333 ;
}

.l-container {
  width: 100%;
}

.l-container #feature {
  margin: 0 auto;
  width: 100%;
  text-align: center;
  overflow: clip;
}
.l-container #feature * {
  box-sizing: border-box;
}
.l-container #feature *::after {
  box-sizing: border-box;
}
.l-container #feature *::before {
  box-sizing: border-box;
}
.l-container #feature a {
  display: block;
  text-decoration: none;
  position: relative;
}
.l-container #feature a::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  transition: all 0.4s;
}
.l-container #feature a:hover {
  cursor: pointer;
}
.l-container #feature a:hover::after {
  opacity: 1;
  transition: 0.4s;
}
.l-container #feature .default-img {
  width: 100%;
  display: block;
}
.l-container #feature picture {
  display: block;
}
.l-container #feature .creditContainer .credit {
  display: flex;
  flex-wrap: wrap;
}
.l-container #feature .creditContainer li {
  width: fit-content;
}
.l-container #feature .creditContainer li a {
  transition: 0.3s;
  text-decoration: none;
}
.l-container #feature .creditContainer li a:hover {
  opacity: 0.6;
  cursor: pointer;
  text-decoration: none;
}
.l-container #feature .creditContainer li a::after {
  display: none;
}
.l-container #feature .hero {
  margin: 0 auto 0;
  width: 100%;
  position: relative;
}
.l-container #feature .hero__img {
  margin: 0 auto 0;
}
.l-container #feature .container {
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.l-container #feature .creditContainer li a {
  color: #666666;
  font-size: calc(var(--scale-PCwidth) * 2.4rem);
  line-height: calc(var(--scale-PCwidth) * 5.3rem);
  letter-spacing: 0.025em;
  font-family: orpheuspro, serif;
  font-style: normal;
  font-weight: 400;
  font-family: "Crimson Text", serif;
  font-weight: 400;
  font-style: normal;
}
.l-container #feature .creditContainer li a .txt {
  margin-right: calc(var(--scale-PCwidth) * 2rem);
  border-bottom: #9b9b9b 1px solid;
}
.l-container #feature .creditContainer li a .txt .price {
  margin-left: 0.6rem;
}
.l-container #feature .swiper-container {
  position: relative;
  margin: 0;
}
.l-container #feature .swiper-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
.l-container #feature .swiper-container figure, .l-container #feature .swiper-container .swiper-slide {
  height: 100%;
}
.l-container #feature .swiper-container .swiper-pagination {
  width: initial !important;
}
.l-container #feature .swiper-container .swiper-pagination-bullet {
  margin: 0 0.35rem !important;
  width: calc(var(--scale-PCwidth) * 0.95rem);
  height: calc(var(--scale-PCwidth) * 0.95rem);
  border-radius: 50%;
  border: 0.1rem solid #1b3f60;
  background-color: #e1ebef;
}
.l-container #feature .swiper-container .swiper-pagination span {
  opacity: 1 !important;
}
.l-container #feature .swiper-container .swiper-pagination-bullet-active {
  background-color: #1b3f60;
}
.l-container #feature .pc-flex {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
}
.l-container #feature .pc-flex__left {
  position: sticky;
  top: 78px;
  left: 0;
  height: 100vh;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
}
.l-container #feature .pc-flex__left--bg {
  position: absolute;
  z-index: -1;
  height: 100vh;
  width: 100%;
}
.l-container #feature .pc-flex__left--bg_img {
  width: 100%;
  height: 100%;
}
.l-container #feature .pc-flex__left--bg_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 75% top;
}
.l-container #feature .pc-flex__left--bg_logo {
  position: absolute;
  top: 7rem;
  left: 2rem;
  width: 31.6rem;
}
.l-container #feature .pc-flex__right {
  position: relative;
  width: 50%;
  display: flex;
  justify-content: center;
}
.l-container #feature .pc-flex__right--inner {
  position: relative;
  width: 46rem;
  height: auto;
  z-index: 1;
}
.l-container #feature .hero {
  margin-top: calc(var(--scale-PCwidth) * 12rem);
}
.l-container #feature .hero .hero__img_mv {
  width: 100%;
}
.l-container #feature .hero p {
  font-size: calc(var(--scale-PCwidth) * 2.3rem);
  line-height: calc(var(--scale-PCwidth) * 5.28rem);
  letter-spacing: 0.01em;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin: calc(var(--scale-PCwidth) * 12rem) auto calc(var(--scale-PCwidth) * 15rem);
}
.l-container #feature .container01 .container01__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 15.56rem);
  top: calc(var(--scale-PCwidth) * -3.1rem);
  right: calc(var(--scale-PCwidth) * 2.6rem);
  z-index: 2;
}
.l-container #feature .container01 .container01__img_01 {
  width: calc(var(--scale-PCwidth) * 70rem);
}
.l-container #feature .container01 .container01__img_02 {
  width: calc(var(--scale-PCwidth) * 63rem);
  margin: 0 auto;
  margin-right: 0;
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container01 .container01_credit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: calc(var(--scale-PCwidth) * 5rem);
  margin-right: calc(var(--scale-PCwidth) * 3rem);
}
.l-container #feature .container01 .container01_credit .container01__icon {
  width: calc(var(--scale-PCwidth) * 14.29rem);
}
.l-container #feature .container01 .container01_credit .creditContainer {
  width: calc(var(--scale-PCwidth) * 50rem);
  margin-top: calc(var(--scale-PCwidth) * 2.5rem);
}
.l-container #feature .container01 .container01_credit .creditContainer .credit {
  justify-content: flex-end;
}
.l-container #feature .container01 .container01_credit .creditContainer li:nth-child(2n) a .txt {
  margin-right: 0;
}
.l-container #feature .container02 {
  margin-top: calc(var(--scale-PCwidth) * 23rem);
}
.l-container #feature .container02 .container02__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 13.678rem);
  top: calc(var(--scale-PCwidth) * -2.7rem);
  left: calc(var(--scale-PCwidth) * 3.8rem);
  z-index: 2;
}
.l-container #feature .container02 .container02__img_01 {
  width: calc(var(--scale-PCwidth) * 67rem);
  margin: 0 auto;
  margin-right: 0;
}
.l-container #feature .container02 .container02__img_02 {
  width: calc(var(--scale-PCwidth) * 65rem);
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container02 .container02__txt_01 {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 66.8rem);
  top: calc(var(--scale-PCwidth) * 109rem);
  right: calc(var(--scale-PCwidth) * 5.8rem);
  z-index: 2;
  pointer-events: none;
}
.l-container #feature .container02 .container02_credit {
  margin-top: calc(var(--scale-PCwidth) * 7.5rem);
  margin-left: calc(var(--scale-PCwidth) * 2.8rem);
}
.l-container #feature .container02 .container02_credit .container02__icon {
  width: calc(var(--scale-PCwidth) * 14.73rem);
}
.l-container #feature .container02 .container02_credit .creditContainer {
  width: calc(var(--scale-PCwidth) * 50rem);
  margin-top: calc(var(--scale-PCwidth) * 2.8rem);
}
.l-container #feature .container03 {
  padding-top: calc(var(--scale-PCwidth) * 23.5rem);
}
.l-container #feature .container03 .container03__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 15.299rem);
  top: calc(var(--scale-PCwidth) * 20.5rem);
  right: calc(var(--scale-PCwidth) * 3rem);
  z-index: 2;
}
.l-container #feature .container03 .swiper-container {
  width: calc(var(--scale-PCwidth) * 62rem);
  height: calc(var(--scale-PCwidth) * 93rem);
}
.l-container #feature .container03 .swiper-container .swiper-pagination {
  right: -33.3rem !important;
  bottom: 0.8rem !important;
}
.l-container #feature .container03 .container03__img_03 {
  width: calc(var(--scale-PCwidth) * 68rem);
  margin: 0 auto;
  margin-right: 0;
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container03 .container03__txt_01 {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 69.79rem);
  top: calc(var(--scale-PCwidth) * 125rem);
  left: calc(var(--scale-PCwidth) * 2.5rem);
  z-index: -1;
}
.l-container #feature .container03 .creditContainer {
  width: calc(var(--scale-PCwidth) * 50rem);
  margin: 0 auto;
  margin-right: calc(var(--scale-PCwidth) * 3rem);
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container03 .creditContainer .credit {
  justify-content: flex-end;
}
.l-container #feature .container03 .creditContainer li:nth-child(2) a .txt, .l-container #feature .container03 .creditContainer li:nth-child(4) a .txt, .l-container #feature .container03 .creditContainer li:nth-child(5) a .txt {
  margin-right: 0;
}
.l-container #feature .container04__inner {
  margin-top: calc(var(--scale-PCwidth) * 22rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.l-container #feature .container04__inner .container04__img_01 {
  width: calc(var(--scale-PCwidth) * 56rem);
}
.l-container #feature .container04__inner .container04__title {
  width: calc(var(--scale-PCwidth) * 55.31rem);
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container04__inner .container04__img_02 {
  width: calc(var(--scale-PCwidth) * 66rem);
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container04__inner .container04__txt_01 {
  width: calc(var(--scale-PCwidth) * 31.13rem);
  margin-top: calc(var(--scale-PCwidth) * 5rem);
}
.l-container #feature .container04__inner .creditContainer {
  width: calc(var(--scale-PCwidth) * 63rem);
  margin: 0 auto;
  margin-top: calc(var(--scale-PCwidth) * 2.5rem);
}
.l-container #feature .container04__inner .creditContainer .credit {
  justify-content: center;
}
.l-container #feature .container04__inner .creditContainer li:nth-child(3) a .txt, .l-container #feature .container04__inner .creditContainer li:nth-child(5) a .txt {
  margin-right: 0;
}
.l-container #feature .container05 {
  margin-top: calc(var(--scale-PCwidth) * 23.5rem);
}
.l-container #feature .container05 .container05__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 13.57rem);
  top: calc(var(--scale-PCwidth) * -2.5rem);
  left: calc(var(--scale-PCwidth) * 3rem);
  z-index: 2;
}
.l-container #feature .container05 .swiper-container {
  width: 100%;
  height: auto;
}
.l-container #feature .container05 .swiper-container .swiper-pagination {
  right: calc(var(--scale-PCwidth) * -68rem) !important;
  bottom: calc(var(--scale-PCwidth) * 1rem) !important;
}
.l-container #feature .container05 .container05__img_03 {
  width: calc(var(--scale-PCwidth) * 60rem);
  margin-top: calc(var(--scale-PCwidth) * 6rem);
  margin-left: calc(var(--scale-PCwidth) * 4rem);
}
.l-container #feature .container05 .container05__txt_01 {
  width: calc(var(--scale-PCwidth) * 37.33rem);
  margin-left: calc(var(--scale-PCwidth) * 4rem);
  margin-top: calc(var(--scale-PCwidth) * 5rem);
}
.l-container #feature .container05 .creditContainer {
  margin-top: calc(var(--scale-PCwidth) * 2.6rem);
  width: calc(var(--scale-PCwidth) * 50rem);
  margin-left: calc(var(--scale-PCwidth) * 4rem);
}
.l-container #feature .container06 {
  margin-top: calc(var(--scale-PCwidth) * 21rem);
}
.l-container #feature .container06 .container06__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 13.53rem);
  top: calc(var(--scale-PCwidth) * -2.5rem);
  right: calc(var(--scale-PCwidth) * 2.5rem);
  z-index: 2;
}
.l-container #feature .container06 .container06__img_01 {
  width: calc(var(--scale-PCwidth) * 63rem);
  margin-top: calc(var(--scale-PCwidth) * 3rem);
}
.l-container #feature .container06 .container06__img_02 {
  width: calc(var(--scale-PCwidth) * 46rem);
  margin: 0 auto;
  margin-right: 0;
  margin-top: calc(var(--scale-PCwidth) * -6rem);
  margin-right: calc(var(--scale-PCwidth) * 2.5rem);
  z-index: 1;
}
.l-container #feature .container06 .container06__img_03 {
  width: calc(var(--scale-PCwidth) * 66rem);
  margin: 0 auto;
  margin-top: calc(var(--scale-PCwidth) * 8rem);
}
.l-container #feature .container06 .creditContainer {
  width: calc(var(--scale-PCwidth) * 40rem);
  margin: 0 auto;
  margin-right: calc(var(--scale-PCwidth) * 4.5rem);
  margin-top: calc(var(--scale-PCwidth) * 3.5rem);
}
.l-container #feature .container06 .creditContainer .credit {
  justify-content: flex-end;
}
.l-container #feature .container06 .creditContainer li:nth-child(2n) a .txt {
  margin-right: 0;
}
.l-container #feature .container07 {
  margin-top: calc(var(--scale-PCwidth) * 23rem);
}
.l-container #feature .container07 .container07__title {
  position: absolute;
  width: calc(var(--scale-PCwidth) * 13.49rem);
  top: calc(var(--scale-PCwidth) * -3rem);
  left: calc(var(--scale-PCwidth) * 4rem);
  z-index: 2;
}
.l-container #feature .container07 .container07__img_01 {
  width: 100%;
}
.l-container #feature .container07 .container07__img_02 {
  width: calc(var(--scale-PCwidth) * 62rem);
  margin: 0 auto;
  margin-top: calc(var(--scale-PCwidth) * 6rem);
}
.l-container #feature .container07 .container07__text_01 {
  margin: 0 auto;
  width: calc(var(--scale-PCwidth) * 16.16rem);
  margin-top: calc(var(--scale-PCwidth) * 5rem);
}
.l-container #feature .container07 .creditContainer {
  width: calc(var(--scale-PCwidth) * 63rem);
  margin: 0 auto;
  margin-top: calc(var(--scale-PCwidth) * 2.5rem);
}
.l-container #feature .container07 .creditContainer .credit {
  justify-content: center;
}
.l-container #feature .container07 .creditContainer li:nth-child(2) a .txt, .l-container #feature .container07 .creditContainer li:nth-child(5) a .txt {
  margin-right: 0;
}
.l-container #feature .container08 {
  margin-top: calc(var(--scale-PCwidth) * 16.6rem);
  margin-bottom: calc(var(--scale-PCwidth) * 18rem);
}
.l-container #feature .container08 .container08__btn {
  width: calc(var(--scale-PCwidth) * 55rem);
  margin: 0 auto;
}
.l-container #feature .container08 .container08__img_01 {
  margin-top: calc(var(--scale-PCwidth) * 12rem);
  width: 100%;
}
.l-container #feature {
  /* ============================================
  ぼかし＋クリップスライドイン
  参考: fray-id.com /260319_function/css/style.css

  動作の流れ:
  1. 初期状態は opacity:0 + blur + 右端で clip-path で隠れている
  2. JSで .is-active が付くと @keyframes fadeInPic が発火
  3. 0%→50%: 左から右へ捲れながら opacity が上がる
  4. 50%→100%: blur が解除されクリアな状態で完全表示
  ============================================ */
  /* ▼▼▼ 初期状態 触らない ▼▼▼ */
}
.l-container #feature .js-fade {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  filter: blur(20px) brightness(1.1);
}
.l-container #feature {
  /* ▼▼▼ .is-active 付与でアニメーション発火 触らない ▼▼▼ */
}
.l-container #feature .js-fade.is-active {
  opacity: 1;
  filter: blur(0px) brightness(1);
  clip-path: inset(0% 0px 0px);
  animation: fadeInPic 1.2s cubic-bezier(0.16, 0.88, 0.25, 1) forwards;
}
.l-container #feature {
  /* ▼▼▼ アニメーション本体 触らない ▼▼▼ */
}
@keyframes fadeInPic {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    filter: blur(0) brightness(1);
  }
  60% {
    opacity: 1;
    clip-path: inset(0 0 0 0); /* 捲れ完了 */
    filter: blur(20px) brightness(1.1); /* ここからblur解除開始 */
  }
  /* ↓ blur解除を広い区間でゆっくり行う */
  80% {
    filter: blur(16px) brightness(1.08);
  }
  85% {
    filter: blur(10px) brightness(1.05);
  }
  90% {
    filter: blur(4px) brightness(1.02);
  }
  100% {
    opacity: 1;
    filter: blur(0) brightness(1);
    clip-path: inset(0 0 0 0);
  }
}
.l-container #feature {
  /* ▼ 複数画像の時差クラス（数値のみ変更OK） */
}
.l-container #feature .fade-block {
  position: relative;
  /* clip-path で上端から下端まで隠している（高さ0の状態） */
  clip-path: inset(0 0 100% 0); /* 触らない */
  transition: clip-path 0.85s cubic-bezier(0.33, 1, 0.68, 1), transform 1s; /* ← 速度変更OK */
}
.l-container #feature .fade-block.leftIn {
  clip-path: inset(0 100% 0 0); /* 触らない */
}
.l-container #feature {
  /* ▼▼▼ .view 付与で上から下へ展開 触らない ▼▼▼ */
}
.l-container #feature .fade-block.view, .l-container #feature .fade-block.leftIn.view {
  clip-path: inset(0 0 0% 0); /* 触らない */
}

.pc-footer {
  margin: 0;
}

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

.feature-snslist {
  overflow: hidden;
}

@media screen and (max-width: 1400px) {
  html {
    font-size: 0.7142857143vw;
  }
}

@media screen and (min-width: 751px) {
  .l-container #feature .hero__img_mv {
    display: none;
  }
}

@media screen and (min-width: 1400px) {
  .l-container #feature .pc-flex__left--bg_logo {
    width: 22.57vw;
    top: 5vw;
    left: 1.43vw;
  }
}