/* =====================================================================
   入会までの流れ（flow/）だけのCSS。共通部品は common.css。
   ①4ステップの全体図（.steps） ②ステップごとの中身（番号＋ピクト＋短い流れ） ③お支払い方法の3つの印
   ===================================================================== */

/* ---------- ②ステップごとの中身：左にピクト、右に名前と短い流れ ---------- */
.tl{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:18px;counter-reset:tl}
.tl > li.card{counter-increment:tl;display:grid;grid-template-columns:56px 150px minmax(0,1fr);gap:0 20px;align-items:center;padding:20px 22px}
.tl > li.card::before{content:counter(tl);width:44px;height:44px;background:var(--ai);color:var(--on-ai);border-radius:10px;display:grid;place-items:center;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:22px;align-self:start}
.tl .pict{width:150px}
.tl h3{margin:0;padding:0;border:0;font-size:24px;line-height:1.4}
.tl h3 small{display:block;font-family:"BIZ UDPGothic",sans-serif;font-size:15px;font-weight:700;color:var(--ai);margin-top:2px}
.tl .body{margin-top:8px;max-width:none;font-size:17px}
/* 短い流れ（→でつなぐ） */
.mini{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 6px;align-items:center}
.mini li{background:var(--shiraai);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:16px;font-weight:700;line-height:1.5}
.mini li.ar{background:none;padding:0 2px;color:var(--ai);font-weight:400}
.mini li .kari{vertical-align:1px;margin-left:6px}
/* ③お支払い方法の3つ */
.pay{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pay li{border:2px solid var(--ai);border-radius:10px;padding:10px 10px 8px;text-align:center;font-weight:700;font-size:16px;color:var(--ink);line-height:1.4}
.pay li .pict{width:min(100%,84px);margin:0 auto 4px}
.pay li small{display:block;font-size:14px;font-weight:400;color:var(--ink-2)}

/* ③関連ページ：枠ボタンを横に並べる */
#kanren .more-link{display:flex;flex-wrap:wrap;gap:10px 12px}

/* ---------- 画面幅 ---------- */
@media (max-width:900px){
  .tl > li.card{grid-template-columns:48px 120px minmax(0,1fr);gap:0 16px}
  .tl .pict{width:120px}
}
@media (max-width:640px){
  .tl > li.card{grid-template-columns:44px minmax(0,1fr);gap:0 12px;padding:16px 14px}
  .tl .pict{width:110px;grid-column:2;margin:0 0 6px}
  .tl > li.card > div{grid-column:2}
  .tl h3{font-size:21px}
  .tl .body{font-size:16px}
  .mini li{font-size:15px;padding:5px 10px}
  .pay{grid-template-columns:1fr;gap:8px}
  .pay li{display:flex;align-items:center;gap:12px;text-align:left;padding:8px 12px}
  .pay li .pict{width:56px;margin:0;flex:none}
  .pay li span{display:block}
}
