/* ニュース記事ページ（style.css に追加で読み込む） */

.article { max-width: 820px; padding-block: clamp(24px, 4vw, 40px) clamp(48px, 7vw, 88px); }
.article-head { margin: 8px 0 28px; }
.article-head time { color: var(--muted); font-size: .92rem; font-variant-numeric: tabular-nums; }
.article-head h1 { margin: .2em 0 0; font-size: clamp(1.5rem, 3.4vw, 2.1rem); line-height: 1.45; }

.article-body > p { max-width: none; margin: 0 0 1.2em; }
.article-body h2 {
  margin: 2em 0 .7em;
  padding-bottom: .3em;
  border-bottom: 1px solid var(--hairline);
  font-size: 1.25rem;
}
.article-body figure { margin: 1.6em 0; }
.article-body figure img, .article-body figure video {
  display: block;
  width: 100%;
  height: auto;
  background: var(--night);
  border-radius: var(--radius);
}
.article-body figcaption { margin-top: 8px; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.article-body ol, .article-body ul { margin: 0 0 1.2em; padding-left: 1.4em; }
.article-body li { margin-bottom: .5em; }
.terms { margin: 0; }
.terms div { padding: 14px 0; border-bottom: 1px solid var(--hairline); }
.terms div:first-child { padding-top: 0; }
.terms dt { margin-bottom: 4px; font-weight: 700; }
.terms dd { margin: 0; font-size: .95rem; }
.article-back { margin-top: 40px; text-align: center; }
