html {
  font-size: min(16px, calc(16 / 430 * 100vw));
}

@media (min-width: 768px) {
  html {
    font-size: min(16px, calc(16 / 768 * 100vw));
  }
}

@media (min-width: 1440px) {
  html {
    font-size: min(16px, calc(16 / 1440 * 100vw));
  }
}

body {
  --font-inter:
    'InterLatinScaled', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-jleague-sans: 'JLeague Sans';
  --font-noto-sans-jp: 'Noto Sans JP';
  --font-stack-ja:
    var(--font-noto-sans-jp), 'Hiragino Kaku Gothic ProN', 'Hiragino Sans',
    sans-serif;
  --font-stack-en-display:
    var(--font-jleague-sans), 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-stack-en-body: var(--font-inter);
  --font-stack-default:
    var(--font-jleague-sans), var(--font-noto-sans-jp),
    'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif, 'Helvetica Neue',
    Helvetica, Arial;
  --font-stack-prose:
    var(--font-noto-sans-jp), var(--font-inter), 'Hiragino Kaku Gothic ProN',
    'Hiragino Sans', sans-serif, 'Helvetica Neue', Helvetica, Arial;

  font-family: var(--font-stack-default);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--primary, #0f1214);
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  min-width: 0;
  min-height: 0;
}

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

button {
  all: unset;
}
