/* ============================================================
 * camp-premium.css — TOEIC CAMP 固有コンポーネント (standalone add-on)
 * ------------------------------------------------------------
 * lp-premium.css の近黒トークン(--ink / --paper / --hair / --brass /
 * --paper-mute / --lp-body / --font-display / --font-jp)に依存する。
 * 必ず lp-premium.css の後に読み込むこと。camp.html だけが読み込み、
 * index.html / mentor.html 等には一切波及しない(共有 style.css は不使用)。
 *
 * 収録: 12週カリキュラム表 / 価格比較2枠 / β・注記callout / FAQアコーディオン。
 * すべて LP の美意識(ヘアライン・透明地・ブラス1%・枠バッジなし)に合わせている。
 * ============================================================ */

/* ---- hero 追加: jp-head 下の lede と CTA 注記 ---- */
.hero-sub{font-family:var(--font-jp);font-size:14.5px;line-height:1.95;color:var(--paper-mute);max-width:54ch;margin:22px 0 0}
.hero-note{font-family:var(--font-jp);font-size:.86rem;color:var(--paper-mute);margin:16px 0 0;max-width:54ch;line-height:1.7}
.cta-sub{font-family:var(--font-jp);font-size:.92rem;color:var(--paper-mute);margin:0 0 26px;max-width:58ch;line-height:1.9}

/* ---- 12週カリキュラム表 (LPのcmp-table美意識) ---- */
.camp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:none;border-radius:0;background:transparent}
.camp-table{border-collapse:collapse;width:100%;min-width:680px;font-family:var(--font-jp);font-size:.9rem;color:var(--paper)}
.camp-table th,.camp-table td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:top}
.camp-table thead th{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--paper-mute);white-space:nowrap;background:transparent}
.camp-table td{color:var(--paper-mute);line-height:1.7}
.camp-table .wk{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;color:var(--paper);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.05rem}
.camp-table .wk .ph{font-family:var(--font-jp);text-transform:none;letter-spacing:.02em;font-size:.64rem;font-weight:400;color:var(--paper-mute);display:block;margin-top:3px}
/* 模試行(第2/6/10週)= ブラスの左罫+淡いブラス地で強調(枠バッジではない) */
.camp-table tr.is-mock td{background:rgba(192,138,62,.05)}
.camp-table tr.is-mock td:first-child{border-left:2px solid var(--brass)}
.camp-table tr.is-mock .wk{color:var(--brass)}
.camp-table tbody tr:last-child td{border-bottom:1px solid var(--hair)}

/* ---- 価格比較 2枠 (LPのflow-compare/plan美意識) ---- */
.price-compare{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--hair);max-width:900px;margin:0}
@media(min-width:720px){.price-compare{grid-template-columns:1fr 1fr}}
.pc-cell{padding:34px 0;border-bottom:1px solid var(--hair);background:transparent}
@media(min-width:720px){.pc-cell{border-bottom:none;border-left:1px solid var(--hair);padding:24px 0 24px 40px}.pc-cell:first-child{border-left:none;padding-left:0}}
@media(min-width:720px){.pc-cell.us{border-left:1px solid var(--brass)}}
.pc-lbl{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;color:var(--paper-mute)}
.pc-cell.us .pc-lbl{color:var(--brass)}
.pc-price{font-family:var(--font-display);font-weight:700;font-size:2rem;letter-spacing:.01em;line-height:1.15;margin:14px 0 10px;color:var(--paper);font-variant-numeric:tabular-nums}
.pc-price .strike{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--paper-mute);text-decoration:line-through;opacity:.6;margin-right:10px}
.pc-note{font-family:var(--font-jp);font-size:.88rem;color:var(--paper-mute);line-height:1.85;margin:0;max-width:46ch}

/* ---- β / 注記 callout (ブラスの左罫。枠バッジではない) ---- */
.beta-callout{background:var(--ink-2);border:none;border-left:2px solid var(--brass);padding:20px 22px;border-radius:0;font-family:var(--font-jp);font-size:.92rem;line-height:1.9;color:var(--lp-body);max-width:840px;margin:44px 0 0}
.beta-callout strong{color:var(--paper);font-weight:700}

/* ---- カリキュラム下などの注記 ---- */
.camp-note{font-family:var(--font-jp);color:var(--paper-mute);font-size:.88rem;line-height:1.85;margin:24px 0 0;max-width:70ch}

/* ---- FAQ アコーディオン (LP美意識: ヘアライン + ブラス +/-) ---- */
.faq{display:flex;flex-direction:column;gap:0;max-width:900px;border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair);background:transparent}
.faq summary{cursor:pointer;font-family:var(--font-jp);font-weight:700;color:var(--paper);padding:22px 44px 22px 0;list-style:none;position:relative;font-size:1rem;line-height:1.6;transition:color .2s ease}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--paper)}
.faq summary:after{content:"＋";position:absolute;right:2px;top:21px;color:var(--brass);font-family:var(--font-display);font-weight:700;font-size:1.2rem;line-height:1}
.faq details[open] summary:after{content:"−"}
.faq .faq-body{padding:0 0 24px;font-family:var(--font-jp);color:var(--lp-body);font-size:.92rem;line-height:1.9;max-width:68ch}
.faq .faq-body p{margin:0;font-family:var(--font-jp)}
