/* ===================================================================
 * タイポグラフィ — FRONTEND_UI_SPEC.md §5 準拠
 * =================================================================== */

/* ── 見出し共通 ── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-base);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  color: var(--color-text-primary);
  font-weight: 700;
}

/* ── 見出しサイズ（モバイルファースト） ── */
h1 {
  font-size: 32px;
  font-weight: 900;
}

h2 {
  font-size: 24px;
  margin-top: var(--space-12);
  margin-bottom: var(--space-6);
}

h3 {
  font-size: 18px;
  font-weight: 600;
  margin-top: var(--space-8);
  margin-bottom: var(--space-4);
}

h4 {
  font-size: 16px;
  font-weight: 600;
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
}

/* ── 本文 ── */
p {
  margin-bottom: var(--space-6);
}

/* ── リンク ── */
a {
  color: var(--color-primary);
  text-decoration: underline;
  transition: color var(--duration-fast);
}

a:hover {
  color: var(--color-primary-dark);
}

/* ── 強調 ── */
strong, b {
  font-weight: 700;
}

/* ── キャプション・注記 ── */
small,
.text-caption {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

/* ── 固定ヘッダー対応のアンカーオフセット ── */
h2, h3, h4 {
  scroll-margin-top: 80px;
}

/* ── タブレット ── */
@media (min-width: 768px) {
  h1 { font-size: 40px; }
  h2 { font-size: 28px; }
  h3 { font-size: 20px; }
}

/* ── PC ── */
@media (min-width: 1024px) {
  h1 { font-size: 48px; }
  h2 { font-size: 32px; }
  h3 { font-size: 22px; }
  body { font-size: 17px; }
}
