/* IROHAHOME コラム/読みもの — 専用デザイン（#col スコープ） */
#col{ --ink:#2b2622; --sub:#8a8076; --bronze:#9a7f63; --bronze-d:#7d6450; --paper:#faf8f5; --line:#e6ded3;
  font-family:"Noto Sans JP",sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; }
#col *{ box-sizing:border-box; }
#col a{ color:inherit; text-decoration:none; }

/* ===== 共通ヒーロー ===== */
#col .col-hero{ max-width:1080px; margin:0 auto; padding:54px 24px 18px; text-align:center; }
#col .col-kicker{ font-family:"Cormorant Garamond",serif; letter-spacing:.36em; color:var(--bronze); font-size:15px; text-transform:uppercase; }
#col .col-htitle{ font-family:"Noto Serif JP",serif !important; font-weight:500 !important; font-size:clamp(28px,4.2vw,40px) !important; line-height:1.45 !important; margin:10px 0 12px !important; letter-spacing:.04em; }
#col .col-lead{ font-size:16px; line-height:2; color:var(--sub); max-width:680px; margin:0 auto; }

/* ===== 一覧（カードグリッド） ===== */
#col .col-grid{ max-width:1080px; margin:0 auto; padding:24px 24px 84px; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
#col .col-card{ background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:.25s; display:flex; flex-direction:column; }
#col .col-card:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.08); border-color:var(--bronze); }
#col .col-card.is-soon{ pointer-events:none; opacity:.62; }
#col .col-thumb{ aspect-ratio:16/10; background:#efe9e1 center/cover no-repeat; position:relative; }
#col .col-thumb .col-cat{ position:absolute; left:12px; top:12px; background:rgba(43,38,34,.82); color:#fff; font-size:11.5px; letter-spacing:.08em; padding:5px 11px; border-radius:999px; }
#col .col-cbody{ padding:20px 20px 22px; display:flex; flex-direction:column; gap:9px; flex:1; }
#col .col-date{ font-size:12.5px; color:var(--sub); letter-spacing:.06em; }
#col .col-ctitle{ font-family:"Noto Serif JP",serif; font-weight:600; font-size:18px; line-height:1.55; }
#col .col-excerpt{ font-size:13.5px; line-height:1.85; color:var(--sub); }
#col .col-more{ margin-top:auto; padding-top:8px; font-size:13px; color:var(--bronze); font-weight:600; letter-spacing:.06em; }
#col .col-soonbadge{ display:inline-block; font-size:12px; color:var(--bronze); border:1px solid var(--line); border-radius:999px; padding:4px 12px; }

/* ===== 記事本文 ===== */
#col .col-article{ max-width:760px; margin:0 auto; padding:8px 24px 60px; }
#col .col-amETA{ display:flex; gap:14px; align-items:center; justify-content:center; color:var(--sub); font-size:13px; margin-bottom:18px; }
#col .col-acat{ background:#f6f1ea; color:var(--bronze-d); border-radius:999px; padding:5px 14px; font-size:12.5px; letter-spacing:.06em; }
#col .col-h1{ font-family:"Noto Serif JP",serif !important; font-weight:600 !important; font-size:clamp(25px,3.6vw,34px) !important; line-height:1.6 !important; text-align:center; margin:6px 0 22px !important; letter-spacing:.02em; }
#col .col-heroimg{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:14px; margin:0 0 34px; background:#efe9e1; }
#col .col-article h2{ font-family:"Noto Serif JP",serif !important; font-weight:600 !important; font-size:22px !important; line-height:1.6 !important; margin:44px 0 16px !important; padding-left:14px; border-left:4px solid var(--bronze); letter-spacing:.02em; }
#col .col-article h3{ font-weight:600 !important; font-size:17px !important; margin:28px 0 10px !important; color:var(--bronze-d); }
#col .col-article p{ font-size:16px; line-height:2.05; margin:0 0 18px; }
#col .col-article ul,#col .col-article ol{ font-size:16px; line-height:1.95; padding-left:1.4em; margin:0 0 20px; }
#col .col-article li{ margin:6px 0; }
#col .col-lede{ font-size:17px !important; line-height:2 !important; color:var(--bronze-d); background:#f8f4ee; border-radius:12px; padding:22px 24px; margin:0 0 30px !important; }

/* 社員コメント */
#col .col-voice{ display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-left:4px solid var(--bronze); border-radius:12px; padding:22px 24px; margin:30px 0; }
#col .col-avatar{ flex:0 0 56px; width:56px; height:56px; border-radius:50%; background:#efe9e1 center/cover no-repeat; display:flex; align-items:center; justify-content:center; font-family:"Cormorant Garamond",serif; color:var(--bronze); font-size:22px; }
#col .col-vbody .col-vname{ font-weight:700; font-size:14.5px; }
#col .col-vbody .col-vrole{ font-size:12.5px; color:var(--sub); margin-bottom:7px; }
#col .col-vbody p{ font-size:15px !important; line-height:1.95 !important; margin:0 !important; }

/* CTA */
#col .col-cta{ text-align:center; background:#2b2622; color:#fff; border-radius:16px; padding:40px 28px; margin:48px 0 10px; }
#col .col-cta h3{ font-family:"Noto Serif JP",serif !important; font-weight:500; font-size:22px; margin-bottom:10px; color:#fff !important; }
#col .col-cta p{ color:#d9d2c8; font-size:14.5px; line-height:1.9; margin-bottom:22px; }
#col .col-cta a{ display:inline-block; background:var(--bronze); color:#fff; font-family:"Noto Serif JP",serif; font-size:16px; letter-spacing:.08em; padding:15px 40px; border-radius:10px; transition:.25s; }
#col .col-cta a:hover{ background:#b08e6c; transform:translateY(-2px); }
#col .col-back{ display:block; text-align:center; margin:30px 0 0; color:var(--bronze); font-size:14px; }

@media(max-width:880px){ #col .col-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){
  #col .col-grid{ grid-template-columns:1fr; gap:22px; padding:20px 18px 64px; }
  #col .col-hero{ padding:38px 18px 12px; }
  #col .col-article{ padding:4px 18px 52px; }
  #col .col-article h2{ font-size:20px !important; }
  #col .col-article p,#col .col-article ul,#col .col-article ol{ font-size:15.5px; }
  #col .col-voice{ flex-direction:column; gap:10px; }
}
