/* 利用規約・プライバシーポリシー・特定商取引法に基づく表記・404 */
.doc-main { max-width: 800px; margin: 0 auto; padding: 40px 22px 88px; }
.doc {
  border-radius: 34px;
  background: var(--bg);
  box-shadow: var(--up);
  padding: clamp(28px, 6vw, 60px);
  color: var(--ink2);
  font-size: 15.5px;
  line-height: 1.95;
}
.doc h1 { margin: 0 0 8px; font-size: clamp(26px, 4.4vw, 38px); line-height: 1.4; color: var(--ink); }
.doc h2 { margin: 40px 0 10px; font-size: 19px; line-height: 1.5; color: var(--ink); }
.doc p { margin: 0 0 12px; }
.doc ul, .doc ol { margin: 0 0 12px; padding-left: 1.4em; }
.doc li { margin-bottom: 6px; }
.doc a { color: var(--acc); text-decoration: underline; text-underline-offset: 3px; }
.doc a:hover { color: #2c44b8; }
.doc-date { margin: 0 0 28px; font-size: 13px; color: var(--mut); }
.doc-table { margin: 24px 0 0; }
.doc-row { display: grid; grid-template-columns: 11em minmax(0, 1fr); gap: 4px 20px; padding: 16px 0; border-top: 1px solid var(--line); }
.doc-row dt { font-weight: 700; color: var(--ink); }
.doc-row dd { margin: 0; }
.not-found { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.not-found h1 { margin: 0; }
.not-found p { margin: 0; }
.not-found .doc-home { margin-top: 12px; padding: 16px 30px; border-radius: 18px; background: var(--grad); color: #ffffff; font-weight: 700; text-decoration: none; }
.not-found .doc-home:hover { color: #ffffff; }

@media (max-width: 560px) {
  .doc-row { grid-template-columns: minmax(0, 1fr); }
}
