/* =========================================================
   SITE 117 — CONCAFE STORY GUIDE / デザイントークン
   配色: ネイビー #25304A / パーチメント #F4ECDD / ラベンダー #A99BCB / シルバー #B7BBC4
   書体: Noto Serif JP（見出し）+ Noto Sans JP（本文）。システムフォールバック必須。
   角丸: 8px に統一（0/4/8/12/16 のうち 8 を採用。混在させない）
   影  : 2段階まで
   本テンプレートは「用語ガイド」がテーマのため、装飾より可読性・説明性を優先する。
   ========================================================= */
:root {
  /* --- 基本色 --- */
  --c-navy: #25304a;
  --c-parchment: #f4ecdd;
  --c-parchment-050: #faf6ee;
  --c-parchment-100: #efe6d2;
  --c-lavender: #a99bcb;
  --c-lavender-100: #ece7f4;
  --c-lavender-050: #f5f2fa;
  --c-silver: #b7bbc4;

  /* --- 用途色（コントラスト実測値をコメントに記載） --- */
  --c-bg: var(--c-parchment);
  --c-bg-alt: var(--c-parchment-100);
  --c-bg-band: var(--c-lavender-050);
  --c-surface: #ffffff;
  --c-ink: var(--c-navy);          /* 対 パーチメント = 11.9:1 */
  --c-ink-muted: #4b5568;          /* 対 パーチメント = 7.6:1 */
  --c-ink-onaccent: var(--c-navy); /* 対 ラベンダー = 5.5:1 */
  --c-accent: var(--c-lavender);
  --c-accent-strong: #5b4b82;      /* 対 白/パーチメント = 7.5:1 / 6.4:1（リンク・強調文字用） */
  --c-accent-hover: #6f5d99;
  --c-line: #e3dac7;
  --c-line-strong: var(--c-silver);
  --c-focus: #5b4b82;
  --c-warn-bg: #fbf1de;
  --c-warn-line: #dcc38f;
  --c-ok-bg: #ecf3ea;
  --c-ok-line: #a9c9a3;
  --c-error: #9c2b3a;               /* 対 白 = 6.9:1 */
  --c-error-bg: #fbeaec;

  /* --- 書体 --- */
  --f-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --f-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;

  /* --- 文字サイズ（14px 未満を作らない） --- */
  --fs-body: 1rem;        /* 16px */
  --fs-body-lg: 1.0625rem;/* 17px */
  --fs-note: 0.875rem;    /* 14px */
  --fs-label: 0.9375rem;  /* 15px */
  --fs-h1: clamp(1.75rem, 1.15rem + 2.2vw, 2.625rem);
  --fs-h2: clamp(1.375rem, 1.05rem + 1.2vw, 1.875rem);
  --fs-h3: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  --fs-h4: 1.0625rem;
  --fs-hero: clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem);
  --fs-deco: 0.875rem;    /* 14px: 装飾英字ラベル。14px未満は作らない方針 */

  /* --- 行間 --- */
  --lh-head: 1.4;
  --lh-body: 1.75;
  --lh-tight: 1.5;

  /* --- 余白 --- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 88px;

  /* --- 幅 --- */
  --w-container: 1160px;
  --w-narrow: 800px;
  --gutter: 20px;

  /* --- 角丸（8px 統一） --- */
  --r: 8px;

  /* --- 影（2段階まで） --- */
  --sh-1: 0 1px 2px rgba(37, 48, 74, 0.07), 0 2px 8px rgba(37, 48, 74, 0.05);
  --sh-2: 0 8px 28px rgba(37, 48, 74, 0.14);

  /* --- 部品寸法 --- */
  --h-header: 76px;
  --h-ctabar: 60px;
  --tap: 44px;
}

html { font-size: 100%; }

body {
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--f-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: 400;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: var(--f-serif);
  line-height: var(--lh-head);
  font-weight: 700;
  letter-spacing: 0.01em;
}

strong { font-weight: 700; }

/* 数値・時刻・料金は等幅数字で揃える */
.num, time, .price, .tel { font-variant-numeric: tabular-nums; }
