@charset "UTF-8";

html,
body,
#aspnetForm {
  overflow-x: clip !important;
}

#aspnetForm {
  overflow-y: clip;
}
/* =====================================================
   MSL LP テンプレート style.css
   単位・命名などの規約は coding-guidelines.md を参照
   ===================================================== */

/* ▼ -----------可変設定---------- ▼
   SP特化型部分があるときのみ使用（不要なら削除）。
   変数値はデザインに合わせて変更する。
   .lp_variable は #GP260806SESAMECPD と同じ要素に付与する。 */
.lp_variable {
  /*デザインの値*/
  --pc-width: 1920; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 750; /*PC時の中央コンテンツ列の幅（SPコンテンツを流す列。3カラム中央幅にも使用）*/
  --sp-artboard-width: 750; /*SP時の中央コンテンツ列の幅（通常は --sp-width と同じ）*/
  /*可変率の計算式*/
  --formula: calc(var(--variable) * var(--ratio)); /*SP,PC共通箇所の可変割合の計算式*/
  --formula_pc: calc(var(--variable) * 1); /*PCデザインの可変割合の計算式*/
}

/* PC画面幅 1920px超 固定 */
@media (min-width: 1921px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}

/* PC画面幅 768～1920px 可変 */
@media (min-width: 768px) and (max-width: 1920px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}

/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  .lp_variable {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
/* ▲ -----------可変設定---------- ▲ */

/* ▼ -----------カスタムプロパティ---------- ▼
   案件固有の変数は #GP260806SESAMECPD に定義する */
#GP260806SESAMECPD {
  --color-text: #000;
  --color-bg: #fff;
  --font-base: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  --font-serif:
    'Times New Roman', 'Times', 'YuMincho', 'Hiragino Mincho ProN', serif; /* 暫定フォールバック。Adobe Fonts kit 確定後に差し替え */
  --ease-base: cubic-bezier(0.25, 0.1, 0.25, 1);
  --duration-base: 0.8s;
}
/* ▲ -----------カスタムプロパティ---------- ▲ */

/* ▼ -----------LPスコープ リセット（3ブランド共通部分）---------- ▼ */
#GP260806SESAMECPD * {
  box-sizing: border-box;
  font: inherit; /* font-family / size / weight / style / line-height を継承（フォーム部品含む） */
  letter-spacing: inherit; /* font ショートハンドに含まれないため明示（基準を全要素に継承） */
  font-feature-settings: 'palt';
}

#GP260806SESAMECPD img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  transition: unset;
}

#GP260806SESAMECPD picture {
  display: block;
}

#GP260806SESAMECPD button {
  padding: 0;
  cursor: pointer;
  appearance: none;
  color: inherit;
  background-color: unset;
  border: unset;
}

#GP260806SESAMECPD a {
  color: inherit;
  text-decoration: none;
}

/* 表示制御ユーティリティ */
@media (min-width: 768px) {
  #GP260806SESAMECPD .is-hidden--desktop {
    display: none !important;
  }
}

@media (max-width: 767px) {
  #GP260806SESAMECPD .is-hidden--mobile {
    display: none !important;
  }
}
/* ▲ -----------LPスコープ リセット---------- ▲ */

/* ▼ -----------ベーススタイル---------- ▼ */
#GP260806SESAMECPD {
  color: var(--color-text);
  background-color: var(--color-bg);
  font-family: var(--font-base);
  line-height: 1.5; /* line-height は単位なし */
  letter-spacing: 0.05em; /* letter-spacing は em */
}
/* ▲ -----------ベーススタイル---------- ▲ */

/* ▼ -----------出現アニメーション（.js-inview 用）---------- ▼ */
#GP260806SESAMECPD .ani-fade {
  opacity: 0;
  /* translate: 0 calc(30 * var(--formula, 1px)); */
  transition:
    opacity var(--duration-base) var(--ease-base),
    translate var(--duration-base) var(--ease-base);
    transition-delay:0.2s ;
}

#GP260806SESAMECPD .ani-fade.is-active {
  opacity: 1;
  translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
  #GP260806SESAMECPD .ani-fade {
    opacity: 1;
    translate: 0 0;
    transition: none;
  }
}
#GP260806SESAMECPD .ani-fade--up {
  opacity: 0;
  translate: 0 calc(60 * var(--formula, 1px));
  transition:
    opacity var(--duration-base) var(--ease-base),
    translate var(--duration-base) var(--ease-base);
}

#GP260806SESAMECPD .ani-fade--up.is-active {
  opacity: 1;
  translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
  #GP260806SESAMECPD .ani-fade--up {
    opacity: 1;
    translate: 0 0;
    transition: none;
  }
}
#GP260806SESAMECPD .ani-pop-in{
  opacity: 0;
}
#GP260806SESAMECPD {
  background-color: #2ba0da;
  transition: background-color 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
#GP260806SESAMECPD[data-bg-mode='blue'] {
  background-color: #2ba0da;
}
#GP260806SESAMECPD[data-bg-mode='white'] {
  background-color: #fff;
}

#GP260806SESAMECPD[data-bg-mode='white'] .lp-rail__logo svg,
#GP260806SESAMECPD[data-bg-mode='white'] .lp-rail__viewall svg {
  fill: #2696ca !important;
}

#GP260806SESAMECPD[data-bg-mode='white'] .lp-section-sticky:has(.lp-intro)::before,
  #GP260806SESAMECPD[data-bg-mode='white'] .lp-section-sticky:has(.lp-look2)::before,
  #GP260806SESAMECPD[data-bg-mode='white'] .lp-section-sticky:has(.lp-look2b)::before,
  #GP260806SESAMECPD[data-bg-mode='white'] .lp-section-sticky:has(.lp-look4)::before {
  background-color: #fff;
  }
  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-section-sticky:has(.lp-intro)::before,
  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-section-sticky:has(.lp-look2)::before,
  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-section-sticky:has(.lp-look2b)::before,
  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-section-sticky:has(.lp-look4)::before {
  background-color: #2ba0da;
  }

  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-market::before,
  #GP260806SESAMECPD[data-bg-mode='blue'] .lp-outro::before  {
  background-color: #2ba0da;
  }
  #GP260806SESAMECPD[data-bg-mode='white'] .lp-market::before,
  #GP260806SESAMECPD[data-bg-mode='white'] .lp-outro::before  {
  background-color: #fff;
  }
/* ▲ -----------出現アニメーション---------- ▲ */

/* ▼ -----------レイアウト（2/3カラム）既定---------- ▼
   SP特化型でPCを「中央SPコンテンツ＋左右の追従サブ」にする場合に使う共通レイアウト。
   不要なLPでは使わなくてよい（クラスを付けなければ通常の縦積み）。

   構造の目安:
   <div class="lp-layout lp-layout--col-3">
     <div class="lp-layout__sub lp-layout__sub--left"> … 左サブ（ナビ等・PC追従／SP非表示） … </div>
     <div class="lp-layout__primary"> … 中央（SPコンテンツ・スクロール） … </div>
     <div class="lp-layout__sub lp-layout__sub--right"> … 右サブ（ページ内リンク等） … </div>
   </div>
   ・SP(767px以下)は grid にせず通常フロー（サブは非表示、中央のみ縦積み）
   ・左右サブは PC で sticky 追従（画面縦中央・100dvh）。
   ・共通ヘッダーの高さ分ずらす場合は #GP260806SESAMECPD に --lp-header-offset を指定する。 */
#GP260806SESAMECPD {
  --lp-header-offset: 0px; /* サイト共通ヘッダー高（追従サブの逃げ）。案件で上書き可 */
}

/* 中央コンテンツ列の幅（SP: sp-artboard-width / PC: pc-artboard-width） */
#GP260806SESAMECPD .lp-inner {
  width: calc(var(--sp-artboard-width) * var(--formula));
  margin-inline: auto;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-inner {
    width: calc(var(--pc-artboard-width) * var(--formula_pc));
  }
}

/* グリッド本体（PCのみ grid 化。SPは通常フロー） */
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-layout {
    display: grid;
    align-items: start;
  }
  #GP260806SESAMECPD .lp-layout--col-2 {
    grid-template-columns: 1fr 1fr;
  }
  #GP260806SESAMECPD .lp-layout--col-3 {
    grid-template-columns: 1fr calc(var(--pc-artboard-width) * var(--formula_pc)) 1fr;
  }
}

/* 中央（スクロールする本体）: 横はみ出しを閉じる */
#GP260806SESAMECPD .lp-layout__primary {
  overflow-x: clip;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-layout__primary {
    overflow-x: unset;
  }
}

/* 左右サブ（PC追従／SP非表示） */
#GP260806SESAMECPD .lp-layout__sub {
  display: none;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-layout__sub {
    display: grid;
    place-items: center;
    position: sticky;
    top: var(--header-height, 0px);
    height: calc(100dvh - var(--header-height, 0px));
    overflow: hidden;
    /* min-height: calc(1170 * var(--formula_pc)); */
  }
}
/* ▲ -----------レイアウト（2/3カラム）既定---------- ▲ */

/* =====================================================
   ここから案件固有のセクションスタイルを記述する
   例:
   #GP260806SESAMECPD .lp-mv { ... }                      … ブロック
   #GP260806SESAMECPD .lp-mv__title { ... }               … エレメント
   #GP260806SESAMECPD .lp-mv__title--large { ... }        … モディファイア
   SP特化型部分: width: calc(100 * var(--formula));
   PC基準の値:   width: calc(100 * var(--formula_pc));
   ===================================================== */

#GP260806SESAMECPD .lp-section-sticky {
  position: sticky;
  top: var(--header-height, 0px);
  margin-bottom: 50dvh;
}
/* ▼ -----------MV---------- ▼ */
#GP260806SESAMECPD .lp-mv {
  background-color: #eceff2;
  overflow: hidden;
}
#GP260806SESAMECPD .lp-mv__logo {
  position: absolute;
  top: calc(65 * var(--formula));
  left: calc(46 * var(--formula));
  width: calc(288 * var(--formula));
  z-index: 2;
}
#GP260806SESAMECPD .lp-mv__visual {
  display: block;
  width: 100%;
}
#GP260806SESAMECPD .lp-mv__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}
/* ▲ -----------MV---------- ▲ */

/* ▼ -----------写真カード（共通）---------- ▼ */
#GP260806SESAMECPD .lp-card {
  display: block;
  width: calc(600 * var(--formula));
  margin-inline: auto;
  border-radius: calc(18 * var(--formula));
  overflow: hidden;
}
/* ▲ -----------写真カード---------- ▲ */

/* ▼ -----------商品LOOKクレジット（共通）---------- ▼ */
#GP260806SESAMECPD .lp-look {
  text-align: center;
  padding: calc(39 * var(--formula)) 0 calc(24 * var(--formula));
}
#GP260806SESAMECPD .lp-look__label {
  display: inline-block;
  font-family: var(--font-serif);
  font-size: calc(23 * var(--formula));
  line-height: calc(25 / 23);
  letter-spacing: 0.016em;
  color: #0a2f5c;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: calc(8 * var(--formula)) calc(22 * var(--formula));
  margin-bottom: calc(16 * var(--formula));
}
#GP260806SESAMECPD .lp-look__credit {
  font-family: var(--font-serif);
  font-size: calc(24 * var(--formula));
  line-height: calc(31 / 24);
  color: #0a2f5c;
  list-style: none;
  letter-spacing: 0.04em;
}
#GP260806SESAMECPD .lp-look__label--light,
#GP260806SESAMECPD .lp-look__credit--light {
  color: #fff;
}
#GP260806SESAMECPD .lp-look__credit a {
  color: inherit;
}
/* ▲ -----------商品LOOKクレジット---------- ▲ */

/* ▼ -----------イントロ（青地）---------- ▼ */
#GP260806SESAMECPD .lp-intro {
  padding-bottom: calc(30 * var(--formula));
}
#GP260806SESAMECPD .lp-intro__catch {
  font-family: var(--font-serif);
  font-size: calc(87 * var(--formula));
  line-height: calc(74 / 87);
  text-align: center;
  padding: calc(107 * var(--formula)) 0 calc(97 * var(--formula));
  width: calc(481 * var(--formula));
  margin-inline: auto;
}
#GP260806SESAMECPD .lp-intro__rec {
  position: relative;
  margin-top: calc(28 * var(--formula));
}
#GP260806SESAMECPD .lp-intro__coin {
  width: calc(313 * var(--formula));
  height: auto;
  z-index: 2;
  position: absolute;
  top: calc(-228 * var(--formula));
  left: calc(12 * var(--formula));
  pointer-events: none;
}
#GP260806SESAMECPD .lp-intro .lp-card {
  width: calc(600 * var(--formula));
    border-radius: calc(30 * var(--formula));
    overflow: hidden;
}
#GP260806SESAMECPD .lp-intro .lp-look__credit,
#GP260806SESAMECPD .lp-intro .lp-look__label {
  color: #fff;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-intro .lp-look {
    padding-top: calc(36 * var(--formula_pc));
  }
}
/* ▲ -----------イントロ---------- ▲ */

/* ▼ -----------ノベルティ（白地）---------- ▼ */
#GP260806SESAMECPD .lp-novelty {
  background-color: #fff;
  padding: calc(172 * var(--formula)) calc(30 * var(--formula)) calc(232 * var(--formula)) calc(43 * var(--formula));
}
#GP260806SESAMECPD .lp-novelty__title {
  line-height: calc(121 / 135);
  color: #2ba0da;
  text-align: center;

  margin-bottom: calc(28 * var(--formula));

  font-weight: 500;
  width: fit-content;
  margin-inline: auto;
  z-index: 2;
  position: relative;
  width: calc(683 * var(--formula));
  position: relative;
  left: calc(-6 * var(--formula));
  top: calc(17 * var(--formula));
  z-index: 5;
  pointer-events: none;
}
#GP260806SESAMECPD .lp-novelty__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(24 * var(--formula)) calc(27 * var(--formula));
  margin-top: calc(-39 * var(--formula));
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-novelty__grid {
    gap: calc(24 * var(--formula_pc)) calc(27 * var(--formula_pc));
  }
}
#GP260806SESAMECPD .lp-novelty__grid img {
  width: 100%;
  height: auto;
}
#GP260806SESAMECPD .lp-novelty__note {
  font-family: var(--font-serif);
  color: #2ba0da;
  font-size: calc(24 * var(--formula));
  margin-top: calc(3 * var(--formula));
}

/* ▲ -----------ノベルティ---------- ▲ */

/* ▼ -----------LOOK2（赤地）---------- ▼ */
#GP260806SESAMECPD .lp-look2 {
  padding: calc(120 * var(--formula)) 0 calc(171 * var(--formula));
}
#GP260806SESAMECPD .lp-look2 .lp-look {
  padding-top: calc(40 * var(--formula));
  padding-right: calc(7 * var(--formula));
}
#GP260806SESAMECPD .lp-look2 .lp-look__credit {
  margin-top: calc(13 * var(--formula));
}
#GP260806SESAMECPD .lp-look2 .lp-card {
  width: calc(600 * var(--formula));
    border-radius: calc(30 * var(--formula));
    overflow: hidden;
}
#GP260806SESAMECPD .lp-look2 .lp-mug {
  position: relative;
  width: calc(600 * var(--formula));
  margin: calc(66 * var(--formula)) auto 0;
}
#GP260806SESAMECPD .lp-look2 .swiper-slide{
  background-color: #cb2030;
}
#GP260806SESAMECPD .lp-mug__photo {
  position: relative;
  overflow: hidden;
  border-radius: calc(415 * var(--formula));
  position: relative;
  width: calc(600 * var(--formula));
  height: calc(840 * var(--formula));
  display: block;
}

#GP260806SESAMECPD .lp-mug__photo > a {
}

#GP260806SESAMECPD .lp-mug__label {
  position: absolute;
  left: calc(315 * var(--formula));
  top: calc(746 * var(--formula));
  background-color: #16305f;
  color: #fff;
  font-family: var(--font-serif);
  font-size: calc(25 * var(--formula));
  padding: calc(2 * var(--formula)) calc(29 * var(--formula)) calc(2 * var(--formula)) calc(27 * var(--formula));
  border-radius: 999px;
  white-space: nowrap;
  rotate: -7deg;
  letter-spacing: -0.039em;
}
#GP260806SESAMECPD .lp-mug__label span {
  display: inline-block;
}
#GP260806SESAMECPD .lp-mug__label .lp-mug__label-price {
  border: 1px solid #fff;
  border-radius: calc(50 * var(--formula));
  position: absolute;
  position: absolute;
  left: calc(158 * var(--formula));
  top: calc(48 * var(--formula));
  color: #fff;
  padding: calc(2 * var(--formula)) calc(32 * var(--formula)) calc(2 * var(--formula)) calc(28 * var(--formula));
  border-radius: 999px;
  white-space: nowrap;
  rotate: 12deg;
  letter-spacing: -0.04em;
}

#GP260806SESAMECPD .lp-mug__label span:nth-of-type(2) {
  position: absolute;
  z-index: 1;
}
/* ▲ -----------LOOK2---------- ▲ */

/* ▼ -----------価格バッジ（共通）---------- ▼ */
#GP260806SESAMECPD .lp-badge {
  display: inline-block;
  background-color: #16305f;
  color: #fff;
  font-family: var(--font-serif);
  font-size: calc(25 * var(--formula));
  letter-spacing: 0.07em;
  padding: calc(7 * var(--formula)) calc(15 * var(--formula)) calc(8 * var(--formula)) calc(11 * var(--formula));
  border-radius: calc(50 * var(--formula));
  white-space: nowrap;
  line-height: 1;
}
#GP260806SESAMECPD .lp-badge span {
  display: inline-block;
  margin-left: calc(10 * var(--formula));
  border-radius: calc(50 * var(--formula));
  padding: calc(2 * var(--formula)) calc(14 * var(--formula));
  font-size: calc(20 * var(--formula));
}
#GP260806SESAMECPD .lp-badge span:nth-of-type(2) {
  position: absolute;
  z-index: 1;
}
/* ▲ -----------価格バッジ---------- ▲ */

/* ▼ -----------LOOK2（紺地）---------- ▼ */
#GP260806SESAMECPD .lp-look2b {
  padding: calc(157 * var(--formula)) 0 calc(59 * var(--formula));
}
#GP260806SESAMECPD .lp-look2b .lp-card {
  width: calc(600 * var(--formula));
    border-radius: calc(30 * var(--formula));
    overflow: hidden;
}
#GP260806SESAMECPD .lp-look2b__second {
  margin-top: calc(30 * var(--formula));
}
#GP260806SESAMECPD .lp-look2b .lp-look {
  padding: calc(45 * var(--formula)) 0 calc(24 * var(--formula));
}
#GP260806SESAMECPD .lp-look2b .lp-look__label {
  margin-bottom: calc(31 * var(--formula));
}
/* ▲ -----------LOOK2（紺地）---------- ▲ */

/* ▼ -----------ブランケット（白地）---------- ▼ */
#GP260806SESAMECPD .lp-blanket {
  background-color: #fff;
  padding: 0;
}
#GP260806SESAMECPD .lp-blanket .lp-card {
  width: calc(750 * var(--formula));
  border-radius: 0;
}
/* ▲ -----------ブランケット---------- ▲ */

/* ▼ -----------グッズ（白地）---------- ▼ */
#GP260806SESAMECPD .lp-goods {
  background-color: #fff;
  position: relative;
z-index: 1;
  margin-inline: auto;
  padding: calc(176 * var(--formula)) 0 calc(227 * var(--formula)) 0;

  border-top-left-radius: calc(60 * var(--formula));
  border-top-right-radius: calc(60 * var(--formula));
  overflow: visible;
  margin-top: calc(-73 * var(--formula));
}
#GP260806SESAMECPD .lp-goods__photo {
}

#GP260806SESAMECPD .lp-goods__photo > a {
  border-radius: calc(25 * var(--formula));
  overflow: hidden;
  display: block;
  width: calc(400 * var(--formula));
  margin: 0 auto;


}

#GP260806SESAMECPD .lp-goods__label--a {
  position: absolute;
    top: calc(-34 * var(--formula));
    left: calc(342 * var(--formula));
  padding: calc(9 * var(--formula)) calc(12 * var(--formula)) calc(10 * var(--formula)) calc(0 * var(--formula));
  rotate: -7deg;
  letter-spacing: 0.08em;
}
#GP260806SESAMECPD .lp-goods__label--a .lp-badge__price {
  color: #123569;
  background-color: unset;
  border: 1px solid #123569;
  top: calc(50 * var(--formula));
  left: calc(121 * var(--formula));
  rotate: 10deg;
  font-size: calc(25 * var(--formula));
  letter-spacing: 0.04em;
  padding: calc(8 * var(--formula)) calc(28 * var(--formula)) calc(7 * var(--formula)) calc(22 * var(--formula));
  letter-spacing: -0.04em;
}
#GP260806SESAMECPD .lp-goods__label--b {
  position: absolute;
  top: calc(310 * var(--formula));
  left: calc(72 * var(--formula));
  padding: calc(9 * var(--formula)) calc(15 * var(--formula)) calc(9 * var(--formula)) calc(3 * var(--formula));
  rotate: 7deg;
}
#GP260806SESAMECPD .lp-goods__label--b .lp-badge__price {
  color: #123569;
  background-color: unset;
  border: 1px solid #123569;
  top: calc(58 * var(--formula));
  left: calc(-13 * var(--formula));
  rotate: -22deg;
  font-size: calc(25 * var(--formula));
  letter-spacing: -0.03em;
  padding: calc(6 * var(--formula)) calc(24 * var(--formula)) calc(7 * var(--formula)) calc(25 * var(--formula));
}
#GP260806SESAMECPD .lp-goods__label--c {
  top: calc(436 * var(--formula));
  left: calc(463 * var(--formula));
  padding: calc(9 * var(--formula)) calc(23 * var(--formula)) calc(9 * var(--formula)) calc(10 * var(--formula));
  rotate: -14deg;
  position: absolute;
}
#GP260806SESAMECPD .lp-goods__label--c .lp-badge__price {
  color: #123569;
  background-color: unset;
  border: 1px solid #123569;
  top: calc(64 * var(--formula));
  left: calc(67 * var(--formula));
  rotate: 30deg;
  font-size: calc(25 * var(--formula));
  letter-spacing: -0.024em;
  padding: calc(6 * var(--formula)) calc(18 * var(--formula)) calc(7 * var(--formula)) calc(17 * var(--formula));
}
/* ▲ -----------グッズ---------- ▲ */

/* ▼ -----------LOOK4（紫紺地）---------- ▼ */
#GP260806SESAMECPD .lp-look4 {
  padding: calc(0 * var(--formula)) 0 calc(0 * var(--formula));
}
#GP260806SESAMECPD .lp-look4 .lp-card {
  width: calc(750 * var(--formula));
    border-top-left-radius: calc(40 * var(--formula));
    border-top-right-radius: calc(40 * var(--formula));
}
#GP260806SESAMECPD .lp-look4 .lp-look {
  background: #fff;
  padding: calc(46 * var(--formula)) 0 calc(114 * var(--formula)) calc(3 * var(--formula));
}
#GP260806SESAMECPD .lp-look4 .lp-look__label,
#GP260806SESAMECPD .lp-look4 .lp-look__credit {
  color: #123569;
}
#GP260806SESAMECPD .lp-look4 .lp-look__credit {
  margin-top: calc(17 * var(--formula));
}
/* ▲ -----------LOOK4---------- ▲ */

/* ▼ -----------Home Sweet Home（白地）---------- ▼ */
#GP260806SESAMECPD .lp-sweet {
  background-color: #fff;
  padding: calc(89 * var(--formula)) 0 calc(80 * var(--formula));
}
#GP260806SESAMECPD .lp-sweet__title {
  font-family: var(--font-serif);
  color: #16305f;
  font-size: calc(60 * var(--formula));
  text-align: center;
  margin-top: calc(-15 * var(--formula));
  letter-spacing: -0.085em;
  padding-right: calc(7 * var(--formula));
}
#GP260806SESAMECPD .lp-sweet .lp-card {
  width: calc(400 * var(--formula));
  border-radius: calc(30 * var(--formula));
  overflow: hidden;
}
/* ▲ -----------Home Sweet Home---------- ▲ */

/* ▼ -----------LOOK5群（白地・青ラベル）---------- ▼ */
#GP260806SESAMECPD .lp-look5 {
  background-color: #fff;
  padding: calc(109 * var(--formula)) 0 calc(52 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-card:nth-of-type(1) {
  width: calc(750 * var(--formula));
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
    /* overflow: hidden;
    border-top-left-radius: calc(60 * var(--formula));
    border-top-right-radius: calc(60 * var(--formula)); */
}

#GP260806SESAMECPD .lp-look5 .lp-card.lp-look5__second {
  width: calc(600 * var(--formula));
  overflow: visible;

}
#GP260806SESAMECPD .lp-look5 .lp-card.lp-look5__second .swiper{
      border-radius: calc(30 * var(--formula));
    overflow: hidden;

}
#GP260806SESAMECPD .lp-look5__second {
  margin-top: calc(178 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-look {
  padding: calc(41 * var(--formula)) 0 calc(24 * var(--formula)) calc(6 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-look__label,
#GP260806SESAMECPD .lp-look5 .lp-look__credit {
  color: #2ba0da;
}
#GP260806SESAMECPD .lp-look5 .lp-look__label{
      padding: calc(8 * var(--formula)) calc(16 * var(--formula)) calc(8 * var(--formula)) calc(17 * var(--formula));
    letter-spacing: 0.1em;
}
#GP260806SESAMECPD .lp-look5 .lp-look__credit {
  margin-top: calc(12 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-deco--1 {
  width: calc(121 * var(--formula));
  top: calc(-31 * var(--formula));
  left: calc(-26 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-deco--2 {
  width: calc(72 * var(--formula));
  top: calc(603 * var(--formula));
  right: calc(-71 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-deco--3 {
  width: calc(55 * var(--formula));
  top: calc(645 * var(--formula));
  right: calc(-26 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-deco--4 {
  width: calc(55 * var(--formula));
  top: calc(694 * var(--formula));
  right: calc(-85 * var(--formula));
}
#GP260806SESAMECPD .lp-look5 .lp-deco--5 {
  width: calc(69 * var(--formula));
  top: calc(841 * var(--formula));
  left: calc(-38 * var(--formula));
}
#GP260806SESAMECPD .lp-look5.lp-look5b {
  padding-bottom: calc(118 * var(--formula));
  padding-top: calc(50 * var(--formula));
}
#GP260806SESAMECPD .lp-look5.lp-look5b .lp-card {
  width: calc(600 * var(--formula));
      border-radius: calc(30 * var(--formula));
    overflow: hidden;
}
#GP260806SESAMECPD .lp-look5.lp-look5c {
  padding: calc(0 * var(--formula)) 0 calc(52 * var(--formula));
}
#GP260806SESAMECPD .lp-look5c .swiper-slide,
#GP260806SESAMECPD .lp-look5a .swiper-slide{
  background-color: #fff;
}
#GP260806SESAMECPD .lp-look5c .swiper{
  border-top-left-radius: calc(60 * var(--formula));
  border-top-right-radius: calc(60 * var(--formula));
  overflow: hidden;
}
/* ▲ -----------LOOK5群---------- ▲ */

/* ▼ -----------小物（紫地: HAIR BAND / ART DECK）---------- ▼ */
#GP260806SESAMECPD .lp-accessory {
  background: #fff;

  padding: calc(5 * var(--formula)) 0 calc(219 * var(--formula));
}
#GP260806SESAMECPD .lp-accessory__item {
  position: relative;
  width: calc(557 * var(--formula));
  margin: 0 auto;
}
#GP260806SESAMECPD .lp-accessory__item--right {
  margin-top: calc(70 * var(--formula));
}
#GP260806SESAMECPD .lp-accessory__photo {
  display: block;

  overflow: hidden;
}
#GP260806SESAMECPD .lp-accessory__item .lp-badge {
position: absolute;
    top: calc(230 * var(--formula));
    left: calc(450 * var(--formula));
    rotate: 11deg;
}

#GP260806SESAMECPD .lp-accessory__item .lp-badge .lp-badge__price {
  top: calc(44 * var(--formula));
  left: calc(86 * var(--formula));
  color: #16305f;
  border: 1px solid #16305f;
  display: block;
  z-index: 2;
  background: #ffff;
  rotate: -17deg;
  font-size: calc(25 * var(--formula));
  letter-spacing: -0.016em;
  padding: calc(6 * var(--formula)) calc(18 * var(--formula)) calc(6 * var(--formula)) calc(22 * var(--formula));
  border-radius: calc(50 * var(--formula));
}
#GP260806SESAMECPD .lp-accessory__item--right .lp-badge {
  right: auto;
    top: calc(285 * var(--formula));
    left: calc(-94 * var(--formula));
    rotate: -5deg;
    letter-spacing: 0em;
    padding: calc(5 * var(--formula)) calc(9 * var(--formula)) calc(6 * var(--formula)) calc(0 * var(--formula));
    text-align: center;
    width: calc(183 * var(--formula));
    box-sizing: border-box;
}

#GP260806SESAMECPD .lp-accessory__item--right .lp-badge > span{
margin-left: 0;
}
#GP260806SESAMECPD .lp-accessory__item--right .lp-badge .lp-badge__price {
    border: 1px solid #2ba0da;
    background: #fff;
    border-radius: calc(50 * var(--formula));
    color: #2ba0da;
    top: calc(40 * var(--formula));
    left: calc(-62 * var(--formula));
    rotate: 23deg;
    font-size: calc(23 * var(--formula));
    letter-spacing: -0.05em;
    padding: calc(7 * var(--formula)) calc(19 * var(--formula)) calc(6 * var(--formula)) calc(22 * var(--formula));
}
#GP260806SESAMECPD .lp-badge--light {
  background-color: #2ba0da;
}
#GP260806SESAMECPD .lp-accessory__item:nth-of-type(1) {
  margin-left: calc(-37 * var(--formula));
  z-index: 2;
}
#GP260806SESAMECPD .lp-accessory__item:nth-of-type(2) {
  margin-right: calc(-35 * var(--formula));
  margin-top: 0;
}
#GP260806SESAMECPD .lp-accessory__item:nth-of-type(2) .lp-accessory__photo {
  margin-top: calc(-144 * var(--formula));
}
/* ▲ -----------小物---------- ▲ */

/* ▼ -----------ピル型ラベル（共通）---------- ▼ */
#GP260806SESAMECPD .lp-pill {
  display: inline-block;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: calc(24 * var(--formula));
  letter-spacing: 0.15em;
  padding: calc(8 * var(--formula)) calc(38 * var(--formula));
}
/* ▲ -----------ピル型ラベル---------- ▲ */

/* ▼ -----------SESAME STREET MARKET（青地）---------- ▼ */
#GP260806SESAMECPD .lp-market {
  background-color: #2ba0da;
  color: #fff;
  text-align: center;
  padding: calc(86 * var(--formula)) 0 calc(155 * var(--formula));
  z-index: 2;
  margin-top: calc(-3 * var(--formula));
  border-top-left-radius: calc(60 * var(--formula));
  border-top-right-radius: calc(60 * var(--formula));


}

#GP260806SESAMECPD .lp-market__cafe {
  margin-bottom: calc(28 * var(--formula));
  font-size: calc(36 * var(--formula));
  letter-spacing: -0.024em;
  padding: calc(7 * var(--formula)) calc(45 * var(--formula));
  border-radius: 100%;
}

#GP260806SESAMECPD .lp-card {
  width: calc(550 * var(--formula));

  overflow: hidden;
  position: relative;
}
#GP260806SESAMECPD .lp-market .lp-card:not(.lp-market__cake) {
      width: calc(550 * var(--formula));
    height: calc(730 * var(--formula));
    overflow: hidden;
}
#GP260806SESAMECPD .lp-market__title {
  font-family: var(--font-serif);
  font-size: calc(66 * var(--formula));
  line-height: 0.96;
  margin-bottom: calc(59 * var(--formula));
  letter-spacing: -0.034em;
}
#GP260806SESAMECPD .lp-market__cake {
  margin-top: calc(144 * var(--formula));
  width: 100%;
  border-radius: 0;
  overflow: visible;
  height: auto;
}

#GP260806SESAMECPD .lp-market__cake img:not(.lp-deco){
  border-top-left-radius: calc(60 * var(--formula));
  border-top-right-radius: calc(60 * var(--formula));
  overflow: hidden;
}
/* ▲ -----------SESAME STREET MARKET---------- ▲ */

/* ▼ -----------アウトロ（CHECK ALL / STAFF / コピーライト）---------- ▼ */
#GP260806SESAMECPD .lp-outro {
  background-color: #2ba0da;
  color: #fff;
  text-align: center;
  padding-bottom: calc(136 * var(--formula));
}
#GP260806SESAMECPD .lp-outro::before {
  content: '';
  display: block;
  width: 100%;
  height: calc(30 * var(--formula));
  left: 0;
  top: calc(-10 * var(--formula));
  position: absolute;
  z-index: 0;
  background-color: #2ba0da;
  pointer-events: none;
}

#GP260806SESAMECPD .lp-outro__btn {
  display: inline-block;
  border: 1px solid #fff;
  font-family: var(--font-serif);
  font-size: calc(41 * var(--formula));
  letter-spacing: -0.03em;
  padding: calc(16 * var(--formula)) calc(62 * var(--formula)) calc(22 * var(--formula)) calc(53 * var(--formula));
  position: relative;
  z-index: 1;
left: calc(-6 * var(--formula));
}
#GP260806SESAMECPD .lp-outro__art {
  width: calc(502 * var(--formula));
  height: auto;
  display: block;
  margin: calc(78 * var(--formula)) auto calc(67 * var(--formula)) auto;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-outro__art {
    margin-bottom: calc(72 * var(--formula_pc));
  }
}
#GP260806SESAMECPD .lp-credit__list {
    list-style: none;
    font-family: var(--font-serif);
    font-size: calc(26 * var(--formula));
    line-height: 1.41;
    letter-spacing: -0.01em;
    margin: calc(25 * var(--formula)) 0 calc(66 * var(--formula));
    padding-left: calc(8 * var(--formula));
}
#GP260806SESAMECPD .lp-credit__thanks-label {
  margin-bottom: calc(15 * var(--formula));
  font-size: calc(26 * var(--formula)) !important;
  padding: calc(8 * var(--formula)) calc(36 * var(--formula));
  letter-spacing: -0.03em !important;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-credit__thanks-label {
    margin-bottom: calc(16 * var(--formula_pc)) !important;
  }
}
#GP260806SESAMECPD .lp-credit__thanks {
  font-family: var(--font-serif);
  font-size: calc(35 * var(--formula));
  letter-spacing: -0.045em;
  padding-left: calc(7 * var(--formula));
}
#GP260806SESAMECPD .lp-copyright {
  font-size: calc(15 * var(--formula));
  line-height: calc(19 / 15);
  margin-top: calc(69 * var(--formula));
  font-weight: 500;
  font-family: var(--font-base);
  letter-spacing: 0.017em;
  padding-left: calc(2 * var(--formula));
}
#GP260806SESAMECPD .lp-copyright p:first-child {
  margin-bottom: calc(18 * var(--formula));
  font-size: calc(20 * var(--formula));
}
#GP260806SESAMECPD .lp-copyright p:first-child img {
  width: calc(220 * var(--formula));
  margin-inline: auto;
}
#GP260806SESAMECPD .lp-outro .lp-pill {
  border-radius: 100%;
  font-size: calc(28 * var(--formula));
  letter-spacing: -0.044em;
}
#GP260806SESAMECPD .lp-outro .lp-credit__list {
}
/* ▲ -----------アウトロ---------- ▲ */

/* ▼ -----------装飾（ハート・キャラクター）---------- ▼ */
#GP260806SESAMECPD .lp-intro,
#GP260806SESAMECPD .lp-novelty,
#GP260806SESAMECPD .lp-look2,
#GP260806SESAMECPD .lp-look2b,
#GP260806SESAMECPD .lp-blanket,
#GP260806SESAMECPD .lp-look4,
#GP260806SESAMECPD .lp-look5,
#GP260806SESAMECPD .lp-accessory,
#GP260806SESAMECPD .lp-market,
#GP260806SESAMECPD .lp-outro {
  position: relative;
  z-index:1;
}
#GP260806SESAMECPD .lp-deco {
  position: absolute;
  height: auto;
  pointer-events: none;
  z-index: 4;
}
/* ノベルティ */
#GP260806SESAMECPD .lp-deco--nv1 {
  width: calc(77 * var(--formula));
  top: calc(154 * var(--formula));
  left: calc(27 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv2 {
  width: calc(77 * var(--formula));
  top: calc(190 * var(--formula));
  left: calc(-23 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv3 {
  width: calc(77 * var(--formula));
  top: calc(684 * var(--formula));
  right: calc(-40 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv4 {
  width: calc(52 * var(--formula));
  top: calc(728 * var(--formula));
  right: calc(25 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv5 {
  width: calc(75 * var(--formula));
  top: calc(1059 * var(--formula));
  left: calc(5 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv6 {
  width: calc(58 * var(--formula));
  top: calc(1101 * var(--formula));
  left: calc(-22 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--nv7 {
  width: calc(58 * var(--formula));
  top: calc(1097 * var(--formula));
  left: calc(56 * var(--formula));
}
/* LOOK2紺 */
#GP260806SESAMECPD .lp-deco--l2b1 {
  width: calc(150 * var(--formula));
  top: calc(123 * var(--formula));
  left: calc(40 * var(--formula));

  z-index: 5;
}
#GP260806SESAMECPD .lp-deco--l2b2 {
  width: calc(240 * var(--formula));
  top: calc(908 * var(--formula));
  right: calc(14 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--l2b3 {
  width: calc(80 * var(--formula));
  top: calc(1883 * var(--formula));
  left: calc(59 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--l2b4 {
  width: calc(80 * var(--formula));
  top: calc(1921 * var(--formula));
  left: calc(1 * var(--formula));
}

/* アウトロ */
#GP260806SESAMECPD .lp-deco--out1 {
  width: calc(71 * var(--formula));
  top: calc(1143 * var(--formula));
  left: calc(33 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--out2 {
  width: calc(71 * var(--formula));
  top: calc(1176 * var(--formula));
  left: calc(-14 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--out3 {
  width: calc(74 * var(--formula));
  top: calc(1234 * var(--formula));
  right: calc(-11 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--out4 {
  width: calc(50 * var(--formula));
  top: calc(1275 * var(--formula));
  right: calc(51 * var(--formula));
}

@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-deco--out5 {
    width: calc(74 * var(--formula_pc));
    top: calc(1103 * var(--formula_pc));
    left: calc(-298 * var(--formula_pc));
  }
  #GP260806SESAMECPD .lp-deco--out6 {
    width: calc(50 * var(--formula_pc));
    top: calc(1270 * var(--formula_pc));
    left: calc(-381 * var(--formula_pc));
  }
  #GP260806SESAMECPD .lp-deco--out7 {
    width: calc(76 * var(--formula_pc));
    top: calc(1241 * var(--formula_pc));
    right: calc(-329 * var(--formula_pc));
  }
  #GP260806SESAMECPD .lp-deco--out8 {
    width: calc(49 * var(--formula_pc));
    top: calc(1126 * var(--formula_pc));
    right: calc(-458 * var(--formula_pc));
  }

  #GP260806SESAMECPD .lp-deco--rail1 {
    width: calc(418 * var(--formula_pc));
    bottom: calc(-90 * var(--formula_pc));
    left: calc(-153 * var(--formula_pc));
  }
  #GP260806SESAMECPD .lp-deco--rail2 {
    width: calc(280 * var(--formula_pc));
    top: calc(-5 * var(--formula_pc));
    right: calc(-60 * var(--formula_pc));
  }
}

/* LOOK2赤（グローバー）*/
#GP260806SESAMECPD .lp-deco--l2a1 {
  width: calc(233 * var(--formula));
  top: calc(-75 * var(--formula));
  right: calc(18 * var(--formula));
}
/* ブランケット（ビッグバード）*/
#GP260806SESAMECPD .lp-deco--bl1 {
  width: calc(292 * var(--formula));
  top: calc(-353 * var(--formula));
  left: calc(19 * var(--formula));
}
/* LOOK4（オスカー）*/
#GP260806SESAMECPD .lp-deco--l4a1 {
  width: calc(159 * var(--formula));
  bottom: calc(137 * var(--formula));
  right: calc(1 * var(--formula));
}
/* LOOK5-B新聞（エルモ読書・グローバー）*/
#GP260806SESAMECPD .lp-deco--l5b1 {
  width: calc(190 * var(--formula));
  top: calc(-151 * var(--formula));
  right: calc(19 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--l5b2 {
  width: calc(311 * var(--formula));
  top: calc(846 * var(--formula));
  left: calc(16 * var(--formula));
}
/* 小物（クッキーモンスター）*/
#GP260806SESAMECPD .lp-deco--ac1 {
  width: calc(293 * var(--formula));
  top: calc(981 * var(--formula));
  left: calc(47 * var(--formula));
  z-index: 5;
}
/* MARKET（エルモ）*/
#GP260806SESAMECPD .lp-deco--mk1 {
  width: calc(467 * var(--formula));
  top: calc(-210 * var(--formula));
  left: calc(-372 * var(--formula));
  z-index: 5;
  transition: left 0.4s ease-out 0.4s;
}

#GP260806SESAMECPD .lp-deco--mk1.is-active{
  left: calc(-172 * var(--formula));
}
#GP260806SESAMECPD .lp-deco--mk2 {
    width: calc(280 * var(--formula));
    top: calc(-243 * var(--formula));
    right: calc(-19 * var(--formula));
    z-index: 5;
}
/* ▲ -----------装飾---------- ▲ */

/* ▼ -----------左右レール中身（PC固定 / SP非表示）---------- ▼ */
#GP260806SESAMECPD .lp-rail__logo {
  width: fit-content;
  height: auto;
  position: relative;
  left: calc(-7 * var(--formula_pc));
  top: calc(-7 * var(--formula_pc));
}
#GP260806SESAMECPD .lp-rail__logo svg {
  width: calc(266 * var(--formula_pc));
  height: auto;
  fill: #fff;
}
#GP260806SESAMECPD .lp-rail__viewall {
  position: relative;
  top: calc(-7 * var(--formula_pc));
  left: calc(13 * var(--formula_pc));
}

#GP260806SESAMECPD .lp-rail__viewall svg {
  width: calc(282 * var(--formula_pc));
  height: calc(85 * var(--formula_pc));
  fill: #fff;
}
/* ▲ -----------左右レール中身---------- ▲ */

#GP260806SESAMECPD .lp-section-sticky:has(.lp-intro),
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look2),
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look2b),
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look4) {
  margin-top: calc(-50 * var(--formula));
  border-top-left-radius: calc(60 * var(--formula));
  border-top-right-radius: calc(60 * var(--formula));
  overflow: visible;
}
@media (min-width: 768px) {
  #GP260806SESAMECPD .lp-section-sticky:has(.lp-intro),
  #GP260806SESAMECPD .lp-section-sticky:has(.lp-look2),
  #GP260806SESAMECPD .lp-section-sticky:has(.lp-look2b),
  #GP260806SESAMECPD .lp-section-sticky:has(.lp-look4) {
    margin-top: calc(-53 * var(--formula_pc));
  }
  #GP260806SESAMECPD .lp-section-sticky:has(.lp-look4) {
    border-top-left-radius: calc(40 * var(--formula_pc));
    border-top-right-radius: calc(40 * var(--formula_pc));

  }
}

@media (min-width: 768px) {
  /* ページ全体背景色を変数で受け渡す（JSの data-bg-mode にそのまま連動） */
  #GP260806SESAMECPD[data-bg-mode='blue']  { --page-bg: #2ba0da; }
  #GP260806SESAMECPD[data-bg-mode='white'] { --page-bg: #fff; }

  /* コンテンツ幅の「外側だけ」を塞ぐ。カラム内には一切重ならない */
  #GP260806SESAMECPD .lp-section-sticky::before,
  #GP260806SESAMECPD .lp-section-sticky::after,
  #GP260806SESAMECPD .lp-market::before,
  #GP260806SESAMECPD .lp-market::after,
  #GP260806SESAMECPD .lp-outro::before,
  #GP260806SESAMECPD .lp-outro::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    width: calc(50vw - 50% + 2px);
    background-color: var(--page-bg, #2ba0da);
    pointer-events: none;
    z-index: 0;
    transition: background-color 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
    #GP260806SESAMECPD .lp-market::before,
  #GP260806SESAMECPD .lp-market::after{
    top: calc(60 * var(--formula_pc));
  }

  #GP260806SESAMECPD .lp-section-sticky::before,
  #GP260806SESAMECPD .lp-market::before,
  #GP260806SESAMECPD .lp-outro::before { right: 100%;left: unset; } /* カラム左外 */

  #GP260806SESAMECPD .lp-section-sticky::after,
  #GP260806SESAMECPD .lp-market::after,
  #GP260806SESAMECPD .lp-outro::after  { left: 100%; }  /* カラム右外 */


  #GP260806SESAMECPD .lp-market::before,
  #GP260806SESAMECPD .lp-outro::before { z-index: 2; } /* カラム左外 */
  #GP260806SESAMECPD .lp-market::after,
  #GP260806SESAMECPD .lp-outro::after  { z-index: 2; }  /* カ


  /* +2px 由来の横スクロール防止 */
  #GP260806SESAMECPD .lp-layout { overflow-x: clip; }

  /* 左レールはDOM上 primary より前なので前面へ */
  #GP260806SESAMECPD .lp-layout__sub { z-index: 3; }
}
#GP260806SESAMECPD .lp-section-sticky:has(.lp-goods) {
}

#GP260806SESAMECPD .lp-section-sticky:has(.lp-intro) {
  background-color: #2ba0da;
}
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look2) {
  background-color: #cb2030;
}
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look2b) {
  background-color: #1c2a5c;
}
#GP260806SESAMECPD .lp-section-sticky:has(.lp-look4) {
  background-color: #fff;
}

#GP260806SESAMECPD .lp-section-sticky:has(.lp-goods) {
}

/* ▼ -----------左右レールの表示切り替え（PCのみ）---------- ▼
   ④ カフェ（.lp-market）に入ったら、背景色が変わるのと同じタイミングで
      左右のキャラクター（左下エルモ／右上）をフェードアウトさせる
   ⑤ CHECK ALL ITEMS 以降（.lp-outro）は左右レールごと非表示にして、
      左右にはハート（.lp-deco--out*）だけが残るようにする
   付け替えは JS の initScrollChangeBackground が data-bg-mode と同時に行うため、
   背景色の変化とタイミングがズレない。SPでは .lp-layout__sub 自体が非表示 */
#GP260806SESAMECPD .lp-deco--rail1,
#GP260806SESAMECPD .lp-deco--rail2 {
  transition: opacity 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

#GP260806SESAMECPD[data-rail-mode='deco-hidden'] .lp-deco--rail1,
#GP260806SESAMECPD[data-rail-mode='deco-hidden'] .lp-deco--rail2,
#GP260806SESAMECPD[data-rail-mode='hidden'] .lp-deco--rail1,
#GP260806SESAMECPD[data-rail-mode='hidden'] .lp-deco--rail2 {
  opacity: 0;
}

/* .is-active 付きも書くのは .ani-fade.is-active { opacity: 1 } を上回る詳細度が要るため。
   visibility を遅らせて落とし、フェード後は CHECK ALL ITEMS リンクを触れなくする */
#GP260806SESAMECPD[data-rail-mode='hidden'] .lp-layout__sub,
#GP260806SESAMECPD[data-rail-mode='hidden'] .lp-layout__sub.is-active {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
    visibility 0s linear 0.4s;
}
/* ▲ -----------左右レールの表示切り替え---------- ▲ */
