/* ==========================================================
   プライバシーポリシー・免責事項(/privacy/)
   本文はアプリ内と同一。装飾は最小限、読みやすさ優先の1カラム
   ========================================================== */

.legal { max-width: calc(720px + var(--gutter) * 2); }

.legal-hero { padding-block: 48px 8px; }
.legal-hero .page-title { font-size: clamp(26px, 1.6vw + 18px, 36px); }
@media (min-width: 960px) { .legal-hero { padding-block: 80px 16px; } }

/* 目次 */
.legal-toc { margin-top: 20px; }
.legal-toc ul { display: flex; flex-wrap: wrap; gap: 8px; }
.legal-toc a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.legal-toc a:hover { border-color: var(--border-emph); color: var(--text); }
.legal-toc svg { width: 16px; height: 16px; color: var(--text-muted); }

/* 文書 */
.legal-doc { padding-block: 48px; scroll-margin-top: calc(var(--header-h) + 8px); }
.legal-doc + .legal-doc { border-top: 1px solid var(--border); }
@media (min-width: 960px) { .legal-doc { padding-block: 64px; } }

/* 英字ラベル(アプリと同じ:11〜12px・700・字間0.18em・大文字・accent) */
.legal-label {
  display: block;
  margin-bottom: 8px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.legal-doc h2 { font-size: clamp(24px, 1.2vw + 18px, 30px); }
.legal-meta { margin-top: 8px; color: var(--text-muted); font-size: 14px; }

.legal-item { margin-top: 36px; scroll-margin-top: calc(var(--header-h) + 16px); }
.legal-item h3 { font-size: 18px; line-height: 1.6; margin-bottom: 10px; }
.legal-item p, .legal-item li { color: var(--text); line-height: 1.95; }
.legal-item p + p, .legal-item ul + p, .legal-item p + ul { margin-top: 10px; }
.legal-item ul { list-style: none; padding: 0; margin: 0; }
/* 「・」は残し、2行目以降をそろえる */
.legal-item li { padding-left: 1em; text-indent: -1em; }
.legal-item li + li { margin-top: 4px; }
.legal-item a { font-weight: 500; }
@media (min-width: 960px) {
  .legal-item h3 { font-size: 19px; }
}

/* 本ウェブサイトについて(サイト独自の区画。アプリの本文とは区切る) */
.site-note {
  padding-block: 48px 72px;
  border-top: 3px double var(--border);
  scroll-margin-top: calc(var(--header-h) + 8px);
}
.site-note h2 { font-size: clamp(22px, 1vw + 17px, 26px); margin-bottom: 16px; }
.site-note p { color: var(--text-muted); line-height: 1.95; }
.site-note p + p { margin-top: 14px; }
@media (min-width: 960px) { .site-note { padding-block: 64px 96px; } }
