/* ========================================
* Googleフォント読み込み
* ======================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");

/* ========================================
* root指定
* ======================================== */
:root {
  --1rem: calc(var(--vrem) * 0.1);
  --2rem: calc(var(--vrem) * 0.2);
  --3rem: calc(var(--vrem) * 0.3);
  --4rem: calc(var(--vrem) * 0.4);
  --5rem: calc(var(--vrem) * 0.5);
  --6rem: calc(var(--vrem) * 0.6);
  --7rem: calc(var(--vrem) * 0.7);
  --8rem: calc(var(--vrem) * 0.8);
  --9rem: calc(var(--vrem) * 0.9);
  --10rem: calc(var(--vrem) * 1.0);
  --11rem: calc(var(--vrem) * 1.1);
  --12rem: calc(var(--vrem) * 1.2);
  --13rem: calc(var(--vrem) * 1.3);
  --14rem: calc(var(--vrem) * 1.4);
  --15rem: calc(var(--vrem) * 1.5);
  --16rem: calc(var(--vrem) * 1.6);
  --17rem: calc(var(--vrem) * 1.7);
  --18rem: calc(var(--vrem) * 1.8);
  --19rem: calc(var(--vrem) * 1.9);
  --20rem: calc(var(--vrem) * 2.0);
  --21rem: calc(var(--vrem) * 2.1);
  --22rem: calc(var(--vrem) * 2.2);
  --23rem: calc(var(--vrem) * 2.3);
  --24rem: calc(var(--vrem) * 2.4);
  --25rem: calc(var(--vrem) * 2.5);
  --26rem: calc(var(--vrem) * 2.6);
  --27rem: calc(var(--vrem) * 2.7);
  --28rem: calc(var(--vrem) * 2.8);
  --29rem: calc(var(--vrem) * 2.9);
  --30rem: calc(var(--vrem) * 3.0);
  --31rem: calc(var(--vrem) * 3.1);
  --32rem: calc(var(--vrem) * 3.2);
  --33rem: calc(var(--vrem) * 3.3);
  --34rem: calc(var(--vrem) * 3.4);
  --35rem: calc(var(--vrem) * 3.5);
  --36rem: calc(var(--vrem) * 3.6);
  --37rem: calc(var(--vrem) * 3.7);
  --38rem: calc(var(--vrem) * 3.8);
  --39rem: calc(var(--vrem) * 3.9);
  --40rem: calc(var(--vrem) * 4.0);
  --41rem: calc(var(--vrem) * 4.1);
  --42rem: calc(var(--vrem) * 4.2);
  --43rem: calc(var(--vrem) * 4.3);
  --44rem: calc(var(--vrem) * 4.4);
  --45rem: calc(var(--vrem) * 4.5);
  --46rem: calc(var(--vrem) * 4.6);
  --47rem: calc(var(--vrem) * 4.7);
  --48rem: calc(var(--vrem) * 4.8);
  --49rem: calc(var(--vrem) * 4.9);
  --50rem: calc(var(--vrem) * 5.0);
  --51rem: calc(var(--vrem) * 5.1);
  --52rem: calc(var(--vrem) * 5.2);
  --53rem: calc(var(--vrem) * 5.3);
  --54rem: calc(var(--vrem) * 5.4);
  --55rem: calc(var(--vrem) * 5.5);
  --56rem: calc(var(--vrem) * 5.6);
  --57rem: calc(var(--vrem) * 5.7);
  --58rem: calc(var(--vrem) * 5.8);
  --59rem: calc(var(--vrem) * 5.9);
  --60rem: calc(var(--vrem) * 6.0);
  --61rem: calc(var(--vrem) * 6.1);
  --62rem: calc(var(--vrem) * 6.2);
  --63rem: calc(var(--vrem) * 6.3);
  --64rem: calc(var(--vrem) * 6.4);
  --65rem: calc(var(--vrem) * 6.5);
  --66rem: calc(var(--vrem) * 6.6);
  --67rem: calc(var(--vrem) * 6.7);
  --68rem: calc(var(--vrem) * 6.8);
  --69rem: calc(var(--vrem) * 6.9);
  --70rem: calc(var(--vrem) * 7.0);
  --71rem: calc(var(--vrem) * 7.1);
  --72rem: calc(var(--vrem) * 7.2);
  --73rem: calc(var(--vrem) * 7.3);
  --74rem: calc(var(--vrem) * 7.4);
  --75rem: calc(var(--vrem) * 7.5);
  --76rem: calc(var(--vrem) * 7.6);
  --77rem: calc(var(--vrem) * 7.7);
  --78rem: calc(var(--vrem) * 7.8);
  --79rem: calc(var(--vrem) * 7.9);
  --80rem: calc(var(--vrem) * 8.0);
  --81rem: calc(var(--vrem) * 8.1);
  --82rem: calc(var(--vrem) * 8.2);
  --83rem: calc(var(--vrem) * 8.3);
  --84rem: calc(var(--vrem) * 8.4);
  --85rem: calc(var(--vrem) * 8.5);
  --86rem: calc(var(--vrem) * 8.6);
  --87rem: calc(var(--vrem) * 8.7);
  --88rem: calc(var(--vrem) * 8.8);
  --89rem: calc(var(--vrem) * 8.9);
  --90rem: calc(var(--vrem) * 9.0);
  --91rem: calc(var(--vrem) * 9.1);
  --92rem: calc(var(--vrem) * 9.2);
  --93rem: calc(var(--vrem) * 9.3);
  --94rem: calc(var(--vrem) * 9.4);
  --95rem: calc(var(--vrem) * 9.5);
  --96rem: calc(var(--vrem) * 9.6);
  --97rem: calc(var(--vrem) * 9.7);
  --98rem: calc(var(--vrem) * 9.8);
  --99rem: calc(var(--vrem) * 9.9);
  --100rem: calc(var(--vrem) * 10.0);
  --101rem: calc(var(--vrem) * 10.1);
  --102rem: calc(var(--vrem) * 10.2);
  --103rem: calc(var(--vrem) * 10.3);
  --104rem: calc(var(--vrem) * 10.4);
  --105rem: calc(var(--vrem) * 10.5);
  --106rem: calc(var(--vrem) * 10.6);
  --107rem: calc(var(--vrem) * 10.7);
  --108rem: calc(var(--vrem) * 10.8);
  --109rem: calc(var(--vrem) * 10.9);
  --110rem: calc(var(--vrem) * 11.0);
  --111rem: calc(var(--vrem) * 11.1);
  --112rem: calc(var(--vrem) * 11.2);
  --113rem: calc(var(--vrem) * 11.3);
  --114rem: calc(var(--vrem) * 11.4);
  --115rem: calc(var(--vrem) * 11.5);
  --116rem: calc(var(--vrem) * 11.6);
  --117rem: calc(var(--vrem) * 11.7);
  --118rem: calc(var(--vrem) * 11.8);
  --119rem: calc(var(--vrem) * 11.9);
  --120rem: calc(var(--vrem) * 12.0);
  --121rem: calc(var(--vrem) * 12.1);
  --122rem: calc(var(--vrem) * 12.2);
  --123rem: calc(var(--vrem) * 12.3);
  --124rem: calc(var(--vrem) * 12.4);
  --125rem: calc(var(--vrem) * 12.5);
  --126rem: calc(var(--vrem) * 12.6);
  --127rem: calc(var(--vrem) * 12.7);
  --128rem: calc(var(--vrem) * 12.8);
  --129rem: calc(var(--vrem) * 12.9);
  --130rem: calc(var(--vrem) * 13.0);
  --131rem: calc(var(--vrem) * 13.1);
  --132rem: calc(var(--vrem) * 13.2);
  --133rem: calc(var(--vrem) * 13.3);
  --134rem: calc(var(--vrem) * 13.4);
  --135rem: calc(var(--vrem) * 13.5);
  --136rem: calc(var(--vrem) * 13.6);
  --137rem: calc(var(--vrem) * 13.7);
  --138rem: calc(var(--vrem) * 13.8);
  --139rem: calc(var(--vrem) * 13.9);
  --140rem: calc(var(--vrem) * 14.0);
  --141rem: calc(var(--vrem) * 14.1);
  --142rem: calc(var(--vrem) * 14.2);
  --143rem: calc(var(--vrem) * 14.3);
  --144rem: calc(var(--vrem) * 14.4);
  --145rem: calc(var(--vrem) * 14.5);
  --146rem: calc(var(--vrem) * 14.6);
  --147rem: calc(var(--vrem) * 14.7);
  --148rem: calc(var(--vrem) * 14.8);
  --149rem: calc(var(--vrem) * 14.9);
  --150rem: calc(var(--vrem) * 15.0);
  --151rem: calc(var(--vrem) * 15.1);
  --152rem: calc(var(--vrem) * 15.2);
  --153rem: calc(var(--vrem) * 15.3);
  --154rem: calc(var(--vrem) * 15.4);
  --155rem: calc(var(--vrem) * 15.5);
  --156rem: calc(var(--vrem) * 15.6);
  --157rem: calc(var(--vrem) * 15.7);
  --158rem: calc(var(--vrem) * 15.8);
  --159rem: calc(var(--vrem) * 15.9);
  --160rem: calc(var(--vrem) * 16.0);
  --161rem: calc(var(--vrem) * 16.1);
  --162rem: calc(var(--vrem) * 16.2);
  --163rem: calc(var(--vrem) * 16.3);
  --164rem: calc(var(--vrem) * 16.4);
  --165rem: calc(var(--vrem) * 16.5);
  --166rem: calc(var(--vrem) * 16.6);
  --167rem: calc(var(--vrem) * 16.7);
  --168rem: calc(var(--vrem) * 16.8);
  --169rem: calc(var(--vrem) * 16.9);
  --170rem: calc(var(--vrem) * 17.0);
  --171rem: calc(var(--vrem) * 17.1);
  --172rem: calc(var(--vrem) * 17.2);
  --173rem: calc(var(--vrem) * 17.3);
  --174rem: calc(var(--vrem) * 17.4);
  --175rem: calc(var(--vrem) * 17.5);
  --176rem: calc(var(--vrem) * 17.6);
  --177rem: calc(var(--vrem) * 17.7);
  --178rem: calc(var(--vrem) * 17.8);
  --179rem: calc(var(--vrem) * 17.9);
  --180rem: calc(var(--vrem) * 18.0);
  --181rem: calc(var(--vrem) * 18.1);
  --182rem: calc(var(--vrem) * 18.2);
  --183rem: calc(var(--vrem) * 18.3);
  --184rem: calc(var(--vrem) * 18.4);
  --185rem: calc(var(--vrem) * 18.5);
  --186rem: calc(var(--vrem) * 18.6);
  --187rem: calc(var(--vrem) * 18.7);
  --188rem: calc(var(--vrem) * 18.8);
  --189rem: calc(var(--vrem) * 18.9);
  --190rem: calc(var(--vrem) * 19.0);
  --191rem: calc(var(--vrem) * 19.1);
  --192rem: calc(var(--vrem) * 19.2);
  --193rem: calc(var(--vrem) * 19.3);
  --194rem: calc(var(--vrem) * 19.4);
  --195rem: calc(var(--vrem) * 19.5);
  --196rem: calc(var(--vrem) * 19.6);
  --197rem: calc(var(--vrem) * 19.7);
  --198rem: calc(var(--vrem) * 19.8);
  --199rem: calc(var(--vrem) * 19.9);
  --200rem: calc(var(--vrem) * 20.0);
  --201rem: calc(var(--vrem) * 20.1);
  --202rem: calc(var(--vrem) * 20.2);
  --203rem: calc(var(--vrem) * 20.3);
  --204rem: calc(var(--vrem) * 20.4);
  --205rem: calc(var(--vrem) * 20.5);
  --206rem: calc(var(--vrem) * 20.6);
  --207rem: calc(var(--vrem) * 20.7);
  --208rem: calc(var(--vrem) * 20.8);
  --209rem: calc(var(--vrem) * 20.9);
  --210rem: calc(var(--vrem) * 21.0);
  --211rem: calc(var(--vrem) * 21.1);
  --212rem: calc(var(--vrem) * 21.2);
  --213rem: calc(var(--vrem) * 21.3);
  --214rem: calc(var(--vrem) * 21.4);
  --215rem: calc(var(--vrem) * 21.5);
  --216rem: calc(var(--vrem) * 21.6);
  --217rem: calc(var(--vrem) * 21.7);
  --218rem: calc(var(--vrem) * 21.8);
  --219rem: calc(var(--vrem) * 21.9);
  --220rem: calc(var(--vrem) * 22.0);
  --221rem: calc(var(--vrem) * 22.1);
  --222rem: calc(var(--vrem) * 22.2);
  --223rem: calc(var(--vrem) * 22.3);
  --224rem: calc(var(--vrem) * 22.4);
  --225rem: calc(var(--vrem) * 22.5);
  --226rem: calc(var(--vrem) * 22.6);
  --227rem: calc(var(--vrem) * 22.7);
  --228rem: calc(var(--vrem) * 22.8);
  --229rem: calc(var(--vrem) * 22.9);
  --230rem: calc(var(--vrem) * 23.0);
  --231rem: calc(var(--vrem) * 23.1);
  --232rem: calc(var(--vrem) * 23.2);
  --233rem: calc(var(--vrem) * 23.3);
  --234rem: calc(var(--vrem) * 23.4);
  --235rem: calc(var(--vrem) * 23.5);
  --236rem: calc(var(--vrem) * 23.6);
  --237rem: calc(var(--vrem) * 23.7);
  --238rem: calc(var(--vrem) * 23.8);
  --239rem: calc(var(--vrem) * 23.9);
  --240rem: calc(var(--vrem) * 24.0);
  --241rem: calc(var(--vrem) * 24.1);
  --242rem: calc(var(--vrem) * 24.2);
  --243rem: calc(var(--vrem) * 24.3);
  --244rem: calc(var(--vrem) * 24.4);
  --245rem: calc(var(--vrem) * 24.5);
  --246rem: calc(var(--vrem) * 24.6);
  --247rem: calc(var(--vrem) * 24.7);
  --248rem: calc(var(--vrem) * 24.8);
  --249rem: calc(var(--vrem) * 24.9);
  --250rem: calc(var(--vrem) * 25.0);
  --251rem: calc(var(--vrem) * 25.1);
  --252rem: calc(var(--vrem) * 25.2);
  --253rem: calc(var(--vrem) * 25.3);
  --254rem: calc(var(--vrem) * 25.4);
  --255rem: calc(var(--vrem) * 25.5);
  --256rem: calc(var(--vrem) * 25.6);
  --257rem: calc(var(--vrem) * 25.7);
  --258rem: calc(var(--vrem) * 25.8);
  --259rem: calc(var(--vrem) * 25.9);
  --260rem: calc(var(--vrem) * 26.0);
  --261rem: calc(var(--vrem) * 26.1);
  --262rem: calc(var(--vrem) * 26.2);
  --263rem: calc(var(--vrem) * 26.3);
  --264rem: calc(var(--vrem) * 26.4);
  --265rem: calc(var(--vrem) * 26.5);
  --266rem: calc(var(--vrem) * 26.6);
  --267rem: calc(var(--vrem) * 26.7);
  --268rem: calc(var(--vrem) * 26.8);
  --269rem: calc(var(--vrem) * 26.9);
  --270rem: calc(var(--vrem) * 27.0);
  --271rem: calc(var(--vrem) * 27.1);
  --272rem: calc(var(--vrem) * 27.2);
  --273rem: calc(var(--vrem) * 27.3);
  --274rem: calc(var(--vrem) * 27.4);
  --275rem: calc(var(--vrem) * 27.5);
  --276rem: calc(var(--vrem) * 27.6);
  --277rem: calc(var(--vrem) * 27.7);
  --278rem: calc(var(--vrem) * 27.8);
  --279rem: calc(var(--vrem) * 27.9);
  --280rem: calc(var(--vrem) * 28.0);
  --281rem: calc(var(--vrem) * 28.1);
  --282rem: calc(var(--vrem) * 28.2);
  --283rem: calc(var(--vrem) * 28.3);
  --284rem: calc(var(--vrem) * 28.4);
  --285rem: calc(var(--vrem) * 28.5);
  --286rem: calc(var(--vrem) * 28.6);
  --287rem: calc(var(--vrem) * 28.7);
  --288rem: calc(var(--vrem) * 28.8);
  --289rem: calc(var(--vrem) * 28.9);
  --290rem: calc(var(--vrem) * 29.0);
  --291rem: calc(var(--vrem) * 29.1);
  --292rem: calc(var(--vrem) * 29.2);
  --293rem: calc(var(--vrem) * 29.3);
  --294rem: calc(var(--vrem) * 29.4);
  --295rem: calc(var(--vrem) * 29.5);
  --296rem: calc(var(--vrem) * 29.6);
  --297rem: calc(var(--vrem) * 29.7);
  --298rem: calc(var(--vrem) * 29.8);
  --299rem: calc(var(--vrem) * 29.9);
  --300rem: calc(var(--vrem) * 30.0);
  --1000rem: calc(var(--vrem) * 100.0);
  --breakpoint-pc: 768px;
  --font-cormorant: "Cormorant Garamond", serif;
  --font-noto: "Noto Sans JP", sans-serif;
  --font-noto-serif: "Noto Serif JP", serif;
  /*
  * PC: 1280pxで10px → それ以下は比例縮小、以上は固定
  * 計算: 10 / 1280 * 100 = 0.78125vw
  */
  --vrem: min(0.71429vw, .625rem);
}

/* SP: 375pxで10px → それ以下は比例縮小 */
@media (max-width: 768px) {
  :root {
    --vrem: 2.6667vw;
  }
}

/* ==================================================
  アニメーション指定
================================================== */
[data-js="fade-in"] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

[data-js="fade-in"].js-fade-in {
  opacity: 1;
  transform: translateY(0);
}

/*====================================
↓表示切り替え用CSS↓
====================================*/
@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

/*====================================
↓コンテンツ幅/固定余白関連↓
====================================*/
.l-wid {
  max-width: calc(var(--vrem) * 100);
  margin: 0 auto;
}

.l-idt {
  padding: 0 var(--25rem);
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .l-wid {
    max-width: none;
  }

  .l-idt {
    padding: 0 var(--30rem);
  }
}

[data-js="fade-in"] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-js="fade-in"].js-fade-in {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
* 初期指定
* ======================================== */
.contents {
  overflow: hidden;
  max-width: 100vw;
  background-color: #f5f5f4;
  font-family: var(--font-shippori), var(--font-cormorant);
  font-size: var(--16rem);
  line-height: 1.5;
  font-weight: 400;
}

.contents * {
  box-sizing: border-box;

}

.contents img {
  width: 100%;
  height: auto;
}

.contents sub {
  font-size: .9em;
  vertical-align: sub;
}

.contents sup {
  font-size: .7em;
}

.contents picture {
  display: block;
  line-height: 0;
}

.contents a {
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .contents a:hover {
    opacity: 0.7;
  }
}

/* glightbox関連 */
.glightbox-container .gnext,
.glightbox-container .gprev {
  display: none;
}

.goverlay {
  background: rgba(0, 0, 0, .52) !important;
}

.glightbox-clean .gclose {
  top: var(--45rem) !important;
  right: var(--45rem) !important;
}

.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev {
  background-color: transparent !important;
  opacity: 1 !important;
}

.glightbox-clean .gclose svg {
  width: var(--50rem) !important;
  height: var(--50rem) !important;
}

.gslide-media {
  max-width: 1100px !important;
  margin: 0 var(--25rem);
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .contents {
    font-size: var(--12rem);
  }

  .gslide-media {
    max-width: calc(100% - var(--30rem)) !important;
    margin: 0 var(--15rem);
  }
}

sup {
  font-size: var(--10rem);
  vertical-align: super;
}

/* ==================================================
  バナー
================================================== */
.u-fixedCollab {
  position: fixed;
  bottom: var(--102rem);
  right: 0;
  width: calc(var(--vrem) * 36.0);
  z-index: 100;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-fixedCollab {
    bottom: var(--200rem);
    width: var(--228rem);
  }
}

/* ==================================================
  kv
================================================== */
.u-kvSec {
  font-family: var(--font-noto);
  background-image: url("/img/freepage/Infinity_lp/images/kv_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  /* min-height: calc(var(--vrem) * 70.0); */
  aspect-ratio: 1440 / 700;
}

.u-kvSec__inr {
  position: relative;
  max-width: calc(var(--vrem) * 140.0);
  margin: 0 auto;
  height: 100%;
}

/* タイトル画像 */
.u-kvSec__ttl {
  position: absolute;
  top: 17.1%;
  /* 120 / 700 * 100 ≈ 17.1% */
  left: var(--160rem);
  width: calc(var(--vrem) * 51.3);
}

/* バッジ */
.u-kvSec__badge {
  position: absolute;
  top: 2.9%;
  /* 20 / 700 * 100 ≈ 2.9% */
  right: var(--20rem);
  width: var(--150rem);
}


.u-kvSec__notes {
  position: absolute;
  bottom: 4%;
  left: 0;
  right: 0;
  padding: 0 var(--20rem) var(--20rem);
  color: #DBD5D3;
  /* ← 残す */
  font-family: var(--font-noto);
  font-size: var(--10rem);
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.u-kvSec__productName {
  color: #fff;
  font-family: var(--font-noto-serif);
  font-size: var(--14rem);
  font-weight: 600;
  line-height: 2.6;
}

.u-kvSec__productSub {
  line-height: 1.2;
}

.u-kvSec__footnoteList {
  margin-top: var(--21rem);
}

.u-kvSec__footnoteItem {
  font-size: var(--10rem);
  font-family: var(--font-noto);
  line-height: 1.5;
  color: #DBD5D3;
  padding-left: 2em;
  text-indent: -2em;
}
.u-kvSec__footnoteItem sub {
    font-size: var(--14rem);
    position: relative;
    top: 0.4em;
    vertical-align: baseline;
    line-height: 0;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-kvSec {
    font-family: var(--font-noto);
    background-image: none;
    aspect-ratio: none;
  }

  .u-kvSec__inr {
    background-image: url("/img/freepage/Infinity_lp/images/sp_kv_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding-top: calc(var(--vrem) * 49.1);
    height: calc(var(--vrem) * 65.4);
  }

  .u-kvSec__ttl {
    top: var(--20rem);
    left: var(--20rem);
    width: calc(var(--vrem) * 33.5);
  }

  .u-kvSec__badge {
    top: var(--103rem);
    right: var(--9rem);
    width: var(--89rem);
  }

  .u-kvSec__notes {
    position: static;
    padding: 0 var(--20rem) var(--20rem);
    font-size: var(--10rem);
  }

  .u-kvSec__productName {
    font-size: var(--12rem);
    line-height: 1.6;
  }

  .u-kvSec__productSub {
    line-height: 1.2;
  }

  .u-kvSec__footnoteList {
    margin-top: var(--12rem);
  }
}

/* ==================================================
  アンカーナビ
================================================== */
.u-anchorSec__inr {
  background-image: url("/img/freepage/Infinity_lp/images/anchor_bg.png");
  background-size: contain;
  background-position: center;
}

.u-anchorSec__list {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--30rem) 0;
}

.u-anchorSec__upper,
.u-anchorSec__bottom {
  display: flex;
}

.u-anchorSec__upperList,
.u-anchorSec__bottomList {
  display: flex;
}

.u-anchorSec__link {
  display: flex;
  align-items: center;
  gap: var(--20rem);
  padding: 0 var(--30rem);
  font-family: var(--font-noto-serif);
  font-size: var(--14rem);
  line-height: 1;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.04em;
}

.u-anchorSec__link::after {
  content: "";
  display: block;
  width: var(--10rem);
  height: var(--4rem);
  background-image: url("/img/freepage/Infinity_lp/images/icon_chevron.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-anchorSec__inr {
    background-image: url("/img/freepage/Infinity_lp/images/sp_anchor_bg.png");
    background-size: cover;
    background-position: center;
  }

  .u-anchorSec__list {
    flex-direction: column;
    padding: var(--6rem) var(--20rem);
  }

  .u-anchorSec__upper,
  .u-anchorSec__bottom {
    width: 100%;
  }

  .u-anchorSec__upperList,
  .u-anchorSec__bottomList {
    justify-content: center;
  }

  .u-anchorSec__item {
    text-align: center;
  }

  .u-anchorSec__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    justify-content: center;
  }

  .u-anchorSec__link {
    justify-content: center;
    padding: var(--15rem) var(--20rem);
    font-size: var(--12rem);
    gap: var(--15rem);
  }

  .u-anchorSec__link::after {
    width: var(--8rem);
    height: var(--4rem);
  }
}

/* ==================================================
  Conceptセクション
================================================== */
.u-conceptSec {
  background-image: url("/img/freepage/Infinity_lp/images/concept_bg.png");
  background-size: cover;
  background-position: top center;
}

.u-conceptSec__inr {
  padding: var(--75rem) 0 var(--80rem);
  max-width: var(--1000rem);
  margin: 0 auto;
}

/* 商品エリア */
.u-conceptSec__product {
  display: flex;
  align-items: center;
  gap: var(--52rem);
}

.u-conceptSec__img {
  width: var(--236rem);
  flex-shrink: 0;
}

.u-conceptSec__body {
  flex: 1;
}

.u-conceptSec__date {
  display: inline-block;
  border: var(--1rem) solid #EBDFC0;
  color: #EBDFC0;
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: var(--10rem) var(--20rem);
}

.u-conceptSec__ttl {
  font-family: var(--font-noto-serif);
  font-size: var(--35rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-top: var(--20rem);
}

.u-conceptSec__label {
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  color: #fff;
  line-height: 2.3;
  margin-top: var(--10rem);
}

.u-conceptSec__salesName {
  font-family: var(--font-noto);
  font-size: var(--12rem);
  color: #DBD5D3;
  margin-top: var(--20rem);
  letter-spacing: 0.04em;
}

.u-cartBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: var(--30rem);
  padding: var(--20rem);
  width: var(--280rem);
  background-color: #fff;
  color: #8E6E42;
  border-radius: var(--6rem);
  font-family: var(--font-noto);
  font-size: var(--14rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
}
.u-cartBtn sub{
  position: relative;
  top: 0.5em;
}

.u-cartBtn::after {
  content: "";
  display: block;
  position: absolute;
  right: var(--20rem);
  width: var(--18rem);
  height: var(--15rem);
  background-image: url("/img/freepage/Infinity_lp/images/icon_cart.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.u-cartBtn.--dark {
  background-color: #1a1a1a;
  color: #fff;
}

.u-cartBtn.--dark {
  background-color: #1a1a1a;
  color: #fff;
}

/* ネイビーパターン */
.u-cartBtn.--navy {
  margin-top: var(--20rem);
  background-color: #1B2A4A;
  color: #fff;
}

.u-cartBtn.--navy::after {
  background-image: url("/img/freepage/Infinity_lp/images/icn_arrow_white.png");
  width: var(--4rem);
  height: var(--6rem);
}

/* Conceptリード */
.u-conceptSec__lead {
  margin-top: var(--40rem);
  padding-top: var(--60rem);
  text-align: center;
  border-top: var(--1rem) solid #FFFFFF4D;
}

.u-conceptSec__leadEn {
  font-family: var(--font-noto-serif);
  font-size: var(--14rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.04em;
}

.u-conceptSec__leadTtl {
  margin: var(--10rem) auto;
  width: calc(var(--vrem) * 56.2);
}

.u-conceptSec__leadTxt {
  font-family: var(--font-noto-serif);
  font-size: var(--14rem);
  color: #fff;
  line-height: 2.5;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: var(--50rem);
}

.u-conceptSec__leadTxt.--gap {
  margin-top: var(--40rem);
}

.u-conceptSec__footnoteList {
  margin-top: var(--40rem);
  text-align: left;
}

.u-conceptSec__footnoteItem {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #DBD5D3;
  line-height: 1.6;
  padding-left: var(--80rem);
  letter-spacing: 0.04em;
}

.u-conceptSec__footnoteItem sub {
  font-size: var(--14rem);
    position: relative;
  top: 0.4em;
  vertical-align: baseline;
  line-height: 0;
}

/* 動画 */
.u-conceptSec__movie {
  margin-top: var(--60rem);
}

.u-conceptSec__movie video-js {
  margin: 0 auto;
  display: block;
  width: calc(var(--vrem) * 66.0);
  height: 100%;
  aspect-ratio: 660/ 371;
}

/* Award */
.u-conceptSec__award {
  margin-top: var(--70rem);
  border-top: 1px solid #EBDFC0;
  border-bottom: 1px solid #EBDFC0;
}

.u-conceptSec__awardBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: var(--10rem) 0;
  background: transparent;
  border: none;
  cursor: pointer;
}

.u-conceptSec__awardBtnTxt {
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  color: #EBDFC0;
  letter-spacing: 0.04em;
}

/* 横棒（固定） */
.u-conceptSec__awardBtn::before {
  content: "";
  position: absolute;
  right: var(--12rem);
  top: 50%;
  width: var(--12rem);
  height: var(--1rem);
  background: #fff;
  transform: translateY(-50%);
}

/* 縦棒（開いたら消える） */
.u-conceptSec__awardBtn::after {
  content: "";
  position: absolute;
  right: var(--18rem);
  top: 50%;
  width: var(--1rem);
  height: var(--12rem);
  background: #fff;
  transform: translateY(-50%);
  transition: transform 0.4s ease;
}

/* 開いたら縦棒を回転して消す */
.u-conceptSec__awardBtn.js-open::after {
  transform: translateY(-50%) rotate(90deg);
}

.u-conceptSec__awardBody {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}

.u-conceptSec__awardInner {
  border-top: 1px solid #816E55;
  padding: var(--30rem) var(--20rem);
}

.u-conceptSec__awardItem {
  font-family: var(--font-noto);
  font-size: var(--13rem);
  color: #fff;
  line-height: 2;
  letter-spacing: 0.04em;
  padding-bottom: var(--10rem);
}

.u-conceptSec__awardItem:last-child {
  padding-bottom: 0;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-conceptSec {
    background-image: url("/img/freepage/Infinity_lp/images/sp_concept_bg.png");
  }

  .u-conceptSec__inr {
    padding: var(--30rem) var(--20rem) var(--60rem);
  }

  .u-conceptSec__product {
    flex-direction: column;
    gap: var(--20rem);
  }

  .u-conceptSec__img {
    width: var(--224rem);
    flex-shrink: 0;
  }

  .u-conceptSec__body {
    text-align: center;
  }

  .u-conceptSec__date {
    padding: var(--8rem) var(--14rem);
  }

  .u-conceptSec__ttl {
    margin-top: var(--10rem);
    font-size: var(--21rem);
  }

  .u-conceptSec__label {
    font-size: var(--14rem);
    line-height: 2;
  }

  .u-cartBtn {
    width: 100%;
  }

  .u-cartBtn::after {
    right: var(--24rem);
    width: var(--23rem);
    height: var(--16rem);
  }

  .u-conceptSec__lead {
    padding-top: var(--40rem);
  }

  .u-conceptSec__leadTtl {
    margin: var(--10rem) auto;
    width: var(--202rem);
  }

  .u-conceptSec__leadEn {
    text-align: center;
  }

  .u-conceptSec__leadTxt {
    margin-top: var(--30rem);
    font-size: var(--13rem);
    line-height: 2.3;
  }

  .u-conceptSec__leadTxt.--gap {
    margin-top: var(--32rem);
  }

  .u-conceptSec__footnoteList {
    margin-top: var(--30rem);
  }

  .u-conceptSec__footnoteItem {
    line-height: 1.5;
    padding-left: 0;
    padding-left: 2em;
    text-indent: -2em;
  }

  .u-conceptSec__movie {
    margin-top: var(--25rem);
  }

  .u-conceptSec__movie video-js {
    width: 100%;
    aspect-ratio: 335/188;
  }

  .u-conceptSec__award {
    margin-top: var(--60rem);
  }

  .u-conceptSec__awardInner {
    padding: var(--30rem) var(--10rem);
  }
}

/* ==================================================
  Features大枠
================================================== */
.u-featuresWrap {
  background-image: url("/img/freepage/Infinity_lp/images/bg_yellow.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.u-featuresWrap__inr {
  padding: var(--80rem) 0 var(--20rem);
}

/* ==================================================
  Featuresセクション（問い〜Point03）
================================================== */
.u-featuresSec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
}

.u-featuresSec__question {
  width: var(--1000rem);
  margin: 0 auto;
}

.u-featuresSec__arrow {
  position: relative;
  width: var(--90rem);
  margin: var(--60rem) auto 0;
  z-index: 1;
}

.u-featuresSec__lead {
  width: var(--756rem);
  margin: calc(var(--vrem) * -18.4) auto 0;
}

.u-featuresSec__point01 {
  margin: calc(var(--vrem) * -15.0) auto 0;
  width: calc(var(--vrem) * 66.2);
}

.u-featuresSec__cross {
  display: block;
  width: var(--50rem);
  height: var(--28rem);
  margin: var(--10rem) auto 0;
}

.u-featuresSec__pointGroup {
  display: flex;
  gap: var(--20rem);
  margin: 0 auto;
  width: calc(var(--vrem) * 66.2);
}

.u-featuresSec__point02,
.u-featuresSec__point03 {
  flex: 1;
}

.u-featuresSec__pointLink {
  display: block;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-featuresWrap {
    background-image: url("/img/freepage/Infinity_lp/images/sp_bg_yellow.png");
  }

  .u-featuresWrap__inr {
    padding: var(--60rem) 0 var(--30rem);
  }

  .u-featuresSec__inr {
    padding: 0 var(--20rem);
  }

  .u-featuresSec__question {
    width: 100%;
  }

  .u-featuresSec__arrow {
    width: var(--80rem);
    margin-top: var(--30rem);
  }

  .u-featuresSec__lead {
    width: 189%;
    margin: calc(var(--vrem) * -13) auto 0;
    transform: translateX(-23.666%);
  }

  .u-featuresSec__point01 {
    width: 100%;
    /* transform: translateX(-5.357%); */
    margin: calc(var(--vrem) * -15) auto 0;
  }

  .u-featuresSec__cross {
    margin: var(--10rem) auto 0;
  }

  .u-featuresSec__pointGroup {
    gap: var(--15rem);
    width: 100%;
  }
}

/* ==================================================
  Point01セクション
================================================== */
.u-point01Sec {
  margin-top: var(--80rem);
}

.u-point01Sec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
}

.u-point01Sec__outline {
  border: var(--1rem) solid #8E6E42;
  padding: var(--20rem) var(--20rem);
}

.u-point01Sec__bg {
  background: #FFFDF5;
  padding: var(--40rem) var(--35rem) var(--50rem);
}

.u-point01Sec__head {
  width: 100%;
}

.u-point01Sec__wrap {
  padding: 0 var(--25rem);
}

.u-point01Sec__body {
  text-align: center;
}

.u-point01Sec__ttl {
  font-family: var(--font-noto);
  font-size: var(--28rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.u-point01Sec__txt {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  color: #141318;
  line-height: 2;
  letter-spacing: 0.04em;
  margin-top: var(--30rem);
}

.u-point01Sec__footnoteList {
  margin-top: var(--20rem);
  text-align: left;
}

.u-point01Sec__footnoteItem {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #605D69;
  line-height: 1.5;
  letter-spacing: 0.04em;
      padding-left: 1em;
    text-indent: -1em;
}

.u-point01Sec__diagram {
  margin-top: var(--40rem);
}

.u-point01Sec__ingredient {
  margin-top: var(--40rem);
}

.u-point01Sec__btnWrap {
  display: flex;
  justify-content: center;
  margin-top: var(--20rem);
}


/* SP
----------------------------------*/
@media (max-width: 768px) {

  .u-point01Sec {
    margin-top: var(--80rem);
  }

  .u-point01Sec__inr {
    padding: 0 var(--20rem);
  }

  .u-point01Sec__head {
    width: 100%;
  }

  .u-point01Sec__wrap {
    padding: 0;
  }

  .u-point01Sec__outline {
    border: var(--1rem) solid #8E6E42;
    padding: var(--5rem);
  }

  .u-point01Sec__bg {
    background: #FFFDF5;
    padding: var(--25rem) var(--20rem) var(--35rem);
  }

  .u-point01Sec__ttl {
    font-size: var(--22rem);
  }

  .u-point01Sec__txt {
    margin-top: var(--20rem);
    text-align: left;
    font-size: var(--14rem);
  }

  .u-point01Sec__ingredient {
    margin-top: var(--20rem);
  }

  .u-point01Sec__btnWrap {
    margin-top: var(--5rem);
  }
}

/* ==================================================
  Point02セクション
================================================== */
.u-point02Sec {
  margin-top: var(--80rem);
}

.u-point02Sec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
}

.u-point02Sec__head {
  width: 100%;
}

.u-point02Sec__outline {
  border: var(--1rem) solid #8E6E42;
  padding: var(--20rem);
}

.u-point02Sec__bg {
  background: #FFFDF5;
  padding: var(--40rem) var(--60rem) var(--50rem);
}

.u-point02Sec__result {
  border-top: var(--1rem) solid #EBDFC0;
  padding-top: var(--40rem);
  margin-top: var(--40rem);
}

.u-point02Sec__resultTtl {
  font-family: var(--font-noto);
  font-size: var(--20rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
  text-align: center;
}

.u-point02Sec__resultGroup {
  display: flex;
  gap: var(--40rem);
  margin-top: var(--20rem);
}

.u-point02Sec__resultItem {
  flex: 1;
}

.u-point02Sec__resultLabel {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  font-weight: 700;
  color: #141318;
  letter-spacing: 0.04em;
  padding: var(--7rem) var(--20rem);
  text-align: center;
}

.u-point02Sec__resultLabel.--before {
  background-color: #E5E5E5;
}

.u-point02Sec__resultLabel.--after {
  background-color: #15204A;
  color: #fff;
}

.u-point02Sec__resultImg {
  margin: var(--20rem) auto;
  width: var(--240rem);
}

.u-point02Sec__resultTxt {
  text-align: center;
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--vrem) * 40);
  height: var(--90rem);
  font-family: var(--font-noto);
  font-size: var(--13rem);
  color: #141318;
  border-radius: var(--6rem);
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: var(--10rem);
  padding: var(--15rem);
  background-color: #F7F7F7;
  border: var(--1rem) solid #D8D8D8;
}

.u-point02Sec__resultTxt.--after {
  background-color: #FAF5E7;
  border: var(--1rem) solid #EBDFC0;
}

.u-point02Sec__resultTxtEm {
  color: #8E6E42;
  font-weight: 700;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {

  .u-point02Sec {
    margin-top: var(--50rem);
  }

  .u-point02Sec__inr {
    padding: 0 var(--20rem);
  }

  .u-point02Sec__outline {
    padding: var(--5rem);
  }

  .u-point02Sec__bg {
    padding: var(--25rem) var(--20rem) var(--35rem);
  }

  .u-point02Sec__resultGroup {
    flex-direction: column;
    gap: var(--30rem);
  }

  .u-point02Sec__resultTxt {
    text-align: center;
    flex-direction: column;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    letter-spacing: 0;
    line-height: 1.6;
    color: #141318;
    border-radius: var(--6rem);
    margin-top: var(--15rem);
    padding: var(--15rem);
  }

  .u-point02Sec__resultTtl {
    font-size: var(--18rem);
  }
}

/* ==================================================
  Point03セクション
================================================== */
.u-point03Sec {
  margin-top: var(--80rem);
}

.u-point03Sec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
}

.u-point03Sec__head {
  width: 100%;
}

.u-point03Sec__outline {
  border: var(--1rem) solid #8E6E42;
  padding: var(--20rem);
}

.u-point03Sec__bg {
  background-image: url("/img/freepage/Infinity_lp/images/point03_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: var(--40rem) var(--60rem) var(--50rem);
}

/* 成分カード */
.u-point03Sec__cardList {
  display: flex;
  gap: var(--20rem);
}

.u-point03Sec__cardItem {
  flex: 1;
  width: var(--195rem);
  background-color: #FFF;
  box-shadow: 0 0 20px #967F53;
  padding: var(--28rem) var(--31rem);
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  color: #8E6E42;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-wrap: nowrap;
  border-radius: var(--8rem);
}

/* 箇条書き成分 */
.u-point03Sec__ingredientList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 var(--10rem);
  margin-top: var(--20rem);
}

.u-point03Sec__ingredientItem {
  font-family: var(--font-noto);
  font-size: var(--13rem);
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 2;
}

.u-point03Sec__ingredientItem::before {
  content: "●";
  margin-right: var(--2em);
}

.u-point03Sec__footnote {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #DBD5D3;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin-top: var(--10rem);
  text-align: right;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-point03Sec {
    margin-top: var(--50rem);
  }

  .u-point03Sec__inr {
    padding: 0 var(--20rem);
  }

  .u-point03Sec__outline {
    padding: var(--5rem);
  }

  .u-point03Sec__bg {
    padding: var(--25rem) var(--20rem) var(--35rem);
    background-image: url("/img/freepage/Infinity_lp/images/sp_point03_bg.png");
  }

  .u-point03Sec__cardList {
    flex-wrap: wrap;
    gap: var(--13rem);
  }

  .u-point03Sec__cardItem {
    width: var(--135rem);
    flex: none;
    line-height: 1.5;
    padding: var(--18rem) var(--15rem);
  }


  .u-point03Sec__ingredientItem {
    font-size: var(--14rem);
  }

  .u-point03Sec__ingredientItem::before {
    margin-right: var(--4em);
  }

  .u-point03Sec__footnote {
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin-top: var(--25rem);
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
  }
}

/* ==================================================
  effectセクション
================================================== */
.u-effectSec {
  background-image: url("/img/freepage/Infinity_lp/images/effect_bg.png");
  background-size: cover;
  background-position: center;
}

.u-effectSec__tri {
  width: 100%;
}

.u-effectSec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
  padding: var(--56rem) 0 var(--70rem);
}

.u-effectSec__block {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.u-effectSec__block::before {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--vrem) * 100.0);
  height: calc(var(--vrem) * 40.5);
  background-image: url('/img/freepage/Infinity_lp/images/round_br.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.u-effectSec__block>* {
  position: relative;
  z-index: 1;
}

.u-effectSec__block+.u-effectSec__block {
  margin-top: var(--40rem);
}

.u-effectSec__ttl {
  display: inline-block;
  margin: 0 auto;
  font-family: var(--font-noto-serif);
  font-size: var(--28rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
  padding-bottom: var(--7rem);
  border-bottom: var(--1rem) solid #8F6B42;
}

.u-effectSec__ttl span {
  font-size: var(--40rem);
}

/* バブルリスト */
.u-effectSec__bubbleList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--20rem);
  margin-top: var(--23rem);
}

.u-effectSec__bubbleItem {
  width: var(--90rem);
}

/* 肌写真グループ */
.u-effectSec__skinGroup {
  display: flex;
  gap: var(--10rem);
  margin: var(--27rem) auto 0;
  max-width: calc(var(--vrem) * 72.7);
}

.u-effectSec__skinGroup.--col2 {
  justify-content: center;
  max-width: calc(var(--vrem) * 41.0);
  margin-left: auto;
  margin-right: auto;
  gap: var(--30rem);
}

.u-effectSec__skinItem {
  flex: 1;
}

.u-effectSec__skinItem:nth-child(2) {
  margin-right: var(--8rem);
}

.u-effectSec__skinItem:nth-child(3) {
  margin-left: var(--8rem);
}

.u-effectSec__skinLabel {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #141318;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

.u-effectSec__skinLabel.--highlight {
  color: #8E6E42;
  font-weight: 700;
}

.u-effectSec__skinImg {
  margin-top: var(--8rem);
}

.u-effectSec__note {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #605D69;
  letter-spacing: 0.04em;
  text-align: right;
  margin-top: var(--10rem);
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-effectSec {
    background-image: url("/img/freepage/Infinity_lp/images/sp_effect_bg.png");
    background-size: cover;
    background-position: center;
  }

  .u-effectSec__inr {
    padding: var(--30rem) var(--20rem) var(--50rem);
  }

  .u-effectSec__ttl {
    line-height: 1.8;
  }

  .u-effectSec__bubbleList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--6rem) var(--10rem);
    margin-top: var(--25rem);
  }

  .u-effectSec__block::before {
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(var(--vrem) * 37.5);
    height: calc(var(--vrem) * 94.5);
    background-image: url('/img/freepage/Infinity_lp/images/sp_round_br.png');
  }

  .u-effectSec__block.--finish::before {
    top: 50%;
    width: calc(var(--vrem) * 37.5);
    height: calc(var(--vrem) * 94.5);
    background-image: url('/img/freepage/Infinity_lp/images/sp_round_br_2.png');
    background-size: cover;
  }

  .u-effectSec__skinGroup {
    flex-wrap: wrap;
    gap: var(--15rem);
  }

  .u-effectSec__skinItem {
    width: calc(50% - var(--8rem));
    flex: none;
  }

  .u-effectSec__skinItem:nth-child(2) {
    margin-right: 0;
  }

  .u-effectSec__skinItem:nth-child(3) {
    margin-left: 0;
  }

  .u-effectSec__skinGroup.--col2 {
    max-width: 100%;
    gap: var(--15rem);
  }

  .u-effectSec__skinGroup.--col2 .u-effectSec__skinItem {
    width: calc(50% - var(--8rem));
  }
}

/* ==================================================
  Productセクション
================================================== */
.u-productSec {
  background-image: url("/img/freepage/Infinity_lp/images/product_bg.png");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}

.u-productSec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
  padding: var(--50rem) 0 var(--60rem);
}

.u-productSec__item {
  display: flex;
  gap: var(--20rem);
}

.u-productSec__img {
  width: calc(var(--vrem) * 27.0);
  flex-shrink: 0;
  margin-left: var(--60rem);
  margin-top: calc(var(--vrem) * -1.3);
}

.u-productSec__img.--limited {
  margin-top: 0;
}

.u-productSec__body {
  margin-top: var(--16rem);
}

.u-productSec__label {
  font-family: var(--font-noto-serif);
  font-size: var(--14rem);
  font-weight: 600;
  color: #EBDFC0;
  letter-spacing: 0.04em;
}

.u-productSec__catch {
  font-family: var(--font-noto-serif);
  font-size: var(--20rem);
  font-weight: 600;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.04em;
  margin-top: var(--18rem);
}

.u-productSec__catch sub {
    position: relative;
  top: 0.35em;
  vertical-align: baseline;
}

.u-productSec__footnote {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #DBD5D3;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: var(--18rem);
  padding-left: 2em;
  text-indent: -2em;
}

.u-productSec__footnote + .u-productSec__footnote {
  margin-top: 0;
}

.u-productSec__date {
  display: inline-block;
  border: var(--1rem) solid #EBDFC0;
  color: #FAF5E7;
  font-weight: 400;
  font-family: var(--font-noto);
  font-size: var(--13rem);
  letter-spacing: 0.04em;
  padding: var(--8rem) var(--16rem);
  margin-top: var(--40rem);
}

.u-productSec__name {
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: var(--15rem);
}

.u-productSec__salesName {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #DBD5D3;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: var(--6rem);
}

.u-productSec__price {
  font-family: var(--font-noto);
  font-size: var(--11rem);
  color: #fff;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: var(--15rem);
}

.u-productSec__price span {
  color: #DBD5D3;
}

.u-productSec__divider {
  border-top: var(--1rem) solid #554C41;
  margin: var(--50rem) 0;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-productSec {
    background-image: url("/img/freepage/Infinity_lp/images/sp_product_bg.png");
  }

  .u-productSec__inr {
    padding: var(--50rem) var(--20rem) var(--70rem);
  }

  .u-productSec__item {
    display: block;
  }

  .u-productSec__img {
    width: var(--240rem);
    margin-top: 0;
    margin-left: var(--29rem);
    margin-bottom: calc(var(--vrem) * -5.8);
  }

  .u-productSec__img.--limited {
    margin-top: var(--20rem);
  }


  .u-productSec__catch {
    font-size: var(--18rem);
    line-height: 1.6;
  }

  .u-productSec__footnote {
    margin-top: var(--20rem);
  }

  .u-productSec__name {
    font-size: var(--16rem);
  }

  .u-productSec__divider {
    border-top: var(--1rem) solid #554C41;
    margin: var(--40rem) 0;
  }

  .u-productSec__date {
    margin-top: var(--20rem);
  }
}

/* ==================================================
  使用ステップ大枠
================================================== */
.u-stepWrap {
  background-image: url("/img/freepage/Infinity_lp/images/bg_yellow.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: var(--100rem) 0;
}

.u-stepWrap__inr {
  margin: 0 auto;
  background-color: #FFFDF5;
  max-width: calc(var(--vrem) * 130.0);
}

/* ==================================================
  使用ステップセクション
================================================== */
.u-stepSec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;

  padding: var(--60rem) 0 var(--70rem);
}

.u-stepSec__head {
  text-align: center;
}

.u-stepSec__headTxt {
  display: inline-block;
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  color: #141318;
  letter-spacing: 0.04em;
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: var(--8rem);
  border-bottom: var(--1rem) solid #8D6C42;
}

.u-stepSec__headTxt sub {
    position: relative;
  top: 0.35em;
  vertical-align: baseline;
}

.u-stepSec__headTtl {
  font-family: var(--font-noto);
  font-size: var(--20rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
  margin-top: var(--10rem);
}

.u-stepSec__block {
  margin-top: var(--40rem);
}

.u-stepSec__block+.u-stepSec__block {
  margin-top: var(--50rem);
}

.u-stepSec__blockTtl {
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  color: #141318;
  letter-spacing: 0.04em;
  text-align: center;
  background-color: #EBDFC0;
  padding: var(--8rem) 0;
}

/* リスト */
.u-stepSec__list {
  display: flex;
  align-items: flex-start;
  margin-top: var(--20rem);
}

.u-stepSec__list.--col2 {
  justify-content: center;
  max-width: calc(var(--vrem) * 46.6);
  margin-left: auto;
  margin-right: auto;
}

/* アイテム */
.u-stepSec__item {
  flex: 1;
  display: flex;
  width: var(--200rem);
  height: calc(var(--vrem) * 34.2);
  flex-direction: column;
  align-items: center;
}


.u-stepSec__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  margin-top: var(--10rem);
}

/* 矢印 */
.u-stepSec__arrowItem {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}



.u-stepSec__arrow {
  width: var(--20rem);
  margin: var(--60rem) var(--23rem);
}

.u-stepSec__date {
  display: inline-block;
  border: var(--1rem) solid #8E6E42;
  color: #8E6E42;
  font-family: var(--font-noto);
  font-size: var(--12rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  width: 100%;
  padding: var(--4rem);
  text-align: center;
}

.u-stepSec__date span {
  font-family: var(--font-noto-serif);
  font-weight: 700;
}

.u-stepSec__name {
  font-family: var(--font-noto-serif);
  font-size: var(--12rem);
  font-weight: 600;
  color: #141318;
  line-height: 1.5;
  margin-top: var(--8rem);
}

.u-stepSec__salesName {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  font-weight: 400;
  color: #605D69;
  margin-top: var(--8rem);
}

.u-cartBtn.--beige {
  background-color: #8E6E42;
  color: #fff;
  margin-top: auto;
  width: 100%;
  padding: var(--12rem);
  font-size: var(--13rem);
}

.u-cartBtn.--beige::after {
  background-image: url("/img/freepage/Infinity_lp/images/icon_cart_white.png");
  right: var(--15rem);
  width: var(--15rem);
  height: var(--12rem);
}

.u-stepSec__footnote {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #605D69;
  letter-spacing: 0.04em;
  text-align: right;
  font-weight: 400;
  margin-top: var(--30rem);
  padding-left: 1em;
  text-indent: -1em;
}

/* その他商品特長 */
.u-stepOther {
  padding: var(--100rem) 0 0;
}

.u-stepOther__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
}

.u-stepOther__ttl {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  font-weight: 400;
  color: #141318;
  letter-spacing: 0.04em;
}

.u-stepOther__list {
  margin-top: var(--10rem);
}

.u-stepOther__item {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  color: #141318;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.u-stepOther__note {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #695D5D;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: var(--10rem);
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-stepWrap {
    background-image: url(/img/freepage/Infinity_lp/images/sp_bg_yellow.png);
    padding: var(--70rem) 0 var(--63rem);
  }

  .u-stepWrap__inr {
    padding-top: var(--40rem);
    max-width: calc(var(--vrem) * 35.5);
  }

  .u-stepSec__inr {
    padding: 0 var(--20rem) var(--60rem);
  }

  .u-stepSec__headTxt {
    font-size: var(--16rem);
    display: block;
    padding-bottom: var(--15rem);
    border-bottom: 1px solid #8D6C42;
  }

  .u-stepSec__headTtl {
    margin-top: var(--15rem);
    font-size: var(--20rem);
    line-height: 1.5;
  }

  .u-stepSec__block {
    margin-top: var(--30rem);
  }

  .u-stepSec__blockTtl {
    font-size: var(--14rem);
    letter-spacing: 0.04em;
    padding: var(--9rem) 0;
  }

  .u-stepSec__list {
    flex-direction: column;
    gap: 0;
  }

  .u-stepSec__list.--col2 {
    max-width: 100%;
  }

  .u-stepSec__item {
    width: 100%;
    height: auto;
    flex-direction: row;
    align-items: flex-end;
    gap: var(--15rem);
  }

  .u-stepSec__list.--col2 .u-stepSec__item {
    width: 100%;
  }

  .u-stepSec__body {
    margin-top: 0;
  }

  .u-stepSec__img {
    width: var(--130rem);
  }

  .u-stepSec__date {
    border: var(--1rem) solid #8E6E42;
    font-size: var(--11rem);
    padding: var(--4rem);
  }

  .u-stepSec__arrowItem {
    width: 100%;
    justify-content: center;
    padding-bottom: 0;
    padding: var(--20rem) 0 var(--10rem);
  }

  .u-stepSec__arrow {
    margin: 0;
    width: var(--30rem);

  }

  .u-cartBtn.--beige {
    margin-top: var(--10rem);
  }

  .u-cartBtn.--beige::after {
    margin-top: var(--2rem);
    right: var(--10rem);
  }

  .u-stepSec__footnote {
    text-align: left;
    font-weight: 400;
    margin-top: var(--30rem);
  }

  .u-stepOther {
    padding: var(--60rem) var(--20rem) 0;
  }

  .u-stepOther__list {
    margin-top: 0;
  }

  .u-stepOther__item {
    margin-top: var(--15rem);
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.8;
  }

  .u-stepOther__note {
    margin-top: var(--20rem);
  }
}

/* ==================================================
  Shopセクション
================================================== */
.u-shopSec {
  background-color: #FFFDF5;
}

.u-shopSec__inr {
  max-width: var(--1000rem);
  margin: 0 auto;
  padding: var(--60rem) 0;
}

/* 上部エリア */
.u-shopSec__head {
  text-align: center;
}

.u-shopSec__ttl {
  font-family: var(--font-noto-serif);
  font-size: var(--24rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
}

.u-shopSec__txt {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  color: #141318;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: var(--30rem);
}

.u-shopSec__note {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #605D69;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: var(--10rem);
}

.u-shopSec__head .u-cartBtn.--navy {
  margin: var(--24rem) auto 0;
}

/* Maison KOSÉエリア */
.u-shopSec__maison {
  background-color: #FAF5E7;
  margin-top: var(--50rem);
  padding: var(--40rem) var(--80rem);
}

.u-cartBtn.--white {
  background-color: #fff;
  color: #141318;
  border-radius: var(--6rem);
  width: var(--280rem);
  margin: 0 auto;
  border: var(--1rem) solid #EBDFC0;
}

.u-shopSec__maisonBtnImg {
  width: var(--118rem);
}

.u-shopSec__maisonBtnTxt {
  font-family: var(--font-noto-serif);
  font-size: var(--16rem);
  font-weight: 600;
  color: #141318;
  letter-spacing: 0.04em;
}

.u-shopSec__maisonBtnIcon {
  width: var(--24rem);
}

.u-shopSec__divider {
  border-top: var(--1rem) solid #8D6C42;
  margin: var(--40rem) 0 var(--30rem);
}

.u-shopSec__benefitTtl {
  font-family: var(--font-noto);
  font-size: var(--20rem);
  font-weight: 600;
  color: #8E6E42;
  letter-spacing: 0.04em;
  text-align: center;
}

.u-shopSec__benefitList {
  display: flex;
  justify-content: center;
  gap: var(--50rem);
  margin-top: var(--10rem);
}

.u-shopSec__benefitItem {
  display: flex;
  align-items: center;
  gap: var(--10rem);
}

.u-shopSec__benefitIcon {
  width: var(--60rem);
  height: var(--60rem);
  flex-shrink: 0;
}

.u-shopSec__benefitTxt {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  font-weight: 700;
  color: #141318;
  letter-spacing: 0.04em;
}

/* オンラインストア一覧 */
.u-shopSec__online {
  margin-top: var(--50rem);
  text-align: center;
}

.u-shopSec__onlineTxt {
  font-family: var(--font-noto);
  font-size: var(--14rem);
  color: #141318;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.u-shopSec__onlineNote {
  font-family: var(--font-noto);
  font-size: var(--10rem);
  color: #605D69;
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-top: var(--10rem);
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
  text-align: center;
}

.u-shopSec__onlineNote+.u-shopSec__onlineNote {
  margin-top: 0;
}

.u-shopSec__logoList {
  display: flex;
  justify-content: center;
  gap: var(--10rem);
  margin-top: var(--30rem);
}

.u-shopSec__logoItem {
  width: var(--150rem);
}

.u-shopSec__logoLink {
  display: block;
}

/* SP
----------------------------------*/
@media (max-width: 768px) {
  .u-shopSec__inr {
    padding: var(--40rem) var(--20rem) var(--60rem);
  }

  .u-shopSec__head .u-cartBtn.--navy {
    width: 100%;
  }

  .u-shopSec__maison {
    padding: var(--40rem) var(--20rem);
  }

  .u-shopSec__maisonBtn {
    width: 100%;
  }

  .u-shopSec__benefitList {
    flex-direction: column;
    gap: var(--10rem);
    align-items: flex-start;
    padding-left: var(--15rem);
  }

  .u-shopSec__benefitIcon {
    width: var(--70rem);
    height: var(--70rem);
    flex-shrink: 0;
  }

  .u-shopSec__onlineNote {
    text-align: left;
  }

  .u-shopSec__logoList {
    margin-top: var(--20rem);
    flex-wrap: wrap;
    gap: var(--15rem);
  }

  .u-shopSec__logoItem {
    width: var(--160rem);
    flex: auto;
  }
}

#modalVideo.video-js .vjs-big-play-button {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  font-size: 40px;
  line-height: 80px;

  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -40px;
}

#modalVideo.video-js .vjs-big-play-button .vjs-icon-placeholder::before {
  font-size: 40px;
  line-height: 80px;
}

.u-conceptSec__movie .video-js:hover .vjs-big-play-button,
.u-conceptSec__movie .video-js .vjs-big-play-button:hover {
  background-color: #8E6E42;
  border-color: #8E6E42;
}
.u-conceptSec__movie .video-js .vjs-play-progress {
  background-color: #8E6E42;;
}

@media screen and (max-width: 767px) {
  #modalVideo.video-js .vjs-big-play-button {
    width: 52px;
    height: 52px;
    font-size: 26px;
    line-height: 52px;

    margin-top: -26px;
    margin-left: -26px;
  }

  #modalVideo.video-js .vjs-big-play-button .vjs-icon-placeholder::before {
    font-size: 26px;
    line-height: 52px;
  }
}