*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

img, svg, video { max-width: 100%; height: auto; display: block; }

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

a { text-decoration: none; color: inherit; }

/* 便利ユーティリティと基礎トークン（必要最低限だけ） */
:root{
  --font-base: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
  --c-text:#333; --c-bg:#fff; --c-muted:#6b7280; --c-accent:#1e3a8a;
  --s1:8px; --s2:12px; --s3:16px; --s4:24px; --s5:32px;
}
body{ font-family: var(--font-base); color: var(--c-text); background: var(--c-bg); line-height: 1.7; }
.container{ width: min(1100px, 92%); margin: 0 auto; }

/* ヘッダー/フッターの最小骨格だけ（見た目の差分は各CSSで上書き） */
.site-header .container,
.site-footer .container{ display:flex; justify-content:space-between; align-items:center; }
