/* ==========================================================================
   秋、私を彩る着物展 LP（2610-01）  ―  scope: .lp2610
   SWELLテーマ・他ページへ一切スタイルを漏らさないため、全セレクタを接頭辞化する
   原本: 02事業/02一般呉服/催事/260727_秋私を彩る着物展/lp/gofuku_lp2610_draft_mincho.html（明朝版）
   ========================================================================== */

/* --- SWELL記事本文スタイルの無効化（このLPの内側だけ） --- */
#main_content .post_content > .lp2610{ margin:0; }

/* SWELLの見出し装飾（h2=紺帯・白文字、h3=左ボーダー）とリストの字下げは
   .post_content 配下の詳細度が高く素のリセットでは負けるため、同じ強さで無効化する */
#main_content .post_content .lp2610 :where(h1,h2,h3,h4){
  margin:0; padding:0; background:transparent; border:0; border-radius:0;
  color:var(--ink); text-align:inherit;
}
#main_content .post_content .lp2610 :where(h1,h2,h3,h4)::before,
#main_content .post_content .lp2610 :where(h1,h2,h3,h4)::after{ content:none; }
#main_content .post_content .lp2610 :where(ul,ol){ margin:0; padding:0; list-style:none; }
#main_content .post_content .lp2610 li{ margin:0; }

/* 上の無効化で消える設計上の余白を、同じ強さで戻す */
#main_content .post_content .lp2610 .lp2610__heroTitle,
#main_content .post_content .lp2610 .lp2610__h2{ margin-bottom:var(--sp-3); }
#main_content .post_content .lp2610 .lp2610__h3{ margin-bottom:var(--sp-1); }
#main_content .post_content .lp2610 .lp2610__facts{ margin-top:var(--sp-4); padding-top:var(--sp-4); }
#main_content .post_content .lp2610 .lp2610__perks{ margin-top:var(--sp-4); }
/* ブランド見出し（明星軒/加納幸）の上下余白。SWELLのh3マージンに負けないよう同じ強さで指定（260817） */
#main_content .post_content .lp2610 .lp2610__brandTitle{ margin-top:var(--sp-5); margin-bottom:var(--sp-4); }
/* 対象商品スライダーはinnerの先頭子要素＝SWELLの「.post_content div > :first-child{margin-top:0 !important}」に
   潰されるため、!importantで戻す（説明文と画像のあいだが詰まって見える問題の真因。260817） */
#main_content .post_content .lp2610 .lp2610__saleSlider{ margin-top:calc(var(--sp-5) + var(--sp-2)) !important; }
/* セット2列も260901に説明文直下（ブロック先頭）へ移動したため同じ対策（説明文と写真の間隔） */
#main_content .post_content .lp2610 .lp2610__sets{ margin-top:calc(var(--sp-5) + var(--sp-2)) !important; }
@media (min-width:768px){
  #main_content .post_content .lp2610 .lp2610__facts{ margin-top:var(--sp-5); padding-top:var(--sp-5); }
  #main_content .post_content .lp2610 .lp2610__perks{ margin-top:var(--sp-5); }
}

.lp2610 :where(h1,h2,h3,h4,p,ul,ol,li,figure,img,small,dl,dt,dd){ margin:0; padding:0; }
.lp2610 :where(ul,ol){ list-style:none; }
.lp2610 *,.lp2610 *::before,.lp2610 *::after{ box-sizing:border-box; }

/* --- デザイントークン（:root ではなくスコープ内に置く） ------------------- */
.lp2610{
  /* 色：文字・背景・罫線は apple.com/jp の実測値を採用。
     アクセントは260901にAppleブルー(#0071e3)から店のブランド色へ変更（施主指示）。
     ブランド色＝呉服サイト https://shanari.com/gofuku/ のボタン色 #04384c（SWELLメインカラー） */
  --ink:#1d1d1f;
  --ink-2:#6e6e73;
  --ink-3:#86868b;
  --bg:#ffffff;
  --bg-2:#f5f5f7;
  --line:#d2d2d7;
  --accent:#04384c;
  --accent-hover:#0a4a63;
  --accent-tint:#eef4f7;
  --link:#04384c;

  --ff-jp:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",
          "Noto Sans JP","Yu Gothic Medium",Meiryo,sans-serif;

  /* 明朝版：メインのコピーに使う「太い明朝」 */
  --ff-mincho:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho Demibold",
              "Yu Mincho",YuMincho,"MS PMincho",serif;

  --fs-hero:clamp(34px,8.4vw,56px);
  --fs-h2:clamp(28px,6.6vw,48px);
  --fs-h3:clamp(19px,4.6vw,24px);
  --fs-lead:clamp(17px,4.4vw,21px);
  --fs-body:17px;
  --fs-note:clamp(12px,3.2vw,14px);

  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px;
  --sp-5:64px; --sp-6:96px; --sp-7:clamp(64px,12vw,152px);
  --sp-media:var(--sp-4);

  --pad-x:clamp(20px,5.6vw,48px);
  --maxw:980px;
  --maxw-narrow:680px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --radius:18px;

  font-family:var(--ff-jp);
  font-size:var(--fs-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.47;
  letter-spacing:-.022em;
  text-align:center;
  -webkit-font-smoothing:antialiased;
}

/* --- PC表示の横幅制限（260904施主指示） -----------------------------------
   参考: https://furisode-expo.com/fukudaya/utsunomiya/（本文750px・左右に地色）
   閲覧の9割がスマホなのでPCでも1カラム幅を720pxに抑え、スマホと同じ見え方にする。
   SWELLの本文幅（800px）制限を外し、左右のあまりには薄い地色を敷いて紙面の輪郭を出す。
   ※このCSSは固定ページ7792（このLP）にしか読み込まれない（gle_enqueue_assets の
     is_page 判定）ため、body / .l-mainContent への指定も他ページには影響しない
   ------------------------------------------------------------------------- */
.lp2610{ --maxw-lp:720px; }
@media (min-width:768px){
  body{ background:#e3e3e7; }                       /* LPの左右に出る地色 */
  .l-mainContent{ max-width:none; }                 /* SWELLの800px制限を解除（このページのみ） */
  #main_content .post_content > .lp2610,
  .lp2610{
    max-width:var(--maxw-lp); margin-inline:auto;
    box-shadow:0 0 28px rgba(0,0,0,.07);            /* 紙面が浮いて見える程度の影 */
  }
}

/* --- 事業切替バーの非表示（260904施主指示） -------------------------------
   子テーマ functions.php の shanari_brand_switch_bar() が全ページの <body> 直後に
   出している「KIMONOしゃなり｜着物総合／振袖／浴衣」の帯を、このLPでは出さない。
   広告からの流入を他サイトへ逃がさないため。出力自体もPHP側で止めている
   （gle_hide_brand_switch_bar）ので、これは保険の1行 ------------------------- */
.shanari-switch{ display:none !important; }

/* --- 00 BRANDBAR（ページ最上部のロゴ帯・260904施主指示） ------------------
   このLPはヘッダーの出ないテンプレート（page-lp-wide）なので、店名が分かるものを
   いちばん上に置く。リンクは張らない（LPから出さない） --------------------- */
.lp2610__brandBar{
  display:flex; align-items:center; justify-content:center;
  padding:12px var(--pad-x);
  background:var(--bg);
  /* 下の罫線は260904に削除（施主指示）。動画とのあいだに線が入ると区切りが強すぎるため */
}
.lp2610__brandLogo{
  display:block; width:auto; height:38px; max-width:100%;
  object-fit:contain;
}
@media (min-width:768px){
  .lp2610__brandBar{ padding:14px var(--pad-x); }
  .lp2610__brandLogo{ height:44px; }
}

/* --- レイアウト primitives ------------------------------------------------ */
.lp2610__sec{ padding:var(--sp-7) 0; background:var(--bg); }
.lp2610__sec--alt{ background:var(--bg-2); }
.lp2610__inner{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad-x); }
.lp2610__inner--narrow{ max-width:var(--maxw-narrow); }

/* --- タイポ primitives ---------------------------------------------------- */
.lp2610__eyebrow{
  font-size:var(--fs-h3); font-weight:600; letter-spacing:.01em;
  line-height:1.25; color:var(--ink); margin-bottom:var(--sp-2);
}
.lp2610__h2{
  font-family:var(--ff-mincho);
  font-size:var(--fs-h2); font-weight:700;
  line-height:1.28; letter-spacing:.005em; margin-bottom:var(--sp-3);
}
.lp2610__h3{
  font-size:var(--fs-h3); font-weight:600;
  line-height:1.25; letter-spacing:.01em; margin-bottom:var(--sp-1);
}
.lp2610__lead{
  font-size:var(--fs-lead); color:var(--ink-2); line-height:1.55;
  letter-spacing:-.016em; max-width:30em; margin-inline:auto;
}
.lp2610__body{ font-size:var(--fs-body); color:var(--ink-2); max-width:34em; margin-inline:auto; }
.lp2610__note{
  font-size:var(--fs-note); color:var(--ink-3); line-height:1.5;
  letter-spacing:-.01em; max-width:40em; margin-inline:auto; margin-top:var(--sp-3);
}
.lp2610__brPc{ display:none; }
@media (min-width:768px){ .lp2610__brPc{ display:inline; } }

/* スマホは本文系を左寄せ（中央寄せだと改行が中途半端な位置で切れるため）。
   見出し・大数字・ボタンまわりは中央のまま */
@media (max-width:767px){
  .lp2610__lead,
  .lp2610__body,
  .lp2610__note,
  .lp2610__promise{ text-align:left; }
}

/* 日本語の折り返しを文節単位に寄せる */
.lp2610__heroTitle,.lp2610__h2,.lp2610__h3,
.lp2610__itemName,.lp2610__stepTitle,.lp2610__bigCaption{
  word-break:auto-phrase; text-wrap:balance;
}
.lp2610__nb{ display:inline-block; }

/* --- メディア primitives -------------------------------------------------- */
.lp2610__media{
  position:relative; overflow:hidden; background:var(--bg-2);
  margin-block:var(--sp-media);
}
.lp2610__media img{
  display:block; width:100%; height:100%;
  object-fit:cover;
  object-position:var(--pos,50% 50%);
}
.lp2610__media--hero{ aspect-ratio:3/4; }
.lp2610__media--portrait{ aspect-ratio:3/4; }
.lp2610__media--square{ aspect-ratio:1/1; }
.lp2610__media--wide{ aspect-ratio:4/3; }
.lp2610__media--inset{ max-width:var(--maxw); margin-inline:auto; border-radius:var(--radius); }
@media (min-width:768px){
  .lp2610{ --sp-media:var(--sp-5); }
  .lp2610__media--hero{ aspect-ratio:16/9; }
  .lp2610__media--wide{ aspect-ratio:16/9; }
  .lp2610__media--portrait{ aspect-ratio:4/5; }
}

/* 画像プレースホルダ（画像未設定時。撮影メモがそのまま表示される） */
.lp2610__media.is-ph::after{
  content:attr(data-ph);
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:1em; text-align:center; white-space:pre-line;
  font-size:var(--fs-note); line-height:1.8; letter-spacing:.06em;
  color:#9a9aa0; background:repeating-linear-gradient(45deg,#ececee 0 12px,#e6e6e9 12px 24px);
}

/* 撮影メモ（撮影前サンプル）：写真の上に半透明で重ねる。
   管理画面の「撮影メモ」欄を空にすると消える */
.lp2610__media--note::after{
  content:attr(data-note);
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:center; justify-content:center;
  padding:1.2em; text-align:center; white-space:pre-line;
  font-size:var(--fs-note); font-weight:600; line-height:1.8; letter-spacing:.04em;
  color:var(--ink); background:rgba(255,255,255,.74);
  backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
}

/* 自動フェード切替のお試し（260817）: gle_fade_slides で指定したスライドだけ、
   メイン写真⇔追加写真①をJSが約4秒ごとに is-alt トグルで入れ替える（似た着姿カット向け）
   フェードは2.4秒かけてゆっくり（260817施主指示） */
.lp2610__media--fade .lp2610__fadeB{
  position:absolute; inset:0;
  background-size:cover; background-position:var(--pos,50% 50%);
  opacity:0; transition:opacity 2.4s var(--ease);
}
.lp2610__media--fade.is-alt .lp2610__fadeB{ opacity:1; }
@media (prefers-reduced-motion:reduce){
  .lp2610__media--fade .lp2610__fadeB{ transition:none; }
}

/* 拡大できる画像（追加写真がある場合はライトボックス内で切り替え） */
.lp2610__zoom{ cursor:zoom-in; }
.lp2610__zoom::before{
  content:"＋"; position:absolute; z-index:2; right:12px; bottom:12px;
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:50%; background:rgba(255,255,255,.86); color:var(--ink);
  font-size:15px; line-height:1;
}

/* --- CTA primitives ------------------------------------------------------- */
.lp2610__ctaWrap{ margin-top:var(--sp-4); }
.lp2610__cta{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 22px;
  border-radius:980px; background:var(--accent); color:#fff;
  font-size:var(--fs-body); font-weight:400; letter-spacing:-.016em;
  text-decoration:none;
  transition:background .2s var(--ease);
}
.lp2610__cta:hover{ background:var(--accent-hover); color:#fff; }
.lp2610__cta--ghost{ background:transparent; color:var(--link); border:1px solid var(--link); }
.lp2610__cta--ghost:hover{ background:transparent; color:var(--link); opacity:.75; }
.lp2610__ctaNote{ display:block; font-size:var(--fs-note); color:var(--ink-3); margin-top:var(--sp-2); }
.lp2610 a:not(.lp2610__cta){ color:var(--link); text-decoration:none; }

/* --- スクロール連動フェードイン ------------------------------------------- */
html.lp2610-js .lp2610 [data-reveal]{
  opacity:0; transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
html.lp2610-js .lp2610 [data-reveal].is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html.lp2610-js .lp2610 [data-reveal]{ opacity:1!important; transform:none!important; transition:none!important; }
}

/* ==========================================================================
   01 HERO
   260901施主指示: 文字を反物写真の上に重ねる。写真をセクション全面の背景にし、
   上から白のグラデーション（スクリム）を敷いて文字を読めるようにする
   ========================================================================== */
.lp2610__hero{ position:relative; padding:0; overflow:hidden; }
.lp2610__hero .lp2610__inner{
  position:relative; z-index:2;
  padding-top:var(--sp-6); padding-bottom:var(--sp-6);
  min-height:min(170vw,700px);
}
.lp2610__hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.9) 34%,
    rgba(255,255,255,.55) 58%,
    rgba(255,255,255,0) 88%);
}
.lp2610__heroMedia{
  position:absolute; inset:0; z-index:0;
  margin:0; aspect-ratio:auto; height:100%;
}
/* 写真の注記（AI生成イメージのディスクレーマー。写真右下に小さく・260901） */
.lp2610__heroDisclaimer{
  position:absolute; right:10px; bottom:8px; z-index:2;
  margin:0; padding:3px 9px; border-radius:6px;
  background:rgba(255,255,255,.75); color:var(--ink-2);
  font-size:10px; letter-spacing:0; line-height:1.5; text-align:left;
}
@media (min-width:768px){
  .lp2610__hero .lp2610__inner{ min-height:620px; }
  /* PCは写真が横長でテキストが写真の濃い部分に重なるため、スクリムを全面に（下でも薄く残す） */
  .lp2610__hero::after{
    background:linear-gradient(180deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.9) 40%,
      rgba(255,255,255,.72) 68%,
      rgba(255,255,255,.42) 100%);
  }
}
.lp2610__heroTitle{
  font-family:var(--ff-mincho);
  font-size:var(--fs-hero); font-weight:700;
  line-height:1.2; letter-spacing:.01em; margin-bottom:var(--sp-3);
}
.lp2610__heroDate{
  font-size:var(--fs-lead); font-weight:600; letter-spacing:.06em; margin-bottom:var(--sp-1);
}
.lp2610__heroPlace{ font-size:var(--fs-body); color:var(--ink-2); }
.lp2610__heroSub{
  font-size:var(--fs-lead); color:var(--ink); margin-top:var(--sp-4); line-height:1.9;
}

/* --- 動画ヒーロー（260904施主指示: 会場イメージ動画をいちばん上に、文字はその下） ---
   写真版（上のスクリム＋文字重ね）と共存させる。動画URLが入っているときだけ .lp2610__hero--video が付く */
.lp2610__hero--video{ padding:0; }
.lp2610__hero--video::after{ content:none; }              /* 文字を重ねないので白スクリムは不要 */
.lp2610__hero--video .lp2610__inner{
  position:static; min-height:0;
  padding-top:var(--sp-4); padding-bottom:var(--sp-5);
}
.lp2610__heroVideo{
  position:relative; line-height:0;
  background:var(--bg-2);                                  /* 動画の地色（薄いグレー）に合わせる */
}
.lp2610__heroVideoEl{
  display:block; width:100%; height:auto; margin-inline:auto;
  background:var(--bg-2);
}
/* 動きを控える設定の端末では静止画（1コマ目）だけ見せる。JSが .is-still を付ける */
.lp2610__heroVideo.is-still .lp2610__heroVideoEl{ visibility:hidden; }
.lp2610__heroVideo.is-still{
  background:var(--bg-2) var(--poster,none) center/cover no-repeat;
}
/* 動画版の注記は「見るだけ・ご相談だけでも歓迎です」の下に右寄せで置く（260904施主指示。
   動画に重ねると読みづらく、スマホでは2行に折り返してしまうため） */
.lp2610__hero--video .lp2610__heroDisclaimer{
  position:static; transform:none; background:none; white-space:normal;
  margin-top:var(--sp-2); padding:0;
  text-align:right; line-height:1.5;
  text-wrap:balance;      /* スマホで折り返すとき1行目/2行目の長さを揃える */
}
@media (min-width:768px){
  /* PCで縦長動画を全幅にすると高すぎる（本文幅800pxなら高さ1000px）ため、
     高さで抑えて中央に置く。左右の余白は白のままにして、動画を角丸のタイルとして見せる */
  .lp2610__heroVideo{
    display:flex; justify-content:center;
    background:var(--bg); padding-top:var(--sp-4);
  }
  .lp2610__heroVideoEl{
    width:auto; max-width:100%; height:min(80vh,720px);
    border-radius:var(--radius); overflow:hidden;
  }
}

/* ==========================================================================
   02 SALE（割引）
   ========================================================================== */
.lp2610__bigNum{
  display:block;
  font-size:clamp(84px,26vw,220px); line-height:.92; font-weight:600;
  letter-spacing:-.045em; margin:var(--sp-4) 0 var(--sp-2);
}
.lp2610__bigNum small{ font-size:.4em; font-weight:600; letter-spacing:-.02em; margin-left:.04em; }
/* 大きな数字の上の言葉（「最大」）。%と同じ大きさ（.4em）で数字の真上に置く */
.lp2610__bigNumPrefix{
  display:block; font-size:.4em; font-weight:600;
  letter-spacing:.02em; line-height:1.2; margin-bottom:.1em;
}
.lp2610__bigCaption{ font-size:var(--fs-h3); font-weight:600; letter-spacing:.02em; }
/* 「最大80%OFF」直下の打消し注記（割引の条件は強調表示と同じ場所に置く・260907 景表法対応） */
.lp2610__bigNote{ font-size:var(--fs-note); color:var(--ink-3); line-height:1.5; letter-spacing:-.01em; margin-top:var(--sp-1); }

.lp2610__facts{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-2);
  margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--line);
}
@media (min-width:768px){
  .lp2610__facts{ gap:var(--sp-4); margin-top:var(--sp-5); padding-top:var(--sp-5); }
}
/* --- 上段: 対象商品スライダー（横スワイプ。自動送りは260817廃止・itemsカルーセルと同構造）
   説明文とのあいだは広めにとる（「文字と画像がつまって見える」対策 260817） --- */
.lp2610__saleSlider{
  display:grid; grid-auto-flow:column; grid-auto-columns:76%; gap:var(--sp-3);
  margin-top:calc(var(--sp-5) + var(--sp-2)); text-align:left;
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  margin-inline:calc(var(--pad-x) * -1);
  padding-inline:var(--pad-x);
  scroll-padding-inline:var(--pad-x);
  scrollbar-width:none;
}
.lp2610__saleSlider::-webkit-scrollbar{ display:none; }
.lp2610__saleSlider > .lp2610__slideItem{ scroll-snap-align:start; }
.lp2610__slideItem .lp2610__media{ margin-block:0; border-radius:var(--radius); }
.lp2610__slideName{
  font-size:var(--fs-body); font-weight:600; letter-spacing:.01em; margin-top:var(--sp-2);
}
.lp2610__slidePrice{
  font-size:clamp(17px,4.5vw,22px); font-weight:700; letter-spacing:-.01em; margin-top:2px;
  color:#c0392b; /* 値引き後の価格は赤（260817施主指示） */
}
.lp2610__slidePrice small{ font-size:.55em; font-weight:600; }
/* 値引き前価格（「79,800円 → 39,800円」の値引き感を出す。空欄なら現在価格だけ） */
.lp2610__slideWas,.lp2610__setWas{
  font-size:var(--fs-note); font-weight:500; color:var(--ink-3); text-decoration:line-through;
}
.lp2610__priceArrow{ font-size:.72em; font-weight:500; color:var(--ink-3); margin:0 .3em; }
/* 値引き前価格の名目（「当店通常価格」「単品合計」）。取消線の直前に小さく・260907 景表法対応 */
.lp2610__wasLabel{ font-size:var(--fs-note); font-weight:500; color:var(--ink-3); margin-right:.3em; white-space:nowrap; }
/* 割引率バッジ（値引き前後の金額から自動計算・260901） */
.lp2610__offBadge{
  display:inline-block; margin-right:.5em; padding:2px 8px 3px;
  border-radius:6px; background:#c0392b; color:#fff;
  font-size:.58em; font-weight:700; letter-spacing:.03em; vertical-align:.18em;
}
/* お仕立て代の行（価格の下に小さく・260901） */
.lp2610__slideTailor{ font-size:var(--fs-note); color:var(--ink-2); margin-top:2px; }
/* 単衣仕立てとは？のミニ「？」ボタン */
.lp2610__miniQ{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; margin-left:.45em; padding:0;
  border:0; border-radius:50%; background:var(--link); color:#fff;
  font-family:inherit; font-size:11px; font-weight:700; line-height:1;
  cursor:pointer; vertical-align:-3px;
}
@media (min-width:768px){
  .lp2610__saleSlider{ grid-auto-columns:32%; }
}

/* --- 下段: セット（訪問着5点セット／小紋5点セット）
   スマホは縦積み1列で画像を大きく見せる（260817施主指示）。PCは従来どおり2列 --- */
.lp2610__sets{
  display:grid; grid-template-columns:1fr; gap:var(--sp-5);
  margin-top:var(--sp-4); text-align:left;
}
@media (min-width:768px){
  .lp2610__sets{ grid-template-columns:1fr 1fr; gap:var(--sp-4); max-width:var(--maxw-narrow); margin-inline:auto; }
}
.lp2610__set .lp2610__media{ margin-block:0 var(--sp-2); border-radius:var(--radius); }
.lp2610__setName{ font-size:var(--fs-body); font-weight:600; letter-spacing:.01em; }
.lp2610__setItems{ font-size:var(--fs-note); color:var(--ink-2); line-height:1.6; margin-top:2px; }
.lp2610__setPrice{ font-size:clamp(19px,5vw,26px); font-weight:700; letter-spacing:-.01em; margin-top:var(--sp-1); color:#c0392b; }
.lp2610__setPrice small{ font-size:.55em; font-weight:600; }
.lp2610__setNote{ font-size:var(--fs-note); font-weight:600; color:#c0392b; margin-top:2px; }

.lp2610__factNum{
  display:block; font-size:clamp(30px,8vw,44px); font-weight:700;
  line-height:1.1; letter-spacing:-.02em;
}
.lp2610__factNum small{ font-size:.42em; font-weight:600; margin-left:.1em; }
.lp2610__factLabel{ display:block; font-size:var(--fs-note); color:var(--ink-2); margin-top:var(--sp-1); }

/* ==========================================================================
   03 ITEMS（メイン商品）
   ========================================================================== */
.lp2610__items{
  display:grid; grid-auto-flow:column; grid-auto-columns:76%; gap:var(--sp-3);
  margin-top:var(--sp-4); text-align:left;
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  margin-inline:calc(var(--pad-x) * -1);
  padding-inline:var(--pad-x);
  scroll-padding-inline:var(--pad-x);
  scrollbar-width:none;
}
.lp2610__items::-webkit-scrollbar{ display:none; }
.lp2610__item{ scroll-snap-align:start; }
@media (min-width:768px){
  .lp2610__items{
    grid-auto-flow:row; grid-template-columns:repeat(2,1fr); grid-auto-columns:auto;
    gap:var(--sp-4); margin-top:var(--sp-5);
    overflow:visible; max-width:var(--maxw-narrow); margin-inline:auto; padding-inline:0;
  }
}
.lp2610__item .lp2610__media{ margin-block:0 var(--sp-3); border-radius:var(--radius); }
.lp2610__itemName{ font-size:var(--fs-h3); font-weight:600; letter-spacing:.01em; }
.lp2610__itemText{ font-size:var(--fs-body); color:var(--ink-2); margin-top:var(--sp-1); }

/* ブランド新作発表セクション（260817施主指示: セールと別セクション感を出す）
   見出しをひとまわり大きく、ブランド名の見出しを商品グリッドの上に置く。
   ブランド見出しの上下余白はファイル冒頭のSWELL対策ブロック（#main_content付き）で指定 */
.lp2610__sec--feature .lp2610__h2{ font-size:calc(var(--fs-h2) * 1.15); }
.lp2610__sec--feature .lp2610__lead{ font-size:calc(var(--fs-lead) * 1.08); }
.lp2610__brandTitle{
  font-size:calc(var(--fs-h3) * 1.12);
  font-weight:700; letter-spacing:.12em;
}
/* ブランドのひとこと説明（260901追加。ブランド名見出しの直下）
   同日: グレー下地＋左寄せで少し強調（施主指示） */
.lp2610__brandNote{
  font-size:var(--fs-note); color:var(--ink-2); line-height:1.8;
  max-width:34em; margin-inline:auto; margin-bottom:var(--sp-4);
  padding:12px 18px; border-radius:12px; background:var(--bg-2);
  text-align:left;
}
/* 説明がある場合は見出しの下余白を詰める（:has非対応ブラウザは従来の余白のまま） */
#main_content .post_content .lp2610 .lp2610__brandTitle:has(+ .lp2610__brandNote){ margin-bottom:var(--sp-2); }

/* 見出し直下のグリッドは自前のmargin-topを持たない（間隔は見出しのmargin-bottomで管理）
   ※JSが矢印用ラッパー .lp2610__hscroll で包むため、その中のグリッドにも効かせる
   ※ひとこと説明（brandNote）が間に入る場合も同様 */
.lp2610__brandTitle + .lp2610__items,
.lp2610__brandTitle + .lp2610__hscroll .lp2610__items,
.lp2610__brandNote + .lp2610__items,
.lp2610__brandNote + .lp2610__hscroll .lp2610__items{ margin-top:0; }

/* 横スクロールの矢印（260901施主指示: スクロールできる感を出す）
   JSがスクロール可能な .lp2610__saleSlider / .lp2610__items をラッパーで包み、
   画像の左右に重ねる。端まで来た側・スクロール不要（PCのグリッド表示）では自動非表示 */
.lp2610__hscroll{ position:relative; }
.lp2610__hnav{
  position:absolute; z-index:3; top:calc(50vw - 20px);
  width:40px; height:40px; border:0; border-radius:50%;
  background:rgba(255,255,255,.92); color:var(--ink);
  font-size:24px; line-height:38px; padding:0 0 3px; cursor:pointer;
  box-shadow:0 1px 6px rgba(0,0,0,.18);
}
.lp2610__hnav[hidden]{ display:none; }
.lp2610__hnav--prev{ left:2px; }
.lp2610__hnav--next{ right:2px; }
@media (min-width:768px){
  .lp2610__hnav{ top:175px; }
}

/* ==========================================================================
   04 LESSON（着付け教室）
   ========================================================================== */
.lp2610__panel{
  border:1px solid var(--line); border-radius:var(--radius);
  padding:var(--sp-4) var(--pad-x); background:var(--bg);
  max-width:var(--maxw-narrow); margin:var(--sp-5) auto 0; text-align:left;
}
.lp2610__sec--alt .lp2610__panel{ background:var(--bg); }
.lp2610__dl{ display:grid; grid-template-columns:4.5em 1fr; gap:var(--sp-2) var(--sp-2); }
@media (min-width:600px){ .lp2610__dl{ grid-template-columns:7em 1fr; gap:var(--sp-2) var(--sp-3); } }
.lp2610__dl dt{ font-size:var(--fs-note); font-weight:600; color:var(--ink-3); letter-spacing:.06em; padding-top:.2em; }
.lp2610__dl dd{ font-size:var(--fs-body); }
.lp2610__after{
  margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--line);
  font-size:var(--fs-body); color:var(--ink-2);
}

/* ==========================================================================
   05 CLEANING（きものクリーニング）
   ========================================================================== */
/* 説明文はPCでも左寄せ（260901施主指示。SPは共通ルールで元から左寄せ） */
#cleaning .lp2610__lead{ text-align:left; }
.lp2610__prices{ max-width:var(--maxw-narrow); margin:var(--sp-5) auto 0; text-align:left; }
.lp2610__price{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:var(--sp-1) var(--sp-3);
  padding:var(--sp-3) 0; border-bottom:1px solid var(--line);
}
.lp2610__price:first-child{ border-top:1px solid var(--line); }
.lp2610__priceName{ font-size:var(--fs-body); font-weight:600; }
.lp2610__priceNote{ display:block; font-size:var(--fs-note); font-weight:400; color:var(--ink-3); margin-top:2px; }
.lp2610__priceVal{ font-size:clamp(20px,5.2vw,28px); font-weight:700; letter-spacing:-.01em; white-space:nowrap; }
.lp2610__priceVal small{ font-size:.5em; font-weight:600; margin-left:.15em; }
.lp2610__priceWas{ font-size:var(--fs-note); color:var(--ink-3); text-decoration:line-through; margin-right:.5em; }

/* ==========================================================================
   06 CARD（PREMIUM CLUB CARD）
   260901施主指示: ページ中盤のアンカーとして濃色セクション化（ブランド紺 #04384c＋白文字）
   ========================================================================== */
.lp2610__sec--dark{ background:#04384c; }
.lp2610__sec--dark .lp2610__eyebrow{ color:rgba(255,255,255,.55); }
/* 見出しはファイル冒頭のSWELL無効化（#main_content…{color:var(--ink)}）に負けるため同じ強さで白指定 */
#main_content .post_content .lp2610 .lp2610__sec--dark :where(h1,h2,h3,h4),
.lp2610__sec--dark .lp2610__h2{ color:#fff; }
.lp2610__sec--dark .lp2610__lead{ color:rgba(255,255,255,.8); }
.lp2610__sec--dark .lp2610__perkName{ color:#fff; }
.lp2610__sec--dark .lp2610__perkVal{ color:rgba(255,255,255,.66); }
.lp2610__sec--dark .lp2610__perk{ border-color:rgba(255,255,255,.16); }
.lp2610__sec--dark .lp2610__more,
.lp2610__sec--dark .lp2610__note{ color:rgba(255,255,255,.55); }
.lp2610__sec--dark .lp2610__cta{ background:#fff; color:#04384c; }
.lp2610__sec--dark .lp2610__cta:hover{ background:#f5f5f7; color:#04384c; }
.lp2610__perks{
  display:grid; grid-template-columns:repeat(2,1fr); column-gap:var(--sp-3);
  max-width:var(--maxw-narrow); margin:var(--sp-4) auto 0; text-align:left;
}
@media (min-width:768px){ .lp2610__perks{ column-gap:var(--sp-4); margin-top:var(--sp-5); } }
.lp2610__perk{ padding:var(--sp-2) 0; border-bottom:1px solid var(--line); }
@media (min-width:768px){ .lp2610__perk{ padding:var(--sp-3) 0; } }
.lp2610__perkName{ font-size:var(--fs-body); font-weight:600; }
.lp2610__perkVal{ font-size:var(--fs-note); color:var(--ink-2); font-weight:600; margin-top:2px; }
.lp2610__more{
  font-size:var(--fs-note); color:var(--ink-3);
  max-width:var(--maxw-narrow); margin:var(--sp-3) auto 0; text-align:left;
}

/* 特典カードのバナー（1:1・260904施主指示）
   白背景の正方形バナーをPCで幅いっぱい(720px)に出すと紺のセクションを白が占領するため、
   PCだけ560pxに抑えて左右に紺の余白を残す＝「チラシを1枚貼った」見え方にする。
   スマホ(<768px)は画面幅いっぱいのまま */
@media (min-width:768px){
  .lp2610__sec--dark .lp2610__media--card{ max-width:560px; }
}

/* ==========================================================================
   07 FLOW（当日の流れ）
   ========================================================================== */
.lp2610__steps{
  display:grid; grid-template-columns:1fr; gap:var(--sp-4);
  max-width:var(--maxw-narrow); margin:var(--sp-5) auto 0; text-align:left;
}
@media (min-width:768px){ .lp2610__steps{ grid-template-columns:repeat(3,1fr); gap:var(--sp-4); } }
.lp2610__stepNum{
  display:block; font-size:var(--fs-note); font-weight:600; letter-spacing:.01em;
  color:var(--ink-3); margin-bottom:var(--sp-1);
}
.lp2610__stepTitle{ font-size:var(--fs-h3); font-weight:600; letter-spacing:.01em; }
.lp2610__stepText{ font-size:var(--fs-body); color:var(--ink-2); margin-top:var(--sp-1); }
.lp2610__promise{
  max-width:var(--maxw-narrow); margin:var(--sp-5) auto 0;
  padding:var(--sp-4); border-radius:var(--radius); background:var(--bg-2);
  font-size:var(--fs-lead); line-height:1.9;
}
.lp2610__sec--alt .lp2610__promise{ background:var(--bg); }

/* ==========================================================================
   07-1 BUY（ご購入の流れ＋購入後の特典・260901追加）
   ステップ表示は 07 FLOW の .lp2610__steps を共用。特典は枠（__panel）の中に縦積み
   ========================================================================== */
/* 「【しゃなりだけの特典】ご購入後も、ずっと。」の枠は薄いグレー下地でさりげなく目立たせる（260901施主指示）
   260901に特典カード（メンバーズカード）の直上へ移動＝独立セクション #afterbuy（上余白は詰める） */
#buy .lp2610__panel,
#afterbuy .lp2610__panel{ background:var(--bg-2); border:0; margin-top:0; }
.lp2610__sec--afterbuy{ padding-top:0; }
/* 枠タイトルは左右センター（260901施主指示） */
#afterbuy .lp2610__panel .lp2610__h3{ text-align:center; }
.lp2610__buyPerk{
  display:flex; gap:var(--sp-2); align-items:flex-start;
  margin-top:var(--sp-3); padding-top:var(--sp-3); border-top:1px solid var(--line);
}
/* 公式サイトの実写を丸く切り抜いて添える（260901施主指示。同日1.5倍に拡大） */
.lp2610__buyPerkImg{
  flex:none; width:96px; height:96px; border-radius:50%; object-fit:cover;
  background:var(--bg-2);
}
.lp2610__buyPerkBody{ min-width:0; }
.lp2610__buyPerkName{ font-size:var(--fs-body); font-weight:600; }
.lp2610__buyPerkNote{ font-size:var(--fs-note); color:var(--ink-2); margin-top:var(--sp-1); line-height:1.8; }

/* ==========================================================================
   07-2 FAQ（よくあるご質問・260901追加）
   開閉式Q&A（.lp2610__qa）は「訪問着とは」（02 SALE内）と共用
   ========================================================================== */
.lp2610__sec--faq{ padding-top:0; }   /* 直前のセクションに続けて出す（LPの高さを抑える） */
/* 260904: 直前の「ご購入の流れ」を灰背景(--alt)にしたため、ここで白に戻る。
   背景が切り替わる境目に余白がないと見出しが詰まるので、上余白だけ戻す */
.lp2610__sec--alt + .lp2610__sec--faq{ padding-top:var(--sp-5); }
.lp2610__faq{ max-width:var(--maxw-narrow); margin:var(--sp-4) auto 0; text-align:left; }
.lp2610__qa{ border-bottom:1px solid var(--line); }
.lp2610__faq .lp2610__qa:first-child{ border-top:1px solid var(--line); }
.lp2610__qa summary{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2);
  list-style:none; cursor:pointer;
  padding:var(--sp-3) 0;
  font-size:var(--fs-body); font-weight:600; text-align:left;
}
.lp2610__qa summary::-webkit-details-marker{ display:none; }
.lp2610__qa summary::after{
  content:"＋"; flex:none; font-weight:400; color:var(--ink-3); font-size:1.05em;
}
.lp2610__qa[open] summary::after{ content:"－"; }
.lp2610__qa > p{
  padding:0 0 var(--sp-3);
  font-size:var(--fs-body); color:var(--ink-2); text-align:left;
}

/* 訪問着とは（セット2列の下の「？」ボタン→ポップアップ・02 SALE内。260901に開閉式から変更）
   「クリックできる見た目」＝枠線つきのピル型ボタンにする（260901施主FB） */
.lp2610__infoLink{ margin-top:var(--sp-4); text-align:center; }
.lp2610__infoBtn{
  display:inline-flex; align-items:center; gap:.6em;
  padding:12px 22px 12px 14px;
  border:1px solid var(--link); border-radius:980px;
  background:#fff; cursor:pointer;
  font-family:inherit; font-size:var(--fs-body); font-weight:600;
  color:var(--link); letter-spacing:inherit; text-align:left;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
  transition:background .2s var(--ease), box-shadow .2s var(--ease);
}
.lp2610__infoIcon{
  flex:none; width:1.5em; height:1.5em; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--link); color:#fff; font-size:.82em; font-weight:700;
}
.lp2610__infoBtn:hover{ background:var(--accent-tint); box-shadow:0 2px 8px rgba(0,0,0,.1); }
.lp2610__infoBtn:active{ background:#e2ecf1; }

/* 小さめチップ版（商品名・セット名の横 or 単独で中央置き・260901施主指示F案） */
.lp2610__chipBtn{
  display:inline-flex; align-items:center; gap:.35em;
  padding:3px 10px;
  border:1px solid var(--link); border-radius:999px; background:#fff;
  font-family:inherit; font-size:12px; font-weight:600; color:var(--link);
  cursor:pointer; white-space:nowrap;
}
.lp2610__setName .lp2610__chipBtn{ margin-left:.6em; vertical-align:2px; }
.lp2610__chipIcon{
  flex:none; width:1.35em; height:1.35em; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--link); color:#fff; font-size:.9em; font-weight:700;
}
.lp2610__chipBtn:hover{ background:var(--accent-tint); }

/* 情報ポップアップ（訪問着とは？） */
.lp2610__modal{
  /* 上下左右センター（260904施主指示）。SWELL側の「本文の最後の要素は margin-bottom:0
     !important」に margin:auto が負けて画面下に張り付いていたため、位置＋transformで固定する */
  width:min(92vw,560px); max-height:86vh;
  position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); margin:0;
  padding:var(--sp-4) var(--sp-3) var(--sp-3);
  border:0; border-radius:var(--radius); background:#fff;
  text-align:left; overflow:auto;
}
.lp2610__modal::backdrop{ background:rgba(0,0,0,.55); }
.lp2610__modal h3{ font-size:var(--fs-h3); font-weight:600; padding-right:44px; }
.lp2610__modal p{ margin-top:var(--sp-2); font-size:var(--fs-body); color:var(--ink-2); line-height:1.9; }
.lp2610__modal .lp2610__lbClose{ background:var(--bg-2); }
/* ポップアップ内のイラスト（訪問着とは）と着付け教室の詳細表 */
.lp2610__modalIllust{ display:block; width:100%; max-width:400px; margin:var(--sp-3) auto 0; font-family:inherit; }
.lp2610__modalDl{ margin-top:var(--sp-3); }

/* お支払い方法の枠（03 ITEMS末尾＝着付け教室の直上・260901追加。下地を敷いて目立たせる） */
.lp2610__payBox{
  max-width:var(--maxw-narrow); margin:var(--sp-4) auto 0;
  padding:var(--sp-3); border-radius:var(--radius); background:var(--bg-2);
  text-align:left;
}
.lp2610__payBox p{ font-size:var(--fs-note); color:var(--ink); line-height:1.9; }

/* パールトーン加工の説明枠（05 CLEANING・260901追加） */
.lp2610__miniNote{
  max-width:var(--maxw-narrow); margin:var(--sp-4) auto 0; text-align:left;
  padding:var(--sp-3) var(--sp-3); border-radius:var(--radius); background:var(--bg-2);
}
.lp2610__miniNote strong{ display:block; font-size:var(--fs-body); font-weight:600; }
.lp2610__miniNote p{ font-size:var(--fs-note); color:var(--ink-2); margin-top:var(--sp-1); line-height:1.8; }

/* ==========================================================================
   08 YOYAKU（予約・CF7フォーム）
   ========================================================================== */
.lp2610__formArea{ max-width:var(--maxw-narrow); margin:var(--sp-5) auto 0; text-align:left; }

/* CF7の見た目調整（プロトタイプのフォームモックの見た目に合わせる） */
.lp2610__formArea .wpcf7 form > p{ margin:0 0 var(--sp-3); }
.lp2610__formArea .wpcf7 label{
  display:block; font-size:var(--fs-note); font-weight:600; margin-bottom:6px;
  color:var(--ink);
}
.lp2610__formArea .wpcf7 input[type="text"],
.lp2610__formArea .wpcf7 input[type="tel"],
.lp2610__formArea .wpcf7 input[type="email"],
.lp2610__formArea .wpcf7 select,
.lp2610__formArea .wpcf7 textarea{
  width:100%; min-height:52px; padding:0 16px; margin-top:4px;
  border:1px solid var(--line); border-radius:12px; background:#fff;
  font-size:16px; font-family:inherit; color:var(--ink);   /* 16px未満だとiOSで拡大される */
}
.lp2610__formArea .wpcf7 textarea{ min-height:100px; padding:12px 16px; }
.lp2610__formArea .wpcf7 .wpcf7-checkbox{ display:block; margin-top:4px; }
.lp2610__formArea .wpcf7 .wpcf7-checkbox .wpcf7-list-item{
  display:block; margin:0; padding:8px 0;
}
.lp2610__formArea .wpcf7 .wpcf7-checkbox .wpcf7-list-item label{
  display:flex; align-items:flex-start; gap:.6em;
  font-size:var(--fs-body); font-weight:400; margin:0;
}
.lp2610__formArea .wpcf7 .wpcf7-checkbox input[type="checkbox"]{
  width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--accent);
}
/* 来店特典（羊羹）の写真：予約セクション内の小さめインセット */
.lp2610__media--gift{
  aspect-ratio:4/3; max-width:420px;
  margin-inline:auto; border-radius:var(--radius);
}

/* 来店日程の2段階セレクト（JSが本体selectを隠して差し込む） */
.lp2610__dtPick{ display:grid; grid-template-columns:1fr 1fr; gap:8px; align-items:start; }
.lp2610__formArea .wpcf7 select.lp2610__dtHidden{ display:none; }
/* 他ルールの巻き込みで左右の高さ・余白がズレるため強制的に揃える */
.lp2610__formArea .wpcf7 .lp2610__dtPick select{
  margin:0 !important;
  height:52px !important;
  min-height:52px !important;
  padding:0 16px !important;
}
.lp2610__formArea .wpcf7 .lp2610__dtPick select:disabled{ color:var(--ink-3); background:var(--bg-2); }

.lp2610__formArea .wpcf7 input[type="submit"]{
  width:100%; min-height:56px; margin-top:var(--sp-2);
  border:0; border-radius:980px; background:var(--accent); color:#fff;
  font-size:var(--fs-body); font-weight:400; font-family:inherit; cursor:pointer;
  transition:background .2s var(--ease);
}
.lp2610__formArea .wpcf7 input[type="submit"]:hover{ background:var(--accent-hover); }
.lp2610__formArea .wpcf7-not-valid-tip{
  display:block; font-size:var(--fs-note); color:#c0392b; margin-top:6px;
}
.lp2610__formArea .wpcf7-response-output{
  margin:var(--sp-3) 0 0; padding:12px 16px;
  border:1px solid var(--line) !important; border-radius:12px;
  font-size:var(--fs-note); text-align:center;
}
.lp2610__formArea .wpcf7-spinner{ display:block; margin:8px auto 0; }

/* ==========================================================================
   09 INFO（店舗情報）
   ========================================================================== */
.lp2610__infoList{ max-width:var(--maxw-narrow); margin:var(--sp-4) auto 0; text-align:left; }
.lp2610__infoRow{
  display:grid; grid-template-columns:6em 1fr; gap:var(--sp-2);
  padding:var(--sp-3) 0; border-bottom:1px solid var(--line);
  font-size:var(--fs-body);
}
.lp2610__infoRow:first-child{ border-top:1px solid var(--line); }
.lp2610__infoRow dt{ font-size:var(--fs-note); font-weight:600; color:var(--ink-3); letter-spacing:.08em; padding-top:.25em; }
/* 駐車場などのマップリンクは下線で「押せる」と分かるように */
.lp2610__infoRow a{ text-decoration:underline; text-underline-offset:3px; }
.lp2610__tel{ font-size:clamp(22px,6vw,30px); font-weight:600; letter-spacing:-.01em; text-decoration:none; }

/* ==========================================================================
   スマホ固定フッター（page-lp-wide.php の #fix_bottom_menu）
   白の磨りガラス＋LPと同じ青いピル型CTAに合わせる。
   ※子テーマ style.css に旧LP（2603/2604/2606）用の紺フッター指定が
     !important 付きで存在するため、body を足した詳細度＋!important で
     このLPだけ上書きする（旧LPの見た目は変えない）
   ========================================================================== */
body #fix_bottom_menu[data-lp-footer="custom"]{
  background:rgba(255,255,255,.86) !important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-top:1px solid #d2d2d7;
  box-shadow:none;
  padding:10px 20px calc(10px + env(safe-area-inset-bottom)*.5);
}
body #fix_bottom_menu[data-lp-footer="custom"]::before{ content:none !important; }
body #fix_bottom_menu[data-lp-footer="custom"] .menu_list{
  height:auto !important; padding:0 !important;
}
body #fix_bottom_menu[data-lp-footer="custom"] .menu-item{ width:100% !important; }
body #fix_bottom_menu[data-lp-footer="custom"] .menu-item a{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; max-width:420px !important;
  min-height:48px !important; height:auto !important;
  margin-inline:auto !important;
  /* ブランド色 #04384c（.lp2610の外なのでCSS変数は使えず実値。--accent と合わせること） */
  border-radius:980px !important; background:#04384c !important; color:#fff !important;
  transition:background .2s cubic-bezier(.22,.61,.36,1);
}
body #fix_bottom_menu[data-lp-footer="custom"] .menu-item a:hover,
body #fix_bottom_menu[data-lp-footer="custom"] .menu-item a:active{ background:#0a4a63 !important; color:#fff !important; }
body #fix_bottom_menu[data-lp-footer="custom"] .menu-item i{ display:none !important; }
body #fix_bottom_menu[data-lp-footer="custom"] span{
  font-size:16px !important; font-weight:400; letter-spacing:-.016em;
  line-height:1; margin-top:0 !important; width:auto !important;
}

/* ==========================================================================
   ライトボックス（画像拡大）
   ========================================================================== */
.lp2610__lb{
  width:min(94vw,1200px); max-width:none; max-height:92vh;
  /* 上下左右センター。margin:auto に頼るとSWELL側の「本文の最後の要素は margin-bottom:0
     !important」に負けて画面下に張り付くため、位置＋transformで中央に置く（260904） */
  position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); margin:0;
  padding:0; border:0; border-radius:var(--radius); background:#fff; overflow:hidden;
}
.lp2610__lb::backdrop{ background:rgba(0,0,0,.72); }
.lp2610__lb img{ display:block; width:100%; height:auto; max-height:92vh; object-fit:contain; }
.lp2610__lbClose{
  position:absolute; top:12px; right:12px; z-index:2;
  width:40px; height:40px; border:0; border-radius:50%;
  background:rgba(255,255,255,.9); color:var(--ink);
  font-size:20px; line-height:1; cursor:pointer;
}

/* 追加写真の切り替え（矢印・枚数表示）。写真が1枚のときはJSがhiddenにする */
.lp2610__lb [hidden]{ display:none; }
.lp2610__lbPrev,.lp2610__lbNext{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(255,255,255,.9); color:var(--ink);
  font-size:26px; line-height:44px; padding:0 0 4px; cursor:pointer;
}
.lp2610__lbPrev{ left:10px; }
.lp2610__lbNext{ right:10px; }
.lp2610__lbCount{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:2;
  margin:0; padding:4px 14px; border-radius:999px;
  background:rgba(0,0,0,.55); color:#fff; font-size:13px; letter-spacing:.06em;
}
