/* =========================================================
   グルメ探求サロン LP（2026-007）デザインレイヤー
   方向＝静謐な引き算ラグジュアリー / 黒は面・金は線と点
   ========================================================= */
:root{
  --bg:#0d0c0a; --bg2:#15130f;
  --gold:#c2a36b; --gold-bright:#d8be8f;
  --line:rgba(194,163,107,.32);
  --ink:#ece8df; --ink-head:#f4f1ea; --ink-dim:#8f897d;
  --serif:'Noto Serif JP','Hiragino Mincho ProN',serif;
  --sans:'Noto Sans JP',-apple-system,'Hiragino Kaku Gothic ProN',sans-serif;
  /* 英字・数字用クラシックセリフ（teriyaki調査の翻訳）。和文グリフはNoto Serifへフォールバック */
  --eng:'Cormorant Garamond','Noto Serif JP',serif;
  --pad-y:176px;
}

/* フロントページ全体をダーク基調に */
body.lp-page{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-weight:300; -webkit-font-smoothing:antialiased; }
.lp *{ box-sizing:border-box; }
.lp img{ max-width:100%; height:auto; display:block; }
.lp a{ color:inherit; text-decoration:none; }
/* グループブロックの内側ラッパーを透過 → カンプのflex/grid CSSをそのまま効かせる */
.lp .wp-block-group__inner-container{ display:contents; }
/* コアブロックの既定余白・装飾を打ち消し */
.lp .wp-block-buttons{ margin:0; }
.lp .wp-block-button{ margin:0; }
.lp-plan .vfeat{ padding:0; }
.lp-plan .vfeat li{ margin:0; }

.lp .wrap{ max-width:1040px; margin:0 auto; padding:0 32px; position:relative; z-index:1; }
.lp .sec{ padding:var(--pad-y) 0; position:relative; }

/* ===== 装飾レイヤー：黒に奥行き（金の光のブリード・曲線スイープ・微グレイン） =====
   Tokyo Lounge的な“端からの色光ブリード”を、ブランドの黒×金に翻訳（マゼンタ→金/琥珀/エンバー）。
   すべて .wrap(コンテンツ z-index:1) の下に敷くのでテキストには干渉しない。
   --grain: 共通のフィルムグレイン（彩度0・約3.5%） */
:root{ --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); }
/* 端から大きく差し込む金の光ブリード＝間接照明のスイープ。円弧の falloff が“曲線の境界”に見える */
/* 金の光は片方の上コーナーだけに固定pxで（PCでも角に収まり“上端いっぱいの帯”にならない／
   SP=狭幅では相対的に広がって今の良い見え方を維持）。セクション交互で右上⇔左上に振る */
.lp .sec::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    var(--grain),
    radial-gradient(640px 540px at 0% 0%, rgba(220,196,150,.40), rgba(168,120,64,.14) 32%, transparent 66%);
  background-size:180px 180px, cover;
  background-repeat:repeat, no-repeat;
}
.lp .sec:nth-of-type(even)::after{
  background-image:
    var(--grain),
    radial-gradient(640px 540px at 100% 0%, rgba(220,196,150,.40), rgba(168,120,64,.14) 32%, transparent 66%);
  background-size:180px 180px, cover;
  background-repeat:repeat, no-repeat;
}
/* セクション面＝bodyよりわずかに明るい黒（角丸は2026-07-08に廃止・フラットに） */
.lp .sec{
  background-color:#100e0b;
  overflow:hidden;
}
/* 体験(②)＝FV直後はFV写真との継ぎ目を消してフラットに繋ぐ */
.lp .sec:has(.lp-exps){ margin-top:-2px; z-index:3; }

/* 共通見出し */
.lp .eyebrow{ font-family:var(--eng); font-weight:500; font-size:clamp(24px,3.6vw,37px); letter-spacing:.24em; color:#7a663f; text-indent:.24em; text-align:center; margin:0 0 12px; }
.lp .stitle{ font-family:var(--serif); font-weight:500; color:var(--ink-head); font-size:clamp(20px,2.6vw,28px); letter-spacing:.1em; text-indent:.1em; text-align:center; line-height:1.8; margin:14px 0 0; }
.lp .hairline{ width:1px; height:48px; margin:30px auto; border:0; padding:0; background:linear-gradient(var(--line),transparent); }

/* ===== ① FV（別案C＝写真グリッド静止・クライアント確定③ 2026-07-07） =====
   PC=縦3分割グリッド／SP=横3段積み。写真＝画像ブロック（エディタで差し替え可。パターン確定後に差し替え）。
   アニメなし（クライアント要望）。暗幕は::afterで生成＝上下の文字ゾーンを確保 */
.lp .fv-c{ position:relative; height:100vh; height:100svh; overflow:hidden; background:#080706; }
/* 写真＝切り抜き版（周囲黒ベタ・2026-07-10）→ cover拡大をやめ、原寸比率で中央配置 */
.lp .fv-c .fv-cols{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.lp .fv-c .fv-cols .wp-block-image{ margin:0; }
.lp .fv-c .fv-cols img{ width:min(1080px,72vw); height:auto; margin-top:6vh;
  max-height:37vh; object-fit:contain; /* 低めのPC画面でも寿司が文字に被らない上限 */
  mix-blend-mode:screen; /* 写真の黒と背景#080706の差＝矩形の縁を溶かす */
  transform:translateY(9%); /* 影の分を差し引いて寿司本体を中央に */ }
.lp .fv-c::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(8,7,6,.6) 0%, rgba(8,7,6,.22) 26%, rgba(8,7,6,.04) 40%),
    linear-gradient(0deg, rgba(8,7,6,.78) 0%, rgba(8,7,6,.5) 30%, rgba(8,7,6,.06) 62%),
    rgba(8,7,6,.26);
}
/* 上部スタック：キャッチ→タイトル→英字（2026-07-10クライアント指定構成） */
.lp .fv-c .fv-head{
  position:absolute; top:clamp(28px,5.5vh,60px); left:clamp(22px,4.5vw,72px); right:clamp(22px,4.5vw,72px);
  z-index:2; text-align:center;
}
.lp .fv-c .fv-catch{
  font-family:var(--serif); font-weight:400; color:var(--ink-head);
  font-size:clamp(19px,2.4vw,30px); line-height:2; letter-spacing:.12em;
  text-shadow:0 2px 24px rgba(0,0,0,.55); margin:0; border:0; padding:0; text-align:center;
}
/* 下部スタック：notice（枠なし）＋FV専用CTA */
.lp .fv-c .fv-foot{
  position:absolute; left:clamp(16px,4vw,72px); right:clamp(16px,4vw,72px); bottom:clamp(22px,4.5vh,48px);
  z-index:2; text-align:center;
}
/* 英字ラベル＋両サイド金ライン */
.lp .fv-c .fv-title-eng{
  display:flex; align-items:center; justify-content:center; gap:16px;
  font-family:var(--eng); font-weight:600; color:var(--gold-bright);
  font-size:13px; letter-spacing:.42em; text-indent:.42em; margin:clamp(10px,1.8vh,18px) 0 0;
}
.lp .fv-c .fv-title-eng::before,
.lp .fv-c .fv-title-eng::after{ content:""; width:clamp(36px,4.5vw,64px); height:1px; background:linear-gradient(90deg,transparent,rgba(216,190,143,.75)); }
.lp .fv-c .fv-title-eng::after{ background:linear-gradient(90deg,rgba(216,190,143,.75),transparent); }
/* タイトル＝白テキスト（明朝・ゆったりした字間） */
.lp .fv-c .fv-title{
  font-family:var(--serif); font-weight:400; color:#fff;
  font-size:clamp(34px,4.6vw,58px); line-height:1.4; letter-spacing:.18em; text-indent:.18em; white-space:nowrap;
  text-shadow:0 2px 28px rgba(0,0,0,.55); margin:clamp(16px,3vh,30px) 0 0; border:0; padding:0;
}
/* 募集停止の注記（枠なし＝2026-07-10クライアント指定） */
.lp .fv-c .notice{
  margin:0; font-size:12px; letter-spacing:.12em; line-height:2.1; color:#e9d5a3;
  text-shadow:0 1px 12px rgba(8,7,6,.8);
}
/* FV専用CTA＝金グラデで目立たせる（2026-07-10クライアント指定・追従CTAと同様式） */
.lp .fv-c .fv-cta{
  position:relative; display:inline-flex; flex-direction:column; align-items:center; gap:4px;
  margin-top:clamp(14px,2.6vh,24px); padding:16px 46px 14px;
  background:linear-gradient(180deg,#d8bd88 0%,#c2a36b 55%,#b3925a 100%);
  border-radius:3px; text-align:center; line-height:1.3;
  box-shadow:0 12px 32px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,248,224,.35);
  transition:transform .25s, box-shadow .25s, filter .25s;
}
.lp .fv-c .fv-cta::before{ content:""; position:absolute; inset:5px; border:1px solid rgba(46,32,8,.28); border-radius:2px; pointer-events:none; }
.lp .fv-c .fv-cta:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 16px 38px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,248,224,.45); }
.lp .fv-c .fv-cta .fv-cta-main{ font-family:var(--serif); font-weight:600; color:#241a08; font-size:16px; letter-spacing:.14em; text-indent:.14em; }
.lp .fv-c .fv-cta .fv-cta-note{ font-size:12px; color:rgba(36,26,8,.72); letter-spacing:.06em; }

/* ===== ABOUT（FV直後・月桂樹バッジ3枚＝クライアント指示でFVから移設 2026-07-10） ===== */
/* 背景＝FVと同じ黒（#080706）でFVから地続きに（2026-07-10クライアント指定）。金グラデ照明もオフ */
.lp .sec.lp-about{ background-color:#080706; }
.lp .sec.lp-about::after{ content:none; }
.lp-about .about-badges{ display:flex; justify-content:center; align-items:center; gap:clamp(8px,2.5vw,24px); margin-top:clamp(28px,4vw,44px); }
.lp-about .about-badges .badge{ margin:0; flex:0 0 clamp(150px,18vw,210px); width:clamp(150px,18vw,210px); min-width:0; }
.lp-about .about-badges .badge img{ width:100%; height:auto; }

/* 最終CTA（フルワイド）共通ベース */
.lp .swell-block-fullWide.has-bg-img{ overflow:hidden; }
.lp .swell-block-fullWide.has-bg-img > .swell-block-fullWide__inner{ max-width:760px; margin:0 auto; text-align:center; color:var(--ink); }
.lp .swell-block-fullWide.has-bg-img .wp-block-heading{ font-family:var(--serif); font-weight:500; color:var(--ink-head); letter-spacing:.12em; text-indent:.12em; border:0; padding:0; }
.lp .swell-block-fullWide.has-bg-img .wp-block-heading::before,
.lp .swell-block-fullWide.has-bg-img .wp-block-heading::after{ display:none !important; }

/* ===== ② 会員が得る体験 ===== */
/* 体験1〜5＝縦積みの編集的リスト（金ラベル＋セリフ見出し＋説明文・中央揃え） */
.lp-exps{ max-width:680px; margin:24px auto 0; }
.lp-exps .exp{ padding:clamp(34px,5vw,46px) 4px; text-align:center; }
/* 体験写真（各項目の先頭・16:9のワイド帯＝編集的）。極細の金枠＝VIP箱/CTAと同じ額装言語 */
.lp-exps .exp-photo{ margin:0 0 clamp(22px,3.4vw,30px); border:1px solid rgba(216,190,143,.16); border-radius:2px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.5); }
.lp-exps .exp-photo img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
/* 体験ラベル＝「体験」小さめ明朝＋数字はCormorant大きめ金、両サイドに短い金のフェードライン
   （FVの「— GOURMET SALON —」と同じ額装言語）2026-07-08 */
.lp-exps .exp-label{
  display:flex; align-items:center; justify-content:center; gap:0;
  font-family:var(--serif); font-weight:500; font-size:13px; letter-spacing:.3em; text-indent:.3em;
  color:var(--gold); margin:0; line-height:1;
}
/* ラインとの間隔はmargin、「体験」⇔数字はexp-numのmarginで個別制御（gap一律だと空きすぎる） */
.lp-exps .exp-label::before,
.lp-exps .exp-label::after{ content:""; width:clamp(28px,3.5vw,48px); height:1px; background:linear-gradient(90deg, transparent, rgba(216,190,143,.55)); }
.lp-exps .exp-label::before{ margin-right:16px; }
.lp-exps .exp-label::after{ background:linear-gradient(90deg, rgba(216,190,143,.55), transparent); margin-left:16px; }
.lp-exps .exp-label .exp-num{
  font-family:var(--eng); font-weight:500; font-size:30px; line-height:1;
  color:var(--gold-bright); letter-spacing:0; text-indent:0;
  margin-left:.08em; position:relative; top:1px;
  font-feature-settings:"lnum" 1; /* オールドスタイル数字だと1がローマ数字Iに見えるため */
}
.lp-exps .exp-title{ font-family:var(--serif); font-weight:500; font-size:clamp(17px,2.2vw,21px); letter-spacing:.1em; line-height:1.8; color:var(--ink-head); margin:14px 0 0; border:0; padding:0; }
/* keep-all＋<wbr>＝文節の切れ目でだけ折り返す（中間幅の中途改行対策 2026-07-13） */
.lp-exps .exp-body{ font-size:14px; line-height:2.2; color:var(--ink); margin:16px 0 0; word-break:keep-all; overflow-wrap:anywhere; }

/* セクションカーテン（⑦④⑧・JSで動的生成→右へスライド）＝CTAと同じ金グラデ */
.lp .sec-curtain{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(115deg, #8a6d40 0%, #b3925a 52%, #8a6d40 100%);
  box-shadow:0 0 40px rgba(0,0,0,.5);
}

/* ===== ④ 料金プラン ===== */
.lp-plan{ }
.lp-plan .vip{ max-width:560px; margin:56px auto 0; border:1px solid var(--gold); padding:48px 40px; text-align:center; background:rgba(194,163,107,.03); }
.lp-plan .vlabel{ font-family:var(--serif); letter-spacing:.3em; color:var(--gold); font-size:13px; text-indent:.3em; }
.lp-plan .vsub{ font-size:12px; color:var(--ink-dim); margin:10px 0 18px; letter-spacing:.1em; }
.lp-plan .price{ font-family:var(--serif); font-weight:500; font-size:34px; color:var(--ink-head); letter-spacing:.04em; }
.lp-plan .price small{ font-size:13px; color:var(--ink-dim); font-family:var(--sans); letter-spacing:.08em; }
.lp-plan .vfeat{ text-align:left; display:inline-block; margin:26px 0; padding:0; font-size:13.5px; line-height:2.3; color:var(--ink); }
.lp-plan .vfeat li{ list-style:none; padding-left:18px; position:relative; }
.lp-plan .vfeat li::before{ content:""; position:absolute; left:0; top:.95em; width:6px; height:1px; background:var(--gold); }
.lp-plan .vnote{ font-size:12px; color:var(--ink-dim); line-height:1.9; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0; margin-bottom:24px; letter-spacing:.04em; }
.lp .wp-block-buttons{ display:flex; justify-content:center; }
/* 本文CTAボタン＝金グラデ（全CTA統一・2026-07-10）。1行維持のnowrap＋clamp縮小は継続 */
.lp .btn-gold .wp-block-button__link{
  position:relative;
  background:linear-gradient(180deg,#d8bd88 0%,#c2a36b 55%,#b3925a 100%);
  color:#241a08; font-family:var(--serif); font-weight:600;
  font-size:clamp(13px,3.9vw,16px); letter-spacing:.14em; text-indent:.14em; white-space:nowrap;
  padding:17px clamp(24px,6vw,44px); border-radius:3px; border:0;
  box-shadow:0 12px 32px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,248,224,.35);
  transition:transform .25s, box-shadow .25s, filter .25s;
}
.lp .btn-gold .wp-block-button__link::before{ content:""; position:absolute; inset:5px; border:1px solid rgba(46,32,8,.28); border-radius:2px; pointer-events:none; }
.lp .btn-gold .wp-block-button__link:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 16px 38px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,248,224,.45); }
.lp-plan .micro{ font-size:12px; color:var(--ink-dim); margin-top:12px; letter-spacing:.06em; }
.lp-plan .others-label{ text-align:center; font-family:var(--serif); letter-spacing:.3em; color:var(--ink-dim); font-size:12px; margin:54px 0 22px; text-indent:.3em; }
.lp-plan .others{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:560px; margin:0 auto; }
.lp-plan .ocard{ border:1.5px solid rgba(194,163,107,.28); padding:24px 22px; text-align:center; background:rgba(194,163,107,.02); }
.lp-plan .ocard h4{ font-family:var(--serif); font-weight:500; font-size:15px; letter-spacing:.08em; color:var(--ink-head); margin:0; }
.lp-plan .ocard .oprice{ font-size:16px; color:var(--ink); margin:8px 0 14px; }
.lp-plan .ocard .odesc{ font-size:12px; color:var(--ink-dim); line-height:1.9; }
.lp-plan .ocard ul{ list-style:none; font-size:12px; color:var(--ink-dim); line-height:1.9; margin:10px 0 0; padding:0; text-align:left; display:inline-block; }
.lp-plan .ocard .ore{ font-size:12px; color:var(--ink-dim); margin-top:12px; word-break:keep-all; overflow-wrap:anywhere; }

/* ===== フッター ===== */
.lp-footer{ text-align:center; padding:40px 24px 56px; font-size:12px; color:var(--ink-dim); letter-spacing:.06em; border-top:1px solid #1f1c18; }

/* ===== 追従CTA（fv-c版＝上品な金グラデ＋内側細ライン額装＋明朝） ===== */
.lp-cta{
  position:fixed; right:28px; bottom:28px; z-index:9;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  width:min(340px,42vw); padding:16px 20px 14px;
  /* 追従＝クリック誘導が目的のため金グラデで目立たせる（2026-07-10クライアント指定で黒→金に戻す） */
  background:linear-gradient(180deg,#d8bd88 0%,#c2a36b 55%,#b3925a 100%);
  border-radius:3px; line-height:1.3; text-align:center; color:#241a08;
  box-shadow:0 12px 32px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,248,224,.35);
  transition:transform .25s, box-shadow .25s, filter .25s, opacity .3s, visibility .3s;
}
/* 最終CTAが見えている間は非表示（lp.jsのIntersectionObserverが付与） */
.lp-cta.lp-cta-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
/* 内側の細いライン＝額装 */
.lp-cta::before{ content:""; position:absolute; inset:5px; border:1px solid rgba(46,32,8,.28); border-radius:2px; pointer-events:none; }
.lp-cta:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 16px 38px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,248,224,.45); }
.lp-cta .lp-cta-main{ font-family:var(--serif); font-weight:600; color:#241a08; font-size:16px; letter-spacing:.14em; text-indent:.14em; }
.lp-cta .lp-cta-note{ font-size:12px; font-weight:400; color:rgba(36,26,8,.72); letter-spacing:.06em; }

/* ===== ⑤ どんな方が参加しているか ===== */
/* 背景＝暗い金ボケ（2026-07-08・1301457）＝「人が集う夜の灯り」。暗幕で文字可読性を確保。
   コーナーグローは背景と重なるため無し（グレインのみ） */
.lp .sec:has(.lp-who){
  background-image:
    linear-gradient(rgba(8,7,6,.72), rgba(8,7,6,.82)),
    url(../img/members-bg.jpg);
  background-size:cover; background-position:center;
}
.lp .sec:has(.lp-who)::after,
.lp .sec:has(.lp-who):nth-of-type(even)::after{
  background-image:var(--grain);
  background-size:180px 180px;
  background-repeat:repeat;
}
.lp-who{ max-width:640px; margin:46px auto 0; }
.lp-who .who{ position:relative; padding:7px 0 7px 22px; font-size:15px; line-height:1.8; color:var(--ink); text-align:left; }
/* 行頭の小さな金の菱形（額装言語の「点」） */
.lp-who .who::before{
  content:""; position:absolute; left:2px; top:50%;
  width:5px; height:5px; transform:translateY(-50%) rotate(45deg);
  background:linear-gradient(135deg, var(--gold-bright), var(--gold));
}
/* 数字バンド：累計165名／約7割が経営者・役員（クライアント追加要望） */
.lp-stats{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:560px; margin:56px auto 0; }
/* メダル/エンブレム形式（2026-07-08）＝枠なし・月桂樹が数字＋ラベル全体を抱える */
.lp-stats .stat{ padding:14px 0; text-align:center; position:relative; }
/* 数字バンドの月桂樹（自作SVG＝FVバッジと同じ語彙・ライセンス不要） */
.lp-stats .stat::before,
.lp-stats .stat::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%); width:44px; height:104px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 84%22%3E%3Cpath d=%22M34 80 Q4 42 30 4%22 fill=%22none%22 stroke=%22%23c2a36b%22 stroke-width=%221.2%22 stroke-linecap=%22round%22/%3E%3Cg fill=%22%23c2a36b%22 fill-opacity=%22.82%22%3E%3Cpath d=%22M0 0 Q 2.73 -4.7250000000000005 0 -10.5 Q -2.73 -4.7250000000000005 0 0%22 transform=%22translate%2830.1 74.7%29 rotate%28-64%29%22/%3E%3Cpath d=%22M0 0 Q 2.73 -4.7250000000000005 0 -10.5 Q -2.73 -4.7250000000000005 0 0%22 transform=%22translate%2830.1 74.7%29 rotate%28-4%29%22/%3E%3Cpath d=%22M0 0 Q 2.5869999999999997 -4.4775 0 -9.95 Q -2.5869999999999997 -4.4775 0 0%22 transform=%22translate%2825.1 66.5%29 rotate%28-58%29%22/%3E%3Cpath d=%22M0 0 Q 2.5869999999999997 -4.4775 0 -9.95 Q -2.5869999999999997 -4.4775 0 0%22 transform=%22translate%2825.1 66.5%29 rotate%282%29%22/%3E%3Cpath d=%22M0 0 Q 2.4440000000000004 -4.23 0 -9.4 Q -2.4440000000000004 -4.23 0 0%22 transform=%22translate%2821.4 58.3%29 rotate%28-50%29%22/%3E%3Cpath d=%22M0 0 Q 2.4440000000000004 -4.23 0 -9.4 Q -2.4440000000000004 -4.23 0 0%22 transform=%22translate%2821.4 58.3%29 rotate%2810%29%22/%3E%3Cpath d=%22M0 0 Q 2.301 -3.9825 0 -8.85 Q -2.301 -3.9825 0 0%22 transform=%22translate%2819.1 50.2%29 rotate%28-42%29%22/%3E%3Cpath d=%22M0 0 Q 2.301 -3.9825 0 -8.85 Q -2.301 -3.9825 0 0%22 transform=%22translate%2819.1 50.2%29 rotate%2818%29%22/%3E%3Cpath d=%22M0 0 Q 2.1580000000000004 -3.7350000000000003 0 -8.3 Q -2.1580000000000004 -3.7350000000000003 0 0%22 transform=%22translate%2818.0 42.0%29 rotate%28-33%29%22/%3E%3Cpath d=%22M0 0 Q 2.1580000000000004 -3.7350000000000003 0 -8.3 Q -2.1580000000000004 -3.7350000000000003 0 0%22 transform=%22translate%2818.0 42.0%29 rotate%2827%29%22/%3E%3Cpath d=%22M0 0 Q 2.015 -3.4875000000000003 0 -7.75 Q -2.015 -3.4875000000000003 0 0%22 transform=%22translate%2818.2 33.8%29 rotate%28-24%29%22/%3E%3Cpath d=%22M0 0 Q 2.015 -3.4875000000000003 0 -7.75 Q -2.015 -3.4875000000000003 0 0%22 transform=%22translate%2818.2 33.8%29 rotate%2836%29%22/%3E%3Cpath d=%22M0 0 Q 1.8719999999999999 -3.2399999999999998 0 -7.199999999999999 Q -1.8719999999999999 -3.2399999999999998 0 0%22 transform=%22translate%2819.7 25.7%29 rotate%28-15%29%22/%3E%3Cpath d=%22M0 0 Q 1.8719999999999999 -3.2399999999999998 0 -7.199999999999999 Q -1.8719999999999999 -3.2399999999999998 0 0%22 transform=%22translate%2819.7 25.7%29 rotate%2845%29%22/%3E%3Cpath d=%22M0 0 Q 1.7289999999999999 -2.9924999999999997 0 -6.6499999999999995 Q -1.7289999999999999 -2.9924999999999997 0 0%22 transform=%22translate%2822.5 17.5%29 rotate%28-7%29%22/%3E%3Cpath d=%22M0 0 Q 1.7289999999999999 -2.9924999999999997 0 -6.6499999999999995 Q -1.7289999999999999 -2.9924999999999997 0 0%22 transform=%22translate%2822.5 17.5%29 rotate%2853%29%22/%3E%3Cpath d=%22M0 0 Q 1.5859999999999999 -2.745 0 -6.1 Q -1.5859999999999999 -2.745 0 0%22 transform=%22translate%2826.6 9.3%29 rotate%280%29%22/%3E%3Cpath d=%22M0 0 Q 1.5859999999999999 -2.745 0 -6.1 Q -1.5859999999999999 -2.745 0 0%22 transform=%22translate%2826.6 9.3%29 rotate%2860%29%22/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain; opacity:.8; pointer-events:none;
}
.lp-stats .stat::before{ left:calc(50% - 138px); }
.lp-stats .stat::after{ right:calc(50% - 138px); transform:translateY(-50%) scaleX(-1); }

.lp-stats .stat-num{ font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.6vw,44px); line-height:1.2; letter-spacing:.04em; color:var(--gold-bright); margin:0; }
.lp-stats .stat-num small{ font-size:.42em; margin-left:2px; color:var(--gold); }
.lp-stats .stat-label{ font-size:13.5px; color:var(--ink-head); letter-spacing:.12em; margin:10px 0 0; text-shadow:0 1px 14px rgba(8,7,6,.8); }

/* ===== ⑥ イベント開催イメージ ===== */
.lp-events{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.4vw,36px); max-width:920px; margin:48px auto 0; }
.lp-events .ph{ margin:0; border:1px solid rgba(216,190,143,.16); overflow:hidden; }
.lp-events .ph img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.lp-events .ecap{ margin:12px 0 0; font-size:13px; line-height:1.8; color:var(--ink); text-align:center; }
.lp-prov{ display:block; text-align:center; margin:22px 0 0; font-size:12px; color:var(--ink-dim); letter-spacing:.06em; }

/* ===== ⑦ 会員制である理由 ===== */
/* 背景画像（金シルク）があるためコーナーグローは無し（グレインのみ残す） */
.lp .sec.lp-why::after,
.lp .sec.lp-why:nth-of-type(even)::after{
  background-image:var(--grain);
  background-size:180px 180px;
  background-repeat:repeat;
}
/* 背景＝金の光がシルク状に流れる面（2026-07-08・27696985）。暗幕で文字の可読性を確保。
   テーマ内アセット（assets/img/why-bg.jpg）＝本番移行でURL書換え不要 */
.lp-why{
  background-image:
    linear-gradient(rgba(8,7,6,.5), rgba(8,7,6,.68)),
    url(../img/why-bg.jpg);
  background-size:cover; background-position:center;
}
.lp-why .wrap{ max-width:640px; text-align:center; }
/* 見出し下の間隔を広めに */
.lp-why .stitle{ margin-bottom:clamp(20px,3vw,32px); }
.lp-why .why-body{ font-size:15px; line-height:2.4; color:var(--ink); margin:clamp(28px,4vw,44px) 0 0; }

/* ===== ⑧ 会員の声 ===== */
/* 実際の口コミ2件に差し替え（2026-07-21）＝2カラム・本文が長いので幅を確保 */
.lp-voices{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:48px; max-width:920px; margin-inline:auto; }
/* 引用の額装（2026-07-21洗練化）：2重細枠＋金の微グラデ地＋Cormorantの大きな引用符 */
.lp-voices .voice{
  position:relative;
  border:1px solid rgba(194,163,107,.30);
  background:linear-gradient(165deg, rgba(194,163,107,.055) 0%, rgba(194,163,107,.015) 45%, rgba(8,7,6,0) 100%);
  padding:34px 34px 30px;
  box-shadow:0 18px 44px rgba(0,0,0,.35);
}
/* 本文＝明朝で統一（引用文の品格・強調との混植解消 2026-07-21）
   本文はやや沈ませ、強調（純白）との明度差を確保 */
.lp-voices .voice p{ font-family:var(--serif); font-size:13.5px; line-height:2.1; color:rgba(236,232,223,.76); margin:0; }
.lp-voices .voice p + p{ margin-top:14px; } /* 全文掲載＝段落間の呼吸（2026-07-21） */
/* 強調＝純白×金の極細下線（明朝統一に伴い色コントラストで差を出す 2026-07-21） */
.lp-voices .voice strong{
  font-family:var(--serif); font-weight:500; color:#fff;
  background:none;
  border-bottom:1px solid rgba(216,190,143,.62); padding-bottom:1px;
}
/* 署名＝金の短いラインを前置きに（「—」は本文から除く想定でCSSで描く） */
.lp-voices .voice .vauthor{
  display:flex; align-items:center; gap:10px;
  margin:22px 0 0; font-size:12px; color:rgba(216,190,143,.85); letter-spacing:.14em;
  font-family:var(--serif);
}
.lp-voices .voice .vauthor::before{
  content:""; width:26px; height:1px; flex:0 0 auto;
  background:linear-gradient(90deg, rgba(216,190,143,.8), rgba(216,190,143,.2));
}

/* ===== ⑨ 会員募集（最終CTA：SWELLフルワイドブロック＝背景はブロック編集で差替可） ===== */
/* 見出しは .stitle 指定でFVの巨大見出しと差別化（CTA向けに少し抑える） */
.lp .swell-block-fullWide.has-bg-img .stitle{ font-size:clamp(21px,3.4vw,30px); line-height:1.8; letter-spacing:.08em; text-indent:.08em; margin:0; }
.lp .final-lead{ font-size:14px; line-height:2.2; color:var(--ink); margin:30px 0 30px; }
.lp .micro{ font-size:12px; color:var(--ink-dim); margin:12px 0 0; letter-spacing:.06em; }
/* 最終CTA（背景画像上）の補足は白で視認性確保 */
.lp .swell-block-fullWide .micro{ color:#fff; }

/* ===== フッター（リンク） ===== */
/* ===== SNSアイコン ===== */
.lp .lp-social{ justify-content:center; gap:8px; margin:48px 0 0; padding:36px 0 0; }
.lp .lp-social .wp-social-link{ background:none; color:var(--ink-dim); padding:6px; transition:color .3s,transform .3s; }
.lp .lp-social .wp-social-link:hover{ color:var(--gold); transform:translateY(-2px); }
.lp .lp-social .wp-social-link svg{ width:24px; height:24px; }

.lp-foot{ text-align:center; padding:24px 24px 64px; font-size:12px; color:var(--ink-dim); letter-spacing:.06em; }
.lp-foot a{ color:inherit; transition:color .3s; white-space:nowrap; }
.lp-foot a:hover{ color:var(--gold); }
/* 区切り「・」はCSSで生成（リンク間）。縦並び時は出さない */
.lp-foot a:not(:last-child)::after{ content:'\30FB'; margin:0 .7em; color:var(--ink-dim); }

@media (max-width:768px){
  :root{ --pad-y:84px; }
  .lp .wrap{ padding:0 22px; }
  .lp-exps{ margin-top:16px; }
  .lp-plan .vip{ padding:38px 24px; }
  .lp-plan .others{ grid-template-columns:1fr; }
  .lp-events{ grid-template-columns:1fr; gap:28px; }
  .lp-voices{ grid-template-columns:1fr; }
  /* SP：フローティングCTA（下部中央）。FVはCTA帯分だけ短くして重なりを避ける */
  .lp-cta{ left:0; right:0; bottom:10px; margin:0 auto; width:min(340px,88vw); }
  /* SP：MEMBERSリストを左右もう少し内側に（左揃えのまま中央寄せ感を強める） */
  .lp-who{ padding-inline:clamp(12px,3.6vw,40px); } /* SPは余白を詰めて文字サイズを確保（2026-07-21） */
  /* SP：月桂樹メダルは横並びだと枝が重なるため縦積みに */
  .lp-stats{ grid-template-columns:1fr; gap:26px; }
  /* SP：フッター法的リンクは縦並び（中途半端な折返し回避）。区切り「・」は非表示。
     下は固定CTAバー(約68px)に隠れないよう余白を確保 */
  .lp-foot{ display:flex; flex-direction:column; align-items:center; gap:12px; padding-bottom:96px; }
  .lp-foot a:not(:last-child)::after{ display:none; }
  /* SP：写真下部の白い反射を黒グラデで打ち消す（下側を濃く） */
  .lp .fv-c::after{
    background:
      linear-gradient(180deg, rgba(8,7,6,.6) 0%, rgba(8,7,6,.22) 26%, rgba(8,7,6,.04) 40%),
      linear-gradient(0deg, rgba(8,7,6,.94) 0%, rgba(8,7,6,.62) 22%, rgba(8,7,6,.08) 52%),
      rgba(8,7,6,.24);
  }
  .lp .fv-c .fv-catch{ font-size:clamp(14px,4.3vw,18px); line-height:2; }
  /* SP：ABOUTバッジ＝縦3つ積み（横3つは見にくい＝2026-07-10クライアント指定） */
  .lp-about .about-badges{ flex-direction:column; gap:18px; }
  .lp-about .about-badges .badge{ flex-basis:auto; width:min(200px,52vw); max-width:none; }
  /* SP：VIP箇条書きは1行に収める（2026-07-10クライアント指定。最長21文字が幅内に収まるサイズ） */
  .lp-plan .vfeat{ font-size:clamp(10.5px,3.2vw,13.5px); white-space:nowrap; }
  /* SP：MEMBERS箇条書きを1行に（最長19文字が幅内に収まるサイズ・2026-07-10クライアント指定） */
  .lp-who .who{ padding-left:16px; font-size:min(15px, calc((100vw - 114px)/19)); white-space:nowrap; }
  /* SP：改行させず文字サイズで吸収（2026-07-10山田さん指定。最長行の文字数で割る） */
  .lp-exps .exp-body{ font-size:min(14px, calc((100vw - 56px)/24)); }   /* 体験5「全国各地で〜」24文字 */
  .lp-plan .ocard .ore{ font-size:min(12px, calc((100vw - 111px)/24)); letter-spacing:0; } /* ※興味がある方は〜 24文字 */
  /* SPもタイトル1行固定（クライアント指定）。375px等の狭幅でも収まるよう余裕をみた除数
     ＋text-indentは狭幅で右寄りに見えるためSPでは外す */
  .lp .fv-c .fv-title{ font-size:min(40px, calc((100vw - 48px)/9.4)); line-height:1.5; text-indent:0; margin-top:clamp(22px,3.6vh,34px); }
  .lp .fv-c .notice{ padding:11px 16px; font-size:12px; letter-spacing:.06em; }
  /* SP：FVを縦フレックス化＝head→写真（残り高を占有）→foot。
     footが写真直下に付く＝「寿司のすぐ下にnotice」（2026-07-10クライアント指定） */
  .lp .fv-c{ height:auto; min-height:100vh; min-height:100svh; display:flex; flex-direction:column;
    justify-content:center; padding:26px 0 24px; }
  .lp .fv-c .fv-head{ position:static; margin:0 20px; order:-1; }
  /* 写真＝切り抜き版（周囲が黒ベタ）に差し替え済み（2026-07-10）
     → 原寸比率のまま残り高の中央に置く（白反射なし・トリミング位置問題なし） */
  /* 写真＝原寸高（余った高さを吸収させない）。FV全体はjustify-content:centerで中央寄せ */
  .lp .fv-c .fv-cols{ flex:0 0 auto; height:auto; overflow:hidden; margin:6px 0 2px; }
  .lp .fv-c .fv-cols .wp-block-image{ height:auto; width:100%; text-align:center; }
  .lp .fv-c .fv-cols img{ width:118%; max-width:none; margin:0 -9%; height:auto; max-height:none; }
  /* テキスト群を上に詰める（タイトル⇔寿司の空きを減らす＝2026-07-10クライアント指定） */
  .lp .fv-c{ padding-top:14px; }
  .lp .fv-c .fv-catch{ line-height:1.85; }
  .lp .fv-c .fv-title-eng{ margin-top:8px; }
  .lp .fv-c .fv-foot{ position:static; margin:0 16px; }
}

/* ===== 出現アニメの初期状態（2026-07-21）=====
   従来は初期状態(opacity:0 / 26px下)を後から当てていたため、読込までの約380msだけ
   「正しい位置で見えてから26px下にずれて戻る」ちらつきが発生していた。
   初期状態をCSSに移し、描画された瞬間から正しい状態になるようにした。
   .js-anim は functions.php が <html> に付与。値をCSS変数にしてあるので、
   無効環境(noscript)や動きを減らす設定では変数を上書きするだけで解除できる。 */
.js-anim{ --anim-op:0; --anim-y:26px; }
.js-anim .lp .eyebrow,
.js-anim .lp .stitle,
.js-anim .lp-exps .exp,
.js-anim .lp-stats .stat,
.js-anim .lp-plan .vip,
.js-anim .lp-plan .others-label,
.js-anim .lp-plan .ocard,
.js-anim .lp-about .about-badges .badge,
.js-anim .lp .final-lead,
.js-anim .lp .swell-block-fullWide.has-bg-img .wp-block-buttons,
.js-anim .lp .swell-block-fullWide.has-bg-img .micro{
  opacity:var(--anim-op);
  transform:translateY(var(--anim-y));
}
/* 動きを減らす設定の環境では即表示 */
@media (prefers-reduced-motion: reduce){
  .js-anim{ --anim-op:1; --anim-y:0px; }
}
