/* ============================================================
   Column (コラム・おすすめ図書) — 出版物風デザイン
   名前空間: .col-* / 他ページに影響させないこと
   primary #112540(紺) / secondary #BFAF92(金茶)
   ============================================================ */

:root {
  --col-ink: #112540;
  --col-gold: #BFAF92;
  --col-paper: #ffffff;
  --col-line: #e3e0d8;
}

.col-serif {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
}

/* ---------- 一覧：扉（Hero） ---------- */
.col-cover {
  border-top: 3px solid var(--col-ink);
  border-bottom: 1px solid var(--col-line);
}
.col-cover__eyebrow {
  letter-spacing: 0.4em;
  color: var(--col-gold);
}

/* ---------- 一覧：記事リスト ---------- */
.col-list__item {
  position: relative;
  border-bottom: 1px solid var(--col-line);
  transition: background-color .3s ease;
}
.col-list__item:hover {
  background-color: #faf9f6;
}
.col-list__num {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  color: var(--col-gold);
  letter-spacing: 0.15em;
  line-height: 1;
}
.col-list__title {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  color: var(--col-ink);
  line-height: 1.5;
}
.col-list__item:hover .col-list__arrow {
  transform: translateX(6px);
}
.col-list__arrow {
  transition: transform .3s ease;
  color: var(--col-gold);
}

/* ---------- 個別：扉見出し ---------- */
.col-article__eyebrow {
  letter-spacing: 0.35em;
  color: var(--col-gold);
}
.col-article__title {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  color: var(--col-ink);
  line-height: 1.45;
  letter-spacing: 0.02em;
}
.col-article__rule {
  width: 64px;
  height: 2px;
  background: var(--col-gold);
}
@media (min-width: 1024px) {
  .col-article__title {
    font-size: 2.6rem;
  }
}

/* MAPEC行 */
.col-mapec__row {
  border-bottom: 1px solid var(--col-line);
}
.col-mapec__dt {
  width: 11rem;
}
@media (max-width: 640px) {
  .col-mapec__dt {
    width: 8.5rem;
  }
}

/* ---------- 個別：導入（リード） ---------- */
.col-lead {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  color: #333;
  line-height: 2.1;
  border-left: 2px solid var(--col-gold);
}

/* ---------- 個別：要点（番号付き縦罫ブロック） ---------- */
.col-points {
  counter-reset: col-point;
}
.col-point {
  position: relative;
  padding-left: 4.5rem;
  padding-top: 0.25rem;
  padding-bottom: 2.25rem;
}
.col-point:not(:last-child) {
  border-bottom: 1px solid var(--col-line);
  margin-bottom: 2.25rem;
}
.col-point__num {
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  font-size: 2rem;
  line-height: 1;
  color: var(--col-gold);
  font-weight: 500;
}
.col-point__body {
  color: #333;
  line-height: 2.0;
}

/* MAPEC定義リスト */
.col-mapec {
  border-top: 1px solid var(--col-line);
}
.col-mapec dt {
  font-family: 'Zen Old Mincho', 'Noto Serif JP', serif;
  color: var(--col-ink);
}
.col-mapec dd {
  color: #555;
}

/* ---------- 個別：奥付（書誌） ---------- */
.col-colophon {
  border-top: 3px solid var(--col-ink);
  border-bottom: 1px solid var(--col-line);
}
.col-colophon__label {
  letter-spacing: 0.3em;
  color: var(--col-gold);
}

@media (max-width: 640px) {
  .col-point {
    padding-left: 3.25rem;
  }
  .col-point__num {
    font-size: 1.5rem;
  }
}
