/* ============================================================
   コラム（一覧 + 個別記事）スタイル
   column.html のインラインスタイル + column/column.css の記事スタイルを統合
   ============================================================ */

/* ---- column.css ベースの CSS変数を上書き（helix.css との差分） ---- */
:root{
  --bg:#fff;
  --ink:#1a1c20;
  --ink-soft:#3f434a;
  --muted:rgba(26,28,32,.52);
  --line:rgba(26,28,32,.14);
  --gold:#b08a2e;
}
body{background:var(--bg) !important;color:var(--ink);font-family:var(--sans) !important;font-weight:300;
  line-height:1.95;-webkit-font-smoothing:antialiased}

/* ナビボタン色：column.css ベースは cyan */
.nav .b-primary{background:var(--cyan) !important;color:#fff !important}
.nav .b-primary:hover{background:#0fb1cd !important}
.foot-links a{color:var(--ink-soft) !important;font-family:var(--serif)}
.foot-links a:hover{color:var(--gold)}

/* ============================================================
   コラム一覧ページ
   ============================================================ */
.col-list{max-width:1240px;margin:0 auto;padding:calc(15px + 60px + clamp(36px,6vh,64px)) clamp(24px,6vw,56px) clamp(80px,12vh,140px)}
.col-list h1{font-family:var(--serif) !important;font-weight:700;font-size:clamp(34px,5.6vw,60px);letter-spacing:.05em;color:var(--ink)}
.col-list__rule{height:1px;background:var(--ink);margin:clamp(20px,3vh,30px) 0 clamp(44px,7vh,80px)}

.col-stack{display:flex;flex-direction:column;gap:clamp(40px,6vh,72px)}
.col-card{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(280px,38vh,420px);cursor:pointer;
  background:#000;overflow:hidden;text-align:left;text-decoration:none}
.col-card__media{overflow:hidden}
.col-card__thumb{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.col-card:hover .col-card__thumb{transform:scale(1.045)}
.col-card__band{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,56px)}
.col-card__cat{align-self:flex-start;font-family:var(--sans) !important;font-weight:700;font-size:12px;letter-spacing:.12em;
  color:#111;background:#fff;padding:5px 16px;margin-bottom:clamp(18px,3vh,28px)}
.col-card__title{font-family:var(--serif) !important;font-weight:700;font-size:clamp(20px,2.5vw,32px);line-height:1.55;letter-spacing:.04em;color:#fff}
.col-card__lead{margin-top:clamp(16px,2.4vh,24px);font-size:clamp(13px,1.3vw,15px);line-height:2;color:rgba(255,255,255,.74)}
.col-card__date{margin-top:clamp(18px,3vh,28px);font-family:var(--latin) !important;letter-spacing:.16em;font-size:12px;color:rgba(255,255,255,.5)}

.col-empty{font-family:var(--sans) !important;font-size:16px;color:var(--muted);text-align:center;padding:60px 0}

/* ページネーション */
.col-pager{margin-top:clamp(44px,7vh,72px);text-align:center;font-family:var(--latin) !important;letter-spacing:.1em;font-size:14px}
.col-pager a,.col-pager span{display:inline-block;padding:10px 18px;margin:0 4px;border:1px solid var(--line);border-radius:6px;
  color:var(--ink);transition:border-color .3s,color .3s,background .3s}
.col-pager a:hover{border-color:var(--gold);color:var(--gold)}
.col-pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

@media(max-width:680px){
  .col-card{grid-template-columns:1fr;min-height:0}
  .col-card__media{aspect-ratio:16/10}
  .col-card__band{padding:clamp(24px,6vw,32px)}
}

/* ============================================================
   コラム個別記事
   ============================================================ */
.article{max-width:820px;margin:0 auto;padding:calc(15px + 60px + clamp(28px,5vh,56px)) clamp(24px,6vw,40px) clamp(70px,11vh,130px)}

/* パンくず */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:clamp(30px,5vh,52px)}
.crumbs a{transition:color .3s}
.crumbs a:hover{color:var(--gold)}
.crumbs .sep{color:rgba(26,28,32,.3)}
.crumbs .here{color:var(--ink)}

.article__cat{display:inline-block;font-family:var(--sans) !important;font-weight:600;font-size:12px;letter-spacing:.14em;
  color:#fff;background:var(--cyan);padding:5px 14px;margin-bottom:20px}
.article__title{font-family:var(--serif) !important;font-weight:700;font-size:clamp(28px,4.6vw,52px);line-height:1.5;letter-spacing:.04em;color:var(--ink)}
.article__meta{display:flex;align-items:center;gap:16px;margin-top:20px;font-family:var(--latin) !important;letter-spacing:.16em;font-size:13px;color:var(--muted)}
.article__lead{margin-top:26px;font-family:var(--serif) !important;font-size:clamp(16px,1.9vw,20px);line-height:2;letter-spacing:.04em;color:var(--ink-soft)}
.article__hero{margin:clamp(36px,6vh,64px) 0;aspect-ratio:16/9;object-fit:cover;width:100%}

/* 本文 */
.article__body h2{font-family:var(--serif) !important;font-weight:600;font-size:clamp(21px,2.8vw,30px);line-height:1.5;letter-spacing:.04em;color:var(--ink);
  margin-bottom:clamp(18px,3vh,28px);padding-left:16px;border-left:3px solid var(--cyan) !important;border-top:none !important;border-bottom:none !important;border-right:none !important}
.article__body h2::before{display:none !important}
.article__body p{font-family:var(--serif) !important;font-size:clamp(15px,1.55vw,17px);line-height:2.4;color:var(--ink-soft);margin-bottom:1.5em}
.article__body p:last-child{margin-bottom:0}
.article__body figure{margin:clamp(26px,4vh,40px) 0}
.article__body figure img{width:100%}
.article__body figcaption{margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--muted);text-align:center}
.article__body > section{margin-bottom:clamp(34px,5vh,56px)}

/* 執筆者欄 */
.author{margin-top:clamp(50px,8vh,84px);padding-top:clamp(34px,5vh,52px);border-top:1px solid var(--line)}
.author__label{font-family:var(--latin) !important;letter-spacing:.34em;font-size:11px;color:var(--gold);text-transform:uppercase;margin-bottom:22px}
.author__card{display:grid;grid-template-columns:120px 1fr;gap:clamp(20px,4vw,36px);align-items:start;
  background:var(--paper,#faf8f3);border:1px solid var(--line);padding:clamp(22px,4vw,34px)}
.author__photo{width:120px;height:120px;object-fit:cover}
.author__name{font-family:var(--serif) !important;font-weight:700;font-size:clamp(15px,1.7vw,18px);letter-spacing:.04em;color:var(--ink)}
.author__clinic{margin-top:8px;font-size:14px;letter-spacing:.06em;color:var(--muted)}
.author__role::before{content:" / ";color:var(--muted)}
.author__name .en{font-family:var(--latin) !important;font-style:italic;color:var(--muted);margin-left:8px;font-size:13px}
.author__links{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0}
.author__links a{font-family:var(--latin) !important;letter-spacing:.12em;font-size:12px;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .3s}
.author__links a:hover{border-color:var(--gold)}
.author__bio{font-size:13.5px;line-height:2.1;color:var(--ink-soft)}

/* 前後ナビ */
.article__nav{margin-top:clamp(40px,6vh,72px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center}
.article__nav .back{font-family:var(--serif) !important;font-size:15px;letter-spacing:.06em;color:var(--ink);border:1px solid var(--line);
  border-radius:32px;padding:13px 28px;transition:border-color .3s,color .3s}
.article__nav .back:hover{border-color:var(--gold);color:var(--gold)}
.article__nav .siblings{display:flex;gap:clamp(16px,3vw,30px);font-size:13px}
.article__nav .siblings a{color:var(--muted);transition:color .3s;max-width:18em;line-height:1.5}
.article__nav .siblings a:hover{color:var(--ink)}
.article__nav .siblings .lbl{display:block;font-family:var(--latin) !important;letter-spacing:.16em;font-size:10px;color:var(--gold);text-transform:uppercase;margin-bottom:4px}

@media(max-width:560px){
  .author__card{grid-template-columns:1fr}
  .author__photo{width:96px;height:96px}
  .article__nav{flex-direction:column;align-items:stretch}
}
