/* ============================================================
   モデルルーム参考 — Typography tokens
   形状のみ指定(フォント名は固定しない)。
   見出し: 端正な角ゴシック系 / weight 500
   本文: 角ゴシック系 / weight 400 / line-height 1.8〜2.0
   装飾フォント・明朝の多用はしない。英字ラベルは控えめ(10〜12px)。
   H1: PC 40〜56 / SP 30〜38   H2: PC 28〜36 / SP 24〜30
   本文: 15〜16 / SP 14〜15
   ============================================================ */

:root {
  /* families */
  --font-sans: "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;

  /* weights — 太字で押さない */
  --weight-body:    400;
  --weight-heading: 500;
  --weight-serif:   400;

  /* type scale — 観察スペックに準拠(clampでSP→PC) */
  --text-xs:   11px;  /* 英字ラベル(10〜12px) */
  --text-sm:   14px;  /* 補助テキスト */
  --text-base: clamp(15px, 1.1vw, 16px);  /* 本文 15〜16 */
  --text-md:   clamp(16px, 1.3vw, 18px);  /* リード */
  --text-lg:   clamp(19px, 1.6vw, 22px);  /* 小見出し */
  --text-h2:   clamp(24px, 3.2vw, 36px);  /* H2 PC28〜36 / SP24〜30 */
  --text-h1:   clamp(30px, 4.6vw, 56px);  /* H1 PC40〜56 / SP30〜38 */

  /* line-height — 日本語向けにゆったり(本文1.8〜2.0) */
  --leading-tight:  1.4;   /* 大きな見出し */
  --leading-snug:   1.6;   /* 小見出し */
  --leading-body:   1.9;   /* 本文 */
  --leading-serif:  2.0;   /* 控えめに使う一文 */

  /* letter-spacing — 和文はやや広げて静けさを出す */
  --tracking-tight:  0.01em;
  --tracking-normal: 0.04em; /* 本文・見出しの標準 */
  --tracking-wide:   0.12em; /* ラベル・英字小見出し */
  --tracking-label:  0.22em; /* セクションラベル(英字大文字) */

  /* semantic roles */
  --type-hero:      var(--weight-heading) var(--text-h1)/var(--leading-tight) var(--font-sans);
  --type-h1:        var(--weight-heading) var(--text-h1)/var(--leading-tight) var(--font-sans);
  --type-h2:        var(--weight-heading) var(--text-h2)/var(--leading-snug) var(--font-sans);
  --type-h3:        var(--weight-heading) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-body:      var(--weight-body) var(--text-base)/var(--leading-body) var(--font-sans);
  --type-lead:      var(--weight-body) var(--text-md)/var(--leading-body) var(--font-sans);
  --type-caption:   var(--weight-body) var(--text-sm)/var(--leading-snug) var(--font-sans);
  --type-serif:     var(--weight-serif) var(--text-md)/var(--leading-serif) var(--font-serif);
}
