/* ブログ専用スタイル（assets/site.css のカード作法・変数を流用して拡張） */

/* ---- 一覧: news-cards ---- */
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.bl-grid{grid-template-columns:1fr;}}
.bl-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid rgba(26,43,75,.09);border-radius:20px;overflow:hidden;text-decoration:none;color:var(--text);box-shadow:0 10px 28px -18px rgba(26,43,75,.28);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .35s ease;}
.bl-card:hover{transform:translateY(-6px) scale(1.012);border-color:var(--card-ac-bd,rgba(234,88,12,.45));box-shadow:0 30px 58px -26px rgba(26,43,75,.30),0 22px 44px -26px var(--card-ac-glow,rgba(234,88,12,.24));}
.bl-card-thumb{aspect-ratio:1200/630;overflow:hidden;background:#f2f4f8;}
.bl-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.bl-card:hover .bl-card-thumb img{transform:scale(1.04);}
.bl-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;}
.bl-card-body .c-chip{display:inline-flex;align-self:flex-start;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:2px;color:var(--card-ac,var(--accent));background:var(--card-ac-lt,rgba(234,88,12,.08));padding:4px 11px;border-radius:999px;margin-bottom:11px;}
.bl-card-body h3{font-size:17px;font-weight:900;line-height:1.5;margin:0 0 8px;}
.bl-card-body p{font-size:13px;color:var(--text-sec);line-height:1.8;margin:0 0 16px;}
.bl-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-family:'Inter',sans-serif;font-weight:800;font-size:12px;color:var(--card-ac,var(--primary));}
.bl-card-foot time{color:var(--text-sec);letter-spacing:.5px;}

/* ---- 記事本文 ---- */
.bl-article{padding:120px 0 60px;position:relative;}
.bl-narrow{max-width:760px;}
.bl-crumb{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:700;color:var(--text-sec);margin-bottom:18px;}
.bl-crumb a{color:var(--accent);text-decoration:none;}
.bl-badge{display:inline-block;font-family:'Inter',sans-serif;font-weight:800;font-size:11.5px;letter-spacing:2px;color:var(--accent);background:rgba(234,88,12,.08);padding:5px 13px;border-radius:999px;}
.bl-title{font-size:clamp(28px,5vw,42px);font-weight:900;line-height:1.4;letter-spacing:.4px;margin:16px 0 14px;color:var(--primary);}
.bl-meta{display:flex;gap:16px;align-items:center;font-family:'Inter',sans-serif;font-weight:700;font-size:13px;color:var(--text-sec);margin-bottom:26px;}
.bl-hero{margin:0 0 36px;border-radius:20px;overflow:hidden;box-shadow:0 24px 54px -28px rgba(26,43,75,.4);}
.bl-hero img{width:100%;height:auto;display:block;}
.bl-body{font-size:16.5px;line-height:2.05;color:var(--text);}
.bl-body h2{font-size:24px;font-weight:900;line-height:1.5;letter-spacing:.3px;color:var(--primary);margin:48px 0 18px;padding-left:16px;border-left:5px solid var(--accent);}
.bl-body h3{font-size:19px;font-weight:800;line-height:1.55;color:var(--primary);margin:34px 0 12px;}
.bl-body p{margin:0 0 22px;}
.bl-body ul{margin:0 0 24px;padding-left:2px;list-style:none;}
.bl-body li{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.9;}
.bl-body li::before{content:"";position:absolute;left:2px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent);}
.bl-body strong{font-weight:800;color:var(--primary);background:linear-gradient(transparent 62%,rgba(234,88,12,.18) 0);}
.bl-body a{color:var(--accent);font-weight:700;}
.bl-body blockquote{margin:0 0 24px;padding:16px 22px;background:rgba(79,70,229,.05);border-left:4px solid #4f46e5;border-radius:0 12px 12px 0;color:var(--text-sec);font-size:15.5px;}

/* ---- 記事末CTA ---- */
.bl-cta{margin:56px 0 40px;padding:38px 34px;border-radius:24px;background:linear-gradient(135deg,#111a2e,#1e2a47);color:#fff;text-align:center;box-shadow:0 30px 60px -30px rgba(17,26,46,.7);}
.bl-cta .dc-kicker{display:inline-block;font-family:'Inter',sans-serif;font-weight:800;font-size:11.5px;letter-spacing:2px;color:#fdba74;margin-bottom:12px;}
.bl-cta h2{font-size:24px;font-weight:900;line-height:1.5;margin:0 0 12px;border:none;padding:0;}
.bl-cta p{font-size:14.5px;line-height:1.9;color:rgba(255,255,255,.82);margin:0 auto 24px;max-width:560px;}
.bl-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.bl-cta .btn-outline{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;}
.bl-back{margin-top:8px;}
.bl-back a{color:var(--accent);font-weight:800;text-decoration:none;font-size:14px;}
