/* =========================================================
   ベース（リセット・共通設定）
   どの案件でも基本的に触らない。
   ========================================================= */
:root {
  /* <details> の高さアニメーションに必要（対応ブラウザのみ） */
  interpolate-size: allow-keywords;
}

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

ul,
ol {
  list-style: none;
}

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

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

button {
  font: inherit;
}

body {
  font-family: var(--font-sans);
  color: var(--color-text);
  line-height: 1.9;
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}

/* ページ内リンクで見出しが固定ヘッダーに隠れないようにする */
[id] {
  scroll-margin-top: var(--header-h);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* 画面には出さず、読み上げソフトには読ませる */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.container {
  width: min(var(--container), 100% - 32px);
  margin-inline: auto;
}

.container--narrow {
  width: min(var(--container-narrow), 100% - 32px);
}
