@charset "UTF-8";
/* COLUMN（一覧・記事）固有スタイル（色・余白は common.css の変数を参照） */

/* 一覧 */
.p-column-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-24); }
.p-column-list .c-card__title { font-size: 16px; }

/* 記事 */
.p-article__head { background: var(--color-bg-fv); padding-block: 72px 160px; }
.p-article__head-inner { max-width: 880px; }
.p-article__title { margin-top: var(--space-16); font-size: 30px; }
.p-article__meta { margin-top: var(--space-16); }
.p-article__eyecatch { max-width: 960px; margin-top: -120px; }
.p-article__eyecatch img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-card); }

.p-article__body { max-width: 720px; margin: var(--space-64) auto 0; }
.p-article__body > * + * { margin-top: var(--space-24); }
.p-article__body p { font-size: 15px; line-height: 2.1; color: var(--color-text-body); }
.p-article__lead { font-family: var(--font-mincho); font-size: 17px !important; color: var(--color-navy) !important; }
.p-article__body h2 {
  margin-top: var(--space-64);
  padding-left: 16px;
  border-left: 3px solid var(--color-accent);
  font-size: 22px;
  line-height: 1.6;
}
.p-article__body h3 { margin-top: var(--space-40); font-size: 18px; }
.p-article__figure { margin-block: var(--space-40); }
.p-article__figure figcaption { margin-top: var(--space-8); font-size: var(--fs-small); color: var(--color-text-muted); }
.p-article__quote { margin-block: var(--space-40); padding: 24px 28px; background: var(--color-bg-fv); border-left: 3px solid var(--color-green); }
.p-article__quote p { font-family: var(--font-mincho); color: var(--color-navy); }
.p-article__foot { max-width: 720px; margin: var(--space-64) auto var(--space-120); padding-top: var(--space-32); border-top: 1px solid var(--color-border); }

@media (max-width: 767px) {
  .p-column-list { grid-template-columns: 1fr; gap: var(--space-40); }
  .p-article__head { padding-block: 48px 100px; }
  .p-article__title { font-size: 21px; }
  .p-article__eyecatch { margin-top: -72px; }
  .p-article__body { margin-top: var(--space-40); }
  .p-article__body h2 { margin-top: var(--space-48); font-size: 19px; }
  .p-article__foot { margin-bottom: var(--space-80); }
}

/* 2026-09-25 デザインレビュー反映：本文の行長 */
.p-article__body p { max-width: 40em; }
