/* A型（桜ファクター型）害虫駆除LP：色は 緑・紺・青・オレンジ。画像ブロックを並べ、CTA・診断・Q&A・会社概要・固定バーは本物のHTML */
:root { --navy: #12284a; --blue: #1e63e6; --green: #2e9e5b; --og1: #ffa63d; --og2: #ea6208; }
body.kzi { background: #f3f9f6; }
.kzb_in { container-type: inline-size; position: relative; }
.kzb { background: #eef7f1; }
.kzb picture, .kzb img { display: block; width: 100%; height: auto; }
.kzb_in { max-width: 1024px; margin: 0 auto; }
@media (min-width: 900px) { .kzb_in { max-width: 1536px; } }
header.kzb_fv .kzb_in { max-width: min(1024px, max(300px, calc((100svh - 74px) * 1024 / 1536))); }
@media (min-width: 900px) { header.kzb_fv .kzb_in { max-width: 1536px; } }
.hs { position: absolute; display: block; z-index: 6; border-radius: 99px; }
.hs_pc { display: none; }
@media (min-width: 900px) { .hs_sp { display: none; } .hs_pc { display: block; } }
.kzb_worry, .kzb_reason, .kzb_price, .kzb_flow, .kzb_strength, .kzb_area { background: #f1f8f4; }

.cta3 { background: linear-gradient(180deg, #f4faf6, #e4f3ea); padding: 28px 16px 32px; }
.cta3_in { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.cta3_h { margin: 0 0 4px; text-align: center; font-size: clamp(17px, 5vw, 22px); font-weight: 800; color: var(--navy); font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; white-space: nowrap; }
.cta3_h b { color: var(--green); } .cta3_f { color: var(--green); margin-right: .3em; }
.cta3_b { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 68px; border-radius: 999px; background: linear-gradient(180deg, var(--og1) 0%, #f7791a 55%, var(--og2) 100%); box-shadow: 0 5px 0 #bf4f06, 0 8px 14px rgba(190,80,6,.25), inset 0 2px 0 rgba(255,255,255,.4); color: #fff; font-weight: 900; font-size: clamp(18px, 5.2vw, 23px); text-decoration: none; padding: 6px 40px; white-space: nowrap; }
.cta3_b small { font-size: .52em; font-weight: 800; color: #fff3e3; letter-spacing: .04em; }
.cta3_b i { position: absolute; right: 18px; top: 50%; transform: translateY(-52%); font-style: normal; font-size: 1.3em; }
.cta3_t { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 58px; border: 2px solid var(--navy); border-radius: 12px; background: #fff; color: var(--navy); text-decoration: none; white-space: nowrap; }
.cta3_t small { font-size: 11.5px; font-weight: 700; } .cta3_t b { font-size: clamp(20px, 6vw, 26px); font-weight: 900; line-height: 1.15; }
@media (min-width: 900px) { .cta3 { padding: 56px 20px 64px; } .cta3_in { max-width: 640px; } .cta3_h { font-size: 26px; } .cta3_b { min-height: 78px; font-size: 26px; } .cta3_t b { font-size: 28px; } }

.kzfix { display: flex !important; gap: 8px; align-items: stretch; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.94); backdrop-filter: blur(6px); border-top: 1px solid #dbe7df; box-shadow: 0 -4px 14px rgba(0,0,0,.12); }
.kzfix a { min-height: 0; padding: 0; text-decoration: none; }
.kzfix .kzfix_d { flex: 1 1 auto; min-width: 0; height: 54px; border-radius: 999px; background: linear-gradient(180deg, var(--og1) 0%, #f7791a 55%, var(--og2) 100%); box-shadow: 0 3px 0 #bf4f06, inset 0 2px 0 rgba(255,255,255,.4); border: 0; color: #fff; font-weight: 900; font-size: clamp(15px, 4.4vw, 18px); line-height: 1.15; justify-content: center; align-items: center; text-align: center; white-space: nowrap; }
.kzfix_d span { display: flex; flex-direction: column; align-items: center; }
.kzfix_d small { font-size: 10.5px; font-weight: 800; color: #fff3e3; }
.kzfix .kzfix_t { flex: 0 0 68px; height: 54px; flex-direction: column; justify-content: center; align-items: center; gap: 0; border: 2px solid var(--navy); border-radius: 12px; background: #fff; color: var(--navy); box-shadow: none; }
.kzfix_t svg { width: 22px; height: 22px; } .kzfix_t small { font-size: 10.5px; font-weight: 800; margin: 0; color: var(--navy); }
@media (min-width: 900px) { .kzfix { left: auto !important; right: 20px; bottom: 20px; width: 440px; border-radius: 18px; border: 1px solid #dbe7df; opacity: 0; pointer-events: none; transition: opacity .25s; } .kzfix.on { opacity: 1; pointer-events: auto; } }

.kzdiag { background: #eaf4ee; } .kzfaq { background: linear-gradient(#f5faf7, #e6f2ea); } .kzco { background: #fff; }
.kzfaq_h, .kzco_h, .dgx_head h2 { color: var(--navy); font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; }
.kzfaq_en, .kzco_en { color: var(--green); } .kzfaq_h .g, .kzco_h .g, .dgx_head h2 em { color: var(--green); }
.kzfaq .q { background: var(--blue); } .kzfaq .pm::before, .kzfaq .pm::after { background: var(--blue); }
.dgx_sec .dgx_open, .dgx_sec .dgx_send { background: linear-gradient(var(--og1), var(--og2)) !important; border-bottom-color: #bf4f06 !important; }
.kzft { background: var(--navy); }

.dgx_head h2, .dgx_head h2 em { white-space: nowrap; }
@media (max-width: 480px) { .dgx_head h2 { font-size: clamp(24px, 7.4vw, 30px); } }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.dgx_sec button, .dgx_sec a, .dgx_sec label, .dgx_opts button, .kzfix a, .cta3 a { touch-action: manipulation; }
.dgx_sec input, .dgx_sec select, .dgx_sec textarea { font-size: 16px; }

.cta3_tel { font-size: clamp(26px, 8vw, 34px); letter-spacing: .02em; } .cta3_tel small { font-size: 11px; letter-spacing: 0; }
.cta3_diag { min-height: 46px; border-width: 1.5px; } .cta3_diag b { font-size: 15px; font-weight: 800; }
.kzfix .kzfix_tel { height: 58px; flex: 1 1 100%; } .kzfix .kzfix_tel span { flex-direction: column; font-size: clamp(16px, 4.8vw, 20px); }
.kzfix_tel svg { width: 26px; height: 26px; margin-right: 8px; flex: none; } .kzfix_tel { gap: 0; }
.dgx_opts--pref button, .dgx_opts button { font-size: 16px; }

.cta3_top { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.cta3_m { flex: none; width: 34%; max-width: 150px; height: auto; filter: drop-shadow(0 3px 4px rgba(0,60,30,.18)); animation: masfloat 3.2s ease-in-out infinite; }
.cta3_m_point { width: 30%; } .cta3_m_thumb { width: 30%; }
.cta3_bub { position: relative; flex: 1 1 0; min-width: 0; background: #fff; border: 2px solid var(--green); border-radius: 16px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 3px 10px rgba(30,120,70,.12); }
.cta3_bub::before { content: ""; position: absolute; left: -9px; top: 50%; margin-top: -8px; border: 8px solid transparent; border-right-color: var(--green); border-left: 0; }
.cta3_bub b { font-size: clamp(16px, 4.8vw, 21px); font-weight: 900; color: var(--navy); line-height: 1.3; }
.cta3_bub span { font-size: clamp(12px, 3.5vw, 15px); font-weight: 700; color: #3a5a48; line-height: 1.5; } .cta3_bub em { font-style: normal; color: var(--green); font-weight: 900; }
@keyframes masfloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .cta3_m { animation: none; } }
@media (min-width: 900px) { .cta3_in { max-width: 760px; } .cta3_m { width: 200px; max-width: none; } .cta3_m_point, .cta3_m_thumb { width: 170px; } .cta3_bub b { font-size: 26px; } .cta3_bub span { font-size: 17px; } .cta3_top { gap: 14px; margin-bottom: 12px; } }

.cta3_bub b, .cta3_bub span { white-space: nowrap; }
.cta3_bub b { font-size: clamp(15px, 4.4vw, 21px); }
