/* トップ系（index・koshigaya）の土台 */
:root {
  --bg-soft-2: #F1F5F9;
  --warm-paper: #FBF8F1;
  --warm-paper-2: #F3EEDF;
  --sage: #C7D2C2;
  --radius: 3px;
  --radius-lg: 4px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 16px -4px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 16px 48px -16px rgba(15, 23, 42, 0.16), 0 2px 4px rgba(15, 23, 42, 0.04);
  --font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--bg);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
.mobile-break { display: none; }

/* ヘッダーとフッターは本文の文字サイズ・行間に連動させない（段2） */
.header, .footer { font-size: 16px; line-height: 1.7; }

/* ============ LAYOUT ============ */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section { padding: var(--space-section) 0; position: relative; }
.section--soft {
  background: var(--bg-soft);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* ============ HEADER ============ */
.logo { display: flex; align-items: center; }
.logo__svg { height: 28px; width: auto; display: block; }
