@charset "UTF-8";

:root {
  /* Primary — 信頼感のあるネイビー系 */
  --primary-900: #0D2B52;   /* フッター・最暗 */
  --primary-700: #1B4D8E;   /* ヘッダー・メインカラー */
  --primary-500: #2A6ABF;   /* リンク・見出し */
  --primary-300: #5A9AD9;   /* ホバー・サブカラー */
  --primary-50:  #D6E7F7;   /* 薄い背景 */

  /* Accent — CTA・バナー用オレンジ */
  --accent-700:  #E85B1A;   /* ボタンホバー */
  --accent-500:  #FF7B3A;   /* CTAボタン・電話ボタン */
  --accent-50:   #FFF0E6;   /* オレンジ背景 */

  /* Yellow — 割引バナー・注意喚起 */
  --yellow-500:  #F5C518;
  --yellow-50:   #FFF8DC;

  /* Semantic */
  --success:     #1D9E75;   /* 対応中・完了 */
  --danger:      #E24B4A;   /* エラー・緊急 */
  --star-gold:   #BA7517;   /* 星評価 */
  --premium-gold:#D4A017;   /* Premiumバッジ */

  /* Background */
  --bg-white:    #FFFFFF;
  --bg-gray:     #F5F7FA;   /* セクション交互背景 */
  --bg-blue:     #EBF2FA;   /* 薄い青背景セクション */

  /* Text */
  --text:        #202124;   /* 本文 */
  --text-secondary: #5F6368;/* 補足テキスト */
  --text-tertiary:  #9AA0A6;/* ヒント・プレースホルダー */

  /* Border */
  --border:      #DADCE0;
  --border-light:#E8EAED;
}

body {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  color: var(--text);
  background-color: var(--bg-gray);
  margin: 0;
  line-height: 1.6;
}

a {
  color: var(--primary-500);
  text-decoration: none;
  transition: color 0.2s;
}

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

img {
  max-width: 100%;
  height: auto;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Layout Utilities */
.l-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

.l-section {
  padding: 64px 0;
}
.l-section--white { background-color: var(--bg-white); }
.l-section--gray { background-color: var(--bg-gray); }
.l-section--blue { background-color: var(--bg-blue); }

.c-heading-section {
  text-align: center;
  color: var(--primary-700);
  margin-bottom: 40px;
  margin-top: 0;
  position: relative;
  font-size: 1.8rem;
}
.c-heading-section::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background-color: var(--accent-500);
  margin: 12px auto 0;
}

/* Buttons */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  text-align: center;
  transition: all 0.2s;
  cursor: pointer;
  text-decoration: none;
}
.c-btn--accent {
  background-color: var(--accent-500);
  color: var(--bg-white);
  border: none;
}
.c-btn--accent:hover {
  background-color: var(--accent-700);
  color: var(--bg-white);
}
.c-btn--primary {
  background-color: var(--primary-500);
  color: var(--bg-white);
  border: none;
}
.c-btn--primary:hover {
  background-color: var(--primary-700);
  color: var(--bg-white);
}

/* Base Components */
.c-card {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: 24px;
}

/* Utilities */
.u-text-center { text-align: center; }
.u-mb-1 { margin-bottom: 8px; }
.u-mb-2 { margin-bottom: 16px; }
.u-mb-4 { margin-bottom: 32px; }
