@charset "UTF-8";
html {
  font-size: 10px;
  overflow-x: hidden;
}
.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;
  justify-content: center;
  column-gap: 1.8rem;
}
.l-container #feature .creditContainer li {
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 2.2rem;
  line-height: 4rem;
  letter-spacing: 0.04em;
  color: #000;
  font-feature-settings: "palt";
  text-align: left;
  width: fit-content;
}
.l-container #feature .creditContainer li a {
  color: #000;
  transition: 0.3s;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
}
.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 .creditContainer .price {
  margin-left: 0.7rem;
}
.l-container #feature .creditContainer .brand {
  margin-left: 0.5rem;
}
.l-container #feature .pc-flex {
  position: relative;
  display: flex;
  margin: 12rem auto 0;
  justify-content: left;
  width: 100%;
}
.l-container #feature .pc-flex__left {
  width: 50%;
}
.l-container #feature .pc-flex__left .movie_block {
  position: sticky;
  top: 79px;
  left: 0;
  width: 100%;
  height: calc(100vh - 79px);
}
.l-container #feature .pc-flex__left .movie_area {
  margin: auto;
  width: 100%;
  height: calc(100vh - 79px);
  object-fit: cover;
  object-position: center;
}
.l-container #feature .pc-flex__left .movie_area video {
  width: 100%;
}
.l-container #feature .pc-flex__right {
  margin: 0 auto 0;
  width: 75rem;
}
.l-container #feature .pc-flex__right .side_txt {
  position: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  width: 4.8rem;
  top: calc((100vh - 33rem) / 2);
  transform: translateY(-50%);
  right: 4rem;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 20;
}
.l-container #feature .pc-flex__right .side_txt.inView {
  opacity: 1;
  transition: all 0.5s ease-in-out;
}
.l-container #feature .hero {
  margin: 0 auto 0;
  width: 100%;
  position: relative;
}
.l-container #feature .hero__inner {
  width: 75rem;
  margin: 0 auto 0;
}
.l-container #feature .hero .movie_block {
  position: relative;
  margin: auto;
  width: 67.5rem;
  height: 120rem;
}
.l-container #feature .hero .movie_area {
  margin: auto;
  width: 67.5rem;
  height: 120rem;
  object-fit: cover;
}
.l-container #feature .hero .movie_area video {
  width: 100%;
}
.l-container #feature .hero__txt_02 {
  margin: 9rem auto 0;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, Helvetica, Arial, sans-serif;
  font-size: 2.4rem;
  line-height: 4.8rem;
  letter-spacing: 0.05em;
  color: #000;
  font-feature-settings: "palt";
}
.l-container #feature .container {
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.l-container #feature .container__inner {
  width: 75rem;
  margin: 0 auto;
  overflow: hidden;
}
.l-container #feature .container01 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container01__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container01__num {
  position: absolute;
  top: 6.5rem;
  right: 6.4rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 11.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
  pointer-events: none;
}
.l-container #feature .container01__img_01 {
  margin: 12.5rem auto 0;
  width: 70rem;
}
.l-container #feature .container01__img_02 {
  margin: 2.5rem auto 0;
  width: 45rem;
}
.l-container #feature .container01 .creditContainer_01 {
  margin: 3.3rem auto 0;
  width: 60rem;
}
.l-container #feature .container02 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container02__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container02__num {
  position: absolute;
  top: 12.5rem;
  left: -0.5rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 17rem;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #fff;
  pointer-events: none;
  opacity: 0.75;
}
.l-container #feature .container02__img_04 {
  margin: 15.3rem auto 0;
  width: 75rem;
}
.l-container #feature .container02__img_05 {
  margin: 2.6rem auto auto 2.5rem;
  width: 49rem;
}
.l-container #feature .container02 .creditContainer_02 {
  position: absolute;
  top: 173rem;
  left: 48.5rem;
  z-index: 10;
  width: 25rem;
}
.l-container #feature .container02 .creditContainer_02 .credit {
  justify-content: left;
}
.l-container #feature .container02 .creditContainer_02 li:nth-child(3) .brand {
  margin-left: 0;
}
.l-container #feature .container03 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container03__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container03__num {
  position: absolute;
  top: 10rem;
  right: 0.4rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 11.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
  pointer-events: none;
}
.l-container #feature .container03__img_07 {
  margin: 16.1rem auto 0;
  width: 57.5rem;
}
.l-container #feature .container03__img_08 {
  margin: 2.6rem auto 0;
  width: 57.5rem;
}
.l-container #feature .container03 .creditContainer_03 {
  margin: 3.3rem auto 0;
  width: 41rem;
}
.l-container #feature .container04 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container04__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container04__num {
  position: absolute;
  top: 104.6rem;
  left: 2.2rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 17rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  pointer-events: none;
  opacity: 0.75;
}
.l-container #feature .container04__img_09 {
  margin: 15rem auto 0;
  width: 75rem;
}
.l-container #feature .container04 .creditContainer_04 {
  margin: 3.3rem auto 0;
  width: 60rem;
}
.l-container #feature .container05 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container05__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container05__num {
  position: absolute;
  top: 9.1rem;
  right: 3rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 11.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
  pointer-events: none;
}
.l-container #feature .container05__img_10 {
  margin: 15.3rem 0 0 auto;
  width: 65rem;
}
.l-container #feature .container05__img_11 {
  margin: 2.5rem auto 0 0;
  width: 53rem;
}
.l-container #feature .container05 .creditContainer_05 {
  position: absolute;
  top: 164.9rem;
  left: 50rem;
  z-index: 10;
  width: 25rem;
}
.l-container #feature .container05 .creditContainer_05 .credit {
  justify-content: left;
}
.l-container #feature .container06 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container06__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container06__num {
  position: absolute;
  top: 98.8rem;
  right: 1rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 17rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  pointer-events: none;
  opacity: 0.75;
}
.l-container #feature .container06__img_12 {
  margin: 16rem 2.5rem 0 auto;
  width: 70rem;
}
.l-container #feature .container06 .creditContainer_06 {
  margin: 3.3rem auto 0;
}
.l-container #feature .container07 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container07__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container07__num {
  position: absolute;
  top: 9.1rem;
  left: 1rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 11.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
  pointer-events: none;
}
.l-container #feature .container07__img_13 {
  margin: 15.3rem auto 0 0;
  width: 60rem;
}
.l-container #feature .container07 .creditContainer_07 {
  margin: 3.1rem auto 0 4rem;
  width: 65rem;
}
.l-container #feature .container07 .creditContainer_07 .credit {
  justify-content: left;
}
.l-container #feature .container07 .creditContainer_07 li {
  letter-spacing: 0.05em;
}
.l-container #feature .container08 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container08__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container08__num {
  position: absolute;
  top: 89.8rem;
  left: 12.4rem;
  z-index: 10;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 17rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  pointer-events: none;
  opacity: 0.75;
}
.l-container #feature .container08__img_15 {
  margin: 15.3rem 0 0 auto;
  width: 64rem;
}
.l-container #feature .container08__img_17 {
  margin: 2.5rem auto 0 2.5rem;
  width: 52rem;
}
.l-container #feature .container08 .creditContainer_08 {
  position: absolute;
  top: 166.2rem;
  left: 51.5rem;
  z-index: 10;
  width: 22rem;
}
.l-container #feature .container08 .creditContainer_08 .credit {
  justify-content: left;
}
.l-container #feature .container08 .creditContainer_08 li:nth-child(2) .brand {
  margin-left: 0;
}
.l-container #feature .container09 {
  position: relative;
  margin: 0 auto 0;
}
.l-container #feature .container09__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container09__img_18 {
  margin: 16rem auto 0;
  width: 52.5rem;
}
.l-container #feature .container09__img_txt_01 {
  position: absolute;
  top: 10.6rem;
  right: 0rem;
  width: 39.5rem;
  z-index: 10;
  pointer-events: none;
}
.l-container #feature .container09__img_txt_02 {
  position: absolute;
  top: 75rem;
  left: 0.4rem;
  width: 43rem;
  z-index: 10;
  pointer-events: none;
}
.l-container #feature .container09 .creditContainer_09 {
  margin: 3.4rem auto 0;
}
.l-container #feature .container10 {
  position: relative;
  margin: 0 auto 0;
  padding-bottom: 14.8rem;
}
.l-container #feature .container10__inner {
  position: relative;
  margin: auto;
}
.l-container #feature .container10__img_A {
  margin: 12rem auto 0;
  width: 56rem;
}
.l-container #feature .container10__txt {
  margin: 11rem auto 0;
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 2.2rem;
  line-height: 4.8rem;
  letter-spacing: 0.05em;
  color: #000;
}
.l-container #feature .fadeUp-hidden {
  opacity: 0;
  transition: opacity 1s ease;
}
.l-container #feature .animate-active {
  opacity: 1;
}

.pc-footer {
  margin: 0;
}

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

.feature-snslist {
  overflow: hidden;
}

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

@media screen and (min-width: 1401px) {
  html {
    font-size: 6.66px;
  }
}