/* ============================================================
   fuzin-blog-patterns — ブランドトークン & 3パターンスタイル（修正版 v1.1）
   ------------------------------------------------------------
   ★ fuzin-brand-tokens ★  風神ブランドの Single Source of Truth
   値は fu-zin.jp の SWELL 設定（--color_main 等）から実取得。
   ============================================================ */
.fuzin-blog{
  --fz-main:#f13223;        /* 風神レッド */
  --fz-main-dark:#c92410;
  --fz-main-soft:#fff4f2;
  --fz-link:#1176d4;
  --fz-text:#333740;
  --fz-head:#1a1d23;
  --fz-muted:#7a828c;
  --fz-bg:#ffffff;
  --fz-bg-soft:#f7f8fa;
  --fz-border:#e9e4e1;
  --fz-radius:8px;
}

/* ===== 共通 CVパーツ ===== */
.fuzin-blog .fz-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;}
.fuzin-blog .fz-ba figure{margin:0;}
.fuzin-blog .fz-ba .fz-tag{display:inline-block;font-size:11px;font-weight:700;color:#fff;padding:3px 10px;border-radius:4px;margin-bottom:6px;}
.fuzin-blog .fz-ba .is-before .fz-tag{background:var(--fz-muted);}
.fuzin-blog .fz-ba .is-after .fz-tag{background:var(--fz-main);}
.fuzin-blog .fz-ba img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;}
.fuzin-blog .fz-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;}
.fuzin-blog .fz-info .fz-item{background:var(--fz-bg-soft);border:1px solid var(--fz-border);border-radius:var(--fz-radius);padding:12px 14px;}
.fuzin-blog .fz-info .fz-lbl{font-size:11px;font-weight:700;color:var(--fz-main);letter-spacing:.04em;margin-bottom:3px;}
.fuzin-blog .fz-info .fz-val{font-size:15px;font-weight:700;color:var(--fz-head);}
.fuzin-blog .fz-info .fz-val small{font-size:12px;font-weight:400;color:var(--fz-muted);}
.fuzin-blog .fz-cta{background:var(--fz-main-soft);border:1px solid #f6c9c0;border-radius:12px;padding:22px 24px;margin:28px 0 4px;text-align:center;}
.fuzin-blog .fz-cta .fz-cta-h{font-size:17px;font-weight:800;color:var(--fz-head);margin:0 0 6px;}
.fuzin-blog .fz-cta .fz-cta-s{font-size:13px;color:var(--fz-muted);margin:0 0 16px;}
.fuzin-blog .fz-cta .fz-btn{display:inline-block;background:var(--fz-main);color:#fff;font-size:16px;font-weight:800;padding:14px 38px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px rgba(241,50,35,.32);}
.fuzin-blog .fz-cta .fz-btn:hover{background:var(--fz-main-dark);}
.fuzin-blog .fz-cta .fz-tel{display:block;margin-top:14px;font-size:14px;color:var(--fz-text);}
.fuzin-blog .fz-cta .fz-tel b{font-size:22px;color:var(--fz-main-dark);vertical-align:middle;}
.fuzin-blog .fz-byline{display:flex;align-items:center;gap:11px;}
.fuzin-blog .fz-byline .fz-av{width:34px;height:34px;border-radius:50%;background:var(--fz-main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;}
.fuzin-blog .fz-byline .fz-bt{font-size:13px;color:var(--fz-muted);line-height:1.5;}
.fuzin-blog .fz-byline .fz-bt strong{color:var(--fz-head);display:block;}

/* ============================================================
   ② 掲載見本（KEISAI）— 変更なし（OK）
   ============================================================ */
.fuzin-keisai{background:var(--fz-bg);color:var(--fz-text);max-width:760px;margin:0 auto;}
.fuzin-keisai .eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--fz-main);margin-bottom:12px;}
.fuzin-keisai h1{font-size:27px;font-weight:800;line-height:1.4;color:var(--fz-head);margin:0 0 16px;}
.fuzin-keisai .lead-byline{padding-bottom:20px;border-bottom:2px solid var(--fz-main);margin-bottom:26px;}
.fuzin-keisai h2{font-size:20px;font-weight:800;color:var(--fz-head);margin:30px 0 14px;padding-left:14px;border-left:5px solid var(--fz-main);}
.fuzin-keisai p{font-size:16px;line-height:1.95;color:var(--fz-text);margin:0 0 18px;}
.fuzin-keisai ul{font-size:16px;line-height:1.95;color:var(--fz-text);margin:0 0 18px;padding-left:22px;}
.fuzin-keisai ul li::marker{color:var(--fz-main);}
.fuzin-keisai .hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block;}
.fuzin-keisai .hero figcaption{font-size:12px;color:var(--fz-muted);text-align:center;margin-top:8px;}

/* ============================================================
   ① 現場台帳（GENBA）【修正版】白＋左赤ライン・ゴシック・丸番号・サマリー枠
   ============================================================ */
.fuzin-genba{color:var(--fz-text);background:#fff;padding:30px 34px;border-left:5px solid var(--fz-main);counter-reset:fz-sec;}
.fuzin-genba .eyebrow{font-size:12px;font-weight:800;color:var(--fz-main);letter-spacing:.06em;margin-bottom:10px;}
.fuzin-genba h1{font-size:25px;font-weight:800;color:var(--fz-head);margin:0 0 18px;line-height:1.4;}
.fuzin-genba h2{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--fz-head);margin:28px 0 14px;}
.fuzin-genba h2::before{counter-increment:fz-sec;content:counter(fz-sec);
  background:var(--fz-main);color:#fff;font-size:13px;font-weight:800;
  width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;flex-shrink:0;}
.fuzin-genba p{font-size:16px;line-height:1.95;color:var(--fz-text);margin:0 0 18px;}
.fuzin-genba ul{font-size:16px;line-height:1.95;margin:0 0 18px;padding-left:22px;}
.fuzin-genba ul li::marker{color:var(--fz-main);}
.fuzin-genba .gb-summary{border:1px solid var(--fz-border);border-radius:var(--fz-radius);overflow:hidden;margin:6px 0 24px;}
.fuzin-genba .gb-summary dl{margin:0;display:grid;grid-template-columns:max-content 1fr;}
.fuzin-genba .gb-summary dt{background:var(--fz-bg-soft);color:var(--fz-head);font-weight:700;font-size:13px;padding:11px 16px;border-bottom:1px solid var(--fz-border);white-space:nowrap;margin:0;}
.fuzin-genba .gb-summary dd{margin:0;padding:11px 16px;font-size:14px;border-bottom:1px solid var(--fz-border);border-left:1px solid var(--fz-border);}
.fuzin-genba .gb-summary .gb-last{border-bottom:none;}

/* ============================================================
   ③ 事例ギャラリー（BOARD）【修正版】大ヒーロー→1カラムの流れ→施工写真まとめ
   ============================================================ */
.fuzin-board{color:var(--fz-text);background:#fff;padding:0 0 28px;}
.fuzin-board .bd-hero{margin:0;}
.fuzin-board .bd-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.fuzin-board .bd-inner{padding:24px 34px 0;}
.fuzin-board h1{font-size:25px;font-weight:800;color:var(--fz-head);margin:0 0 10px;line-height:1.4;}
.fuzin-board .chips{margin:0 0 18px;}
.fuzin-board .chips .fz-chip{display:inline-block;background:var(--fz-bg-soft);border:1px solid var(--fz-border);color:var(--fz-muted);font-size:10px;font-weight:700;padding:2px 9px;border-radius:999px;margin:0 5px 5px 0;}
.fuzin-board h2{font-size:19px;font-weight:800;color:var(--fz-head);border-left:4px solid var(--fz-main);padding-left:12px;margin:26px 0 12px;}
.fuzin-board p{font-size:16px;line-height:1.9;color:var(--fz-text);margin:0 0 16px;}
.fuzin-board ul{font-size:16px;line-height:1.9;margin:0 0 16px;padding-left:22px;}
.fuzin-board ul li::marker{color:var(--fz-main);}
.fuzin-board .bd-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 6px;}
.fuzin-board .bd-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;}
.fuzin-board .bd-gallery-cap{font-size:12px;color:var(--fz-muted);margin-bottom:8px;}

/* ===== レスポンシブ ===== */
@media(max-width:600px){
  .fuzin-blog .fz-ba,.fuzin-blog .fz-info,.fuzin-board .bd-gallery{grid-template-columns:1fr;}
  .fuzin-genba{padding:22px 18px;}
  .fuzin-board .bd-inner{padding-left:18px;padding-right:18px;}
}
