/* ライトプラン: セミオーダーのテンプレート調デザイン。
   styles.css の後に読み込み、色・角丸・タイポグラフィを「清潔だが既製品」寄りに上書きする。
   わざと粗末にはしない。 */

:root {
  --green: #1d5fa7;
  --green-2: #2b7bc4;
  --sage: #e2ecf5;
  --cream: #eef4f9;
  --terra: #ef8032;
  --ink: #2b3540;
  --muted: #64707c;
  --paper: #ffffff;
  --line: #d8e0e8;
  --shadow: 0 6px 22px rgb(29 95 167 / .12);
}

/* タイポグラフィ: セリフ調の見出しをやめ、標準的なゴシック太字に */
.hero-copy h1, .page-hero h1, .section-heading h2,
.letter-grid h2, .editorial-list h2, .rehab-detail h2, .faq-grid h2, .faq-list h2, .access-top h2,
.service-editorial h3, .values h3, .news-cards h3, .recruit-grid h3, .test-list span,
.director-strip blockquote, .signature, .closing-grid h2, .brand strong {
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: .01em;
}
.hero-copy h1 { font-size: clamp(30px, 6.4cqi, 44px); line-height: 1.5; }
.page-hero h1 { font-size: clamp(32px, 3.8vw, 52px); }
.section-heading h2 { font-size: clamp(25px, 2.6vw, 34px); }
.eyebrow { text-transform: none; letter-spacing: .05em; font-size: 14px; color: var(--green-2); }
.eyebrow--light { color: #bcd7ef; }

/* セクション見出しをセンター寄せ＋下線バーの定番スタイルに */
.section { padding: clamp(55px, 7vw, 85px) 0; }
.section-heading { max-width: none; text-align: center; margin-bottom: 36px; }
.section-heading h2::after { content: ''; display: block; width: 46px; height: 4px; border-radius: 2px; background: var(--terra); margin: 14px auto 0; }

/* 装飾的な角丸・エディトリアル要素をなくし、カード調へ */
.button { border-radius: 8px; }
.split-feature > img, .rehab-feature img, .rehab-detail img, .page-hero img,
.letter-grid img, .editorial-list img, .prep-grid img, .director-strip > img,
.news-cards img { border-radius: 10px; height: auto; aspect-ratio: 4 / 3; }
.page-hero { background: var(--cream); }
.page-hero img { height: auto; }
.home-hero { background: linear-gradient(180deg, var(--cream), #f7fafc); }
.hero-image::after { display: none; }
.hero-image img { border-radius: 0 0 0 60px; }
.status-panel { border-radius: 10px; border-color: var(--line); box-shadow: var(--shadow); }
.service-editorial { border: 0; gap: 20px; grid-template-columns: repeat(4, 1fr); }
.service-editorial article { border: 1px solid var(--line) !important; border-radius: 10px; background: var(--paper); box-shadow: var(--shadow); text-align: center; }
.service-editorial span { color: var(--green-2); font-weight: 700; }
.values { border: 0; gap: 20px; }
.values article { border: 1px solid var(--line) !important; border-radius: 10px; background: var(--paper); text-align: center; }
.values b { color: var(--green-2); }
.info-card, .notice, .temporary, .hours-card, .intro-badges > div, .steps li, .recruit-grid article { border-radius: 10px; }
.intro-badges > div { background: var(--sage); color: var(--green); }
.map-art { background: #e8eef4; border-radius: 10px; }
.road { box-shadow: 0 0 0 1px #d3dde6; }
.equipment-art, .line-art { background: var(--cream); border-radius: 10px; }
.section--tint { background: var(--sage); }
.section--dark { background: var(--green); }
.site-footer { background: #17456f; }
.demo-note { color: #b8cfe4; }
.footer-grid small { color: #b8cfe4; }
