/* Webフォント到着前のフォールバック表示をNoto側のメトリクスに揃え、
   swap時のレイアウトシフト（CLS）を抑える。CJKは全角字が1emで字幅が
   動かないため size-adjust は100%固定にし、ascent/descent/line-gap
   だけをWebフォント側に揃える。値はwoff2のhhea/OS-2実測から算出
   （Serif JP 1151/286・Sans JP 1160/288、upm=1000）。PSIモバイルは
   Android実機相当なので、Win/Macの游明朝・ヒラギノに加えAndroidの
   Noto CJKも local() で拾えるよう横断指定する */
@font-face {
    font-family: "Noto Serif JP fallback";
    src: local("Yu Mincho"), local("YuMincho"), local("Hiragino Mincho ProN"),
         local("Hiragino Mincho Pro"), local("Noto Serif CJK JP"), local("MS PMincho");
    ascent-override: 115.1%;
    descent-override: 28.6%;
    line-gap-override: 0%;
    size-adjust: 100%;
}
@font-face {
    font-family: "Noto Sans JP fallback";
    src: local("Yu Gothic Medium"), local("Yu Gothic"), local("YuGothic"),
         local("Hiragino Sans"), local("Hiragino Kaku Gothic ProN"),
         local("Noto Sans CJK JP"), local("Meiryo");
    ascent-override: 116%;
    descent-override: 28.8%;
    line-gap-override: 0%;
    size-adjust: 100%;
}

/* デザイントークン — 「信頼×柔らかさ」 */
:root {
    /* カラー */
    --q-navy: #1b2a4a;
    --q-navy-dark: #131e36;
    --q-navy-light: #2c3f66;
    --q-beige: #f5f0e8;
    --q-beige-dark: #e5dcc9;
    --q-beige-light: #faf7f1;
    --q-gold: #b89b5e;
    /* 白背景上のテキスト・ボタンで WCAG AA を満たす濃いゴールド */
    --q-gold-deep: #8a6d3b;
    --q-gold-dark: #79602f;
    --q-white: #ffffff;
    --q-text: #2a2e35;
    --q-text-muted: #6b7280;

    /* タイポグラフィ */
    --q-font-serif: "Noto Serif JP", "Noto Serif JP fallback", "Hiragino Mincho ProN", "Yu Mincho", serif;
    --q-font-sans: "Noto Sans JP", "Noto Sans JP fallback", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;

    /* 余白スケール */
    --q-space-xs: 0.5rem;
    --q-space-sm: 1rem;
    --q-space-md: 2rem;
    --q-space-lg: 4rem;
    --q-space-xl: 6rem;

    /* その他 */
    --q-radius: 8px;
    --q-shadow-card: 0 2px 16px rgba(27, 42, 74, 0.08);
    --q-content-width: 1160px;
}
