/* ============================================================
   トップページ — 共通ベース (front/css/base.css)
   - 全 section で使う変数とリセット
   - セクション固有スタイルは front/css/{section}/{variant}.css に
   - すべて #fp-{section} で必ずスコープすること (RULES.md 参照)
   ============================================================ */

/* === デザイントークン === */
:root {
  /* ブランドカラー */
  --fp-brand: #1a3a6e;        /* メイン濃紺 (見出し・ロゴ等) */
  --fp-brand-soft: #2c5494;   /* やや明るい紺 (本文アクセント) */
  --fp-brand-pale: #e8f0f8;   /* 極薄い青 (背景・アイコン円) */
  --fp-brand-line: #c8d8eb;   /* 薄い罫線 */

  /* テキスト */
  --fp-text: #1f2a3a;         /* 本文濃 */
  --fp-text-muted: #5b6b7e;   /* サブ */
  --fp-text-faint: #8b96a7;   /* 補足 */

  /* 背景 */
  --fp-bg: #ffffff;
  --fp-bg-soft: #f5f9fd;      /* セクション間切替用 */

  /* CTA */
  --fp-line-green: #06c755;
  --fp-line-green-hover: #05b34c;

  /* スペース */
  --fp-space-section: 64px;   /* PC のセクション縦余白 */
  --fp-space-section-sp: 48px;

  /* 最大幅 */
  --fp-max-w: 1080px;
  --fp-max-w-narrow: 720px;

  /* ラウンド */
  --fp-radius-sm: 8px;
  --fp-radius-md: 12px;
  --fp-radius-lg: 20px;

  /* シャドウ */
  --fp-shadow-card: 0 2px 12px rgba(26, 58, 110, 0.08);
  --fp-shadow-card-hover: 0 6px 24px rgba(26, 58, 110, 0.12);
}

/* === リセット === */
.fp-body {
  margin: 0;
  font-family: 'Noto Sans JP', 'Zen Kaku Gothic New', -apple-system, BlinkMacSystemFont,
    'Helvetica Neue', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--fp-text);
  background: var(--fp-bg);
  -webkit-font-smoothing: antialiased;
}
.fp-body * { box-sizing: border-box; }
.fp-body img { max-width: 100%; height: auto; display: block; }
.fp-body a { color: inherit; text-decoration: none; }
.fp-body button { font-family: inherit; cursor: pointer; }

/* === セクション共通の inner ラッパ === */
.fp-inner {
  max-width: var(--fp-max-w);
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .fp-inner { padding: 0 16px; }
}

/* === 見出し系の Serif === */
.fp-serif {
  font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  font-weight: 600;
  letter-spacing: 0.01em;
}
