/* ============================================================
   lp.css — PRÉCIA ランディングページ共通フォーマット
   styles.css（トークン/.eyebrow/.btn-line/.reveal/.promise/.cta 等）を
   先に読み込んだ前提で、LP固有のレイアウトとテーマ色だけを足す。
   テーマ色は body.lp--<theme> の --accent / --hero-* を切替えるだけで個別最適化できる。
   ============================================================ */

/* ---- テーマ既定（未指定時のフォールバック） ---- */
body.lp{
  --accent:var(--champagne);
  --accent-soft:var(--champagne-soft);
  --hero-bg:#1c1a17;
  --hero-text:#f3ede1;
  --hero-veil:linear-gradient(180deg,rgba(20,18,15,.34) 0%,rgba(20,18,15,.18) 40%,rgba(20,18,15,.66) 100%);
}

/* ---- LP共通の小物 ---- */
.lp-wrap{max-width:1120px;margin:0 auto;padding:0 6vw}
.lp section{padding:clamp(72px,10vw,118px) 0}
.lp .sec-head{margin-bottom:48px}

/* ============================================================
   1. HERO（画像が主役・テキストは重ねる）
   ============================================================ */
.lp-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  background:var(--hero-bg);overflow:hidden;isolation:isolate}
.lp-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;animation:lpZoom 14s ease-out forwards}
@keyframes lpZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.lp-hero::after{content:"";position:absolute;inset:0;background:var(--hero-veil);z-index:1}
.lp-hero-bar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;
  justify-content:space-between;padding:24px 6vw}
/* ロゴは本家グローバル規則（styles.css の .logo img = 70px / モバイル50px）を継承させ、
   本家ヘッダと同寸にする。ここで height を上書きしないこと（小さくなる原因だった）。 */
.lp-hero-bar .logo img{width:auto;display:block}
.lp-hero-bar .bar-left{display:flex;align-items:center;gap:16px}
.lp-hero-inner{position:relative;z-index:2;width:100%;max-width:1120px;margin:0 auto;
  padding:0 6vw clamp(64px,11vw,120px);color:var(--hero-text)}
.lp-hero .eyebrow{color:var(--accent-soft);opacity:0;animation:rise 1.1s ease .2s forwards}
/* アクセスした瞬間に「医療アートメイク」だと分かる明示ライン（ファーストビュー） */
.lp-hero .cat{font-family:var(--serif);font-weight:500;letter-spacing:.12em;
  font-size:clamp(1.05rem,2.6vw,1.45rem);color:var(--hero-text);margin:12px 0 0;
  opacity:0;animation:rise 1.1s ease .28s forwards}
.lp-hero .jp-line{font-family:var(--didone);font-style:italic;letter-spacing:.16em;font-size:1.02rem;
  color:var(--accent-soft);margin:8px 0 0;opacity:0;animation:rise 1.1s ease .42s forwards}
.lp-hero h1{font-family:var(--serif);font-weight:500;letter-spacing:.045em;
  font-size:clamp(2.1rem,6.2vw,4.4rem);line-height:1.42;margin:18px 0 0;max-width:18em}
.lp-hero h1 .ln{display:block;overflow:hidden}
.lp-hero h1 .ln span{display:block;transform:translateY(110%);
  animation:up 1.2s cubic-bezier(.22,1,.36,1) forwards}
.lp-hero h1 .ln:nth-child(1) span{animation-delay:.45s}
.lp-hero h1 .ln:nth-child(2) span{animation-delay:.6s}
.lp-hero h1 .ln:nth-child(3) span{animation-delay:.75s}
.lp-hero .lead{max-width:30em;margin-top:24px;font-size:1.08rem;line-height:2.05;
  color:rgba(243,237,225,.92);opacity:0;animation:rise 1.1s ease 1s forwards}
.lp-hero .hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;animation:rise 1.1s ease 1.2s forwards}

/* ============================================================
   2. PROBLEM / 共感（こんな場面、ありませんか）
   ============================================================ */
.lp-problem{background:var(--paper)}
.lp-problem .p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.lp-pcard{background:var(--white);border:1px solid var(--line-soft);border-radius:6px;
  padding:34px 28px;position:relative;overflow:hidden}
.lp-pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
  transform:scaleY(0);transform-origin:top;transition:transform .6s ease}
.lp-pcard.in::before{transform:scaleY(1)}
.lp-pcard .q{font-family:var(--didone);font-size:1.5rem;color:var(--accent);line-height:1}
.lp-pcard h3{font-family:var(--serif);font-weight:500;font-size:1.24rem;margin:14px 0 10px;
  letter-spacing:.04em;line-height:1.65}
.lp-pcard p{font-size:1rem;color:var(--ink-soft);line-height:2}
.lp-problem .turn{text-align:center;margin-top:50px;font-family:var(--serif);
  font-size:clamp(1.1rem,2.4vw,1.5rem);letter-spacing:.06em;color:var(--ink);line-height:1.9}
.lp-problem .turn b{color:var(--accent);font-weight:500}

/* ============================================================
   3. SOLUTION（画像 + 文章の分割）
   ============================================================ */
.lp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,70px);align-items:center}
.lp-split.rev{grid-template-columns:.95fr 1.05fr}
.lp-split.rev .lp-split-media{order:2}
.lp-split-media{position:relative}
.lp-split-media img{width:100%;border-radius:6px;display:block;filter:saturate(.97)}
.lp-split-media .frame{position:absolute;inset:14px;border:1px solid var(--accent-soft);
  border-radius:6px;pointer-events:none;mix-blend-mode:multiply}
.lp-split-body .eyebrow{display:block;margin-bottom:14px}
.lp-split-body h2{font-family:var(--serif);font-weight:500;letter-spacing:.05em;
  font-size:clamp(1.55rem,3.2vw,2.25rem);line-height:1.55}
.lp-split-body .lead{color:var(--ink-soft);font-size:1.08rem;line-height:2.15;margin-top:22px}
.lp-split-body .lead + .lead{margin-top:16px}

/* ============================================================
   4. PROMISE（3つの約束）— styles.css の .promise を流用しつつ accent調整
   ============================================================ */
.lp .promise .num{color:var(--accent)}
.lp .promise .item.accent .num{color:var(--rose)}

/* ============================================================
   5. SCENE（想定シーン・雰囲気画像／症例ではない）
   ============================================================ */
.lp-scene{background:var(--paper-2)}
.lp-scene .s-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lp-figure{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:var(--paper-3)}
.lp-figure img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.lp-figure:hover img{transform:scale(1.05)}
.lp-figure figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:38px 24px 20px;color:#fff;font-family:var(--serif);font-size:1.14rem;letter-spacing:.04em;
  background:linear-gradient(180deg,transparent,rgba(28,24,20,.72))}

/* ============================================================
   5.5 CASE / 症例（実写のみ・AI生成不可。Before/After 一体画像を表示）
   共通フォーマットの任意セクション：症例を出せるLPだけ使う。
   ============================================================ */
.lp-cases{background:var(--paper-2)}
.lp-cases .case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:860px;margin:0 auto;align-items:start}
.lp-cases .case-grid.single{grid-template-columns:minmax(0,560px);justify-content:center}
.lp-cases .case{border-radius:6px;overflow:hidden;background:var(--white);border:1px solid var(--line-soft)}
.lp-cases .case img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.lp-cases .case figcaption{padding:14px 18px;font-family:var(--serif);font-size:1rem;letter-spacing:.04em;color:var(--ink)}
.lp-cases .case figcaption .ba{font-family:var(--didone);font-style:italic;color:var(--accent);font-size:.86rem;margin-left:8px}
.lp-cases .case-note{margin-top:28px;font-size:.84rem;color:var(--ink-faint);line-height:1.95;letter-spacing:.02em;max-width:860px;margin-left:auto;margin-right:auto}
.lp-cases .case-note a{color:var(--ink-soft);border-bottom:1px solid var(--line)}

/* ============================================================
   6. MENU抜粋（styles.css の .menu-grid/.menu-row を流用）
   ============================================================ */
.lp-menu .menu-note{margin-top:24px;font-size:.94rem;color:var(--ink-soft);letter-spacing:.04em;line-height:1.95}
.lp-menu .menu-note a{color:var(--ink);border-bottom:1px solid var(--accent)}

/* ============================================================
   7. CARE / 安心・医療（医療広告コンプラ）
   ============================================================ */
.lp-care{background:var(--white)}
.lp-care .care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.lp-care .care-item{border-top:1px solid var(--line);padding-top:24px}
.lp-care .care-item h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;letter-spacing:.04em;margin-bottom:10px}
.lp-care .care-item p{font-size:.98rem;color:var(--ink-soft);line-height:2}
.lp-care .risk{margin-top:34px;font-size:.86rem;color:var(--ink-faint);line-height:1.95;letter-spacing:.03em}
.lp-care .risk a{color:var(--ink-soft);border-bottom:1px solid var(--line)}

/* ============================================================
   節目CTAバー（説得シナリオの各節の区切りに置く）
   ============================================================ */
.lp-ctabar{background:var(--hero-bg);color:var(--hero-text);text-align:center;
  padding:clamp(46px,7vw,72px) 6vw}
.lp-ctabar .k{font-family:var(--serif);font-weight:500;letter-spacing:.05em;
  font-size:clamp(1.15rem,2.6vw,1.65rem);line-height:1.75;margin-bottom:26px;max-width:24em;margin-left:auto;margin-right:auto}
.lp-ctabar .k b{color:var(--accent-soft);font-weight:500}

/* ============================================================
   SOCIAL PROOF / INSIGHT / UPGRADE（説得セクションの数字・強調）
   ============================================================ */
.lp-stat{text-align:center}
/* 「約3割」は和文セリフで統一（didoneだと数字3がオールドスタイル字形で下がり、
   漢字はフォールバックで不一致になるため）。数字も漢字も同じ字面で揃える。 */
.lp-stat .big{font-family:var(--serif);font-weight:600;color:var(--accent);
  font-size:clamp(3rem,8vw,5.2rem);line-height:1.05;letter-spacing:.04em;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.lp-stat .cap{font-size:1.05rem;color:var(--ink-soft);letter-spacing:.06em;margin-top:16px;line-height:2}
.lp-insight{background:var(--white);text-align:center}
.lp-insight .lead-big{font-family:var(--serif);font-weight:500;letter-spacing:.05em;
  font-size:clamp(1.7rem,4.4vw,3rem);line-height:1.55}
.lp-insight .lead-big b{color:var(--accent);font-weight:500}
.lp-insight p{max-width:34em;margin:24px auto 0;color:var(--ink-soft);font-size:1.08rem;line-height:2.15}

/* ============================================================
   8. NETWORK（相互リンク／PRÉCIAネットワーク感）
   ============================================================ */
.lp-network{background:var(--paper-3);text-align:center}
.lp-network .net-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.lp-network .net-link{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);
  border-radius:999px;padding:12px 26px;font-size:.96rem;letter-spacing:.06em;color:var(--ink);
  background:var(--paper);transition:.4s}
.lp-network .net-link:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.lp-network .net-link .en{font-family:var(--didone);font-style:italic;color:var(--accent);font-size:.8rem}
.lp-network .net-link:hover .en{color:var(--accent-soft)}
.lp-network .home-link{display:inline-block;margin-top:30px;font-family:var(--didone);
  letter-spacing:.16em;font-size:.85rem;color:var(--ink-soft);border-bottom:1px solid var(--line)}

/* ============================================================
   9. FOOTER / DOCK は styles.css のものを流用
   ============================================================ */

/* ============================================================
   テーマ：エグゼクティブ（落ち着き・男性的・余白の品格）
   ============================================================ */
body.lp--exec{
  --accent:#c2a36a;             /* champagne gold */
  --accent-soft:#dcc79c;
  --hero-bg:#161412;
  --hero-text:#f1ebde;
  --hero-veil:linear-gradient(180deg,rgba(15,13,11,.30) 0%,rgba(15,13,11,.20) 38%,rgba(15,13,11,.78) 100%);
}

/* ============================================================
   テーマ：お悩み解決専門（あたたかい・やさしい・安心）
   ============================================================ */
body.lp--solution{
  --accent:#b07c6f;             /* soft terracotta rose（濃いめ＝淡背景で可読） */
  --accent-soft:#bd8a7e;
  --hero-bg:#efe7da;
  --hero-text:#3f3c38;
  /* 濃い文字を淡い写真の上で読ませる：左にクリームのスクリム（左濃→右透明）。
     女性（右側）はそのまま見せる。下端にも軽い接地グラデを重ねる。 */
  --hero-veil:linear-gradient(90deg,
      rgba(247,242,234,.95) 0%, rgba(247,242,234,.9) 40%,
      rgba(247,242,234,.62) 60%, rgba(247,242,234,.12) 82%, rgba(247,242,234,0) 100%),
    linear-gradient(180deg, rgba(247,242,234,0) 60%, rgba(247,242,234,.45) 100%);
}
body.lp--solution .lp-hero-inner{color:var(--hero-text)}
body.lp--solution .lp-hero h1,
body.lp--solution .lp-hero .lead,
body.lp--solution .lp-hero .cat{text-shadow:0 1px 16px rgba(247,242,234,.85)}
body.lp--solution .lp-hero .eyebrow{color:var(--accent)}
body.lp--solution .lp-hero .jp-line{color:var(--accent)}
body.lp--solution .lp-hero .lead{color:#4a4742}
body.lp--solution .lp-hero-bar .logo img{filter:none}

/* ============================================================
   テーマ：大学生（女子大生）— 明るいコーラル・はずむ遊び心
   ============================================================ */
body.lp--college{
  --accent:#e07a6a;
  --accent-soft:#f0a392;
  --hero-bg:#f7efe6;
  --hero-text:#43403c;
  --hero-veil:linear-gradient(90deg, rgba(247,239,230,.95) 0%, rgba(247,239,230,.9) 40%, rgba(247,239,230,.62) 60%, rgba(247,239,230,.12) 82%, rgba(247,239,230,0) 100%),
    linear-gradient(180deg, rgba(247,239,230,0) 60%, rgba(247,239,230,.45) 100%);
}
body.lp--college .lp-hero-inner{color:var(--hero-text)}
body.lp--college .lp-hero h1, body.lp--college .lp-hero .lead, body.lp--college .lp-hero .cat{text-shadow:0 1px 16px rgba(247,239,230,.85)}
body.lp--college .lp-hero .eyebrow, body.lp--college .lp-hero .jp-line{color:var(--accent)}
body.lp--college .lp-hero .lead{color:#4a4742}
body.lp--college .lp-hero-bar .logo img{filter:none}
/* 遊び心：丸みと弾み */
body.lp--college .lp-pcard{border-radius:16px}
body.lp--college .lp-figure{border-radius:16px}
body.lp--college .lp-split-media img{border-radius:16px}
body.lp--college .net-link{border-radius:999px}

/* ============================================================
   テーマ：結婚式 — シャンパンゴールド・繊細で上品な余白
   ============================================================ */
body.lp--wedding{
  --accent:#b8975f;
  --accent-soft:#d6bd8c;
  --hero-bg:#f8f3ec;
  --hero-text:#4a4742;
  --hero-veil:linear-gradient(90deg, rgba(248,243,236,.95) 0%, rgba(248,243,236,.9) 40%, rgba(248,243,236,.6) 60%, rgba(248,243,236,.12) 82%, rgba(248,243,236,0) 100%),
    linear-gradient(180deg, rgba(248,243,236,0) 60%, rgba(248,243,236,.4) 100%);
}
body.lp--wedding .lp-hero-inner{color:var(--hero-text)}
body.lp--wedding .lp-hero h1{letter-spacing:.09em;font-weight:500}
body.lp--wedding .lp-hero h1, body.lp--wedding .lp-hero .lead, body.lp--wedding .lp-hero .cat{text-shadow:0 1px 16px rgba(248,243,236,.85)}
body.lp--wedding .lp-hero .eyebrow, body.lp--wedding .lp-hero .jp-line{color:var(--accent)}
body.lp--wedding .lp-hero .lead{color:#4a4742}
body.lp--wedding .lp-hero-bar .logo img{filter:none}
/* 繊細・上品：字間と余白 */
body.lp--wedding .sec-head h2{letter-spacing:.08em}
body.lp--wedding .lp-figure figcaption{font-weight:400;letter-spacing:.08em}

/* ============================================================
   テーマ：アスリート — ダークスレート × 電撃ティール・躍動
   ============================================================ */
body.lp--athlete{
  --accent:#18b6a8;
  --accent-soft:#63d3c7;
  --hero-bg:#15201f;
  --hero-text:#eef5f4;
  --hero-veil:linear-gradient(180deg, rgba(12,20,19,.30) 0%, rgba(12,20,19,.2) 40%, rgba(12,20,19,.8) 100%);
}
/* 力強い・躍動 */
body.lp--athlete .lp-hero h1{font-weight:500;letter-spacing:.02em}
body.lp--athlete .sec-head h2{font-weight:600}
body.lp--athlete .lp-figure figcaption{font-weight:600;letter-spacing:.06em}

/* ============================================================
   テーマ：大学生2 — 編集的おしゃれポップ（規律ある配色：白基調＋アクセント1色）
   フォントはウェイト差でメリハリ：見出し=Zen Kaku太 / 本文=同 / 英字=Jost / 英語差し色=Cormorant斜体
   ============================================================ */
body.lp--college2{
  --serif:"Zen Kaku Gothic New", sans-serif;  /* 見出し（太く使う） */
  --didone:"Jost", sans-serif;                 /* 英字＝ファッション系幾何学 */
  --sans:"Zen Kaku Gothic New", sans-serif;    /* 本文 */
  --ink:#2f2b30; --ink-soft:#6d6670; --ink-faint:#aaa2ad;
  /* 配色は規律：白／オフホワイトの中間色のみ。多色にしない */
  --paper:#fdfbf9; --paper-2:#f6efe9; --paper-3:#fbf2f4; --white:#ffffff;
  --line:#ece2e4; --line-soft:#f4ecee;
  --accent:#e85d83; --accent-soft:#f2a8bd;    /* アクセントはこのピンク1色だけ */
  --hero-bg:#fdf7f5; --hero-text:#2f2b30;
  --hero-veil:linear-gradient(90deg, rgba(253,251,249,.95) 0%, rgba(253,251,249,.9) 40%, rgba(253,251,249,.6) 60%, rgba(253,251,249,.12) 82%, rgba(253,251,249,0) 100%),
    linear-gradient(180deg, rgba(253,251,249,0) 60%, rgba(253,251,249,.45) 100%);
}
body.lp--college2 .lp-hero-inner{color:var(--hero-text)}
body.lp--college2 .lp-hero h1{font-weight:700;letter-spacing:.04em;line-height:1.58}
body.lp--college2 .sec-head h2{font-weight:700;letter-spacing:.05em}
body.lp--college2 .sec-head{margin-bottom:60px}
body.lp--college2 .lp-hero h1, body.lp--college2 .lp-hero .lead, body.lp--college2 .lp-hero .cat{text-shadow:0 1px 16px rgba(253,251,249,.9)}
body.lp--college2 .lp-hero .lead{color:#4a4742}
body.lp--college2 .lp-hero-bar .logo img{filter:none}
/* 英語サブコピー＝エディトリアルなCormorant斜体（抜け感の遊び心） */
body.lp--college2 .lp-hero .jp-line{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.3rem;letter-spacing:.04em;color:var(--accent)}
/* eyebrow＝編集的（ピル無し・大文字レター・アクセント色） */
body.lp--college2 .eyebrow{font-family:var(--didone);color:var(--accent);font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;font-size:.8rem}
/* 見出し下線＝短いアクセントバー（クリーン） */
body.lp--college2 .sec-head h2::after{content:"";display:block;width:42px;height:3px;border-radius:2px;background:var(--accent);margin-top:16px}
/* ベタ帯は撤去（写真主導のクリーンなヘッダに）。ロゴ横に端正なピルだけ置く（LUUP流） */
body.lp--college2 .lp-tag{display:inline-flex;align-items:center;background:var(--accent);color:#fff;
  font-family:var(--didone);font-weight:600;font-size:.72rem;letter-spacing:.12em;
  padding:5px 13px;border-radius:999px;white-space:nowrap;text-transform:uppercase}
/* 悩みカード＝細罫＋やわらかな影＋左アクセントバー（base流用）／番号はJost */
body.lp--college2 .lp-pcard{border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px rgba(47,43,48,.05)}
body.lp--college2 .lp-pcard .q{font-family:var(--didone);color:var(--accent);font-weight:600}
/* 図版＝控えめな角丸 */
body.lp--college2 .lp-figure{border-radius:14px}
body.lp--college2 .lp-split-media img{border-radius:14px}
/* 数字＝Jost */
body.lp--college2 .promise .num{font-family:var(--didone);font-weight:600}
/* 相互リンク */
body.lp--college2 .net-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
body.lp--college2 .net-link:hover .en{color:#fff}
/* 最終CTA＝アクセント1色のソリッド */
body.lp--college2 .cta{background:var(--accent)}
body.lp--college2 .cta h2{color:#fff}
body.lp--college2 .cta h2::after{background:#fff !important}
body.lp--college2 .cta .eyebrow{color:#fff}
body.lp--college2 .cta .cta-sub{color:rgba(255,255,255,.85) !important}

/* ============================================================
   見出し（.sec-head h2 は本家サイズ clamp(2rem,4.2vw,3rem) を継承）。
   本家が付ける下線 ::after はテラコッタ固定なので、LPは各テーマのaccentに合わせる。
   ============================================================ */
.lp .sec-head h2::after{background:var(--accent)}

/* ============================================================
   モバイル下部スティッキーバー（dock）
   本家は .dock.show{transform:none} だが、translateY(130%)→none の遷移は
   ブラウザにより補間されず途中で止まることがある（実機で出ない症状）。
   LPでは shown を translateY(0) に明示し、特異度も上げて確実に出す。
   ============================================================ */
body.lp .dock{transform:translateY(130%)}
body.lp .dock.show{transform:translateY(0)}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media(max-width:820px){
  .lp-problem .p-grid{grid-template-columns:1fr}
  .lp-split,.lp-split.rev{grid-template-columns:1fr;gap:28px}
  .lp-split.rev .lp-split-media{order:0}
  .lp-scene .s-grid{grid-template-columns:1fr}
  .lp-care .care-grid{grid-template-columns:1fr}
  .lp-hero{min-height:92svh}
}

/* スマホ(≤640px)：全画面のまま、LP別に水平フォーカス位置を指定して顔が切れないように。
   縦は切れない（横長画像×縦長画面のため高さは収まる）ので水平(--hero-pos)のみ調整。
   PC/タブレット(>640px)は object-position 未指定＝従来の中央のまま一切変更しない。 */
@media(max-width:820px){
  .lp-hero-img{object-position:var(--hero-pos,50%) center}
}

/* ============================================================
   量産用テーマ（base＝メインサイト踏襲 / dark / marine / stage / calm）
   ============================================================ */
/* base：メインサイト踏襲（シャンパン×ペーパー・明るいヒーロー） */
body.lp--base{ --accent:#c2a36a; --accent-soft:#d9c39a; --hero-bg:#efe7da; --hero-text:#46413a;
  --hero-veil:linear-gradient(90deg, rgba(246,241,234,.95) 0%, rgba(246,241,234,.9) 40%, rgba(246,241,234,.6) 60%, rgba(246,241,234,.12) 82%, rgba(246,241,234,0) 100%),
    linear-gradient(180deg, rgba(246,241,234,0) 60%, rgba(246,241,234,.45) 100%); }
body.lp--base .lp-hero-inner{color:var(--hero-text)}
body.lp--base .lp-hero h1, body.lp--base .lp-hero .lead, body.lp--base .lp-hero .cat{text-shadow:0 1px 16px rgba(246,241,234,.85)}
body.lp--base .lp-hero .eyebrow, body.lp--base .lp-hero .jp-line{color:var(--accent)}
body.lp--base .lp-hero .lead{color:#4a4742}
body.lp--base .lp-hero-bar .logo img{filter:none}

/* dark：男性系（チャコール×シャンパン・暗いヒーロー） */
body.lp--dark{ --accent:#c2a36a; --accent-soft:#dcc79c; --hero-bg:#161412; --hero-text:#f1ebde;
  --hero-veil:linear-gradient(180deg,rgba(15,13,11,.30) 0%,rgba(15,13,11,.2) 38%,rgba(15,13,11,.78) 100%); }
body.lp--dark .sec-head h2{font-weight:600}

/* marine：深海ダイビングの世界（エメラルド×深いネイビー・暗） */
body.lp--marine{ --accent:#23c4b8; --accent-soft:#6fe0d6; --hero-bg:#0a2230; --hero-text:#eafaf8;
  --hero-veil:linear-gradient(180deg,rgba(7,26,38,.34) 0%,rgba(7,32,46,.30) 40%,rgba(6,20,32,.82) 100%); }
body.lp--marine{ --paper-2:#e7f5f4; --paper-3:#eef7f9; }
body.lp--marine .promise .num{color:var(--accent)}
body.lp--marine .sec-head h2{letter-spacing:.04em}

/* stage：舞台・演奏の世界（深いジュエル・暗） */
body.lp--stage{ --accent:#caa24a; --accent-soft:#e4c578; --hero-bg:#1a1320; --hero-text:#f3ecf3;
  --hero-veil:linear-gradient(180deg,rgba(20,12,26,.34) 0%,rgba(20,12,26,.26) 40%,rgba(16,9,22,.82) 100%); }
body.lp--stage .sec-head h2{font-weight:600}

/* calm：パラメディカル（やわらかな生成り・繊細で静か・明） */
body.lp--calm{ --accent:#b69a86; --accent-soft:#cdb6a4; --hero-bg:#f3eee7; --hero-text:#4a463f;
  --hero-veil:linear-gradient(90deg, rgba(244,240,233,.95) 0%, rgba(244,240,233,.9) 42%, rgba(244,240,233,.62) 62%, rgba(244,240,233,.14) 84%, rgba(244,240,233,0) 100%),
    linear-gradient(180deg, rgba(244,240,233,0) 62%, rgba(244,240,233,.4) 100%); }
body.lp--calm .lp-hero-inner{color:var(--hero-text)}
body.lp--calm .lp-hero h1, body.lp--calm .lp-hero .lead, body.lp--calm .lp-hero .cat{text-shadow:0 1px 16px rgba(244,240,233,.9)}
body.lp--calm .lp-hero .eyebrow, body.lp--calm .lp-hero .jp-line{color:var(--accent)}
body.lp--calm .lp-hero .lead{color:#4a4742}
body.lp--calm .lp-hero-bar .logo img{filter:none}
body.lp--calm .lp-hero h1{font-weight:500;letter-spacing:.04em}

/* 症例セクション（実写）— gen_lp.mjs が描画 */
.lp-cases .case-note b{color:var(--accent)}

/* メニュー料金：タイトルを折り返さず横幅をフルに使う／金額は等幅ライニング数字で「1」等の崩れを防止 */
.lp .menu-row{gap:16px}
.lp .menu-row .l{min-width:0;flex:1 1 auto}
.lp .menu-row .l .jp{white-space:nowrap}
.lp .menu-row .r{flex:0 0 auto}
.lp .menu-row .r .yen{font-feature-settings:"lnum" 1,"tnum" 1}
.lp .menu-row .r .note{font-feature-settings:"lnum" 1}
