/* ============================================================
   Protagonist — /privacy-policy/ ページ固有 CSS
   法務テキスト本文は保持し、外枠（page-hero / template-parts）＋ .legal で
   再スキンする。Tailwind 非読込のため、本文に残る一部ユーティリティクラスは
   .legal 配下で最小限のみ上書きする。
   ============================================================ */

.legal{max-width:880px;margin-inline:auto;color:var(--ink-2)}
.legal h2{font-family:var(--jp);font-weight:500;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:-.01em;color:var(--ink);margin:clamp(40px,5vw,64px) 0 1.3rem;padding-bottom:.8rem;border-bottom:1px solid var(--ink)}
.legal h3{font-family:var(--jp);font-weight:700;font-size:1.08rem;color:var(--ink);margin:2rem 0 .9rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.legal h4{font-family:var(--jp);font-weight:700;font-size:.96rem;color:var(--ink-2);margin:1.5rem 0 .6rem}
.legal p{color:var(--graphite);font-size:.95rem;line-height:1.85;margin-bottom:1rem}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hair);transition:text-decoration-color .3s}
.legal a:hover{text-decoration-color:var(--ink)}
.legal strong,.legal .font-semibold,.legal .font-bold,.legal .font-medium{font-weight:700;color:var(--ink)}
.legal ul,.legal ol{margin:0 0 1.1rem 0;padding-left:1.3rem;color:var(--graphite);font-size:.95rem;line-height:1.85}
.legal ul.list-none{list-style:none;padding-left:.2rem}
.legal li{margin-bottom:.45rem}

/* 表（利用目的等） */
.legal table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.9rem}
.legal th,.legal td{border:1px solid var(--line);padding:.7rem .9rem;text-align:left;vertical-align:top;color:var(--graphite);line-height:1.7}
.legal th{background:var(--paper-2);color:var(--ink);font-weight:700;white-space:nowrap}

/* 情報ボックス（事業者名・連絡先・手数料 等。元 .bg-zinc-50 を再スキン） */
.legal .bg-zinc-50{background:var(--paper-2);border:1px solid var(--line);padding:clamp(16px,2vw,24px)}
.legal .bg-zinc-50 p{margin-bottom:.3rem}

/* 区切り（元の section / spacing ユーティリティの最小再現） */
.legal .policy-section{margin-bottom:clamp(34px,4.4vw,52px)}
.legal .policy-section:last-child{margin-bottom:0}
.legal .mb-0{margin-bottom:0}
.legal .space-y-1 > * + *{margin-top:.25rem}
.legal .space-y-2 > * + *{margin-top:.5rem}
.legal .space-y-3 > * + *{margin-top:.75rem}
.legal .text-zinc-500,.legal .text-zinc-400{color:var(--muted)}
