@charset "UTF-8";

/* ============================================================
   全ページ共通ベース
   top.css を読まない下層ページ向けの reset / tokens
   ============================================================ */

:root {
  --text-primary: #1e1e1e;
  --text-secondary: #808080;
  --text-tertiary: #9d9d9d;
  --text-inverse: #ffffff;
  --text-accent: #961414;
  --border-primary: #dadada;
  --border-accent: #961414;
  --surface-primary: #f3f3f3;
  --surface-secondary: #ffffff;
  --surface-accent: #961414;
  --color-gray-200: #eaeaea;

  --font-serif: "Zen Old Mincho", serif;
  --font-sans: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Inter", sans-serif;

  --radius-s: 4px;
  --header-h: 80px;
  --inner-max: 1500px;
  --inner-pad: 80px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  font-size: 100%;
  scroll-behavior: smooth;
}

html,
body {
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--text-primary);
  background: var(--surface-secondary);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1, h2, h3, p, dl, dt, dd, figure {
  margin: 0;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

input, button, textarea, select {
  font: inherit;
}

.inner {
  width: min(100% - (var(--inner-pad) * 2), var(--inner-max));
  margin-inline: auto;
}

@media (max-width: 1023px) {
  :root { --inner-pad: 24px; }

  .inner {
    width: 100%;
    padding-inline: var(--inner-pad);
  }
}
