/* 関東害虫駆除防除サービス LP（サクラ型・画像デザイン版）— 白・淡い水色・ミント・グリーン */
:root { --g: #12a150; --gd: #0f5a32; --ink: #1f2a24; --mint: #eaf7ee; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif; font-weight: 500; line-height: 1.5; color: var(--ink); background: #fff; overflow-x: hidden; }
img, svg { display: block; } a { color: inherit; text-decoration: none; }
p, h1, h2, h3, ul, ol, dl, dd { margin: 0; padding: 0; list-style: none; }
.ph { display: inline-block; }
.sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
main { display: block; }
/* 画像デザイン：幅いっぱいに並べ、押せる所だけ透明リンク */
.kzb { display: block; background: #f3faf5; }
.kzb_in { position: relative; max-width: 1024px; margin: 0 auto; line-height: 0; }
.kzb picture, .kzb img { display: block; width: 100%; height: auto; }
.kzb .hs { position: absolute; display: block; cursor: pointer; border-radius: 99px; -webkit-tap-highlight-color: rgba(18,161,80,.18); }
.kzb .hs_pc { display: none; }
.kz_note { margin: 0; padding: 6px 12px; text-align: center; font-size: 11px; line-height: 1.4; color: #5c6b62; background: #fff; }
/* Q&A（本物のアコーディオン） */
.kzfaq { background: linear-gradient(#f3faf5, #eaf7ee); padding: 34px 14px 40px; }
.kzfaq_in { max-width: 760px; margin: 0 auto; }
.kzfaq_en { text-align: center; font-size: 14px; color: var(--g); letter-spacing: .12em; }
.kzfaq_h { margin: 4px 0 22px; text-align: center; font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; font-size: 30px; font-weight: 800; color: var(--ink); line-height: 1.3; }
.kzfaq_h .g { color: var(--g); }
.kzfaq details { margin: 0 0 10px; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(15,90,50,.08); overflow: hidden; }
.kzfaq summary { display: flex; align-items: center; gap: 12px; padding: 14px; cursor: pointer; list-style: none; font-weight: 800; font-size: 16px; color: var(--ink); line-height: 1.45; }
.kzfaq summary::-webkit-details-marker { display: none; }
.kzfaq .q, .kzfaq .aa { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-style: normal; font-weight: 900; font-size: 17px; color: #fff; background: var(--g); }
.kzfaq .aa { background: #8fd5a8; color: var(--gd); }
.kzfaq summary span { flex: 1; }
.kzfaq .pm { flex: none; position: relative; width: 30px; height: 30px; border-radius: 50%; background: #e4f5ea; }
.kzfaq .pm::before, .kzfaq .pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 46%; height: 2px; margin: -1px 0 0 -23%; background: var(--g); border-radius: 2px; }
.kzfaq .pm::after { transform: rotate(90deg); }
.kzfaq details[open] .pm::after { display: none; }
.kzfaq .a { display: flex; gap: 12px; align-items: flex-start; margin: 0 12px 12px; padding: 12px; border-radius: 10px; background: #f1faf4; }
.kzfaq .a p { font-size: 14.5px; line-height: 1.75; color: #34413a; }
/* 診断 */
.kzdiag { background: #eaf7ee; }
.kzdiag .dgx_sec { background: transparent; }
/* フッター・固定バー */
.kzft { background: #0f3d26; color: #fff; padding: 30px 16px 96px; text-align: center; }
.kzft_n { font-size: 17px; font-weight: 800; } .kzft_s { margin-top: 6px; font-size: 12.5px; opacity: .85; }
.kzft nav { display: flex; justify-content: center; gap: 18px; margin: 14px 0 12px; font-size: 13px; } .kzft nav a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.kzft_c { font-size: 11.5px; opacity: .7; }
.kzfix { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; gap: 0; background: #fff; box-shadow: 0 -3px 14px rgba(15,90,50,.2); padding-bottom: env(safe-area-inset-bottom); }
.kzfix a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 6px; color: #fff; min-height: 58px; }
.kzfix_t { background: #0f8a43; } .kzfix_d { background: #12a150; }
.kzfix svg { width: 26px; height: 26px; fill: #fff; flex: none; }
.kzfix span { display: flex; flex-direction: column; line-height: 1.2; text-align: left; } .kzfix b { font-size: 15px; white-space: nowrap; } .kzfix small { font-size: 11px; opacity: .92; white-space: nowrap; }
@media (min-width: 900px) {
  .kzb_in { max-width: 1536px; } .kzb .hs_sp { display: none; } .kzb .hs_pc { display: block; }
  .kz_note { font-size: 13px; padding: 8px 20px; }
  .kzfaq { padding: 56px 20px 64px; } .kzfaq_in { max-width: 860px; } .kzfaq_en { font-size: 16px; } .kzfaq_h { font-size: 40px; margin-bottom: 30px; }
  .kzfaq details { margin-bottom: 14px; border-radius: 16px; } .kzfaq summary { gap: 16px; padding: 18px 22px; font-size: 20px; }
  .kzfaq .q, .kzfaq .aa { width: 40px; height: 40px; font-size: 20px; } .kzfaq .pm { width: 36px; height: 36px; }
  .kzfaq .a { gap: 16px; margin: 0 20px 18px; padding: 16px 18px; } .kzfaq .a p { font-size: 17px; }
  .kzft { padding: 40px 20px 44px; } .kzfix { display: none; }
}
.kzfaq summary span, .kzfaq .a p { line-break: strict; word-break: auto-phrase; text-wrap: pretty; }
.dgx_sec .dgx_q, .dgx_sec .dgx_head p, .dgx_sec .dgx_head h2, .dgx_sec .dgx_res p, .dgx_sec .dgx_opts button, .dgx_sec .dgx_callnote, .dgx_sec .dgx_form .s, .bz_steps span { line-break: strict; word-break: auto-phrase; text-wrap: balance; }

/* 会社概要（HTML） */
.kzco { background: #fff; padding: 34px 14px 40px; }
.kzco_in { max-width: 760px; margin: 0 auto; }
.kzco_en { text-align: center; font-size: 14px; color: var(--g); letter-spacing: .12em; }
.kzco_h { margin: 4px 0 20px; text-align: center; font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; font-size: 30px; font-weight: 800; color: var(--ink); }
.kzco_h .g { color: var(--g); }
.kzco_t { border: 1px solid #cfe9d8; border-radius: 14px; overflow: hidden; }
.kzco_t > div { display: grid; grid-template-columns: 7.2em 1fr; border-bottom: 1px solid #cfe9d8; }
.kzco_t > div:last-child { border-bottom: 0; }
.kzco_t dt { padding: 14px 12px; background: #eaf7ee; color: var(--gd); font-weight: 800; font-size: 15px; }
.kzco_t dd { padding: 14px 14px; font-size: 16px; line-height: 1.6; } .kzco_t dd small { font-size: 13.5px; color: #5c6b62; }
.kzco_t a { color: var(--gd); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.kzb_sponly { display: block; } @media (min-width: 900px) { .kzb_sponly { display: none; } .kzco { padding: 56px 20px 64px; } .kzco_h { font-size: 40px; margin-bottom: 28px; } .kzco_t dt { font-size: 18px; padding: 18px 20px; } .kzco_t dd { font-size: 20px; padding: 18px 22px; } .kzco_t dd small { font-size: 16px; } .kzco_en { font-size: 16px; } }

/* 色分け：診断＝オレンジ／電話＝グリーン／情報＝グリーン文字 */
.kzfix_d { background: linear-gradient(#ff9a2e, #f26a00); }
.kzfix_t { background: #0f8a43; }
.dgx_sec .dgx_open { background: linear-gradient(#ff9a2e, #f26a00) !important; border-bottom-color: #c95300 !important; color: #fff; }
.dgx_sec .dgx_send { background: linear-gradient(#ff9a2e, #f26a00) !important; border-bottom-color: #c95300 !important; color: #fff; }
.dgx_sec .dgx_alt .tel { background: linear-gradient(#17a152, #0f8a43) !important; }
.dgx_sec .dgx_open .o1, .dgx_sec .dgx_open .o2 { color: #fff; }
.kzdiag { background: #e7f4f4; } .kzdiag .dgx_sec { background: transparent; }
