/* ============================================================
   壱 ichi — LEGALページ共通（特定商取引法に基づく表記 / プライバシーポリシー）
   shared.css の土台に重ねて使う。読みやすさ最優先。
   写真・CTA・カード・角丸・影は置かない。
   PCは「項目名｜内容」の2カラム、モバイルは1カラムに切り替える。
   ============================================================ */

  .legal-head{ padding-top:84px; padding-bottom:44px; }
  .legal-head .eyebrow{ margin:0 0 16px; }
  .legal-title{ font-size:clamp(28px,3vw,36px); line-height:1.45; margin:0; }

  .legal-list{ margin:0; padding:0 0 88px; }
  .legal-row{
    display:grid; grid-template-columns:minmax(0,15em) minmax(0,1fr);
    gap:0 48px; align-items:start;
    padding:25px 0; border-top:1px solid var(--line-paper);
  }
  .legal-row:last-child{ border-bottom:1px solid var(--line-paper); }
  .legal-key{
    font-family:var(--sans-label); font-size:11px; font-weight:400;
    letter-spacing:0.14em; line-height:1.9; color:var(--ink-dark-muted);
    margin:0; padding-top:3px;
  }
  /* 法務本文はLP本文より小さく、字間も詰める。読みやすさは行間で担保する */
  .legal-val{ margin:0; display:grid; gap:11px; font-size:14.5px; line-height:1.95; letter-spacing:0.008em; }
  .legal-val p{ margin:0; }
  /* LPの「文単位で折り返す」(.s) は法務本文だと1文が1行を占めてしまい、
     行の右側が4割ほど空いて行数が増える。ここでは通常のインラインに戻し、
     改行位置は <wbr>（文節境界）だけに任せる。 */
  .legal-val .s{ display:inline; }
  .legal-note{ font-size:13px; line-height:1.9; color:var(--ink-dark-muted); }

  /* 価格は表ではなく、罫線だけの一覧で見せる */
  .legal-price{ display:grid; gap:0; margin:0; padding:0; list-style:none; }
  .legal-price li{
    display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
    padding:8px 0; border-bottom:1px solid var(--line-paper);
  }
  .legal-price li:first-child{ border-top:1px solid var(--line-paper); }
  .legal-plan{ flex:0 0 7.4em; font-family:var(--sans-label); font-size:10px; font-weight:300; letter-spacing:0.2em; color:var(--ink-dark-muted); }
  .legal-time{ font-family:var(--serif-body); font-weight:300; font-size:13px; color:var(--ink-dark-muted); }
  .legal-fee{ margin-left:auto; font-size:14.5px; letter-spacing:0.03em; font-variant-numeric:tabular-nums; }

  .legal-mail{ border-bottom:1px solid var(--line-paper); padding-bottom:2px; transition:border-color 400ms ease; }
  .legal-mail:hover{ border-color:var(--ink-dark); }

  .legal-back{ padding:0 0 80px; }
  .legal-back a{ font-family:var(--sans-label); font-size:11px; letter-spacing:0.16em; color:var(--ink-dark-muted); border-bottom:1px solid var(--line-paper); padding-bottom:4px; transition:color 400ms ease, border-color 400ms ease; }
  .legal-back a:hover{ color:var(--ink-dark); border-color:var(--ink-dark); }

  @media (max-width:859px){
    .legal-head{ padding-top:44px; padding-bottom:26px; }
    .legal-head .eyebrow{ margin-bottom:12px; }
    .legal-title{ font-size:clamp(28px,8vw,36px); line-height:1.4; }
    .legal-list{ padding-bottom:64px; }
    /* 1カラムにして「項目名 → 内容」の順で読ませる。
       LP本文（16px/2.02）をそのまま使うと1項目で画面が埋まるので、
       法務ページ用に本文を14.5px/1.85まで落として1画面に2〜3項目入るようにする。 */
    .legal-row{ grid-template-columns:minmax(0,1fr); gap:13px; padding:22px 0; }
    .legal-key{ padding-top:0; font-size:12.5px; letter-spacing:0.1em; line-height:1.4; }
    .legal-val{ gap:8px; font-size:14.5px; line-height:1.8; letter-spacing:0.004em; }
    .legal-note{ font-size:13.5px; line-height:1.8; }
    .legal-price li{ padding:9px 0; }
    .legal-plan{ flex:0 0 6.6em; font-size:9.5px; }
    .legal-time{ font-size:13px; }
    .legal-fee{ font-size:14px; }
    .legal-back{ padding-bottom:56px; }
    /* 法務ページなので、応募CTAが本文より目立たないようにする。
       このCSSはLPのモーダル（プライバシーポリシー）からも読み込むため、
       LP側のヘッダーに影響しないよう .legal-page（法務ページのbody）に限定する。 */
    .legal-page header nav a.navcta{ color:var(--ink-muted); border-color:rgba(242,241,236,0.1); }
  }

  /* --- プライバシーポリシーで使う追加パーツ --- */
  /* 冒頭のリード文。項目の一覧が始まる前に置く */
  .legal-lead{
    margin:0; padding:0 0 32px;
    font-size:14.5px; line-height:1.95; letter-spacing:0.008em;
    max-width:44em;
  }
  /* 箇条書き。記号は控えめに、字下げは1文字ぶん */
  .legal-ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
  .legal-ul li{ padding-left:1.15em; text-indent:-1.15em; }
  .legal-ul li::before{ content:"・"; color:var(--ink-dark-muted); }
  .legal-date{ font-size:13px; line-height:1.9; color:var(--ink-dark-muted); }
  /* 項目名の先頭に入る番号 */
  .legal-num{ margin-right:0.9em; font-variant-numeric:tabular-nums; }
  /* 外部リンク（Stripeのプライバシーポリシー等） */
  .legal-ext{ border-bottom:1px solid var(--line-paper); padding-bottom:2px; transition:border-color 400ms ease; }
  .legal-ext:hover{ border-color:var(--ink-dark); }

  @media (max-width:859px){
    .legal-lead{ padding-bottom:24px; font-size:14.5px; line-height:1.8; letter-spacing:0.004em; }
    .legal-ul{ gap:5px; }
    .legal-date{ font-size:13.5px; line-height:1.8; }
  }
