/* 計測に対応する整備事業者一覧・掲載のご依頼
   会員一覧（members.php）と見た目を意図的に変えてあります。
   支部のバッジを持たせず、表明の項目を主役にすることで、別物であることが一目で分かるようにしています。 */

/* ── ヒーロー ─────────────────────────── */
.sb-hero{background:linear-gradient(160deg,var(--navy-950),var(--navy-800));color:#fff;padding:48px 0 40px}
.sb-hero .kicker{color:var(--accent-editorial-on-dark)}
.sb-hero h1{font-size:clamp(24px,3.4vw,34px);letter-spacing:.03em;margin:6px 0 14px;line-height:1.45}
.sb-lead{color:#dbe7f1;font-size:15px;line-height:1.95;margin:0;max-width:760px}
.sb-lead b{color:#fff}
.sp-br{display:none}

.sb-wrap{max-width:1000px;padding-top:34px;padding-bottom:64px}

/* ── この一覧について ───────────────────── */
.sb-why h2,.sb-cta h2,.sb-rel h2{font-size:17px;color:var(--navy-900);margin:0 0 12px;
                                 padding-bottom:9px;border-bottom:2px solid var(--navy-900)}
.sb-why p{font-size:14px;line-height:1.95;color:#39485a;margin:0 0 12px}
.sb-why blockquote{margin:0 0 14px;padding:14px 18px;background:var(--sky-50);
                   border-left:3px solid var(--accent-editorial);border-radius:0 5px 5px 0}
.sb-why blockquote p{font-size:13.5px;line-height:1.95;color:#2c3a48;margin:0 0 8px}
.sb-why blockquote cite{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:4px}
.sb-src{font-size:12.5px;color:var(--muted)}
.sb-src a{color:var(--blue-600);font-weight:700}

/* ── 免責（小さくしない） ─────────────────── */
.sb-disc{margin:26px 0 18px;background:#fff;border:1px solid var(--line);
         border-left:3px solid #B3261E;border-radius:5px;padding:16px 20px}
.sb-disc ul{margin:0;padding-left:20px}
.sb-disc li{font-size:13.5px;line-height:1.95;color:#39485a;margin-bottom:7px}
.sb-disc li:last-child{margin-bottom:0}
.sb-disc b{color:#7A1F19}

/* ── 会員一覧と別物であることの常時表示 ──────── */
.sb-note-member{background:var(--sky-50);border:1px solid var(--line);border-radius:5px;
                padding:12px 16px;font-size:13px;line-height:1.85;color:#39485a;margin-bottom:18px}
.sb-note-member b{color:var(--navy-900)}
.sb-note-member a{color:var(--blue-600);font-weight:700}

.sb-demo{background:#FFF8E8;border:1px solid #E6D4A0;border-left:3px solid #A4680A;
         border-radius:5px;padding:12px 16px;font-size:13px;line-height:1.85;color:#6F4708;margin-bottom:18px}

/* ── 絞り込み ─────────────────────────── */
.sb-filter{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:20px}
.sf-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.sf-row + .sf-row{margin-top:12px}
.sf-kw{flex:2 1 260px}
.sf-sel{flex:1 1 150px}
.sf-kw span,.sf-sel span{display:block;font-size:11.5px;font-weight:700;color:#243c4e;margin-bottom:5px}
.sf-kw input,.sf-sel select{width:100%;border:1px solid #CBD9E0;border-radius:5px;background:#fff;
                            padding:9px 11px;font:inherit;font-size:13.5px;color:var(--ink)}
.sf-kw input:focus,.sf-sel select:focus{outline:2px solid var(--action-focus-ring);border-color:var(--blue-600)}
.sf-chk{align-items:center}
.sf-chk label{display:flex;align-items:center;gap:6px;font-size:13px;color:#39485a;cursor:pointer}
.sf-chk input{width:auto;margin:0}
.sf-clear{font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);background:#fff;
          border:1px solid var(--line);border-radius:4px;padding:6px 14px;cursor:pointer}
.sf-clear:hover{color:var(--navy-900);border-color:var(--muted)}
.sf-count{margin-left:auto;font-size:13px;font-weight:700;color:var(--navy-900)}

/* ── 一覧のカード ─────────────────────── */
.sb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.sb-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px}
.sb-card h3{font-size:15.5px;color:var(--navy-900);margin:0 0 8px;line-height:1.5}
.sb-card p{margin:0 0 5px;font-size:13px;line-height:1.8;color:#39485a}
.sc-tel a{font-size:15px;font-weight:700;color:var(--blue-600);letter-spacing:.02em}
.sc-hours,.sc-works,.sc-dev{font-size:12.5px;color:var(--muted)}
.sc-pledge{margin:11px 0 8px;padding:11px 13px;list-style:none;
           background:var(--sky-50);border-radius:5px}
.sc-pledge li{font-size:12.5px;line-height:1.75;color:#2c3a48;padding-left:17px;position:relative;margin-bottom:3px}
.sc-pledge li::before{content:'✓';position:absolute;left:0;color:var(--accent-editorial);font-weight:700}
.sc-pledge li.no{color:var(--muted)}
.sc-pledge li.no::before{content:'—';color:var(--muted)}
.sc-site a{font-size:12.5px;color:var(--blue-600);font-weight:700}
.sc-foot{font-size:11px;color:var(--muted);margin:9px 0 0;padding-top:8px;border-top:1px solid #EDF2F5}
.sb-empty{margin:24px 0;padding:20px;text-align:center;font-size:13.5px;color:var(--muted);
          background:#fff;border:1px dashed var(--line);border-radius:6px}

/* ── 掲載のご依頼 ─────────────────────── */
.sb-cta{margin-top:40px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 24px}
.sb-cta h2{margin-top:0}
.sb-cta p{font-size:14px;line-height:1.95;color:#39485a;margin:0 0 10px}
.sb-cta-note{font-size:12.5px;color:var(--muted)}
.sb-pledge-list{margin:12px 0 18px;border:1px solid var(--line);border-radius:5px;padding:0}
.sb-pledge-list summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--navy-900);padding:11px 15px}
.sb-pledge-list[open] summary{border-bottom:1px solid var(--line)}
.sb-pledge-list ul{margin:12px 0 8px;padding:0 18px 0 36px}
.sb-pledge-list li{font-size:13px;line-height:1.9;color:#39485a;margin-bottom:7px}
.sb-pledge-list .sb-src{padding:0 18px 14px}
.sb-btn{display:inline-block;font-size:14.5px;font-weight:700;color:#fff;background:var(--navy-900);
        border-radius:5px;padding:12px 28px;text-decoration:none}
.sb-btn:hover{background:var(--blue-600)}

.sb-rel{margin-top:36px}
.sb-rel ul{margin:0;padding-left:20px}
.sb-rel li{font-size:13.5px;line-height:1.95;color:#39485a;margin-bottom:7px}
.sb-rel a{color:var(--blue-600);font-weight:700}

/* ── 掲載のご依頼フォーム（seibi-register.php） ── */
.sr-wrap{max-width:760px;padding-top:30px;padding-bottom:64px}
.sr-sec{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 24px;margin-bottom:18px}
.sr-sec h2{font-size:15px;color:var(--navy-900);margin:0 0 6px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.sr-sec > p{font-size:13px;line-height:1.9;color:var(--muted);margin:10px 0 14px}
.sr-f{display:block;margin-bottom:14px}
.sr-f > span{display:block;font-size:12px;font-weight:700;color:#243c4e;margin-bottom:5px}
.sr-f .req{color:#B3261E;margin-left:5px;font-size:11px}
.sr-f input,.sr-f select,.sr-f textarea{width:100%;border:1px solid #CBD9E0;border-radius:5px;background:#fff;
                                        padding:10px 12px;font:inherit;font-size:14px;color:var(--ink)}
.sr-f textarea{min-height:88px;resize:vertical}
.sr-f input:focus,.sr-f select:focus,.sr-f textarea:focus{outline:2px solid var(--action-focus-ring);border-color:var(--blue-600)}
.sr-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sr-hint{font-size:11.5px;color:var(--muted);line-height:1.75;margin:4px 0 0}
.sr-chks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:14px}
.sr-chks label{display:flex;align-items:center;gap:6px;font-size:13.5px;color:#39485a;cursor:pointer}
.sr-chks input{width:auto;margin:0}
.sr-pledge label{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.85;
                 color:#2c3a48;cursor:pointer;padding:11px 13px;border:1px solid var(--line);
                 border-radius:5px;margin-bottom:8px;background:#fff}
.sr-pledge label:hover{border-color:var(--blue-600);background:var(--sky-50)}
.sr-pledge input{width:auto;margin-top:4px;flex:none}
.sr-note{background:var(--sky-50);border:1px solid var(--line);border-radius:5px;
         padding:13px 16px;font-size:12.5px;line-height:1.9;color:#39485a;margin:0 0 16px}
.sr-note b{color:var(--navy-900)}
.sr-submit{width:100%;font:inherit;font-size:15px;font-weight:700;color:#fff;background:var(--navy-900);
           border:1px solid var(--navy-900);border-radius:5px;padding:14px;cursor:pointer}
.sr-submit:hover{background:var(--blue-600);border-color:var(--blue-600)}
.sr-msg{border:1px solid var(--line);border-radius:5px;padding:14px 18px;font-size:13.5px;
        line-height:1.9;margin-bottom:18px;background:#fff}
.sr-msg.ok{border-left:3px solid #2E7D32;color:#1B5E20}
.sr-msg.ng{border-left:3px solid #B3261E;color:#7A1F19}
.sr-done{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px 28px}
.sr-done h2{font-size:17px;color:var(--navy-900);margin:0 0 12px}
.sr-done p{font-size:14px;line-height:1.95;color:#39485a;margin:0 0 12px}

@media(max-width:700px){
  .sp-br{display:inline}
  .sb-grid{grid-template-columns:1fr}
  .sr-2{grid-template-columns:1fr}
  .sf-count{margin-left:0;width:100%}
}

/* ── 法務の点検を受けて追加（2026-08-29） ────────────────
   「測定できない場合の対応も事務連絡に定められている」ことを、
   一覧の含意を消すために、目立つ形で置く。 */
.sb-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px}
.sb-two > div{background:#fff;border:1px solid var(--line);border-radius:5px;padding:14px 16px}
.sb-two > div > b{display:block;font-size:13px;color:var(--navy-900);margin-bottom:6px}
.sb-two p b{color:var(--navy-900)}
.sb-two p{font-size:13px;line-height:1.9;color:#39485a;margin:0}
.sb-fair{background:var(--accent-editorial-soft);border-radius:5px;padding:13px 16px;
         font-size:13.5px;line-height:1.95;color:#2c3a48;margin:0 0 12px}
.sb-fair b{color:var(--navy-900)}

/* カードの表明は「協会の断定」ではなく「その事業者の申告」であることを見出しで示す */
.sc-pl-h{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin:12px 0 5px}

/* 掲載内容の訂正・削除の窓口（取引の相談窓口にはしない） */
.sb-fix{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 24px}
.sb-fix h2{font-size:15px;color:var(--navy-900);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sb-fix p{font-size:13.5px;line-height:1.95;color:#39485a;margin:0 0 8px}
.sb-fix a{color:var(--blue-600);font-weight:700}

.sr-pledge .req{color:#B3261E;font-size:11px;margin-left:5px;font-weight:700}

@media(max-width:640px){ .sb-two{grid-template-columns:1fr} }

/* 表明の項目を、出どころごとに分けて見せる（2026-08-29 訂正）
   国が求めていることと、協会がお願いしていることを混ぜない。 */
.sb-pg{margin-bottom:12px}
.sb-pg-h,.sr-pg-h{font-size:11.5px;font-weight:700;color:var(--navy-900);
                  letter-spacing:.03em;margin:0 0 6px;padding:5px 10px;
                  background:var(--sky-50);border-left:3px solid var(--accent-editorial);border-radius:0 3px 3px 0}
.sr-pg-h{margin-top:14px}
.sr-pg-h:first-of-type{margin-top:0}
