/* 害獣駆除のホームドクター119番：黄色×黒（gc3.css の上書き） */
:root { --navy: #0B2A5B; --green: #0B4FA0; --blue: #0B2A5B; --og1: #5AA8F0; --og2: #1565C0; --yel: #1E7BE0; }
body.kzi { background: #f5f9ff; }
.kzb, .kzb_worry, .kzb_reason, .kzb_service, .kzb_flow, .kzb_strength, .kzb_area { background: #eef6ff; }
header.kzb_fv { background: #e8f2ff; }
/* CTA */
.cta3 { background: linear-gradient(180deg, #eef6ff, #d6e8ff); }
.cta3_h, .cta3_bub b { color: #0B2A5B; } .cta3_bub em, .cta3_h b { color: #0B4FA0; }
.cta3_b { background: linear-gradient(180deg, #5AA8F0 0%, #1E7BE0 55%, #1565C0 100%); color: #0B2A5B; box-shadow: 0 5px 0 #0B4FA0, 0 8px 14px rgba(20,80,160,.25), inset 0 2px 0 rgba(255,255,255,.55); }
.cta3_b small { color: #0B2A5B; }
.cta3_t { border-color: #0B2A5B; color: #0B2A5B; background: #fff; }
.cta3_bub { border-color: #0B2A5B; box-shadow: 0 3px 10px rgba(0,0,0,.12); } .cta3_bub::before { border-right-color: #0B2A5B; }
.cta3_bub span { color: #444; }
.kzfix { background: rgba(240,247,255,.96); border-top-color: #bcd6f2; }
.kzfix .kzfix_d { background: linear-gradient(180deg, #5AA8F0 0%, #1E7BE0 55%, #1565C0 100%); color: #0B2A5B; box-shadow: 0 3px 0 #0B4FA0, inset 0 2px 0 rgba(255,255,255,.55); }
.kzfix_d small { color: #0B2A5B; }
/* 診断・Q&A・会社概要 */
.kzdiag { background: #e4f0ff; } .kzfaq { background: linear-gradient(#f5f9ff, #dcecff); } .kzco { background: #fff; }
.kzfaq_h, .kzco_h, .dgx_head h2 { color: #0B2A5B; } .kzfaq_en, .kzco_en { color: #0B4FA0; } .kzfaq_h .g, .kzco_h .g, .dgx_head h2 em { color: #0B4FA0; }
.kzfaq .q { background: #0B2A5B; color: #1E7BE0; } .kzfaq .aa { background: #7DBBF5; color: #0B2A5B; } .kzfaq .pm { background: #d8e9ff; } .kzfaq .pm::before, .kzfaq .pm::after { background: #0B2A5B; }
.kzfaq summary { color: #0B2A5B; } .kzfaq .a { background: #eef6ff; }
.kzco_t, .kzco_t > div { border-color: #bcd6f2; } .kzco_t dt { background: #d8e9ff; color: #0B2A5B; } .kzco_t a { color: #0B2A5B; font-weight: 800; }
.dgx_sec .dgx_open, .dgx_sec .dgx_send { background: linear-gradient(#5AA8F0, #1565C0) !important; color: #0B2A5B !important; border-bottom-color: #0B4FA0 !important; }
.dgx_sec .dgx_open span { color: #0B2A5B !important; }
.dgx_sec .dgx_alt .tel { background: #0B2A5B !important; color: #1E7BE0 !important; }
.kzft { background: #0B2A5B; color: #ddd; } .kzft a { color: #1E7BE0; } .kzft_m { width: 110px; height: auto; display: block; margin: 0 auto 6px; animation: masfloat 3.2s ease-in-out infinite; }
/* マスコット帯 */
.kzmb { background: #eef6ff; padding: 6px 16px 10px; }
.kzmb_in { max-width: 560px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 10px; }
.kzmb_m { width: 30%; max-width: 150px; height: auto; flex: none; filter: drop-shadow(0 3px 4px rgba(0,0,0,.18)); animation: masfloat 3.2s ease-in-out infinite; }
.kzmb_t { display: flex; flex-direction: column; gap: 2px; background: #0B2A5B; color: #1E7BE0; border-radius: 16px; padding: 12px 16px; position: relative; }
.kzmb_t::before { content: ""; position: absolute; left: -8px; top: 50%; margin-top: -8px; border: 8px solid transparent; border-right-color: #0B2A5B; border-left: 0; }
.kzmb_t b { font-size: clamp(15px, 4.5vw, 21px); font-weight: 900; white-space: nowrap; } .kzmb_t span { font-size: clamp(11.5px, 3.3vw, 15px); color: #fff; font-weight: 700; white-space: nowrap; }
@media (min-width: 900px) { .kzmb { padding: 14px 20px 18px; } .kzmb_in { max-width: 760px; gap: 24px; } .kzmb_m { width: 190px; max-width: none; } .kzmb_t b { font-size: 28px; } .kzmb_t span { font-size: 17px; } }
.kzmb_run { }

/* ===== 字体：FVの「害獣のトラブルを、すぐ解決。」と同じ、やわらかい丸ゴシック系に ===== */
:root { --soft: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN", "Yuji Syuku", "Kosugi Maru", "Zen Maru Gothic", "Rounded Mplus 1c", "Yu Gothic", "Hiragino Sans", "Noto Sans JP", sans-serif; }
body.kzi, .cta3, .kzfix, .kzfaq, .kzco, .kzdiag, .dgx_sec, .kzmb, .kzft { font-family: var(--soft); }
.cta3_h, .kzfaq_h, .kzco_h, .dgx_head h2, .dgx_q, .kzmb_t b, .cta3_bub b, .cta3_b, .cta3_t b, .kzfix_d, .kzfix_d span { font-family: var(--soft); font-weight: 900; letter-spacing: .02em; }
.kzfaq summary, .kzfaq .a p, .kzco_t dt, .kzco_t dd, .dgx_opts button, .dgx_sec button, .dgx_sec input, .cta3_bub span, .kzmb_t span { font-family: var(--soft); }
.cta3_h { font-weight: 900; }
.kzmb_t { min-width: 0; } .kzmb_t b { font-size: clamp(13.5px, 3.9vw, 21px); } .kzmb_t span { font-size: clamp(10.5px, 2.95vw, 15px); }
body.kzi { overflow-x: hidden; }

/* ===== FV：スマホは画面の高さにきっちり合わせる（上の部分＋あいだ（写真の背景を伸ばす）＋下の黒い帯） ===== */
header.kzb_fv { background: #0B2A5B; }
.fvpc { display: none; }
.fvsp { display: flex; flex-direction: column; min-height: calc(100svh - 74px); max-width: 1024px; margin: 0 auto; }
.fvsp_top { position: relative; flex: none; line-height: 0; } .fvsp_top img, .fvsp_bot { display: block; width: 100%; height: auto; }
.fvsp_gap { flex: 1 1 auto; min-height: 0; background: url("../img/fvsp_strip.webp") center / 100% 100% no-repeat; }
.fvsp_bot { flex: none; }
@media (min-width: 900px) {
  .fvsp { display: none; } .fvpc { display: block; } header.kzb_fv { background: #e8f2ff; }
  .fvpc .kzb_in { max-width: 1536px; margin: 0 auto; position: relative; } .fvpc img { display: block; width: 100%; height: auto; }
}
/* 診断の結果：料金のめやす＋電話のみ */
.dgx_priceb { background: #fff; border: 2px solid #0B2A5B; border-radius: 16px; padding: 12px 14px 12px; margin: 12px 0 14px; text-align: center; box-shadow: 0 3px 0 #0B2A5B; }
.pb_t { margin: 0; font-weight: 900; font-size: 13px; background: #0B2A5B; color: #1E7BE0; display: inline-block; padding: 2px 14px; border-radius: 20px; }
.pb_p { margin: 8px 0 4px; display: flex; align-items: baseline; justify-content: center; gap: 4px; font-family: var(--soft); }
.pb_p span { font-size: 14px; font-weight: 800; } .pb_p b { font-size: 44px; line-height: 1; font-weight: 900; color: #0B2A5B; background: linear-gradient(transparent 62%, #1E7BE0 62%); padding: 0 4px; } .pb_p i { font-style: normal; font-size: 18px; font-weight: 900; }
.pb_n { margin: 0; font-size: 12.5px; line-height: 1.7; color: #333; } .pb_n b { color: #0B2A5B; background: linear-gradient(transparent 60%, #7DBBF5 60%); }
.dgx_callbig { display: flex; flex-direction: column; align-items: center; gap: 2px; text-decoration: none; background: linear-gradient(180deg, #5AA8F0 0%, #1E7BE0 55%, #1565C0 100%); color: #0B2A5B; border-radius: 999px; padding: 12px 10px 10px; box-shadow: 0 5px 0 #0B4FA0, inset 0 2px 0 rgba(255,255,255,.55); }
.dgx_callbig small { font-size: 11.5px; font-weight: 800; } .dgx_callbig span { display: flex; align-items: center; gap: 6px; font-size: clamp(26px, 8vw, 34px); font-weight: 900; line-height: 1.15; font-family: var(--soft); }
.dgx_callbig svg { width: 28px; height: 28px; } .dgx_callbig em { font-style: normal; font-size: 12px; font-weight: 800; color: #0B2A5B; }
/* 画像CTA */
.ctai { background: #eef6ff; padding: 0; line-height: 0; }
.ctai_in { position: relative; max-width: 1024px; margin: 0 auto; } .ctai_in img { display: block; width: 100%; height: auto; }
.ctai_pc { display: none; }
@media (min-width: 900px) { .ctai_sp { display: none; } .ctai_pc { display: block; max-width: 1200px; } }
/* ===== 固定バー：水回り緊急プロと同じ形（受付時間・カードOK・電話が主・右に無料見積もり） ===== */
.kzfix3 { display: block !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: #0B2A5B; padding: 6px 8px calc(8px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 20px rgba(0,0,0,.3); border-top: 0; backdrop-filter: none; }
.kzfix3 .fb3_m { position: absolute; left: 8px; top: -14px; width: 60px; height: 60px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,.35); border: 2px solid #1E7BE0; background: #5AA8F0; }
.kzfix3 .fb3_rb { margin: 0 0 4px 70px; display: flex; align-items: center; justify-content: space-between; gap: 6px; color: #1E7BE0; font-weight: 800; font-size: 11.5px; line-height: 1.3; font-family: var(--soft); }
.kzfix3 .fb3_rt i { font-style: normal; } .kzfix3 .fb3_rt { white-space: nowrap; }
.kzfix3 .fb3_cd { display: inline-flex; align-items: center; gap: 4px; background: #fff; border-radius: 6px; padding: 2px 5px; flex: none; } .kzfix3 .fb3_cd em { font-style: normal; font-weight: 900; font-size: 10.5px; color: #0B2A5B; white-space: nowrap; } .kzfix3 .fb3_cd img { display: block; height: 15px; width: auto; }
.kzfix3 .fb3_row { display: flex; gap: 6px; align-items: stretch; }
.kzfix3 .fb3_tel { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; background: linear-gradient(180deg, #5AA8F0, #1E7BE0 55%, #1565C0); color: #0B2A5B; border-radius: 12px; padding: 8px 10px; box-shadow: 0 4px 0 #0B4FA0; text-decoration: none; }
.kzfix3 .fb3_ic { flex: none; width: 40px; height: 40px; border-radius: 50%; background: #0B2A5B; color: #1E7BE0; display: flex; align-items: center; justify-content: center; } .kzfix3 .fb3_ic svg { width: 22px; height: 22px; }
.kzfix3 .fb3_t { display: flex; flex-direction: column; line-height: 1.15; font-family: var(--soft); } .kzfix3 .fb3_t small { font-size: 12px; font-weight: 800; } .kzfix3 .fb3_t b { font-size: clamp(22px, 6.4vw, 28px); font-weight: 900; letter-spacing: .01em; white-space: nowrap; }
.kzfix3 .fb3_chk { flex: 0 0 74px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #fff; color: #0B2A5B; border-radius: 12px; font-weight: 900; font-size: 13.5px; line-height: 1.2; text-decoration: none; padding: 4px 3px; box-shadow: 0 4px 0 #b4c8e0; font-family: var(--soft); }
.kzfix3 .fb3_chk small { background: #0B2A5B; color: #1E7BE0; border-radius: 10px; font-size: 10px; font-weight: 800; padding: 1px 6px; margin-bottom: 3px; white-space: nowrap; }
@media (min-width: 900px) { .kzfix3 { left: auto; right: 20px; bottom: 20px; width: 460px; border-radius: 18px; padding-top: 10px; opacity: 0; pointer-events: none; transition: opacity .25s; } .kzfix3.on { opacity: 1; pointer-events: auto; } }
.kzfix3 .fb3_rb { font-size: 11px; } .kzfix3 .fb3_rt { white-space: nowrap; overflow: hidden; text-overflow: clip; }
.fvsp { min-height: calc(100svh - 102px); }
/* 固定バーの高さを実測にそろえる（カードOKの行を詰める） */
.kzfix3 .fb3_cd { height: 20px; padding: 0 5px; line-height: 1; } .kzfix3 .fb3_cd img { height: 13px; width: auto; max-width: none; }
.kzfix3 .fb3_rb { height: 20px; margin-bottom: 4px; align-items: center; }
.kzfix3 .fb3_chk { padding: 2px 3px; }
.kzfix3 .fb3_tel { padding: 6px 10px; }
.fvsp { min-height: calc(100svh - var(--barh, 100px)); }

/* ===== 固定バー：バランスを整え直し（水回り緊急プロの形に忠実に） ===== */
.kzfix3 { padding: 6px 8px calc(8px + env(safe-area-inset-bottom)); }
.kzfix3 .fb3_m { left: 10px; top: -12px; width: 52px; height: 52px; border-width: 2px; }
.kzfix3 .fb3_rb { margin: 0 0 6px 68px; height: 22px; display: flex; align-items: center; justify-content: space-between; gap: 6px; flex-wrap: nowrap; }
.kzfix3 .fb3_rt { flex: 1 1 auto; min-width: 0; font-size: 11.5px; font-weight: 800; color: #1E7BE0; white-space: nowrap; overflow: visible; }
.kzfix3 .fb3_cd { flex: none; display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 4px; height: 22px; padding: 0 6px; background: #fff; border-radius: 6px; }
.kzfix3 .fb3_cd em { font-size: 10.5px; white-space: nowrap; line-height: 1; }
.kzfix3 .fb3_cd img { height: 14px; width: auto; display: block; }
.kzfix3 .fb3_row { display: flex; gap: 6px; align-items: stretch; height: 60px; }
.kzfix3 .fb3_tel { flex: 1 1 auto; min-width: 0; height: 60px; padding: 0 10px; gap: 9px; border-radius: 12px; box-shadow: 0 4px 0 #0B4FA0; }
.kzfix3 .fb3_ic { width: 40px; height: 40px; }
.kzfix3 .fb3_t small { font-size: 11.5px; } .kzfix3 .fb3_t b { font-size: clamp(22px, 6.3vw, 27px); line-height: 1.1; }
.kzfix3 .fb3_chk { flex: 0 0 76px; height: 60px; padding: 0 2px; gap: 2px; border-radius: 12px; font-size: 14px; line-height: 1.15; box-shadow: 0 4px 0 #b4c8e0; }
.kzfix3 .fb3_chk small { margin: 0 0 2px; font-size: 9.5px; padding: 1px 5px; }
.kzfix3 .fb3_m { top: -18px; width: 50px; height: 50px; }
/* ===== 診断の結果：料金と電話（マスコットつき・折り返しをきれいに） ===== */
.nb { display: inline-block; }
.dgx_priceb { position: relative; padding: 14px 12px 12px; margin-top: 26px; }
.dgx_priceb .pb_m { position: absolute; right: -6px; top: -34px; width: 78px; height: auto; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); animation: masfloat 3.2s ease-in-out infinite; }
.pb_p b { font-size: clamp(36px, 11vw, 44px); }
.pb_n { font-size: 12.5px; line-height: 1.75; text-wrap: balance; }
.dgx_callbig { position: relative; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; padding: 12px 14px 12px 12px; border-radius: 18px; margin-top: 14px; overflow: visible; }
.dgx_callbig .cb_ic { flex: none; width: 46px; height: 46px; border-radius: 50%; background: #0B2A5B; color: #1E7BE0; display: flex; align-items: center; justify-content: center; } .dgx_callbig .cb_ic svg { width: 24px; height: 24px; }
.dgx_callbig .cb_t { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; line-height: 1.15; }
.dgx_callbig .cb_t small { font-size: 11px; font-weight: 800; white-space: nowrap; }
.dgx_callbig .cb_t b { font-size: clamp(24px, 7.4vw, 31px); font-weight: 900; white-space: nowrap; letter-spacing: .01em; font-family: var(--soft); }
.dgx_callbig .cb_t em { font-style: normal; font-size: 11.5px; font-weight: 800; color: #0B2A5B; white-space: nowrap; }
.dgx_callbig .cb_m { position: absolute; right: -10px; top: -46px; width: 86px; height: auto; pointer-events: none; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.dgx_callbig > span:not(.cb_ic):not(.cb_t) { display: none; }
/* ===== FV直下：運営会社（受付窓口）の4項目 ===== */
.dncof { background: #0B2A5B; color: #fff; padding: 8px 6px 9px; }
.dncof_h { margin: 0 0 5px; text-align: center; font-size: 11px; line-height: 1.3; color: #bbb; font-family: var(--soft); }
.dncof_h span { margin-right: 6px; } .dncof_h b { color: #1E7BE0; font-size: 12px; }
.dncof ul { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; display: grid; grid-template-columns: repeat(4, 1fr); }
.dncof li { text-align: center; border-left: 1px solid rgba(255,255,255,.18); white-space: nowrap; } .dncof li:first-child { border-left: 0; }
.dncof small { display: block; font-size: clamp(9.5px, 2.7vw, 13px); color: #7DBBF5; font-weight: 700; line-height: 1.3; }
.dncof b { display: block; font-size: clamp(13px, 4vw, 22px); font-weight: 900; line-height: 1.25; font-family: var(--soft); }
@media (min-width: 900px) { .dncof { padding: 16px 20px 18px; } .dncof_h { font-size: 14px; } .dncof_h b { font-size: 16px; } }
/* FVの高さ：画面 − 固定バー − 運営会社の帯 */
@media (max-width: 899px) { .fvsp { min-height: calc(100svh - var(--barh, 100px) - var(--cofh, 62px)); } }
.dncof_h { white-space: nowrap; display: flex; justify-content: center; align-items: baseline; gap: 6px; margin-bottom: 4px; } .dncof_h span { margin: 0; }
.dncof { padding: 7px 6px 14px; }
.kzfix3 .fb3_m { top: -8px; left: 8px; width: 42px; height: 42px; }
.kzfix3 .fb3_rb { margin-left: 56px; }
.dncof { background: #0B2A5B; border-top: 2px solid #1E7BE0; }
.dgx_callbig .cb_m { display: none; }
.dgx_callbig { width: 100%; box-sizing: border-box; padding: 12px 10px; gap: 8px; }
.dgx_callbig .cb_t { flex: 1 1 auto; overflow: hidden; }
.dgx_callbig .cb_t b { font-size: clamp(21px, 6.4vw, 30px); }
.dgx_callbig .cb_t small, .dgx_callbig .cb_t em { font-size: clamp(9.5px, 2.8vw, 11.5px); }
.dgx_callbig .cb_ic { width: 42px; height: 42px; }
.dgx_priceb .pb_m { top: -40px; right: -4px; width: 70px; }
.dgx_priceb .pb_t { margin-right: 40px; }
.fvsp { display: none; } .fvsp.on { display: flex; }
.fvsp_gap { background-size: 100% 100% !important; background-repeat: no-repeat !important; }
@media (min-width: 900px) { .fvsp.on { display: none; } }
.pb_s { margin: 8px 0 0; font-size: 10.5px; line-height: 1.6; color: #666; text-align: left; } .pb_s a { color: #0B2A5B; text-decoration: underline; }
.kzft_d { font-size: 11px; line-height: 1.7; color: #bbb; margin: 8px auto 10px; max-width: 760px; text-align: left; }
.dncof { padding: 10px 6px 14px; }
/* ===== 固定バー：カードOKを1行で大きく（折り返さない） ===== */
.kzfix3 .fb3_rb { margin-left: 54px; gap: 6px; height: 24px; }
.kzfix3 .fb3_rt { font-size: 11px; flex: 0 1 auto; }
.kzfix3 .fb3_cd { display: flex !important; flex-wrap: nowrap !important; white-space: nowrap; align-items: center; gap: 5px; height: 24px; padding: 0 7px; border-radius: 7px; flex: 0 0 auto; margin-left: auto; }
.kzfix3 .fb3_cd em { display: inline-block; font-size: 11px; line-height: 1; }
.kzfix3 .fb3_cd img { height: 17px !important; width: auto !important; max-width: none !important; flex: none; }
@media (max-width: 370px) { .kzfix3 .fb3_rt { font-size: 10px; } .kzfix3 .fb3_cd img { height: 15px !important; } }
/* 問い合わせボタンの近くの「利用規約をご確認ください」 */
.dnterms { margin: 0; padding: 6px 14px 10px; text-align: center; font-size: 11px; line-height: 1.6; color: #666; background: #eef6ff; font-family: var(--soft); }
.dnterms a { color: #0B2A5B; text-decoration: underline; }
.dnterms_dg { background: transparent; padding: 0 4px 8px; }
.kzfix3 .fb3_cd { flex-direction: row !important; } .kzfix3 .fb3_cd em { display: inline-block !important; }
.kzfix3 .fb3_rt { overflow: hidden; } .kzfix3 .fb3_rb { gap: 8px; }
@media (max-width: 385px) { .kzfix3 .fb3_rt { font-size: 10px; } .kzfix3 .fb3_cd img { height: 14px !important; } .kzfix3 .fb3_cd em { font-size: 10px; } .kzfix3 .fb3_cd { padding: 0 5px; gap: 4px; } .kzfix3 .fb3_rb { gap: 5px; margin-left: 52px; } }
/* ===== 3つの質問でラクラクお見積り（ハチ110番と同じ構成） ===== */
.q3 { background: linear-gradient(180deg, #e4f0ff, #eef6ff); padding: 18px 12px 22px; }
.q3_in { max-width: 560px; margin: 0 auto; background: #fff; border: 3px solid #0B2A5B; border-radius: 18px; padding: 14px 14px 16px; box-shadow: 0 5px 0 #0B2A5B; position: relative; }
.q3_hd { display: flex; align-items: center; gap: 8px; } .q3_m { width: 74px; height: auto; flex: none; margin: -30px 0 0 -6px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.q3_t { margin: 0; font-family: var(--soft); font-weight: 900; font-size: clamp(19px, 5.6vw, 25px); line-height: 1.3; color: #0B2A5B; }
.q3_s { margin: 2px 0 0; font-family: var(--soft); font-weight: 800; font-size: 14px; } .q3_s b { font-size: 20px; color: #0B2A5B; background: linear-gradient(transparent 60%, #1E7BE0 60%); padding: 0 2px; }
.q3_ok { text-align: center; margin: 10px 0 8px; font-weight: 900; font-size: 14px; color: #0B4FA0; font-family: var(--soft); }
.q3_f { display: flex; flex-direction: column; gap: 10px; }
.q3_l { display: flex; flex-direction: column; gap: 5px; } .q3_l > span { font-weight: 900; font-size: 15px; display: flex; align-items: center; gap: 6px; font-family: var(--soft); }
.q3_l i { font-style: normal; width: 22px; height: 22px; border-radius: 50%; background: #0B2A5B; color: #1E7BE0; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.q3_l select, .q3_l input { font-size: 16px; padding: 12px 12px; border: 2px solid #bcd0e8; border-radius: 10px; background: #f5f9ff; color: #0B2A5B; width: 100%; box-sizing: border-box; -webkit-appearance: none; appearance: none; font-family: inherit; }
.q3_l select { background-image: linear-gradient(45deg, transparent 50%, #0B2A5B 50%), linear-gradient(135deg, #0B2A5B 50%, transparent 50%); background-position: calc(100% - 18px) 52%, calc(100% - 12px) 52%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 32px; }
.q3_e { margin: 0; min-height: 1em; color: #c80f1c; font-size: 12.5px; font-weight: 800; }
.q3_b { position: relative; border: 0; border-radius: 999px; padding: 15px 40px; font-size: 20px; font-weight: 900; color: #0B2A5B; background: linear-gradient(180deg, #5AA8F0, #1E7BE0 55%, #1565C0); box-shadow: 0 5px 0 #0B4FA0; font-family: var(--soft); cursor: pointer; touch-action: manipulation; }
.q3_b i { position: absolute; right: 18px; top: 50%; transform: translateY(-52%); font-style: normal; font-size: 24px; }
.q3_n { margin: 2px 0 0; font-size: 11px; line-height: 1.7; color: #555; text-align: center; } .q3_n a { color: #0B2A5B; text-decoration: underline; } .q3_n b { color: #0B2A5B; }
.q3_r { text-align: center; } .q3_rt { display: inline-block; margin: 4px 0 0; background: #0B2A5B; color: #1E7BE0; font-weight: 900; font-size: 13px; padding: 3px 16px; border-radius: 20px; }
.q3_rp { margin: 8px 0 4px; display: flex; justify-content: center; align-items: baseline; gap: 4px; font-family: var(--soft); } .q3_rp span { font-weight: 800; font-size: 15px; } .q3_rp b { font-size: 46px; font-weight: 900; line-height: 1; background: linear-gradient(transparent 62%, #1E7BE0 62%); padding: 0 4px; } .q3_rp i { font-style: normal; font-weight: 900; font-size: 19px; }
.q3_rn { margin: 0 0 10px; font-size: 12.5px; line-height: 1.7; color: #333; }
.q3_cb { display: flex; align-items: center; gap: 8px; background: #e4f0ff; border-radius: 12px; padding: 8px 10px; margin-bottom: 12px; text-align: left; } .q3_cb img { width: 64px; height: auto; flex: none; } .q3_cb p { margin: 0; font-size: 14px; font-weight: 800; line-height: 1.55; font-family: var(--soft); } .q3_cb b { font-size: 17px; }
.q3_tel { display: flex; flex-direction: column; align-items: center; text-decoration: none; background: #0B2A5B; color: #1E7BE0; border-radius: 999px; padding: 10px; } .q3_tel small { font-size: 11.5px; color: #fff; font-weight: 800; } .q3_tel b { font-size: clamp(24px, 7.5vw, 30px); font-weight: 900; font-family: var(--soft); }
@media (min-width: 900px) { .q3 { padding: 36px 20px 40px; } .q3_in { max-width: 640px; } }
.q3 [hidden] { display: none !important; }
/* 対応サービス一覧（各業種LPの相互リンク） */
.svcs{background:#eef6ff;padding:44px 16px}
.svcs_in{max-width:980px;margin:0 auto;text-align:center}
.svcs_en{margin:0;font-size:12px;letter-spacing:.2em;color:#0B4FA0;font-weight:700}
.svcs_h{margin:4px 0 6px;font-size:22px;color:#0B2A5B;font-family:var(--soft,inherit)}
.svcs_s{margin:0 0 18px;font-size:14px;color:#444}
.svcs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svcs li>a,.svcs li>span{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 10px;border-radius:14px;background:#fff;border:2px solid #1E7BE0;text-decoration:none;color:#0B2A5B;box-shadow:0 3px 0 #1565C0}
.svcs li b{font-size:16px}
.svcs li small{font-size:12px;color:#555}
.svcs li i{font-style:normal;margin-top:6px;font-size:13px;font-weight:700;color:#0B2A5B;background:#1E7BE0;border-radius:99px;padding:5px 8px}
.svcs li.on>span{background:#0B2A5B;color:#fff;border-color:#0B2A5B;box-shadow:none}
.svcs li.on small{color:#ddd}
.svcs li.on i{background:#fff;color:#0B2A5B}
@media (min-width:900px){.svcs ul{grid-template-columns:repeat(4,1fr)}.svcs_h{font-size:30px}}
/* 縦に長い画面でFVのあいだの帯が伸びすぎないよう、高さの上限（画像の縦横比＋少し） */
@media (max-width: 899px) { .fvsp.on { min-height: min(calc(100svh - var(--barh, 100px) - var(--cofh, 62px)), calc(min(100vw, 1024px) * var(--capr, 9))) !important; } }
/* 会社の写真（本社ビル・社内） */
.kzco_ph{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}
.kzco_ph figure{margin:0}
.kzco_ph img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.kzco_ph figcaption{margin-top:5px;font-size:12px;line-height:1.4;text-align:center;color:#555;white-space:nowrap}
@media (min-width:900px){.kzco_ph{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.kzco_ph figcaption{font-size:13px}}

/* 害獣：固定バーは白地（内山さん「青が濃すぎて分かりづらい。白でいい」）。電話ボタンは青地に白文字 */
.kzfix3 { background: #fff !important; box-shadow: 0 -4px 16px rgba(11,42,91,.18) !important; border-top: 3px solid #1E7BE0; }
.kzfix3 .fb3_rt { color: #0B2A5B !important; }
.kzfix3 .fb3_cd { border: 1px solid #d6e4f5; }
.kzfix3 .fb3_tel { background: linear-gradient(180deg, #4BA3F5, #1E7BE0 55%, #1565C0) !important; color: #fff !important; box-shadow: 0 4px 0 #0B4FA0 !important; }
.kzfix3 .fb3_ic { background: #fff !important; color: #1E7BE0 !important; }
.kzfix3 .fb3_chk { background: #fff !important; color: #0B2A5B !important; border: 2px solid #1E7BE0; box-shadow: 0 4px 0 #bcd6f2 !important; }
.kzfix3 .fb3_chk small { background: #1E7BE0 !important; color: #fff !important; }
