/* 日本語の字面はほぼ正方形なので、行高が級数を下回ると行同士が物理的に接触する。
   欧文前提の .82〜.95 を使っていた見出しが390px幅で衝突していたため、
   本体 modo/styles.css の見出しと同じ 1.02 へ揃えた（2026-08-04 実測） */
/* 条番号つきの見出し（h2）だけ「語中で折らない」にする。指定が無く320pxで
   「…保存するデー」「タ」とカタカナ語が割れていた（実測・2026-08-05）。
   h1 には当てない。1280pxで「特定商取引法に基づく表示」12文字が max-width:760px に対して
   約1000px必要になり、折る場所が無くなって240px溢れたため（実測）。
   h1 の320px対策は上の clamp（7.8vw）で足りている。本文にも当てない（長い条文が枠を越える） */
html[lang="ja"] :is(h2, h3) { word-break: keep-all; overflow-wrap: anywhere; }

* { box-sizing: border-box; }
html { background: var(--modo-paper); color: var(--modo-ink); font-family: Inter, "Noto Sans JP", system-ui, sans-serif; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; font-size: 17px; line-height: 1.85; }
a { color: inherit; }
main { width: calc(100% - 40px); margin: 0 auto; padding: 48px 0 64px; }
.kicker { margin: 0 0 14px; color: var(--modo-violet); font-size: var(--modo-text-xs); font-weight: 650; letter-spacing: .14em; }
/* clamp の下限 2.5rem=40px が 390px幅でも効き、「プライバシーポリシー」が「…ポリシ」「ー」、
   「特定商取引法に基づく表示」が「…基づ」「く表示」と語の途中で割れていた（390px実測・2026-08-05）。
   下限を1.5remへ下げて vw に任せる。7.8vw＝390pxで30.4px（実測で解消する31px以下） */
h1 { margin: 0; font-size: 1.9rem; line-height: 1.5; letter-spacing: -.04em; overflow-wrap: anywhere; }
.lead { max-width: 700px; margin: 26px 0 46px; color: var(--modo-muted); font-size: var(--modo-text-m); line-height: 1.9; font-weight: 500; }
.status { margin: 0 0 30px; padding: 20px 0; border-block: 2px solid var(--modo-line); font-weight: 500; line-height: 1.8; }
article { border-top: 1px solid var(--modo-line); padding: 32px 0; }
article h2 { margin: 0 0 16px; font-size: 1.4rem; line-height: 1.55; letter-spacing: -.035em; }
article p, article li, dd { color: var(--modo-muted); line-height: 1.85; font-weight: 500; }
article ul { padding-left: 1.25rem; }
dl { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; }
dt, dd { margin: 0; }
dt { padding: 20px 0 6px; font-weight: 600; }
dd { padding: 0 0 20px; border-bottom: 1px solid var(--modo-line); overflow-wrap: anywhere; }
footer { padding: 28px 20px; border-top: 1px solid var(--modo-line); color: var(--modo-muted); text-align: center; font-size: .875rem; }
a { text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid var(--modo-violet); outline-offset: 3px; }
/* 本文中の単独リンク（プライバシーの「利用データの設定を開く」）は指で押せる高さに（2026-09-12 の 390px 監査で 20px と実測） */
#legal-content > p > a:only-child { display: inline-flex; align-items: center; min-height: 40px; }

/* 更新日はリード文に <br> で続けていたため、段落余白が無く本文の続きに見えていた
   （幅320で実測・2026-08-09）。独立した1行として間隔をとる */
/* 直後に .status（黄緑の注意ボックス）が来るページでは間隔0で貼り付いて見えた
   （特商法ページ・幅1280で実測・2026-08-09）。下側にも余白をとる */
.legal-updated { margin: 14px 0 22px; color: var(--modo-muted); font-size: var(--modo-text-xs); font-weight: 600; }

/* Comfortable text at 320px; Japanese headings break at natural boundaries. */
body { font-size:17px; font-weight:450; }
html[lang="ja"] :is(h1,h2,h3),html[lang="ja"] .boundary strong { word-break:normal; line-break:strict; overflow-wrap:anywhere; }
h1 { font-size:clamp(28px,8.75vw,32px); font-weight:650; line-height:1.45; letter-spacing:-.025em; }
main { padding-top:32px; }
.lead { margin-top:18px; font-size:17px; font-weight:450; line-height:1.8; }
article p,article li,dd,.status { font-size:17px; font-weight:450; line-height:1.85; }
