/* 子ページ共通: ロゴだけのヘッダー、本文、規約リンクだけのフッター */
:root {
  --blue: #2c78f5;
  --ink: #3c3a3a;
  --ink-soft: #6f6c6c;
  --paper: #ffffff;
  --line: #e3ecf8;
  --font: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; }
.head, .doc, .foot { width: min(100% - 40px, 760px); margin-inline: auto; }
.head { padding-block: 28px; border-bottom: 1px solid var(--line); }
.head a { display: inline-block; }
.logo { display: block; width: 96px; fill: var(--blue); }
.doc { padding-block: 48px 72px; font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.doc h1 { margin: 0 0 40px; font-size: clamp(24px, 4vw, 32px); line-height: 1.4; }
.doc h2 { margin: 40px 0 12px; font-size: 17px; line-height: 1.6; }
.doc p { margin: 0 0 16px; }
.doc ol, .doc ul { margin: 0 0 16px; padding: 0; list-style: none; }
.doc li { margin-bottom: 8px; }
.doc li ol, .doc li ul { margin: 8px 0 0; padding-left: 1.5em; }
.doc .right { text-align: right; margin-bottom: 4px; }
.doc h2 + .right, .doc p:not(.right) + .right, .doc ol + .right { margin-top: 40px; }
.foot { padding-block: 24px 36px; border-top: 1px solid var(--line); }
.foot ul { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; padding: 0; list-style: none; }
.foot a { color: var(--ink-soft); font-size: 12px; text-decoration: none; }
.foot a:hover { color: var(--blue); text-decoration: underline; }
a:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
