@import 'tokens.css';

/* Font */
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 400; font-display: swap;
  src: url('../fonts/noto-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 500; font-display: swap;
  src: url('../fonts/noto-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 700; font-display: swap;
  src: url('../fonts/noto-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 900; font-display: swap;
  src: url('../fonts/noto-900.woff2') format('woff2');
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font-jp);
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

/* Layout */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-6);
}
@media (max-width: 768px) {
  .container { padding: 0 var(--space-4); }
}

/* Utility */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); border: 0;
}
