/* ============================================================
   BlockSteps 公開側スタイル（自己完結・外部CDN不使用）
   番号丸バッジ＋接続線の縦タイムライン
   ============================================================ */
.bk-steps{ max-width:100%; }
.bk-steps .bkst-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 16px; }
.bk-steps .bkst-head-title{ font-size:18px; font-weight:900; color:#1f2a33; line-height:1.5; overflow-wrap:break-word; min-width:0; }
.bk-steps .bkst-count{ flex:0 0 auto; display:inline-flex; align-items:center; background:#e8f2fb; color:#20618f; font-size:12px; font-weight:800; border-radius:99px; padding:5px 14px; line-height:1.4; }
.bk-steps .bkst-list{ list-style:none; margin:0; padding:0; }
.bk-steps .bkst-item{ position:relative; display:flex; gap:16px; padding:0 0 26px; }
.bk-steps .bkst-item:last-child{ padding-bottom:0; }
/* 接続線（バッジ中央から次のバッジまで） */
.bk-steps .bkst-item::before{ content:""; position:absolute; left:26px; top:52px; bottom:0; width:3px; background:#d7e4ee; border-radius:2px; }
.bk-steps .bkst-item:last-child::before{ display:none; }
.bk-steps .bkst-badge{ flex:0 0 52px; width:52px; height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#2e6f9e; color:#fff; line-height:1; box-shadow:0 3px 10px rgba(46,111,158,.28); z-index:1; }
.bk-steps .bkst-badge-label{ font-size:8.5px; font-weight:800; letter-spacing:.12em; opacity:.85; }
.bk-steps .bkst-badge-num{ font-size:21px; font-weight:900; margin-top:2px; }
.bk-steps .bkst-body{ flex:1 1 auto; min-width:0; padding-top:4px; }
.bk-steps .bkst-item-title{ font-size:16px; font-weight:800; color:#1f2a33; line-height:1.6; overflow-wrap:break-word; }
.bk-steps .bkst-item-desc{ font-size:13.5px; color:#4c5a64; line-height:1.9; margin:6px 0 0; overflow-wrap:break-word; }
.bk-steps .bkst-item-img{ display:block; max-width:100%; width:auto; max-height:320px; height:auto; border-radius:10px; margin-top:10px; border:1px solid #e4ebf0; }
/* 完了の締め */
.bk-steps .bkst-badge-done{ background:#1d9a63; box-shadow:0 3px 10px rgba(29,154,99,.3); }
.bk-steps .bkst-done .bkst-body{ display:flex; align-items:center; min-height:52px; padding-top:0; }
.bk-steps .bkst-done-label{ font-size:17px; font-weight:900; color:#157a4d; line-height:1.5; overflow-wrap:break-word; }
.bk-steps .bkst-hint{ border:2px dashed #a9c8de; border-radius:12px; background:#f5fafd; padding:18px 16px; text-align:center; color:#5f7d92; font-size:13px; font-weight:700; }
@media (max-width:600px){
  .bk-steps .bkst-item{ gap:12px; padding-bottom:22px; }
  .bk-steps .bkst-badge{ flex-basis:44px; width:44px; height:44px; }
  .bk-steps .bkst-badge-num{ font-size:18px; }
  .bk-steps .bkst-badge-label{ font-size:8px; }
  .bk-steps .bkst-item::before{ left:22px; top:44px; }
  .bk-steps .bkst-item-title{ font-size:15px; }
  .bk-steps .bkst-item-img{ max-height:none; }
}
