/*
 * 知識を読むための初期表示基線。
 * 中立の初期値をcustom propertyで公開し、Productが書体・配色・measureを上書きできる。
 */

:root {
  --書体-本文: system-ui, -apple-system, "Segoe UI", sans-serif;
  --書体-code: ui-monospace, SFMono-Regular, Consolas, monospace;
  color-scheme: light;
  --ライト-文字色: #202824;
  --ダーク-文字色: #eef2ed;
  --文字色: var(--ライト-文字色);
  --ライト-補助文字色: #59625d;
  --ダーク-補助文字色: #b6c2b7;
  --補助文字色: var(--ライト-補助文字色);
  --ライト-背景色: #f8f8f6;
  --ダーク-背景色: #151b18;
  --背景色: var(--ライト-背景色);
  --ライト-面色: #ffffff;
  --ダーク-面色: #1d2621;
  --面色: var(--ライト-面色);
  --ライト-リンク色: #244b42;
  --ダーク-リンク色: #a7ddc0;
  --リンク色: var(--ライト-リンク色);
  --ライト-薄い面色: #edf0ec;
  --ダーク-薄い面色: #253128;
  --薄い面色: var(--ライト-薄い面色);
  --ライト-区切り線: #ccd3cc;
  --ダーク-区切り線: #647268;
  --区切り線: var(--ライト-区切り線);
  --ライト-引用線色: #929f94;
  --ダーク-引用線色: #8ba493;
  --引用線色: var(--ライト-引用線色);
  --ライト-訪問済みリンク色: #68507a;
  --ダーク-訪問済みリンク色: #ccbce0;
  --訪問済みリンク色: var(--ライト-訪問済みリンク色);
  --ライト-焦点色: #244b42;
  --ダーク-焦点色: #a7ddc0;
  --焦点色: var(--ライト-焦点色);
  --ライト-選択文字色: #ffffff;
  --ダーク-選択文字色: #151b18;
  --選択文字色: var(--ライト-選択文字色);
  --ライト-選択背景色: #244b42;
  --ダーク-選択背景色: #a7ddc0;
  --選択背景色: var(--ライト-選択背景色);
  /* 320px前後から広い画面まで、段階関係を保ったまま滑らかに変化させる。 */
  --余白-1: clamp(0.25rem, 0.2065rem + 0.2174vw, 0.375rem);
  --余白-2: clamp(0.5rem, 0.4565rem + 0.2174vw, 0.625rem);
  --余白-3: clamp(0.75rem, 0.663rem + 0.4348vw, 1rem);
  --余白-4: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
  --余白-5: clamp(1.5rem, 1.3261rem + 0.8696vw, 2rem);
  --余白-6: clamp(2rem, 1.6522rem + 1.7391vw, 3rem);
  --余白-7: clamp(3rem, 2.3043rem + 3.4783vw, 5rem);
  --余白-8: clamp(4rem, 3.3043rem + 3.4783vw, 6rem);

  --文字-本文: clamp(1rem, 0.9783rem + 0.1087vw, 1.0625rem);
  --文字-見出し小: clamp(1.25rem, 1.163rem + 0.4348vw, 1.5rem);
  --文字-見出し中: clamp(1.375rem, 1.2663rem + 0.5435vw, 1.6875rem);
  --文字-見出し大: clamp(1.75rem, 1.2283rem + 2.6087vw, 3.25rem);

  --画面幅: 80rem;
  --読字段幅: 42rem;
  --外周余白: clamp(1rem, 0.3043rem + 3.4783vw, 3rem);
  --区画余白: clamp(2.5rem, 1.8043rem + 3.4783vw, 4.5rem);
  --操作高さ: 2.75rem;
  --本文行高: 1.8;
  --見出し行高: 1.3;
}

:root[data-theme="dark"] {
  --文字色: var(--ダーク-文字色);
  --補助文字色: var(--ダーク-補助文字色);
  --背景色: var(--ダーク-背景色);
  --面色: var(--ダーク-面色);
  --リンク色: var(--ダーク-リンク色);
  --薄い面色: var(--ダーク-薄い面色);
  --区切り線: var(--ダーク-区切り線);
  --引用線色: var(--ダーク-引用線色);
  --訪問済みリンク色: var(--ダーク-訪問済みリンク色);
  --焦点色: var(--ダーク-焦点色);
  --選択文字色: var(--ダーク-選択文字色);
  --選択背景色: var(--ダーク-選択背景色);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --文字色: var(--ダーク-文字色);
    --補助文字色: var(--ダーク-補助文字色);
    --背景色: var(--ダーク-背景色);
    --面色: var(--ダーク-面色);
    --リンク色: var(--ダーク-リンク色);
    --薄い面色: var(--ダーク-薄い面色);
    --区切り線: var(--ダーク-区切り線);
    --引用線色: var(--ダーク-引用線色);
    --訪問済みリンク色: var(--ダーク-訪問済みリンク色);
  --焦点色: var(--ダーク-焦点色);
  --選択文字色: var(--ダーク-選択文字色);
  --選択背景色: var(--ダーク-選択背景色);
  color-scheme: dark;
  }
}

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

html {
  line-height: var(--本文行高);
  text-size-adjust: 100%;
}

body {
  margin: 0;
  min-inline-size: 0;
  font-size: var(--文字-本文);
  font-family: var(--書体-本文);
  color: var(--文字色);
  background: var(--背景色);
}

a {
  color: var(--リンク色);
  text-decoration-thickness: max(0.06em, 1px);
  text-underline-offset: 0.2em;
  text-decoration-skip-ink: auto;
  overflow-wrap: anywhere;
}

a:not(.サイト名):visited { color: var(--訪問済みリンク色); }
::selection { color: var(--選択文字色); background: var(--選択背景色); }

a:hover { text-decoration-thickness: max(0.12em, 2px); }
a:active { text-underline-offset: 0.12em; }

:target { scroll-margin-block: var(--余白-5); }

img,
picture,
svg,
video,
canvas,
iframe {
  display: block;
  max-inline-size: 100%;
}

img,
picture,
video,
canvas {
  block-size: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

:where(a, button, input, textarea, select, summary, [tabindex="0"]):focus-visible {
  outline: 3px solid var(--焦点色);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--見出し行高);
  text-wrap: balance;
  overflow-wrap: anywhere;
  font-weight: 650;
  font-feature-settings: "palt";
}

h1 {
  margin-block: 0 var(--余白-5);
  font-size: var(--文字-見出し大);
  letter-spacing: -0.025em;
}

h2 {
  margin-block: var(--余白-6) var(--余白-3);
  font-size: var(--文字-見出し中);
  letter-spacing: -0.015em;
}

h3 {
  margin-block: var(--余白-5) var(--余白-2);
  font-size: var(--文字-見出し小);
}

p,
li,
dd,
blockquote {
  overflow-wrap: anywhere;
}

p, ul, ol, dl, blockquote, pre, table { margin-block: 0 var(--余白-4); }
ul, ol { padding-inline-start: 1.5em; }
li + li { margin-block-start: var(--余白-1); }
li > :last-child { margin-block-end: 0; }

blockquote {
  margin-inline: 0;
  padding-inline-start: var(--余白-4);
  border-inline-start: 3px solid var(--引用線色);
  color: var(--補助文字色);
}

blockquote > :last-child { margin-block-end: 0; }

code, kbd, samp { font-family: var(--書体-code); font-size: 0.9em; }
:not(pre) > code { padding: 0.1em 0.3em; background: var(--薄い面色); border-radius: 0.2em; }

pre {
  max-inline-size: 100%;
  overflow-x: auto;
  padding: var(--余白-3) var(--余白-4);
  background: var(--薄い面色);
  border: 1px solid var(--区切り線);
  border-radius: 0.25rem;
  line-height: 1.65;
}

pre code { font-size: 0.875em; }

table {
  max-inline-size: 100%;
  border-collapse: collapse;
}

th, td {
  padding: var(--余白-2) var(--余白-3);
  border-block-end: 1px solid var(--区切り線);
  text-align: start;
  vertical-align: top;
}

th { background: var(--薄い面色); font-weight: 600; white-space: nowrap; }
caption { text-align: start; font-weight: 600; margin-block-end: var(--余白-2); }

.横移動 {
  max-inline-size: 100%;
  overflow-x: auto;
}

.全幅枠 { inline-size: 100%; }

.画面枠 {
  inline-size: min(calc(100% - var(--外周余白) - var(--外周余白)), var(--画面幅));
  margin-inline: auto;
}

.読字段 {
  max-inline-size: var(--読字段幅);
}

.導入区画 {
  padding-block: var(--区画余白) var(--余白-7);
}

.区画 {
  padding-block: var(--余白-7);
}

.区画線 {
  border-block-start: 1px solid var(--区切り線);
  padding-block-start: var(--余白-4);
}

/* 主要なリンクやボタンに明示して使う。本文中の通常リンクへ一律適用しない。 */
.操作対象 {
  inline-size: fit-content;
  min-block-size: var(--操作高さ);
  min-inline-size: var(--操作高さ);
  display: inline-flex;
  align-items: center;
}

.画面枠,
.読字段,
.導入区画,
.区画,
.横移動 {
  min-inline-size: 0;
}

@media (max-width: 40rem) {
  .区画 {
    padding-block: var(--余白-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Spatial vocabulary. These wrappers assign geometry, never content or landmarks. */
.流れ { display: flex; flex-direction: column; gap: var(--配置間隔, var(--余白-5)); }
.集まり { display: flex; flex-wrap: wrap; align-items: center; gap: var(--配置間隔, var(--余白-3)); }
.二領域, .脇列, .列網 { display: grid; gap: var(--配置間隔, var(--余白-6)); align-items: start; }
.列網 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.配置項目 { min-inline-size: 0; }
.配置項目 > :first-child { margin-block-start: 0; }
.配置項目 > :last-child { margin-block-end: 0; }
.全幅区画 { background: var(--薄い面色); border-block: 1px solid var(--区切り線); padding-block: var(--余白-6); }
@media (min-width: 64rem) {
  .二領域 { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: var(--余白-7); }
  .脇列[data-side="start"] { grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); }
  .脇列[data-side="end"] { grid-template-columns: minmax(0, 1fr) minmax(12rem, 19rem); }
  .脇列[data-side="start"][data-sticky] > :first-child,
  .脇列[data-side="end"][data-sticky] > :last-child { position: sticky; inset-block-start: var(--余白-5); }
}

/* Native lists can use cluster geometry without paragraph-list markers or offsets. */
ul.集まり, ol.集まり { list-style: none; padding: 0; margin: 0; }
:is(ul, ol).集まり > li { margin: 0; min-inline-size: 0; }

/*
 * Static Public Surfaceの共通表示pattern。
 * `../基礎スタイル/基礎スタイル.css` のprimitiveを前提にし、brandやdomain vocabularyを固定しない。
 */

.スキップリンク {
  position: fixed;
  inset-block-start: var(--余白-2);
  inset-inline-start: var(--余白-2);
  z-index: 1000;
  max-inline-size: calc(100% - var(--余白-4));
  padding: var(--余白-2) var(--余白-3);
  background: Canvas;
  color: CanvasText;
  min-block-size: var(--操作高さ);
  display: inline-flex;
  align-items: center;
  transform: translateY(calc(-100% - var(--余白-4)));
}

.スキップリンク:focus-visible {
  transform: translateY(0);
}

.サイトヘッダー,
.サイトフッター {
  border-color: var(--区切り線);
}

.サイトヘッダー {
  border-block-end: 1px solid var(--区切り線);
}

.サイトフッター {
  border-block-start: 1px solid var(--区切り線);
}

.サイトヘッダー内側,
.サイトフッター内側 {
  inline-size: min(calc(100% - var(--外周余白) - var(--外周余白)), var(--画面幅));
  margin-inline: auto;
  min-inline-size: 0;
}

.サイトヘッダー内側 {
  min-block-size: calc(var(--操作高さ) + var(--余白-3) + var(--余白-3));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--余白-4) var(--余白-5);
  flex-wrap: wrap;
  padding-block: var(--余白-3);
}

.サイトフッター内側 {
  padding-block: var(--余白-6);
  color: var(--補助文字色);
  font-size: 0.875rem;
}

.サイトフッター内側 > :last-child { margin-block-end: 0; }

.サイト名 {
  min-block-size: var(--操作高さ);
  min-inline-size: var(--操作高さ);
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  text-decoration-thickness: max(0.08em, 1px);
  text-underline-offset: 0.18em;
  color: var(--文字色);
  text-decoration: none;
}

.サイト名:hover { text-decoration: underline; }

.主要ナビゲーション :where(ul, ol) {
  display: flex;
  gap: var(--余白-2) var(--余白-4);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.主要ナビゲーション li + li { margin-block-start: 0; }

.主要ナビゲーション a {
  min-block-size: var(--操作高さ);
  min-inline-size: var(--操作高さ);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.主要領域 {
  padding-block-end: var(--余白-7);
  min-inline-size: 0;
}

.ページ見出し {
  padding-block: var(--余白-6) var(--余白-5);
}

.ページ見出し > :first-child {
  margin-block-start: 0;
}

.ページ見出し > :last-child {
  margin-block-end: 0;
}

.ページ見出し :where(h1, h2),
.内容区画見出し,
.項目概要見出し {
  overflow-wrap: anywhere;
}

.ページ種別,
.ページメタ情報,
.項目概要メタ情報 {
  font-size: 0.9em;
  color: var(--補助文字色);
}

.ページ種別 {
  margin-block: 0 var(--余白-2);
  font-weight: 600;
  color: var(--文字色);
}

.ページ説明 {
  max-inline-size: var(--読字段幅);
  margin-block: var(--余白-3) 0;
  color: var(--補助文字色);
}

.ページメタ情報 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--余白-1) var(--余白-3);
  margin-block: var(--余白-3) 0;
}

.内容区画 {
  padding-block: var(--余白-6);
}

.ページ見出し + .内容区画 { padding-block-start: var(--余白-3); }

.内容区画 + .内容区画 {
  border-block-start: 1px solid var(--区切り線);
}

.内容区画見出し {
  margin-block-start: 0;
}

.内容区画 > :last-child { margin-block-end: 0; }

.内容区画導入 {
  max-inline-size: var(--読字段幅);
  margin-block: var(--余白-2) var(--余白-5);
}

.項目一覧 {
  display: grid;
  gap: var(--余白-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.項目一覧 > li { min-inline-size: 0; margin: 0; }

.項目一覧[data-layout="grid"] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  align-items: start;
}

.項目概要 {
  min-inline-size: 0;
  padding-block-start: var(--余白-4);
  border-block-start: 1px solid var(--区切り線);
}

.項目概要 > :first-child {
  margin-block-start: 0;
}

.項目概要 > :last-child {
  margin-block-end: 0;
}

.項目概要見出し {
  margin-block-end: var(--余白-2);
  font-size: clamp(1.125rem, 1.038rem + .4348vw, 1.375rem);
  line-height: 1.5;
}

.項目概要見出し a { display: inline-block; min-block-size: var(--操作高さ); min-inline-size: var(--操作高さ); }

.項目概要説明 {
  margin-block: var(--余白-2) 0;
  max-inline-size: var(--読字段幅);
}

.項目概要メタ情報 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--余白-1) var(--余白-2);
  margin-block: var(--余白-2) 0;
}

/* Vertical summaries are a scan-friendly list, not a stack of boxed cards. */
.項目一覧[data-layout="vertical"] { gap: 0; }
.項目一覧[data-layout="vertical"] > li + li { border-block-start: 1px solid var(--区切り線); }
.項目一覧[data-layout="vertical"] .項目概要 { border: 0; padding-block: var(--余白-4); }
.項目一覧[data-layout="vertical"] > li:first-child .項目概要 { padding-block-start: 0; }
.項目一覧[data-layout="vertical"] .項目概要見出し { margin-block-end: 0; }
.項目一覧[data-layout="vertical"] .項目概要説明 { color: var(--補助文字色); font-size: .9375rem; }

@media (max-width: 40rem) {
  .サイトヘッダー内側 {
    gap: var(--余白-2);
  }

  .ページ見出し {
    padding-block: var(--余白-6) var(--余白-5);
  }

  .内容区画 {
    padding-block: var(--余白-5);
  }
}

.文書 { display: flex; flex-direction: column; min-block-size: 100svh; }
.文書 > .主要領域 { flex: 1; }
.内容区画案内, .内容区画本文 { min-inline-size: 0; }
.内容区画本文 > :last-child { margin-block-end: 0; }
.内容区画[data-layout="split"] { border-block-start: 1px solid var(--区切り線); }
.補助情報 { display: flex; flex-wrap: wrap; gap: var(--余白-1) var(--余白-3); font-size: .82rem; color: var(--補助文字色); }
.補助情報 > span + span::before { content: "·"; margin-inline-end: var(--余白-3); }
.案内リンク { list-style: none; padding: 0; margin: 0; }
.案内リンク li { margin: 0; border-block-start: 1px solid var(--区切り線); }
.案内リンク li:last-child { border-block-end: 1px solid var(--区切り線); }
.案内リンク a { display: flex; align-items: center; min-block-size: var(--操作高さ); padding-block: var(--余白-2); font-weight: 600; }
.目次 { border: 1px solid var(--区切り線); background: var(--面色); }
.目次状態 { margin-inline-start: auto; color: var(--補助文字色); font-size: .8rem; font-weight: 400; }
.目次閉じる, .目次[open] .目次開く { display: none; }
.目次[open] .目次閉じる { display: inline; }
.目次 nav { padding-inline: var(--余白-3); }
.目次 ol { margin: 0; padding: 0; list-style: none; }
.目次 li { margin: 0; border-block-start: 1px solid var(--区切り線); }
.目次 a { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); gap: .3rem; align-items: baseline; padding-block: .55rem; min-block-size: 2rem; font-size: .875rem; line-height: 1.5; }
.目次番号 { font-variant-numeric: tabular-nums; font-size: .75rem; color: var(--補助文字色); }

.横移動 > table {
  inline-size: 100%;
}

@media (max-width: 40rem) {
  .横移動 > table :is(th, td) {
    min-inline-size: 9rem;
  }

  .脇列[data-side="end"] > :last-child {
    margin-block-start: var(--余白-5);
    padding-block-start: var(--余白-5);
    border-block-start: 1px solid var(--区切り線);
  }
}

@media (min-width: 64rem) {
  .内容区画[data-layout="split"] { display: grid; grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); gap: var(--余白-6); }
  .内容区画[data-layout="split"] .内容区画見出し { font-size: var(--文字-見出し小); }
  .内容区画[data-layout="split"] .内容区画案内 {
    align-self: start;
    position: sticky;
    inset-block-start: var(--余白-5);
    padding-inline-end: var(--余白-4);
    border-inline-end: 1px solid var(--区切り線);
  }
  .脇列[data-side="end"] > :last-child {
    padding-inline-start: var(--余白-5);
    border-inline-start: 1px solid var(--区切り線);
  }
  .脇列[data-side="start"] > :first-child {
    padding-inline-end: var(--余白-4);
    border-inline-end: 1px solid var(--区切り線);
  }
  .目次 nav { max-block-size: calc(100svh - 8rem); overflow-y: auto; padding-block: 7px; scroll-padding-block: 7px; }
}

/* Presentation for native groups. The producer owns labels, counts and hierarchy. */
.列網 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.リンク群 { display: flex; flex-wrap: wrap; align-items: start; gap: var(--余白-1) var(--余白-3); margin: 0; padding: 0; list-style: none; }
.リンク群 > li { margin: 0; min-inline-size: 0; max-inline-size: 100%; }
.リンク群 a { display: inline-flex; align-items: center; min-block-size: 2.25rem; max-inline-size: 100%; padding: .35rem 0; font-size: .875rem; line-height: 1.5; border: 1px solid transparent; border-radius: .2rem; color: var(--リンク色); }
.リンク群 a:hover { background: var(--薄い面色); color: var(--リンク色); }
.リンク群[data-appearance="chip"] { gap: var(--余白-2); }
.リンク群[data-appearance="chip"] a { padding-inline: .6rem; background: var(--面色); border-color: var(--区切り線); }
.リンク群[data-appearance="chip"] a:hover { background: var(--薄い面色); border-color: var(--リンク色); }
.リンク群 a[aria-current] { border-color: var(--リンク色); background: var(--薄い面色); font-weight: 650; }
@media (pointer: coarse) {
  .リンク群 a { min-block-size: var(--操作高さ); }
}
.開閉群 {
  min-inline-size: 0;
  border: 1px solid var(--区切り線);
  background: var(--面色);
}
:is(.目次, .開閉群) > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--余白-3); min-block-size: var(--操作高さ); padding: var(--余白-3) var(--余白-4); background: var(--薄い面色); list-style: none; cursor: pointer; line-height: 1.5; font-size: 1rem; font-weight: 650; }
:is(.目次, .開閉群) > summary::-webkit-details-marker { display: none; }
:is(.目次, .開閉群) > summary::before { content: ""; inline-size: .45rem; block-size: .45rem; border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(-45deg); }
:is(.目次, .開閉群)[open] > summary::before { transform: rotate(45deg); }
:is(.目次, .開閉群) > summary:hover { background: color-mix(in srgb, var(--薄い面色) 95%, var(--文字色)); }
.補助値 { color: var(--補助文字色); font-size: .8rem; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.開閉内容 { padding: var(--余白-4); border-block-start: 1px solid var(--区切り線); }
.開閉内容 > :first-child { margin-block-start: 0; }
.開閉内容 > p:first-child { margin-block-end: 0; }
.開閉内容 > :last-child { margin-block-end: 0; }
.入れ子一覧 { list-style: none; margin: var(--余白-2) 0 0; padding: 0; border: 0; }
.入れ子一覧 > li { margin: 0; min-inline-size: 0; }
.入れ子一覧 > li + li { margin-block-start: var(--余白-4); }
.項目ラベル { margin: 0; font-weight: 650; font-size: 1rem; }
.入れ子一覧 > li > .リンク群 { padding-inline-start: var(--余白-3); border-inline-start: 1px solid var(--区切り線); }
.表示選択:not([hidden]) { display: inline-flex; align-items: center; gap: .4rem; color: var(--補助文字色); font-size: .8rem; }
.表示選択 select { min-block-size: var(--操作高さ); padding: .35rem .3rem; border: 1px solid var(--補助文字色); border-radius: .2rem; color: var(--文字色); background: var(--面色); }
/* Index navigation is a primary operation at narrow widths as well. */
.目次 a { min-block-size: var(--操作高さ); }
@media (forced-colors: active) {
  .リンク群 a { border-color: LinkText; }
  .リンク群 a[aria-current] { border-width: 2px; }
  .開閉群 { border-color: CanvasText; }
}

.ページ文脈 { max-inline-size: var(--読字段幅); margin-block: var(--余白-3); font-size: var(--文字-本文); font-weight: 600; line-height: 1.6; }

/* The page uses the frame; readable measure belongs to prose, never the whole page. */
.記事文書 { padding-block: var(--余白-6); }
.記事文書 > .ページ見出し { padding-block: var(--余白-3) var(--余白-6); border-block-end: 1px solid var(--区切り線); margin-block-end: var(--余白-6); }
@media (max-width: 63.999rem) {
  .記事文書 > .ページ見出し { padding-block-end: var(--余白-5); border: 0; margin-block-end: 0; }
  .記事文書 > .脇列 { gap: var(--余白-5); }
}
.記事文書 .ページ見出し h1 { max-inline-size: 25em; }
.記事文書 .ページ説明 { max-inline-size: var(--読字段幅); }
.本文流れ { min-inline-size: 0; }
.本文流れ > :where(p, ul, ol, dl, blockquote, h2, h3, h4, h5, h6) { max-inline-size: var(--読字段幅); }
.本文流れ > :first-child { margin-block-start: 0; }
.本文流れ > h2 { padding-block-start: var(--余白-5); border-block-start: 1px solid var(--区切り線); }
.本文流れ > h2:first-child { border: 0; padding-block-start: 0; }
.本文流れ table { inline-size: 100%; }
.本文流れ pre { inline-size: 100%; }
.資料領域 { margin-block-start: var(--余白-7); padding-block-start: var(--余白-6); border-block-start: 2px solid var(--文字色); }
.資料領域 :where(h2, h3) { margin-block-start: 0; }
.資料領域 > :last-child { margin-block-end: 0; }
.資料領域 > :is(section, aside) > :is(ol, ul) { display: grid; gap: var(--余白-5) var(--余白-6); padding: 0; list-style: none; }
.資料領域 > :is(section, aside) > :is(ol, ul) > li { border-block-start: 1px solid var(--区切り線); padding-block-start: var(--余白-3); margin: 0; min-inline-size: 0; }
.資料領域 a { overflow-wrap: anywhere; }
.資料領域 :where(p, li) { font-size: .9rem; }
.evidence-note:target { outline: 3px solid var(--焦点色); outline-offset: .3rem; }
.evidence-reference { white-space: nowrap; margin-inline-start: .2em; font-size: .8em; }
.evidence-note { margin-block: var(--余白-5); padding-block: var(--余白-4); border-block: 1px solid var(--引用線色); font-size: .9rem; }
.evidence-note h2 { margin: 0 0 var(--余白-3); font-size: 1rem; }
.evidence-note ul { margin: 0 0 var(--余白-3); padding-inline-start: 1.3rem; }
@media (min-width: 64rem) {
  .資料領域 > :is(section, aside) > :is(ol, ul) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.資料領域 > aside { display: grid; gap: var(--余白-5) var(--余白-6); }
.資料領域 > aside > h2 { grid-column: 1 / -1; margin-block-end: 0; }
.資料領域 > aside > section { min-inline-size: 0; border-block-start: 1px solid var(--区切り線); padding-block-start: var(--余白-4); }
.資料領域 > aside > section > ul { margin: 0; padding: 0; list-style: none; }
.資料領域 > aside > section li + li { margin-block-start: var(--余白-4); }
.資料領域 > aside > section li > span { display: block; color: var(--補助文字色); }
@media (min-width: 64rem) { .資料領域 > aside { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
