/* Nezumi Directory — 業者詳細・一覧・絞り込み
   方針: 1カラム白カード / 明るい配色 / 大きめ文字と余白で視認性重視 */
:root {
  --nezumi-navy: #04384c;
  --nezumi-navy-2: #1c5a76;
  --nezumi-text: #333;
  --nezumi-muted: #6b7680;
  --nezumi-border: #d9dfe5;
  --nezumi-gray: #f4f6f8;
  --nezumi-page: #eef1f4;
  --nezumi-cream: #fdf7e8;
  --nezumi-orange: #ed6103;
  --nezumi-orange-soft: #f5a052;
  --nezumi-blue-th: #d6e7ee;
  --nezumi-bluebox: #eef5f8;
  --nezumi-open: #1f7a45; --nezumi-open-bg: #dff3e6;
  --nezumi-later: #9a5b00; --nezumi-later-bg: #fbe9cc;
  --nezumi-closed: #5f6b76; --nezumi-closed-bg: #e6eaee;
  --nezumi-tel: #e8590c; --nezumi-line: #06c755; --nezumi-star: #f5a300;
  --nezumi-cta: #1a9fd6; --nezumi-cta-2: #1477a6;
}
/* ---------- レイアウト（サイドバー無し・1カラム） ---------- */
.nezumi-page { background: var(--nezumi-page); }
.l-content:has(> .nezumi-main--nosidebar) { padding-top: 24px; }
.nezumi-main--nosidebar { width: 100%; max-width: 1000px; margin: 0 auto; float: none; }
.nezumi-main--nosidebar .l-mainContent__inner { background: #fff; border-top: 5px solid var(--nezumi-navy); border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,.06); padding: 28px 32px 36px; margin: 0 0 40px; }
.nezumi-content { font-size: 16px; line-height: 1.8; color: var(--nezumi-text); }
.nezumi-content > *:first-child { margin-top: 0; }
/* SWELL の post_content 既定スタイルを打ち消す */
.nezumi-content ul.nezumi-chips, .nezumi-content ul.nezumi-check-list, .nezumi-content ul.nezumi-pests, .nezumi-content ul.nezumi-card__strengths, .nezumi-content ul.nezumi-area-links, .nezumi-content .nezumi-pref-map ul, .nezumi-content .nezumi-secnav ul, .nezumi-content ol.nezumi-steps, .nezumi-content .nezumi-filter__chips { padding-left: 0; margin-left: 0; list-style: none; }
.nezumi-content .nezumi-section > h2::before, .nezumi-content .nezumi-section > h2::after, .nezumi-content .nezumi-section h3::before, .nezumi-content .nezumi-section h3::after { display: none; content: none; }
.nezumi-content .nezumi-table th, .nezumi-content .nezumi-hours-table th { background: var(--nezumi-blue-th); color: var(--nezumi-text); }
.nezumi-content .nezumi-table td, .nezumi-content .nezumi-hours-table td { background: #fff; }
.nezumi-content .nezumi-table tr.is-group td { background: var(--nezumi-gray); }
@media (max-width: 767px) { .l-content:has(> .nezumi-main--nosidebar) { padding-top: 12px; } .nezumi-main--nosidebar .l-mainContent__inner { padding: 18px 16px 24px; margin: 0 0 24px; border-radius: 0; } }

/* ---------- 詳細ページ: ヘッダー ---------- */
.nezumi-single__titlebar { padding-bottom: 16px; border-bottom: 1px solid var(--nezumi-border); margin-bottom: 20px; }
.nezumi-single__titlebar .nezumi-card__labels { margin-bottom: 8px; }
.nezumi-single__name { font-size: 28px; line-height: 1.35; margin: 0 0 4px; color: var(--nezumi-text); }
.nezumi-single__company { margin: 0 0 6px; font-size: 14px; color: var(--nezumi-muted); }
.nezumi-single__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 16px; }
.nezumi-single__rating a { color: var(--nezumi-navy-2); font-weight: 700; text-decoration: underline; }
.nezumi-single__hero { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 20px; }
.nezumi-single__logo { flex: 0 0 200px; width: 200px; aspect-ratio: 4 / 3; height: auto; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; display: grid; place-items: center; background: #fff; }
.nezumi-single__logo img { width: 100%; height: 100%; object-fit: cover; }
.nezumi-single__logo .nezumi-card__logo-ph { font-size: 48px; color: var(--nezumi-navy); }
.nezumi-single__hero-body { min-width: 0; flex: 1; }
.nezumi-single__catch { font-size: 20px; font-weight: 700; line-height: 1.5; margin: 0 0 10px; color: var(--nezumi-navy); }
.nezumi-single__desc { font-size: 15px; }
.nezumi-single__desc p { margin: 0 0 8px; }
/* 受付状況・到着・最低料金のタイル */
.nezumi-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 16px; }
.nezumi-tile { background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 6px; padding: 10px 14px; }
.nezumi-tile__k { display: block; font-size: 12px; font-weight: 700; color: var(--nezumi-muted); margin-bottom: 4px; letter-spacing: .04em; }
.nezumi-tile__v { display: block; font-size: 17px; font-weight: 700; color: var(--nezumi-text); line-height: 1.4; }
.nezumi-tile__v b { color: var(--nezumi-orange); font-size: 20px; }
.nezumi-tile__sub { display: block; font-size: 13px; font-weight: 400; color: var(--nezumi-text); margin-top: 4px; }
/* 電話バンド */
.nezumi-ctaband { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 6px; padding: 16px 22px; margin: 0 0 8px; }
.nezumi-ctaband__tel { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; text-decoration: none !important; color: var(--nezumi-text); }
.nezumi-ctaband__tag { display: inline-flex; align-items: center; gap: 6px; background: var(--nezumi-open); color: #fff; font-weight: 700; font-size: 14px; border-radius: 4px; padding: 6px 12px; white-space: nowrap; }
.nezumi-ctaband__tag svg { width: 15px; height: 15px; fill: currentColor; }
.nezumi-ctaband__num { font-size: 38px; font-weight: 700; line-height: 1; letter-spacing: .01em; color: var(--nezumi-navy); font-variant-numeric: tabular-nums; }
.nezumi-ctaband__note { flex-basis: 100%; font-size: 13px; color: var(--nezumi-muted); margin: 0; }
.nezumi-ctaband__note .nezumi-open-badge { vertical-align: middle; margin-right: 6px; }
.nezumi-ctaband .nezumi-btn--line, .nezumi-ctaband .nezumi-btn--site { min-width: 240px; font-size: 17px; padding: 14px 22px; }
@media (max-width: 767px) {
  .nezumi-single__name { font-size: 22px; }
  .nezumi-single__hero { flex-direction: column; gap: 12px; }
  .nezumi-single__logo { width: 100%; flex-basis: auto; max-width: 320px; }
  .nezumi-single__catch { font-size: 18px; }
  .nezumi-tiles { grid-template-columns: 1fr; gap: 6px; }
  .nezumi-tile { display: flex; align-items: baseline; gap: 12px; padding: 8px 12px; }
  .nezumi-tile__k { flex: 0 0 68px; margin: 0; }
  .nezumi-ctaband { padding: 14px; }
  .nezumi-ctaband__num { font-size: 30px; }
  .nezumi-ctaband .nezumi-btn--line, .nezumi-ctaband .nezumi-btn--site { width: 100%; }
}
/* ---------- セクションナビ ---------- */
.nezumi-secnav ul { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; padding: 0; margin: 20px 0 28px; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; background: #fff; }
.nezumi-secnav li { border-right: 1px solid var(--nezumi-border); border-bottom: 1px solid var(--nezumi-border); }
.nezumi-secnav li:nth-child(5n) { border-right: 0; }
.nezumi-secnav li:nth-last-child(-n+5) { border-bottom: 0; }
.nezumi-secnav a { display: block; text-align: center; padding: 12px 6px 22px; font-size: 14px; font-weight: 700; color: var(--nezumi-text); text-decoration: none; position: relative; background: #fff; border: 0; border-radius: 0; }
.nezumi-secnav a::after { content: ""; position: absolute; left: 50%; bottom: 8px; width: 8px; height: 8px; border-right: 2px solid var(--nezumi-orange-soft); border-bottom: 2px solid var(--nezumi-orange-soft); transform: translateX(-50%) rotate(45deg); }
.nezumi-secnav a:hover { background: var(--nezumi-cream); color: var(--nezumi-navy); }
@media (max-width: 767px) { .nezumi-secnav ul { grid-template-columns: repeat(2, 1fr); } .nezumi-secnav li:nth-child(5n) { border-right: 1px solid var(--nezumi-border); } .nezumi-secnav li:nth-child(2n) { border-right: 0; } .nezumi-secnav li:nth-last-child(-n+5) { border-bottom: 1px solid var(--nezumi-border); } .nezumi-secnav li:nth-last-child(-n+2) { border-bottom: 0; } .nezumi-secnav a { padding: 10px 4px 20px; font-size: 13px; } }

/* ---------- セクション ---------- */
.nezumi-section { margin: 40px 0; scroll-margin-top: 80px; }
.nezumi-content .nezumi-section > h2, .nezumi-content h2.nezumi-h2 { background: var(--nezumi-cream); border-left: 6px solid var(--nezumi-orange-soft); border-bottom: 0; padding: 10px 14px; margin: 0 0 18px; font-size: 20px; line-height: 1.4; color: var(--nezumi-text); border-radius: 0 4px 4px 0; }
.nezumi-content .nezumi-section h3 { font-size: 17px; margin: 22px 0 10px; padding: 0 0 6px; border-bottom: 2px dotted var(--nezumi-border); color: var(--nezumi-navy); background: none; }
.nezumi-content .nezumi-section h3:first-of-type { margin-top: 0; }
.nezumi-section > p { font-size: 16px; }
.nezumi-note { font-size: 13px; color: var(--nezumi-muted); margin: 8px 0; }
.nezumi-single__summary { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 15px; margin: 6px 0 12px; }
/* テーブル */
.nezumi-table-wrap, .nezumi-hours-table-wrap { overflow-x: auto; }
.nezumi-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 520px; }
.nezumi-table th, .nezumi-table td { border: 1px solid var(--nezumi-border); padding: 11px 12px; text-align: left; vertical-align: top; line-height: 1.6; }
.nezumi-table th { background: var(--nezumi-blue-th); font-weight: 700; white-space: nowrap; text-align: center; }
.nezumi-table td.is-price { font-weight: 700; color: var(--nezumi-orange); white-space: nowrap; font-size: 17px; font-variant-numeric: tabular-nums; }
.nezumi-table tr.is-group td { background: var(--nezumi-gray); font-weight: 700; font-size: 13px; letter-spacing: .04em; color: var(--nezumi-navy); }
.nezumi-price-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 8px 0 12px; }
.nezumi-price-grid > div { background: #fff; border: 1px solid var(--nezumi-border); border-top: 3px solid var(--nezumi-blue-th); border-radius: 6px; padding: 12px 10px; text-align: center; }
.nezumi-price-grid b { display: block; font-size: 24px; line-height: 1.2; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-price-grid span { display: block; font-size: 13px; font-weight: 700; color: var(--nezumi-text); margin-bottom: 4px; }
/* 定義リスト */
.nezumi-dl { display: grid; grid-template-columns: 200px 1fr; gap: 0; border-top: 1px solid var(--nezumi-border); font-size: 15px; }
.nezumi-dl dt, .nezumi-dl dd { padding: 11px 14px; border-bottom: 1px solid var(--nezumi-border); margin: 0; line-height: 1.6; }
.nezumi-dl dt { background: var(--nezumi-gray); font-weight: 700; text-align: center; }
.nezumi-dl dd small { color: var(--nezumi-muted); font-size: 13px; }
@media (max-width: 599px) { .nezumi-dl { grid-template-columns: 1fr; } .nezumi-dl dt { border-bottom: 0; padding: 7px 12px; text-align: left; font-size: 13px; } .nezumi-dl dd { padding-top: 6px; } }
/* チェックリスト */
.nezumi-check-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px 12px; }
.nezumi-check-list li { padding-left: 1.7em; position: relative; font-size: 15px; line-height: 1.6; }
.nezumi-check-list li::before { content: "✓"; position: absolute; left: 0; top: .1em; width: 1.25em; height: 1.25em; border-radius: 50%; background: var(--nezumi-open); color: #fff; font-size: .85em; font-weight: 700; display: grid; place-items: center; }
.nezumi-check-list li.is-off { color: #9aa3ab; } .nezumi-check-list li.is-off::before { content: "－"; background: #e3e7eb; color: #9aa3ab; }
/* 選ばれる理由 */
.nezumi-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 16px; }
.nezumi-fact { background: var(--nezumi-bluebox); border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 14px 12px; text-align: center; }
.nezumi-fact__v { display: block; font-size: 26px; font-weight: 700; line-height: 1.1; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-fact__k { display: block; font-size: 12px; font-weight: 700; color: var(--nezumi-muted); margin-top: 6px; }
.nezumi-strengths { list-style: none; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.nezumi-strengths li { position: relative; padding: 8px 12px 8px 34px; background: var(--nezumi-open-bg); border-radius: 6px; font-size: 14px; font-weight: 700; color: var(--nezumi-text); }
.nezumi-strengths li::before { content: "✓"; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; background: var(--nezumi-open); color: #fff; font-size: 12px; display: grid; place-items: center; }
.nezumi-reasons { display: grid; gap: 12px; }
.nezumi-reason { display: flex; gap: 14px; border: 1px solid var(--nezumi-border); border-left: 4px solid var(--nezumi-orange); border-radius: 8px; padding: 16px; background: #fff; }
.nezumi-reason__no { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--nezumi-orange); color: #fff; font-size: 17px; font-weight: 700; display: grid; place-items: center; font-variant-numeric: tabular-nums; }
.nezumi-reason__body { min-width: 0; }
.nezumi-reason__body h3 { margin: 3px 0 6px; padding: 0; border: 0; font-size: 16px; color: var(--nezumi-navy); background: none; }
.nezumi-reason__body p { margin: 0; font-size: 14px; line-height: 1.8; }
.nezumi-staff { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.nezumi-staff > div { border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 16px; text-align: center; background: var(--nezumi-bluebox); }
.nezumi-staff img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; margin: 0 auto 8px; border: 3px solid #fff; }
.nezumi-staff__role { font-size: 12px; color: var(--nezumi-muted); }
.nezumi-staff__name { font-weight: 700; font-size: 17px; }
.nezumi-staff__career { font-size: 12px; color: var(--nezumi-muted); margin: 4px 0; }
.nezumi-staff__msg { font-size: 14px; text-align: left; margin: 10px 0 0; background: #fff; border-radius: 6px; padding: 10px 12px; }
/* 口コミ */
.nezumi-review-summary { display: flex; align-items: center; gap: 16px; border-top: 1px dotted var(--nezumi-border); border-bottom: 1px dotted var(--nezumi-border); padding: 12px 8px; margin-bottom: 16px; font-size: 16px; }
.nezumi-review-summary b { font-size: 34px; line-height: 1; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-review-summary small { font-size: 14px; color: var(--nezumi-text); }
.nezumi-reviews { display: grid; gap: 14px; }
.nezumi-review { border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 0; background: #fff; overflow: hidden; }
.nezumi-review__head { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; background: var(--nezumi-gray); padding: 10px 16px; border-bottom: 1px solid var(--nezumi-border); }
.nezumi-review__head .nezumi-stars { font-size: 18px; }
.nezumi-review__who { font-size: 13px; color: var(--nezumi-muted); }
.nezumi-review__title { margin: 12px 16px 4px; font-size: 16px; }
.nezumi-review__body { margin: 8px 16px 12px; font-size: 15px; }
.nezumi-review__meta, .nezumi-review__source { font-size: 13px; color: var(--nezumi-muted); margin: 0 16px 12px; text-align: right; }
/* 施工事例 */
.nezumi-cases { display: grid; gap: 20px; }
.nezumi-case { background: #fff; border: 1px solid var(--nezumi-border); border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.nezumi-case__head { display: flex; align-items: center; gap: 10px; background: var(--nezumi-cream); border-bottom: 1px solid var(--nezumi-border); padding: 12px 16px; }
.nezumi-case__no { flex: 0 0 auto; background: var(--nezumi-orange); color: #fff; font-size: 12px; font-weight: 700; border-radius: 4px; padding: 3px 10px; }
.nezumi-case__title { margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.5; color: var(--nezumi-text); background: none; }
.nezumi-case__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 16px 0; }
.nezumi-case__photos figure { position: relative; margin: 0; }
.nezumi-case__photos img { width: 100%; height: 180px; object-fit: cover; border-radius: 6px; border: 1px solid var(--nezumi-border); }
.nezumi-case__ba { position: absolute; top: 8px; left: 8px; color: #fff; font-size: 12px; font-weight: 700; padding: 2px 10px; border-radius: 4px; }
.nezumi-case__ba--before { background: #5f6b76; }
.nezumi-case__ba--after { background: var(--nezumi-open); }
.nezumi-case__price { display: flex; align-items: baseline; gap: 10px; margin: 16px 16px 0; padding: 10px 14px; background: var(--nezumi-gray); border-radius: 6px; }
.nezumi-case__price-k { font-size: 13px; font-weight: 700; color: var(--nezumi-muted); }
.nezumi-case__price-v { font-size: 22px; font-weight: 700; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-case__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; margin: 16px; font-size: 14px; }
.nezumi-case__specs > div { display: flex; border-top: 1px solid var(--nezumi-border); }
.nezumi-case__specs > div:nth-child(-n+2) { border-top: 0; }
.nezumi-case__specs > div:nth-child(odd) { border-right: 1px solid var(--nezumi-border); }
.nezumi-case__specs dt { flex: 0 0 40%; background: var(--nezumi-gray); padding: 8px 10px; margin: 0; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-case__specs dd { flex: 1; padding: 8px 10px; margin: 0; }
.nezumi-case__body { margin: 0 16px 16px; font-size: 15px; line-height: 1.9; }
@media (max-width: 599px) {
  .nezumi-case__specs { grid-template-columns: 1fr; }
  .nezumi-case__specs > div:nth-child(2) { border-top: 1px solid var(--nezumi-border); }
  .nezumi-case__specs > div:nth-child(odd) { border-right: 0; }
  .nezumi-case__photos img { height: 150px; }
}
.nezumi-faq details { border: 1px solid var(--nezumi-border); border-radius: 6px; padding: 0; margin-bottom: 10px; background: #fff; }
.nezumi-faq summary { font-weight: 700; cursor: pointer; padding: 12px 16px 12px 46px; position: relative; font-size: 15px; list-style: none; }
.nezumi-faq summary::-webkit-details-marker { display: none; }
.nezumi-faq summary::before { content: "Q"; position: absolute; left: 12px; top: 10px; width: 26px; height: 26px; border-radius: 50%; background: var(--nezumi-navy); color: #fff; font-size: 14px; display: grid; place-items: center; }
.nezumi-faq summary::after { content: "+"; position: absolute; right: 14px; top: 8px; font-size: 22px; color: var(--nezumi-muted); }
.nezumi-faq details[open] summary::after { content: "−"; }
.nezumi-faq p { margin: 0; padding: 12px 16px 14px 46px; font-size: 15px; border-top: 1px dotted var(--nezumi-border); position: relative; background: var(--nezumi-cream); }
.nezumi-faq p::before { content: "A"; position: absolute; left: 12px; top: 11px; width: 26px; height: 26px; border-radius: 50%; background: var(--nezumi-orange-soft); color: #fff; font-size: 14px; font-weight: 700; display: grid; place-items: center; }
/* エリア */
.nezumi-area-group { display: grid; grid-template-columns: 200px 1fr; border: 1px solid var(--nezumi-border); border-bottom: 0; }
.nezumi-area-group:last-of-type { border-bottom: 1px solid var(--nezumi-border); }
.nezumi-area-group h4 { margin: 0; padding: 11px 14px; font-size: 15px; background: var(--nezumi-gray); text-align: center; }
.nezumi-area-group h4 a { color: var(--nezumi-text); text-decoration: none; }
.nezumi-area-group h4 small { display: block; font-size: 12px; color: var(--nezumi-open); font-weight: 700; }
.nezumi-area-group p { font-size: 15px; margin: 0; padding: 11px 14px; line-height: 1.9; }
.nezumi-area-group p a { color: var(--nezumi-navy-2); }
.nezumi-area-group:has(> h4:only-child) h4 { grid-column: 1 / -1; text-align: left; }
@media (max-width: 599px) { .nezumi-area-group { grid-template-columns: 1fr; } .nezumi-area-group h4 { text-align: left; padding: 8px 12px; } }
.nezumi-area-links, .nezumi-pref-map ul { list-style: none; padding: 0; margin: 8px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nezumi-area-links a, .nezumi-pref-map a { display: inline-flex; gap: 4px; align-items: center; border: 1px solid var(--nezumi-border); border-radius: 4px; padding: 5px 12px; font-size: 14px; text-decoration: none; color: var(--nezumi-navy-2); background: #fff; }
.nezumi-area-links a span, .nezumi-pref-map a span { font-size: 12px; color: var(--nezumi-muted); }
.nezumi-pref-map a.is-empty { color: #9aa3ab; }
.nezumi-pref-map__region { margin-bottom: 12px; }
.nezumi-pref-map__region h3 { font-size: 15px; margin: 0 0 6px; }
/* 受付時間表 */
.nezumi-hours-table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: center; min-width: 560px; }
.nezumi-hours-table th, .nezumi-hours-table td { border: 1px solid var(--nezumi-border); padding: 9px 4px; }
.nezumi-hours-table th { background: var(--nezumi-blue-th); }
.nezumi-hours-table th.is-sat { color: #1a5fb4; } .nezumi-hours-table th.is-sun, .nezumi-hours-table th.is-hol { color: #c9302c; }
.nezumi-hours-table td.is-closed { color: #9aa3ab; }
.nezumi-hours-table .is-today { background: var(--nezumi-cream); font-weight: 700; }
.nezumi-hours-note { font-size: 14px; margin: 8px 0; }
.nezumi-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 16px 0 0; }
.nezumi-photos img { width: 100%; height: 130px; object-fit: cover; border-radius: 6px; }
.nezumi-empty { background: var(--nezumi-gray); border-radius: 8px; padding: 24px; text-align: center; font-size: 15px; }
ol.nezumi-steps { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; counter-reset: nezumi-step; }
ol.nezumi-steps li { border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 14px 14px 16px; text-align: center; font-size: 14px; background: #fff; }
ol.nezumi-steps li::before { counter-increment: nezumi-step; content: "ステップ" counter(nezumi-step); display: block; background: var(--nezumi-orange-soft); color: #fff; font-weight: 700; border-radius: 999px; padding: 3px 0; margin-bottom: 10px; }
@media (max-width: 599px) { ol.nezumi-steps { grid-template-columns: 1fr; } }

/* ---------- ラベル・バッジ・チップ ---------- */
.nezumi-label { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 3px; line-height: 1.5; }
.nezumi-label--cert { background: var(--nezumi-navy); color: #fff; }
.nezumi-label--badge { background: #fff1dc; color: #8a4b00; border: 1px solid #f0c07a; }
.nezumi-open-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; padding: 3px 12px; border-radius: 999px; background: var(--nezumi-closed-bg); color: var(--nezumi-closed); line-height: 1.5; }
.nezumi-open-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.nezumi-open-badge.is-open { background: var(--nezumi-open-bg); color: var(--nezumi-open); }
.nezumi-open-badge.is-open .nezumi-open-badge__dot { animation: nezumi-pulse 1.6s infinite; }
.nezumi-open-badge.is-later { background: var(--nezumi-later-bg); color: var(--nezumi-later); }
.nezumi-open-badge.is-closed { background: var(--nezumi-closed-bg); color: var(--nezumi-closed); }
.nezumi-open-badge--lg { font-size: 15px; padding: 5px 14px; }
@keyframes nezumi-pulse { 0%,100% { opacity: 1 } 50% { opacity: .35 } }
@media (prefers-reduced-motion: reduce) { .nezumi-open-badge.is-open .nezumi-open-badge__dot { animation: none } }
.nezumi-stars { position: relative; display: inline-block; font-size: 19px; line-height: 1; letter-spacing: 1px; color: #d5d9dd; vertical-align: middle; }
.nezumi-stars__fg { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: var(--nezumi-star); }
.nezumi-stars__num { font-weight: 700; margin-left: 8px; color: var(--nezumi-text); font-size: 18px; font-variant-numeric: tabular-nums; }
.nezumi-stars__count { font-size: 14px; color: var(--nezumi-muted); margin-left: 4px; }
.nezumi-stars--none { font-size: 13px; color: var(--nezumi-muted); }
.nezumi-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 10px 0 0; }
.nezumi-chip { display: inline-flex; align-items: center; gap: 4px; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 4px; padding: 3px 10px; font-size: 13px; font-weight: 700; color: var(--nezumi-navy-2); cursor: default; }
.nezumi-chip.is-same-day, .nezumi-chip.is-24h, .nezumi-chip.is-guarantee { background: #fff1dc; border-color: #f0c07a; color: #8a4b00; }
.nezumi-pests { display: inline-flex; flex-wrap: wrap; gap: 4px; list-style: none; padding: 0; margin: 0; }
.nezumi-pests a { display: inline-block; border: 1px solid var(--nezumi-navy-2); color: var(--nezumi-navy-2); border-radius: 3px; padding: 0 8px; font-size: 12px; text-decoration: none; }

/* ---------- CTA ボタン ---------- */
.nezumi-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.nezumi-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; text-decoration: none !important; border-radius: 999px; padding: 12px 16px; font-weight: 700; line-height: 1.3; color: #fff !important; transition: opacity .15s, transform .1s; box-shadow: 0 2px 0 rgba(0,0,0,.12); font-size: 16px; }
.nezumi-btn:hover { opacity: .9; transform: translateY(1px); box-shadow: none; }
.nezumi-btn--tel { background: linear-gradient(#f4762a, var(--nezumi-tel)); grid-column: 1 / -1; }
.nezumi-btn--tel .nezumi-btn__sub { font-size: 22px; font-variant-numeric: tabular-nums; }
.nezumi-btn--tel .nezumi-btn__label { font-size: 13px; opacity: .95; }
.nezumi-btn--line { background: var(--nezumi-line); }
.nezumi-btn--site { background: linear-gradient(#9ccc65, #7cb342); }
.nezumi-btn--detail { grid-column: 1 / -1; position: relative; flex-direction: row; background: #fff; color: var(--nezumi-cta-2) !important; border: 2px solid var(--nezumi-cta-2); border-radius: 10px; padding: 16px 44px 16px 20px; font-size: 17px; box-shadow: none; }
.nezumi-btn--detail::after { content: ""; position: absolute; right: 18px; top: 50%; width: 10px; height: 10px; border-top: 3px solid var(--nezumi-cta-2); border-right: 3px solid var(--nezumi-cta-2); transform: translateY(-50%) rotate(45deg); }
.nezumi-btn--detail:hover { opacity: 1; transform: none; background: var(--nezumi-bluebox); }
.nezumi-section .nezumi-cta { max-width: 640px; margin: 20px auto 0; }
.nezumi-cta--sticky { margin-top: 24px; }
@media (max-width: 959px) {
  .nezumi-cta--sticky { position: sticky; bottom: 0; background: rgba(255,255,255,.96); padding: 8px 0; border-top: 1px solid var(--nezumi-border); z-index: 5; margin-left: -16px; margin-right: -16px; padding-left: 12px; padding-right: 12px; }
  .nezumi-cta--sticky .nezumi-cta { grid-template-columns: 2fr 1fr; gap: 6px; margin-top: 0; }
  .nezumi-cta--sticky .nezumi-btn { border-radius: 8px; box-shadow: none; }
  .nezumi-cta--sticky .nezumi-btn--tel { grid-column: auto; padding: 6px 10px; }
  .nezumi-cta--sticky .nezumi-btn--tel .nezumi-btn__sub { font-size: 17px; }
  .nezumi-cta--sticky .nezumi-btn--tel .nezumi-btn__label { font-size: 11px; }
  .nezumi-cta--sticky .nezumi-btn--line, .nezumi-cta--sticky .nezumi-btn--site { padding: 6px 10px; font-size: 14px; }
}

/* ---------- 一覧カード ---------- */
.nezumi-intro { font-size: 15px; }
.nezumi-count { font-size: 15px; color: var(--nezumi-muted); margin: 0 0 10px; }
.nezumi-count b { color: var(--nezumi-orange); font-size: 20px; }
.nezumi-list { display: grid; gap: 22px; margin: 16px 0 32px; }
.nezumi-card { position: relative; background: #fff; border: 1px solid var(--nezumi-border); border-top: 4px solid var(--nezumi-navy); border-radius: 8px; padding: 22px 22px 18px; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.nezumi-card__rank { position: absolute; top: -14px; left: 16px; background: var(--nezumi-orange); color: #fff; font-weight: 700; font-size: 14px; padding: 3px 14px; border-radius: 999px; }
.nezumi-card__pr { position: absolute; top: 6px; right: 8px; font-size: 10px; line-height: 1; padding: 3px 5px; border: 1px solid #c8c8c8; border-radius: 3px; color: #888; background: #fff; letter-spacing: .06em; font-weight: 500; pointer-events: none; }
.nezumi-card__head { display: flex; gap: 16px; align-items: flex-start; }
.nezumi-card__logo { flex: 0 0 128px; width: 128px; height: 128px; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; display: grid; place-items: center; background: #fff; }
.nezumi-card__logo img { width: 100%; height: 100%; object-fit: contain; }
.nezumi-card__logo-ph { font-size: 44px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-card__title { min-width: 0; flex: 1; }
.nezumi-card__labels { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; align-items: center; }
.nezumi-card__namerow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 6px; }
.nezumi-card__namerow .nezumi-hours-badge { flex: 0 0 auto; }
.nezumi-card__name, .nezumi-content .nezumi-section h3.nezumi-card__name { font-size: 28px; font-weight: 700; margin: 0; line-height: 1.4; }
.nezumi-card__name a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.nezumi-card__name a:hover { color: #1e3a8a; }
.nezumi-card__catch { margin: 14px 0 8px; font-weight: 700; font-size: 19px; color: var(--nezumi-text); }
.nezumi-card__prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 12px 0; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; }
.nezumi-card__price { display: flex; align-items: stretch; background: #fff; border-left: 1px solid var(--nezumi-border); }
.nezumi-card__price:first-child { border-left: 0; }
.nezumi-card__price-name { display: flex; align-items: center; flex: 0 0 108px; padding: 10px 10px; justify-content: center; background: var(--nezumi-gray); border-right: 1px solid var(--nezumi-border); font-size: 14px; font-weight: 700; color: var(--nezumi-text); }
.nezumi-card__price-val { display: flex; align-items: center; flex: 1; padding: 10px 12px; font-size: 18px; font-weight: 700; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-card__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0; font-size: 14px; }
.nezumi-card__meta > div { display: flex; gap: 6px; align-items: center; }
.nezumi-card__meta dt { background: var(--nezumi-blue-th); border-radius: 3px; padding: 0 8px; font-size: 12px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-card__meta dd { margin: 0; }
.nezumi-card__strengths { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-direction: column; gap: 4px; font-size: 17px; line-height: 1.5; }
.nezumi-card__strengths li::before { content: "✓ "; color: var(--nezumi-open); font-weight: 700; }
@media (max-width: 599px) { .nezumi-card { padding: 18px 14px 14px; } .nezumi-card__head { flex-direction: column; gap: 12px; } .nezumi-card__logo { flex-basis: auto; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 8px; background: var(--nezumi-gray); } .nezumi-card__logo img { object-fit: contain; padding: 8px; } .nezumi-card__logo-ph { font-size: 56px; } .nezumi-card__prices { grid-template-columns: 1fr; } .nezumi-card__price { border-left: 0; border-top: 1px solid var(--nezumi-border); } .nezumi-card__price:first-child { border-top: 0; } .nezumi-card__price-val { font-size: 17px; } .nezumi-card__name, .nezumi-content .nezumi-section h3.nezumi-card__name { font-size: 24px; } .nezumi-card__catch { font-size: 17px; } .nezumi-card__strengths { font-size: 16px; } }

/* ---------- 絞り込み ---------- */
.nezumi-filter { background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 16px 18px; margin: 12px 0 24px; display: grid; gap: 10px; }
.nezumi-filter__row { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.nezumi-filter__label { font-size: 13px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-filter select { padding: 7px 12px; border: 1px solid var(--nezumi-border); border-radius: 4px; background: #fff; font-size: 15px; }
.nezumi-filter__more summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--nezumi-navy-2); }
.nezumi-filter__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.nezumi-filter__chips .nezumi-chip { cursor: pointer; background: #fff; font-weight: 400; color: var(--nezumi-text); }
.nezumi-filter__chips .nezumi-chip input { margin: 0; }
.nezumi-filter__chips .nezumi-chip.is-on { background: #fff1dc; border-color: var(--nezumi-orange-soft); }
.nezumi-chip--open { cursor: pointer; background: #fff; font-weight: 400; color: var(--nezumi-text); }
.nezumi-chip--open input { margin: 0; }
.nezumi-chip--open .nezumi-open-badge__dot { background: var(--nezumi-open); }
.nezumi-filter__submit { margin-left: auto; background: linear-gradient(var(--nezumi-cta), var(--nezumi-cta-2)); color: #fff; border: 0; border-radius: 999px; padding: 9px 24px; font-weight: 700; font-size: 15px; cursor: pointer; }

/* ---------- SWELL 打ち消し（追加分） ---------- */
.nezumi-content .nezumi-review__title, .nezumi-content .nezumi-area-group h4, .nezumi-content .nezumi-case h3, .nezumi-content .nezumi-pref-map__region h3 { border: 0; padding: 0; background: none; }
.nezumi-content .nezumi-review__title::before, .nezumi-content .nezumi-review__title::after, .nezumi-content .nezumi-area-group h4::before, .nezumi-content .nezumi-area-group h4::after { display: none; content: none; }
.nezumi-content .nezumi-review__title { margin: 12px 16px 4px; font-size: 16px; }
.nezumi-content .nezumi-area-group h4 { margin: 0; padding: 11px 14px; }
.nezumi-content .nezumi-reason__body h3 { margin: 3px 0 6px; padding: 0; border: 0; font-size: 16px; line-height: 1.6; }
.nezumi-content .nezumi-reason__body h3:only-child { margin: 0; }
.nezumi-reason__body:has(> h3:only-child) { align-self: center; }
.nezumi-content .nezumi-reason-lead { margin: 0 0 16px; font-size: 15px; line-height: 1.9; }
.nezumi-content .nezumi-case h3 { margin: 0 0 10px; }
.nezumi-content .nezumi-hours-table th, .nezumi-content .nezumi-hours-table td { text-align: center; }
.nezumi-content .nezumi-section .nezumi-cta, .nezumi-content .nezumi-cta--sticky .nezumi-cta { grid-template-columns: 3fr 2fr; }
.nezumi-content .nezumi-section .nezumi-cta .nezumi-btn--tel, .nezumi-content .nezumi-cta--sticky .nezumi-cta .nezumi-btn--tel { grid-column: auto; }
.nezumi-content .nezumi-section .nezumi-cta .nezumi-btn--tel:only-child, .nezumi-content .nezumi-cta--sticky .nezumi-cta .nezumi-btn--tel:only-child { grid-column: 1 / -1; }
.nezumi-content .nezumi-cta--sticky .nezumi-cta { max-width: 640px; margin: 0 auto; }
@media (max-width: 959px) { .nezumi-content .nezumi-cta--sticky .nezumi-cta { grid-template-columns: 2fr 1fr; } }

/* スマホ: SWELL のページトップボタンを固定CTAの上へ逃がす／チェックリスト2列 */
@media (max-width: 959px) {
  .nezumi-page .p-fixBtnWrap { bottom: 84px !important; }
  .nezumi-content .nezumi-check-list { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px 8px; }
  .nezumi-content .nezumi-check-list li { font-size: 14px; }
}

/* ============================================================
 * 都道府県ページ（業者の親ページ）
 * ============================================================ */
.nezumi-pref__hero { margin-bottom: 28px; }
.nezumi-pref__title { font-size: 28px; line-height: 1.4; margin: 0 0 12px; color: var(--nezumi-text); }
.nezumi-pref__ttl-name { color: var(--nezumi-orange); }
.nezumi-pref__lead { font-size: 16px; line-height: 1.9; margin: 0 0 18px; }
.nezumi-pref__lead b { color: var(--nezumi-navy); }
.nezumi-pref__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.nezumi-pref__card { position: relative; display: block; border-radius: 8px; padding: 20px 48px 20px 22px; text-decoration: none !important; color: #fff !important; box-shadow: 0 2px 0 rgba(0,0,0,.12); transition: opacity .15s, transform .1s; }
.nezumi-pref__card:hover { opacity: .92; transform: translateY(1px); box-shadow: none; }
.nezumi-pref__card--list { background: linear-gradient(135deg, #f4762a, var(--nezumi-orange)); }
.nezumi-pref__card--consult { background: linear-gradient(135deg, var(--nezumi-navy-2), var(--nezumi-navy)); }
.nezumi-pref__card-sub { display: block; font-size: 13px; opacity: .95; margin-bottom: 4px; }
.nezumi-pref__card-sub b { font-size: 20px; margin: 0 2px; }
.nezumi-pref__card-main { display: block; font-size: 21px; font-weight: 700; line-height: 1.35; }
.nezumi-pref__card-arrow { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 20px; }
.nezumi-pref__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; background: var(--nezumi-bluebox); border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 14px 18px; }
.nezumi-pref__rating-score { display: flex; align-items: center; gap: 10px; }
.nezumi-pref__rating-score b { font-size: 34px; line-height: 1; color: var(--nezumi-orange); font-variant-numeric: tabular-nums; }
.nezumi-pref__rating-note { flex: 1; min-width: 240px; font-size: 13px; color: var(--nezumi-muted); margin: 0; }
@media (max-width: 767px) {
	.nezumi-pref__title { font-size: 22px; }
	.nezumi-pref__cards { grid-template-columns: 1fr; gap: 10px; }
	.nezumi-pref__card { padding: 16px 44px 16px 18px; }
	.nezumi-pref__card-main { font-size: 18px; }
}
/* エリア口コミの業者名リンク */
.nezumi-review__shop { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--nezumi-navy-2); text-decoration: underline; }
/* 都道府県の解説（SEOテキスト） */
.nezumi-about__block { margin-bottom: 18px; }
.nezumi-about__block:last-child { margin-bottom: 0; }
.nezumi-about__block h3 { font-size: 16px; margin: 0 0 6px; padding: 0 0 6px; border-bottom: 2px dotted var(--nezumi-border); color: var(--nezumi-navy); }
.nezumi-about__block p { font-size: 15px; line-height: 1.9; margin: 0; }

/* 料金表（詳細ページ）は横スクロールなしで折り返して収める */
.nezumi-table-wrap--noscroll { overflow-x: visible; }
.nezumi-table--price { min-width: 0; width: 100%; }
.nezumi-table--price th, .nezumi-table--price td { white-space: normal; word-break: break-word; }
.nezumi-table--price td.is-price { white-space: nowrap; }

/* ファーストビューのメイン画像 */
.nezumi-single__hero-img { margin: 0 0 16px; border-radius: 8px; overflow: hidden; background: var(--nezumi-gray); }
.nezumi-single__hero-img img { display: block; width: 100%; height: auto; }
/* PC：ロゴは横幅いっぱいに引き伸ばさず、枠内に原寸以下で収める（写真は従来どおり全幅） */
@media (min-width: 600px) {
  .nezumi-single__hero-img.is-logo { display: grid; place-items: center; width: 360px; max-width: 100%; height: 150px; padding: 14px 18px; box-sizing: border-box; background: #fff; border: 1px solid var(--nezumi-border); }
  .nezumi-single__hero-img.is-logo img { width: auto; height: auto; max-width: 100%; max-height: 120px; }
}
.nezumi-single__hero-img.is-empty { aspect-ratio: 16 / 9; display: grid; place-items: center; border: 1px dashed #c7cdd3; background: var(--nezumi-gray); }
.nezumi-single__hero-ph { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--nezumi-muted); font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.nezumi-single__hero-ph svg { width: 44px; height: 44px; fill: #c2c9cf; }
.nezumi-single__lead { margin: 0 0 4px; }
.nezumi-single__lead .nezumi-single__catch { margin-top: 0; }

.nezumi-hours-status { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: 0 0 12px; }

/* 口コミ: 1件＋残りは半分見せてアコーディオン（チェックボックス） */
.nezumi-reviews__peek { position: relative; max-height: 130px; overflow: hidden; display: grid; gap: 14px; margin-top: 14px; }
.nezumi-reviews__peek::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(rgba(255,255,255,0), #fff); pointer-events: none; }
.nezumi-reviews__cb:checked ~ .nezumi-reviews .nezumi-reviews__peek { max-height: none; }
.nezumi-reviews__cb:checked ~ .nezumi-reviews .nezumi-reviews__peek::after { display: none; }
.nezumi-reviews__toggle { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px auto 0; max-width: 360px; padding: 11px 18px; border: 1px solid var(--nezumi-navy-2); border-radius: 999px; color: var(--nezumi-navy-2); font-weight: 700; font-size: 15px; cursor: pointer; background: #fff; transition: background .15s; }
.nezumi-reviews__toggle:hover { background: var(--nezumi-bluebox); }
.nezumi-reviews__toggle::after { content: "▾"; }
.nezumi-reviews__toggle .is-less { display: none; }
.nezumi-reviews__cb:checked ~ .nezumi-reviews__toggle .is-more { display: none; }
.nezumi-reviews__cb:checked ~ .nezumi-reviews__toggle .is-less { display: inline; }
.nezumi-reviews__cb:checked ~ .nezumi-reviews__toggle::after { content: "▴"; }

/* 並び替えバー */
.nezumi-sortbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 8px 12px; margin: 0 0 12px; font-size: 14px; line-height: 1.4; }
.nezumi-sortbar__label { font-weight: 700; color: var(--nezumi-text); padding: 4px 12px 4px 0; margin-right: 6px; border-right: 1px solid var(--nezumi-border); }
.nezumi-sortbar__item { display: inline-block; padding: 5px 10px; margin: 0 2px; border-radius: 4px; color: var(--nezumi-cta-2) !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.nezumi-sortbar__item:hover { background: var(--nezumi-bluebox); }
.nezumi-sortbar__item.is-on { background: var(--nezumi-navy); color: #fff !important; text-decoration: none; font-weight: 700; }
.nezumi-sortbar__price { display: inline-flex; flex-wrap: wrap; align-items: center; }
.nezumi-sortbar__price-label { color: var(--nezumi-text); padding: 4px 0; }
@media (max-width: 599px) { .nezumi-sortbar { font-size: 13px; padding: 8px 10px; } .nezumi-sortbar__label { width: 100%; border-right: 0; border-bottom: 1px solid var(--nezumi-border); padding: 0 0 6px; margin: 0 0 4px; } .nezumi-sortbar__item { padding: 5px 8px; } }

/* v1.7.3 自治体支援情報 */
.nezumi-gov__lead{margin:0 0 12px;line-height:1.8}
.nezumi-gov__dl{display:grid;grid-template-columns:9em 1fr;gap:8px 16px;margin:0 0 12px;padding:14px 16px;background:#fafaf7;border:1px solid #e6e3da;border-radius:8px}
.nezumi-gov__dl dt{font-weight:700;color:#555}
.nezumi-gov__dl dd{margin:0;line-height:1.7}
.nezumi-gov__dl small,.nezumi-table--gov small{color:#666;font-size:.85em}
.nezumi-gov__src{font-size:.9em;color:#555;line-height:1.7}
.nezumi-table--gov td{vertical-align:top;line-height:1.6}
@media (max-width:600px){.nezumi-gov__dl{grid-template-columns:1fr;gap:2px 0}.nezumi-gov__dl dt{margin-top:8px}}

/* エリア（地方1行） */
.nezumi-area-group p { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
#area .nezumi-area-pref a, .nezumi-content #area .nezumi-area-pref a { color: var(--nezumi-text) !important; text-decoration: underline dotted !important; text-decoration-color: #999; text-underline-offset: 3px; }
.nezumi-area-pref small { font-size: 12px; color: var(--nezumi-muted, #777); margin-left: 2px; }
@media (max-width: 640px) { .nezumi-area-group { grid-template-columns: 90px 1fr; } .nezumi-area-group h4 { font-size: 14px; padding: 10px 8px; } }

/* 業者名→公式サイトリンク */
.nezumi-single__name-link, .nezumi-content .nezumi-single__name-link { color: var(--nezumi-link, #1a5fb4) !important; text-decoration: underline !important; text-decoration-thickness: 2px; text-underline-offset: 6px; text-decoration-color: rgba(26,95,180,.45); transition: color .15s, text-decoration-color .15s; }
.nezumi-single__name-link:hover { color: var(--nezumi-orange, #e8712b) !important; text-decoration-color: currentColor; }
.nezumi-single__name-ext { display: inline-block; vertical-align: middle; margin-left: 6px; opacity: .8; }
.nezumi-single__name-ext svg { width: .7em; height: .7em; display: block; }

.nezumi-review__source a, .nezumi-content .nezumi-review__source a { color: var(--nezumi-link, #1a5fb4) !important; text-decoration: underline !important; text-underline-offset: 2px; }

/* こだわり条件と絞り込むボタンを1行に */
.nezumi-filter__head { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; align-items: start; }
.nezumi-filter__head > .nezumi-filter__more { min-width: 0; }
.nezumi-filter__head .nezumi-filter__more summary { padding: 9px 0; }
.nezumi-filter__head > .nezumi-filter__row--sort { margin: 0; }
.nezumi-filter__head .nezumi-filter__submit { margin-left: 0; }

/* CTAボタンの並びを全ページで統一（県ページ基準） */
.nezumi-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.nezumi-cta > .nezumi-btn--tel { flex: 3 1 260px; }
.nezumi-cta > .nezumi-btn--site { flex: 2 1 170px; }
.nezumi-cta > .nezumi-btn--detail { flex: 1 1 100%; }

/* CTAの最大幅も統一（市区町村ページでも県ページと同じ幅・中央寄せ） */
.nezumi-card .nezumi-cta { max-width: 640px; margin-left: auto; margin-right: auto; }

/* 支援制度テーブルの列幅（貸出列を狭める） */
.nezumi-table--gov { table-layout: fixed; }
.nezumi-table--gov th:nth-child(1), .nezumi-table--gov td:nth-child(1) { width: 15%; }
.nezumi-table--gov th:nth-child(2), .nezumi-table--gov td:nth-child(2) { width: 29%; }
.nezumi-table--gov th:nth-child(3), .nezumi-table--gov td:nth-child(3) { width: 23%; }
.nezumi-table--gov th:nth-child(4), .nezumi-table--gov td:nth-child(4) { width: 33%; }
.nezumi-table--gov td { overflow-wrap: anywhere; }

/* ページャーを横並びに */
.nezumi-content .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.nezumi-content .nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; margin: 0; }

/* 補助・貸出の条件（ラベル＋箇条書き） */
.nezumi-gov__cond { margin-top: 6px; }
.nezumi-gov__cond-label { display: inline-block; font-size: .78em; font-weight: 700; color: #555; background: #f0f2f5; border-radius: 4px; padding: 1px 8px; margin-bottom: 4px; }
.nezumi-gov__cond-one { display: block; font-size: .9em; color: #444; line-height: 1.6; }
.nezumi-gov__cond-list { margin: 2px 0 0; padding-left: 1.1em; list-style: disc; }
.nezumi-gov__cond-list li { font-size: .9em; color: #444; line-height: 1.6; margin: 0 0 2px; }
.nezumi-table--gov .nezumi-gov__cond-list li { font-size: .85em; }

/* FAQの質問見出し（h3）を通常テキストと同じ見た目に戻す */
.nezumi-faq summary .nezumi-faq__q { display: inline; margin: 0; padding: 0; background: none; border: 0; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
.nezumi-faq summary .nezumi-faq__q::before, .nezumi-faq summary .nezumi-faq__q::after { content: none; display: none; }

/* 一覧ページのタイトル下の余白を詰める */
.nezumi-content .nezumi-archive__title { margin-bottom: 20px; }

.nezumi-pref__ttl-sub { display: inline-block; font-size: .72em; line-height: 1.5; }

/* nezumi-h2（セクション外の見出し）もSWELLの装飾を打ち消す */
.nezumi-content h2.nezumi-h2::before, .nezumi-content h2.nezumi-h2::after { display: none !important; content: none !important; }

/* H1の2行の行間を詰める */
.nezumi-content .nezumi-archive__title, .nezumi-content .nezumi-pref__title { line-height: 1.35; }
.nezumi-pref__ttl-sub { margin-top: 2px; }

/* リード文の装飾を県ページと統一 */
.nezumi-intro { font-size: 16px; line-height: 1.9; }
.nezumi-intro b { color: var(--nezumi-navy); }
.nezumi-intro__guide { margin-top: 6px; font-size: 15px; }

/* WordPress標準ユーティリティ（classic-theme-styles を外した分の補完） */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.screen-reader-text:focus { background-color: #eee; clip-path: none; color: #444; display: block; font-size: 1em; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
.alignleft { float: left; margin-right: 1em; }
.alignright { float: right; margin-left: 1em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .85em; color: #666; text-align: center; }

/* PC：ヒーローを「社名＋評価 → 左ロゴ／右キャッチ・紹介文 → 電話帯」の2カラムに（DOM順は変えない＝スマホは従来どおり） */
@media (min-width: 768px) {
  .nezumi-single__head-wrap { display: grid; grid-template-columns: clamp(220px, 32%, 300px) minmax(0, 1fr); column-gap: 28px; grid-template-areas: "title title" "rating rating" "img lead" "cta cta"; align-items: start; }
  .nezumi-single__head-wrap > * { min-width: 0; }
  .nezumi-single__titlebar { grid-area: title; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; padding-bottom: 0; border-bottom: 0; margin-bottom: 6px; }
  .nezumi-single__titlebar .nezumi-card__labels { flex-basis: 100%; }
  .nezumi-single__titlebar .nezumi-single__name, .nezumi-single__titlebar .nezumi-single__company { margin: 0; }
  .nezumi-single__rating { grid-area: rating; padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px dotted #c2c9cf; }
  .nezumi-single__head-wrap > .nezumi-single__hero-img { grid-area: img; width: 100%; height: 180px; margin: 0; }
  .nezumi-single__hero-img.is-logo img { max-height: 150px; }
  .nezumi-single__hero-img:not(.is-logo):not(.is-empty) img { width: 100%; height: 100%; object-fit: cover; }
  .nezumi-single__hero-img.is-empty { aspect-ratio: auto; }
  .nezumi-single__head-wrap > .nezumi-single__lead, .nezumi-single__head-wrap > .nezumi-chips { grid-area: lead; margin: 0; }
  .nezumi-single__head-wrap > .nezumi-ctaband { grid-area: cta; margin: 24px -32px 8px; padding: 18px 32px; border-left: 0; border-right: 0; border-radius: 0; }
}
/* SWELL は 960px 以上で .post_content に左右16pxの余白を足す → 電話帯をカードの端まで届かせるには 32+16=48px 必要 */
@media (min-width: 960px) {
  .nezumi-single__head-wrap > .nezumi-ctaband { margin-left: -48px; margin-right: -48px; padding-left: 48px; padding-right: 48px; }
}

/* 1.9.51 ロゴの見え方：枠の中に収め、元画像より大きく引き伸ばさない（object-fit: scale-down） */
.nezumi-card .nezumi-card__logo img { padding: 8px; box-sizing: border-box; object-fit: scale-down; }
@media (max-width: 599px) {
  /* 詳細ページ：横幅いっぱいに引き伸ばしていたのをやめ、白い枠に収める */
  .nezumi-single__hero-img.is-logo { position: relative; height: 132px; background: #fff; border: 1px solid var(--nezumi-border); }
  .nezumi-single__hero-img.is-logo img { position: absolute; top: 14px; left: 18px; width: calc(100% - 36px); height: calc(100% - 28px); max-width: none; object-fit: scale-down; }
  /* 一覧カード：16:9 の枠から画像がはみ出して下が切れていた（高さが効かず自然な縦横比で描画されていた） */
  .nezumi-card .nezumi-card__logo { position: relative; aspect-ratio: auto; height: 124px; background: #fff; }
  .nezumi-card .nezumi-card__logo img { position: absolute; top: 10px; left: 14px; width: calc(100% - 28px); height: calc(100% - 20px); max-width: none; padding: 0; object-fit: scale-down; }
}

/* 相場表：最安の金額＝その業者の詳細ページへのリンク（1.9.53） */
.nezumi-content .nezumi-table--stats td a { text-decoration: underline; text-underline-offset: 3px; }

/* v1.9.55: 県・市区町村・一覧ページのH1を一回り小さく（SWELL の h1 指定より優先させるため2クラスで指定。実測 PC 32px→26px / SP 31.2px→24px・2026-09-22 取締役員指示） */
.nezumi-content .nezumi-pref__title, .nezumi-content .nezumi-archive__title { font-size: 26px; }
@media (max-width: 767px) { .nezumi-content .nezumi-pref__title, .nezumi-content .nezumi-archive__title { font-size: 24px; } }

/* v1.9.58: スマホで「PR」ラベルがロゴ枠の上辺に被るのを回避。PRラベル付きカード（1位固定・県別固定）だけ先頭ブロックを下げる（2026-09-22 取締役員指示） */
@media (max-width: 599px) { .nezumi-card__pr + .nezumi-card__head { margin-top: 10px; } }

/* v1.9.59: 電話CTAを出さない業者（nezumi_no_tel_cta_ids）の詳細ページ電話帯＝公式サイトボタンだけを大きく中央に */
.nezumi-ctaband.is-site-only { justify-content: center; }
.nezumi-ctaband.is-site-only .nezumi-btn--site { flex: 1 1 auto; max-width: 560px; font-size: 18px; padding: 16px 24px; }


/* ============================================================
 * v1.9.65（2026-09-24 元藤FB）
 * ============================================================ */
/* 3. チェックマークを撤去（詳細ページの強みタイルのみ）。カードの強みの「✓」は 1.9.68 で元に戻した（2026-09-24 取締役員「ここのチェックの箇条書きも元に戻して」）。対応可否の ✓／－（nezumi-check-list）は機能表示なので残す */
.nezumi-strengths li { padding-left: 12px; }
.nezumi-strengths li::before { content: none; display: none; }

/* 15. 詳細ページの社名を一回り小さく（SWELL の h1 指定に勝つため2クラス。実測 PC 32px→24px / SP 31.2px→20px） */
.nezumi-content .nezumi-single__name { font-size: 24px; }
@media (max-width: 767px) { .nezumi-content .nezumi-single__name { font-size: 20px; } }

/* 6. エリアページ（県・市区町村）のアイキャッチ：写真の上にタイトル＋「このページでわかること」（2026-09-24 取締役員指示。PC＝横長バナー・左に文字／SP＝写真の下側に文字） */
.nezumi-pref__hero--eyecatch { margin-bottom: 24px; }
.nezumi-pref__eyecatch { position: relative; border-radius: 10px; overflow: hidden; background: var(--nezumi-navy); aspect-ratio: 16 / 6; min-height: 220px; display: flex; align-items: center; }
.nezumi-pref__eyecatch-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 40%; }
.nezumi-pref__eyecatch::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,56,76,.55) 0%, rgba(4,56,76,.35) 50%, rgba(4,56,76,.05) 100%); }
/* 文字の背面に半透明ネイビーのパネル（写真の白壁の上でも読めるように） */
.nezumi-pref__eyecatch-body { position: relative; z-index: 1; max-width: 62%; margin: 24px 28px; padding: 20px 24px; color: #fff; background: rgba(4,56,76,.84); border-radius: 8px; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.nezumi-content .nezumi-pref__eyecatch .nezumi-pref__title, .nezumi-content .nezumi-pref__eyecatch .nezumi-archive__title { color: #fff; font-size: 27px; line-height: 1.35; margin: 0 0 10px; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.nezumi-pref__eyecatch .nezumi-pref__ttl-name { color: #ffc46b; }
.nezumi-pref__eyecatch .nezumi-pref__ttl-sub { color: #fff; opacity: .95; }
.nezumi-pref__eyecatch-desc { margin: 0; font-size: 15px; line-height: 1.7; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.nezumi-pref__eyecatch-desc b { color: #ffc46b; font-size: 1.1em; }
/* v1.9.69: アイキャッチ（.nezumi-pref__eyecatch）は取締役員指示で不使用。テンプレは 1.9.64 の H1＋導入文に戻した。以下のルールは再利用のため残置 */

/* 5. スマホ：1位固定のカードがファーストビューに入るよう、ヒーロー〜並び替えを圧縮 */
@media (max-width: 767px) {
	.nezumi-pref__hero--eyecatch { margin-bottom: 14px; }
	.nezumi-pref__eyecatch { aspect-ratio: auto; min-height: 200px; border-radius: 8px; align-items: flex-end; }
	.nezumi-pref__eyecatch-img { object-position: 62% 30%; }
	.nezumi-pref__eyecatch::before { background: linear-gradient(180deg, rgba(4,56,76,.05) 0%, rgba(4,56,76,.35) 100%); }
	.nezumi-pref__eyecatch-body { max-width: 100%; margin: 72px 0 0; padding: 12px 14px 14px; border-radius: 0; background: rgba(4,56,76,.88); }
	.nezumi-content .nezumi-pref__eyecatch .nezumi-pref__title, .nezumi-content .nezumi-pref__eyecatch .nezumi-archive__title { font-size: 19px; margin-bottom: 6px; }
	.nezumi-pref__eyecatch-desc { font-size: 13px; line-height: 1.6; }
	.nezumi-pref__hero--eyecatch .nezumi-pref__lead, .nezumi-pref__hero--eyecatch .nezumi-intro { display: none; }
	/* v1.9.69: H1・導入文のスマホ圧縮は取消（2026-09-24 取締役員「ここの装飾も元に戻して」＝1.9.64 の見出し＋導入文に戻す） */
	.nezumi-count { display: none; }
	.nezumi-content #list > h2, .nezumi-content h2.nezumi-list__title { font-size: 16px; padding: 6px 10px; margin: 0 0 8px; }
	.nezumi-sortbar { margin-bottom: 8px; }
	.nezumi-filter { padding: 6px 12px; margin: 0 0 10px; }
	.nezumi-filter__head .nezumi-filter__more summary { padding: 6px 0; }
	.nezumi-filter__head .nezumi-filter__submit { padding: 8px 16px; font-size: 14px; }
	.nezumi-count { font-size: 13px; margin: 0 0 8px; }
	.nezumi-count b { font-size: 16px; }
}
@media (max-width: 599px) {
	/* 並び替えバーを1行に（ラベルを横並びに戻す） */
	.nezumi-sortbar { gap: 4px 0; padding: 7px 8px; }
	.nezumi-sortbar__label { width: auto; border-bottom: 0; border-right: 1px solid var(--nezumi-border); padding: 4px 8px 4px 0; margin: 0 4px 0 0; }
	.nezumi-sortbar__item { padding: 5px 6px; margin: 0 1px; }
	/* 13. 強みの3行が途中で折り返さないように（実測：16px→2行・14px→1行） */
	.nezumi-card__strengths { font-size: 14px; }
	.nezumi-card__strengths li { text-wrap: pretty; }
}

/* 17. 口コミ（Amazon型）：総合評価＋★の分布 → トップレビュー → すべての口コミへ */
.nezumi-rvsum { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 32px; align-items: center; padding: 12px 4px 18px; border-bottom: 1px solid var(--nezumi-border); margin-bottom: 18px; }
.nezumi-rvsum__score { text-align: center; min-width: 150px; }
.nezumi-rvsum__label { display: block; font-size: 12px; color: var(--nezumi-muted); }
.nezumi-rvsum__score b { display: block; font-size: 44px; line-height: 1.1; color: var(--nezumi-text); font-variant-numeric: tabular-nums; }
.nezumi-rvsum__stars .nezumi-stars { font-size: 22px; }
.nezumi-rvsum__stars .nezumi-stars__num { display: none; }
.nezumi-rvsum__score small { display: block; font-size: 13px; color: var(--nezumi-muted); margin-top: 4px; }
.nezumi-content ol.nezumi-rvsum__hist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-width: 520px; }
.nezumi-rvsum__hist li { display: grid; grid-template-columns: 4.4em minmax(0, 1fr) 3em; gap: 10px; align-items: center; font-size: 14px; }
.nezumi-rvsum__lab { color: var(--nezumi-navy-2); white-space: nowrap; }
.nezumi-rvsum__bar { height: 18px; background: #f0f2f2; border: 1px solid #d5d9d9; border-radius: 4px; overflow: hidden; }
.nezumi-rvsum__bar i { display: block; height: 100%; background: var(--nezumi-star); }
.nezumi-rvsum__pct { text-align: right; color: var(--nezumi-navy-2); font-variant-numeric: tabular-nums; }
@media (max-width: 599px) {
	.nezumi-rvsum { grid-template-columns: 1fr; gap: 10px; }
	.nezumi-rvsum__score { text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; min-width: 0; }
	.nezumi-rvsum__label { width: 100%; }
	.nezumi-rvsum__score b { font-size: 36px; }
	.nezumi-rvsum__score small { margin: 0; }
}
.nezumi-content .nezumi-rv-top__h { font-size: 17px; margin: 0 0 8px; padding: 0; border: 0; background: none; color: var(--nezumi-text); }
.nezumi-content .nezumi-rv-top__h::before, .nezumi-content .nezumi-rv-top__h::after { display: none; content: none; }
/* 口コミカードを軽く（グレーの帯をやめ、区切り線だけに） */
.nezumi-reviews { gap: 2px; }
.nezumi-review { border: 0; border-bottom: 1px solid var(--nezumi-border); border-radius: 0; }
.nezumi-review__head { background: none; border-bottom: 0; padding: 12px 0 0; }
.nezumi-review__head .nezumi-stars { font-size: 16px; }
.nezumi-review__head .nezumi-stars__num { font-size: 15px; }
.nezumi-content .nezumi-review__title { margin: 6px 0 2px; }
.nezumi-review__body { margin: 6px 0 8px; }
.nezumi-review__meta, .nezumi-review__source { margin: 0 0 12px; text-align: left; }
.nezumi-rv-more { text-align: center; margin: 18px 0 0; }
.nezumi-rv-more .nezumi-btn { display: inline-flex; }

/* v1.9.66（2026-09-24 取締役員「いったんヒーローのこの画像削除で」）：写真なしのアイキャッチ＝ネイビーのタイトル枠（H1＋このページでわかること） */
.nezumi-pref__eyecatch.is-noimg { aspect-ratio: auto; min-height: 0; display: block; }
.nezumi-pref__eyecatch.is-noimg::before { display: none; }
.nezumi-pref__eyecatch.is-noimg .nezumi-pref__eyecatch-body { max-width: none; margin: 0; padding: 22px 28px 20px; background: none; border-radius: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
@media (max-width: 767px) {
	.nezumi-pref__eyecatch.is-noimg .nezumi-pref__eyecatch-body { padding: 14px 14px 13px; }
}

/* v1.9.67（2026-09-24 取締役員「ここ元の導入文に戻してほしい」）：タイトル枠の中に元の導入文（リンク入り）を白文字で */
.nezumi-pref__eyecatch-desc p, .nezumi-pref__eyecatch-desc .nezumi-intro, .nezumi-pref__eyecatch-desc .nezumi-pref__lead { margin: 0; font-size: 15px; line-height: 1.8; color: #fff; display: block; }
.nezumi-pref__eyecatch-desc a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.nezumi-pref__eyecatch-desc a:hover { color: #ffc46b !important; }
.nezumi-pref__eyecatch-desc b, .nezumi-pref__eyecatch-desc .nezumi-pref__lead b, .nezumi-pref__eyecatch-desc .nezumi-intro b { color: #ffc46b; font-size: 1em; }
@media (max-width: 767px) {
	.nezumi-pref__eyecatch-desc p, .nezumi-pref__eyecatch-desc .nezumi-intro, .nezumi-pref__eyecatch-desc .nezumi-pref__lead { font-size: 13.5px; line-height: 1.7; }
}

/* v1.9.68（2026-09-24 取締役員「ここのチェックの箇条書きも元に戻して」）：カードの強みの「✓」を復活。✓の分だけ幅が要るので狭い端末は少し詰めて1行を維持（実測 390px:14px／375px:13px／360px:13px＋字間-.035em） */
@media (max-width: 389px) { .nezumi-card__strengths { font-size: 13px; letter-spacing: -.02em; } }
@media (max-width: 369px) { .nezumi-card__strengths { letter-spacing: -.035em; } }

/* v1.9.69（2026-09-24 取締役員「ここの装飾も元に戻して」）：県・市区町村ページの見出し＋導入文は 1.9.64 と同じ見た目（ネイビー枠なし）。念のため旧クラスが残っても枠が出ないように */
.nezumi-pref__hero--eyecatch .nezumi-pref__lead, .nezumi-pref__hero--eyecatch .nezumi-intro { display: block; }

/* v1.9.71（2026-09-25）：県・市区町村ページのH1下アイキャッチ。バッジの位置は画像 1672px 幅を基準にした単位（--u）で指定 */
.nezumi-content .nezumi-area-ec { position: relative; margin: 4px 0 20px; padding: 0; container-type: inline-size; line-height: 0; }
.nezumi-content .nezumi-area-ec img { display: block; width: 100%; height: auto; margin: 0; }
.nezumi-area-ec__badge { --u: calc(100cqw / 1672); position: absolute; left: calc(var(--u) * 128); top: calc(var(--u) * 130); height: calc(var(--u) * 110); min-width: calc(var(--u) * 357); padding: 0 calc(var(--u) * 56); box-sizing: border-box; display: flex; align-items: center; justify-content: center; transform-origin: left center; transform: rotate(-2.8deg) skewX(-9deg); font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif; font-weight: 900; color: #fff; white-space: nowrap; line-height: 1; pointer-events: none; }
.nezumi-area-ec__badge::before, .nezumi-area-ec__badge::after { content: ""; position: absolute; }
.nezumi-area-ec__badge::before { left: calc(var(--u) * -10); right: calc(var(--u) * -18); top: calc(var(--u) * 22); bottom: calc(var(--u) * 20); background: #f6d34a; }
.nezumi-area-ec__badge::after { inset: 0; background: #0d1f45; }
.nezumi-area-ec__badge > span { position: relative; z-index: 1; display: block; transform: skewX(9deg); font-size: calc(var(--u) * var(--fs, 78)); letter-spacing: .02em; }
/* v1.9.72（2026-09-25）：地域アイキャッチのサイズ調整。PC は最大 720px で中央、スマホは本文枠の内側余白（16px）まで広げる */
@media (min-width: 960px) { .nezumi-content .nezumi-area-ec { max-width: 720px; margin-left: auto; margin-right: auto; } }
@media (max-width: 599px) { .nezumi-content .nezumi-area-ec { margin-left: -16px; margin-right: -16px; } }
/* v1.9.75（2026-09-25）：地域アイキャッチに黄色の枠（バッジ下地と同じ黄色）。枠は figure に付けるので、バッジ位置の基準（コンテナ幅＝画像幅）は変わらない */
.nezumi-content .nezumi-area-ec { border: 1px solid #f6d34a; }
/* v1.9.76：枠は境界が分かれば十分なので 1px（PC・スマホ共通） */
/* v1.9.77（2026-09-25）：背景画像 v5 で見出し群を 60px 上げたので、「{地域名}の」バッジも同じだけ上げる（130→70） */
.nezumi-area-ec__badge { top: calc(var(--u) * 70); }
/* v1.9.80（2026-09-25）：テンプレ差し替え（ChatGPT 生成の新テンプレ）。バッジの形・色を新テンプレの「〜の」に合わせる（画像の実測から当てはめ） */
.nezumi-area-ec__badge { left: calc(var(--u) * 130); top: calc(var(--u) * 84.5); height: calc(var(--u) * 101.5); min-width: calc(var(--u) * 345); padding: 0 calc(var(--u) * 44); transform: rotate(-4.73deg) skewX(-17.9deg); }
.nezumi-area-ec__badge::before { left: calc(var(--u) * -22); right: calc(var(--u) * -24); top: calc(var(--u) * 28); bottom: calc(var(--u) * 12); background: #fed954; }
.nezumi-area-ec__badge::after { background: #001532; }
.nezumi-area-ec__badge > span { transform: skewX(17.9deg); }
/* v1.9.81（2026-09-25）：H1 をスマホでは「〜のネズミ駆除業者」の後で改行（br は nezumi_ttl_rest_html() が入れる） */
.nezumi-sp-br { display: none; }
@media (max-width: 599px) { .nezumi-sp-br { display: inline; } }
/* v1.9.83（2026-09-25）：H1 小見出し「料金・口コミ評価・対応スピードで徹底比較」（20字）をスマホで1行に収める（本文幅＝画面幅−64px に合わせて縮小） */
@media (max-width: 599px) { .nezumi-ttl-fit { white-space: nowrap; font-size: min(1em, calc((100vw - 68px) / 20.4)); } }
/* v1.9.84（2026-09-25）：小見出しを「料金の安さ・口コミ評価・対応スピードで徹底比較」（23字）に変更したので、1行に収める計算を 23 字用に */
@media (max-width: 599px) { .nezumi-ttl-fit { font-size: min(1em, calc((100vw - 68px) / 23.4)); } }
/* v1.9.85（2026-09-25）：小見出しを「料金の安さ・口コミ評価・対応スピードで比較」（21字）に変更 → 21 字用に */
@media (max-width: 599px) { .nezumi-ttl-fit { font-size: min(1em, calc((100vw - 68px) / 21.4)); } }

/* ---------- v1.9.89（2026-09-25 取締役員指示）：市区町村ページの導入文下「おすすめ3社」比較表＋「30秒診断」 ---------- */
.nezumi-mk { background: linear-gradient(transparent 62%, #fde68a 62%); padding: 0 2px; }
.nezumi-top3 { margin: 26px 0 8px; }
.nezumi-top3__kicker { text-align: center; margin: 0 0 2px; font-size: 15px; font-weight: 700; color: var(--nezumi-navy); letter-spacing: .04em; }
.nezumi-content .nezumi-top3 h2.nezumi-top3__ttl { text-align: center; font-size: 24px; line-height: 1.4; margin: 0 0 14px; padding: 0; border: 0; background: none; color: var(--nezumi-text); }
.nezumi-content .nezumi-top3 h2.nezumi-top3__ttl::before, .nezumi-content .nezumi-top3 h2.nezumi-top3__ttl::after { display: none !important; content: none !important; }
.nezumi-content table.nezumi-top3__tbl { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; border: 1px solid var(--nezumi-border); border-radius: 8px; overflow: hidden; margin: 0; font-size: 15px; line-height: 1.5; }
.nezumi-content table.nezumi-top3__tbl td { vertical-align: top; text-align: center; padding: 12px 8px; border: 0; border-left: 1px solid var(--nezumi-border); border-top: 1px solid var(--nezumi-border); background: #fff; }
.nezumi-content table.nezumi-top3__tbl tr:first-child td { border-top: 0; }
.nezumi-content table.nezumi-top3__tbl td:first-child { border-left: 0; }
.nezumi-content table.nezumi-top3__tbl td.is-c1 { background: #fff8f3; }
.nezumi-content table.nezumi-top3__tbl td.is-c2 { background: #f3f7fb; }
.nezumi-content table.nezumi-top3__tbl td.is-c3 { background: #f3f9f4; }
.nezumi-top3__r-name td { padding-top: 16px; }
.nezumi-top3__pr { display: inline-block; font-size: 10px; font-weight: 700; line-height: 1; color: var(--nezumi-muted); border: 1px solid var(--nezumi-border); border-radius: 3px; padding: 2px 5px; margin-bottom: 4px; letter-spacing: .06em; background: #fff; }
.nezumi-diag__res-namewrap { min-width: 0; }
.nezumi-diag__res-namewrap .nezumi-top3__pr { display: block; width: max-content; margin-bottom: 2px; }
.nezumi-top3__name { display: block; font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--nezumi-text); text-decoration: none !important; margin-bottom: 10px; }
.nezumi-top3__logo { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 160px; height: 64px; margin: 0 auto; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; text-decoration: none !important; }
.nezumi-top3__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; padding: 4px; }
.nezumi-top3__logo-ph { font-size: 28px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-top3__need { display: block; font-size: 19px; font-weight: 800; line-height: 1.55; color: var(--nezumi-navy); }
.nezumi-top3__k { display: block; font-size: 12px; font-weight: 700; color: var(--nezumi-muted); margin-bottom: 2px; }
.nezumi-top3__k sup { font-size: 9px; margin-left: 1px; }
.nezumi-top3__v { display: block; font-size: 20px; font-weight: 700; color: var(--nezumi-text); line-height: 1.3; font-variant-numeric: tabular-nums; }
.nezumi-top3__v.is-best { color: var(--nezumi-orange); }
.nezumi-top3__v.is-none { color: var(--nezumi-muted); font-size: 16px; font-weight: 600; }
.nezumi-top3__star { color: var(--nezumi-star); margin-right: 2px; }
.nezumi-top3__s { display: block; font-size: 12.5px; color: var(--nezumi-muted); margin-top: 2px; }
.nezumi-top3__feat { display: block; font-size: 13px; font-weight: 700; color: var(--nezumi-open); margin-bottom: 8px; }
.nezumi-top3__btn { display: block; background: linear-gradient(#9ccc65, #7cb342); color: #fff !important; font-weight: 700; font-size: 15px; line-height: 1.3; text-decoration: none !important; border-radius: 8px; padding: 13px 6px; box-shadow: 0 2px 0 rgba(0,0,0,.12); transition: opacity .15s, transform .1s; }
.nezumi-top3__btn:hover { opacity: .9; transform: translateY(1px); box-shadow: none; }
.nezumi-top3__more { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--nezumi-navy-2); text-decoration: underline; }
.nezumi-top3__notes { margin: 10px 0 0; font-size: 13px; color: var(--nezumi-muted); }
.nezumi-top3__notes summary { cursor: pointer; color: var(--nezumi-navy-2); text-decoration: underline; list-style: none; }
.nezumi-top3__notes summary::-webkit-details-marker { display: none; }
.nezumi-content .nezumi-top3__notes ul { margin: 8px 0 0; padding-left: 0; list-style: none; }
.nezumi-content .nezumi-top3__notes li { margin: 0 0 4px; line-height: 1.6; }
@media (max-width: 599px) {
  .nezumi-top3 { margin: 20px 0 4px; }
  .nezumi-top3__kicker { font-size: 13px; }
  .nezumi-content .nezumi-top3 h2.nezumi-top3__ttl { font-size: 19px; margin-bottom: 10px; }
  .nezumi-content table.nezumi-top3__tbl { font-size: 12px; margin-left: -4px; margin-right: -4px; width: calc(100% + 8px); }
  .nezumi-content table.nezumi-top3__tbl td { padding: 9px 4px; }
  .nezumi-top3__name { font-size: 13px; margin-bottom: 6px; }
  .nezumi-top3__logo { height: 44px; max-width: 100%; }
  .nezumi-top3__need { font-size: 14px; }
  .nezumi-top3__k { font-size: 10.5px; }
  .nezumi-top3__v { font-size: 15px; }
  .nezumi-top3__v.is-none { font-size: 13px; }
  .nezumi-top3__s { font-size: 10.5px; }
  .nezumi-top3__feat { font-size: 11px; margin-bottom: 6px; }
  .nezumi-top3__btn { font-size: 11px; letter-spacing: -.01em; white-space: nowrap; padding: 10px 0; border-radius: 6px; }
  .nezumi-top3__pr { font-size: 9px; padding: 2px 4px; }
  .nezumi-top3__more { font-size: 11px; margin-top: 8px; }
}
/* 30秒診断 */
.nezumi-diag { margin: 26px 0 30px; }
.nezumi-diag__lead { margin: 0 0 12px; font-size: 16px; }
.nezumi-diag__box { position: relative; overflow: hidden; background: linear-gradient(135deg, #f1f7fc 0%, #e4eef8 100%); border-radius: 14px; padding: 24px 28px 22px; text-align: center; }
.nezumi-diag__box::before, .nezumi-diag__box::after { content: ""; position: absolute; border-radius: 50%; background: rgba(120, 170, 220, .18); pointer-events: none; }
.nezumi-diag__box::before { width: 240px; height: 240px; right: -70px; top: -90px; }
.nezumi-diag__box::after { width: 160px; height: 160px; left: -50px; bottom: -70px; background: rgba(253, 230, 138, .35); }
.nezumi-diag__box > * { position: relative; }
.nezumi-diag__tag { margin: 0 0 14px; text-align: left; font-size: 15px; font-weight: 700; color: var(--nezumi-navy-2); }
.nezumi-diag__sub { margin: 0; font-size: 17px; font-weight: 700; color: var(--nezumi-navy-2); }
.nezumi-diag__ttl { margin: 2px 0 18px; font-size: 30px; font-weight: 800; line-height: 1.35; color: var(--nezumi-navy); }
.nezumi-diag__start { display: block; width: 100%; max-width: 640px; margin: 0 auto; background: linear-gradient(#2f80d6, #1f63b3); color: #fff; border: 0; border-radius: 10px; padding: 17px 20px; font-size: 20px; font-weight: 700; cursor: pointer; box-shadow: 0 3px 0 rgba(0,0,0,.14); transition: opacity .15s, transform .1s; }
.nezumi-diag__start:hover { opacity: .92; transform: translateY(1px); box-shadow: none; }
.nezumi-diag__note { margin: 10px 0 0; font-size: 13px; color: var(--nezumi-muted); }
.nezumi-diag__panel { text-align: left; }
.nezumi-diag__step { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: var(--nezumi-muted); letter-spacing: .04em; }
.nezumi-diag__q { margin: 0 0 12px; font-size: 20px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-diag__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.nezumi-diag__opt { display: block; width: 100%; background: #fff; border: 2px solid #c9dcee; border-radius: 10px; padding: 15px 12px; font-size: 16px; font-weight: 700; color: var(--nezumi-navy); cursor: pointer; text-align: center; transition: border-color .15s, background .15s; }
.nezumi-diag__opt:hover { border-color: var(--nezumi-navy-2); background: var(--nezumi-bluebox); }
.nezumi-diag__back { display: inline-block; background: none; border: 0; padding: 4px 0; font-size: 14px; color: var(--nezumi-navy-2); text-decoration: underline; cursor: pointer; }
.nezumi-diag__cond { margin: 0 0 10px; font-size: 14px; color: var(--nezumi-muted); }
.nezumi-diag__res-ttl { margin: 0 0 8px; font-size: 20px; font-weight: 800; color: var(--nezumi-navy); }
.nezumi-diag__res { background: #fff; border: 2px solid var(--nezumi-orange-soft); border-radius: 12px; padding: 18px 18px 16px; margin: 0 0 12px; }
.nezumi-diag__res-head { display: flex; align-items: center; gap: 14px; margin: 0 0 10px; }
.nezumi-diag__res-logo { flex: 0 0 120px; width: 120px; height: 56px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--nezumi-border); border-radius: 6px; background: #fff; overflow: hidden; text-decoration: none !important; }
.nezumi-diag__res-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; padding: 4px; }
.nezumi-diag__res-name { font-size: 20px; font-weight: 700; color: var(--nezumi-text); text-decoration: none !important; line-height: 1.35; }
.nezumi-diag__res-why { margin: 0 0 12px; font-size: 15px; line-height: 1.7; }
.nezumi-diag__res-spec { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 4px; }
.nezumi-diag__res-spec > div { background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 6px; padding: 8px 10px; text-align: center; }
.nezumi-diag__res-spec dt { font-size: 12px; font-weight: 700; color: var(--nezumi-muted); }
.nezumi-diag__res-spec dd { margin: 2px 0 0; font-size: 16px; font-weight: 700; color: var(--nezumi-text); }
.nezumi-diag__res .nezumi-cta { margin-top: 12px; }
.nezumi-diag__others-ttl { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--nezumi-navy-2); }
.nezumi-content ul.nezumi-diag__others { margin: 0 0 10px; padding-left: 0; list-style: none; font-size: 14px; }
.nezumi-content ul.nezumi-diag__others li { margin: 0 0 3px; }
.nezumi-diag__others a { color: var(--nezumi-navy-2); text-decoration: underline; font-weight: 700; }
@media (max-width: 599px) {
  .nezumi-diag { margin: 20px 0 22px; }
  .nezumi-diag__lead { font-size: 15px; }
  .nezumi-diag__box { padding: 18px 16px 16px; border-radius: 12px; }
  .nezumi-diag__tag { font-size: 13px; margin-bottom: 10px; }
  .nezumi-diag__sub { font-size: 15px; }
  .nezumi-diag__ttl { font-size: 24px; margin-bottom: 14px; }
  .nezumi-diag__start { font-size: 18px; padding: 15px 16px; }
  .nezumi-diag__note { font-size: 12px; }
  .nezumi-diag__q { font-size: 17px; }
  .nezumi-diag__opts { grid-template-columns: 1fr; gap: 8px; }
  .nezumi-diag__opt { padding: 13px 10px; font-size: 15px; }
  .nezumi-diag__res { padding: 14px 12px 12px; }
  .nezumi-diag__res-head { gap: 10px; }
  .nezumi-diag__res-logo { flex-basis: 96px; width: 96px; height: 48px; }
  .nezumi-diag__res-name { font-size: 17px; }
  .nezumi-diag__res-spec { grid-template-columns: 1fr; gap: 6px; }
  .nezumi-diag__res-spec > div { display: flex; justify-content: space-between; align-items: center; text-align: left; }
  .nezumi-diag__res-spec dd { font-size: 15px; }
}

/* ---------- 市区町村ページ「おすすめ一覧」見出し直下の全社比較表 ---------- */
.nezumi-cmp { margin: 6px 0 26px; }
.nezumi-cmp__tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 8px; }
.nezumi-cmp__tab { display: block; width: 100%; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 6px; padding: 12px 6px; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--nezumi-navy); cursor: pointer; text-align: center; transition: background .15s, color .15s; }
.nezumi-cmp__tab:hover { background: var(--nezumi-bluebox); }
.nezumi-cmp__tab.is-on { background: var(--nezumi-navy); color: #fff; border-color: var(--nezumi-navy); }
.nezumi-cmp__filter { background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 6px; margin: 0 0 8px; }
.nezumi-cmp__filter summary { text-align: center; padding: 11px 10px; font-size: 15px; font-weight: 700; color: var(--nezumi-navy); cursor: pointer; list-style: none; }
.nezumi-cmp__filter summary::-webkit-details-marker { display: none; }
.nezumi-cmp__chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 12px 12px; }
.nezumi-cmp__chips label { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 999px; padding: 6px 12px; font-size: 14px; cursor: pointer; }
.nezumi-cmp__chips label:has(input:checked) { background: var(--nezumi-bluebox); border-color: var(--nezumi-navy-2); font-weight: 700; }
.nezumi-cmp__chips input { margin: 0; }
.nezumi-cmp__bar { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13px; color: var(--nezumi-muted); margin: 0 0 6px; }
.nezumi-cmp__count b { color: var(--nezumi-text); }
.nezumi-cmp__scroll { display: none; }
.nezumi-cmp__wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--nezumi-border); border-radius: 8px; }
.nezumi-content table.nezumi-cmp__tbl { width: 100%; min-width: 720px; /* v1.9.96：料金1列化で5列に */ table-layout: fixed; border-collapse: separate; border-spacing: 0; margin: 0; font-size: 15px; line-height: 1.5; }
.nezumi-content table.nezumi-cmp__tbl th { background: var(--nezumi-navy); color: #fff; font-weight: 700; font-size: 15px; text-align: center; vertical-align: middle; padding: 14px 8px; border: 0; border-left: 1px solid rgba(255,255,255,.18); line-height: 1.4; }
.nezumi-content table.nezumi-cmp__tbl th:first-child { border-left: 0; }
.nezumi-content table.nezumi-cmp__tbl th.nezumi-cmp__th-v { width: 210px; }
.nezumi-content table.nezumi-cmp__tbl td { text-align: center; vertical-align: middle; padding: 16px 8px; border: 0; border-top: 1px solid var(--nezumi-border); border-left: 1px solid var(--nezumi-border); background: #fff; }
.nezumi-content table.nezumi-cmp__tbl td:first-child { border-left: 0; }
.nezumi-content table.nezumi-cmp__tbl th:first-child, .nezumi-content table.nezumi-cmp__tbl td:first-child { position: sticky; left: 0; z-index: 1; box-shadow: 2px 0 0 var(--nezumi-border); }
.nezumi-cmp__v-name { display: block; font-weight: 700; font-size: 16px; line-height: 1.35; color: var(--nezumi-text); text-decoration: none !important; margin: 0 0 8px; }
.nezumi-cmp__v-logo { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 170px; height: 56px; margin: 0 auto 10px; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 6px; overflow: hidden; text-decoration: none !important; }
.nezumi-cmp__v-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; padding: 4px; }
.nezumi-cmp__v-ph { font-size: 26px; font-weight: 700; color: var(--nezumi-navy); }
.nezumi-cmp__btn { display: block; background: linear-gradient(#9ccc65, #7cb342); color: #fff !important; font-weight: 700; font-size: 14px; line-height: 1.3; text-decoration: none !important; border-radius: 6px; padding: 11px 6px; box-shadow: 0 2px 0 rgba(0,0,0,.12); transition: opacity .15s, transform .1s; }
.nezumi-cmp__btn:hover { opacity: .9; transform: translateY(1px); box-shadow: none; }
.nezumi-cmp__more-link { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--nezumi-navy-2); text-decoration: underline; }
.nezumi-cmp__big { display: inline-block; font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--nezumi-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.nezumi-cmp__big small { font-size: 12px; font-weight: 700; margin-left: 1px; }
.nezumi-cmp__big.is-best { color: var(--nezumi-orange); background: linear-gradient(transparent 62%, #fde68a 62%); padding: 0 2px; }
.nezumi-cmp__star { color: var(--nezumi-star); margin-right: 2px; }
.nezumi-cmp__small { display: block; font-size: 12.5px; color: var(--nezumi-muted); margin-top: 2px; }
.nezumi-cmp__none { color: var(--nezumi-muted); font-size: 15px; }
.nezumi-cmp__tags { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 13px; font-weight: 700; color: var(--nezumi-open); line-height: 1.4; }
.nezumi-cmp__more { display: block; width: 100%; margin: 10px 0 0; background: #fff; border: 2px solid var(--nezumi-navy-2); border-radius: 8px; padding: 12px; font-size: 15px; font-weight: 700; color: var(--nezumi-navy-2); cursor: pointer; }
.nezumi-cmp__more:hover { background: var(--nezumi-bluebox); }
.nezumi-cmp__more[hidden] { display: none; }
@media (max-width: 959px) { .nezumi-cmp__scroll { display: inline; } }
@media (max-width: 599px) {
  .nezumi-cmp { margin: 4px 0 20px; }
  .nezumi-cmp__tabs { grid-template-columns: 1fr 1fr; gap: 6px; }
  .nezumi-cmp__tab { font-size: 13px; padding: 10px 4px; }
  .nezumi-cmp__filter summary { font-size: 14px; padding: 9px 8px; }
  .nezumi-cmp__chips label { font-size: 13px; padding: 5px 10px; }
  .nezumi-cmp__bar { font-size: 12px; }
  .nezumi-content table.nezumi-cmp__tbl { min-width: 560px; font-size: 13px; }
  .nezumi-content table.nezumi-cmp__tbl th { font-size: 12.5px; padding: 10px 6px; }
  .nezumi-content table.nezumi-cmp__tbl th.nezumi-cmp__th-v { width: 150px; }
  .nezumi-content table.nezumi-cmp__tbl td { padding: 12px 6px; }
  .nezumi-cmp__v-name { font-size: 13.5px; margin-bottom: 6px; }
  .nezumi-cmp__v-logo { height: 44px; max-width: 100%; margin-bottom: 8px; }
  .nezumi-cmp__btn { font-size: 12px; padding: 9px 4px; }
  .nezumi-cmp__more-link { font-size: 11.5px; }
  .nezumi-cmp__big { font-size: 16px; }
  .nezumi-cmp__big small { font-size: 10.5px; }
  .nezumi-cmp__small { font-size: 11px; }
  .nezumi-cmp__none { font-size: 13px; }
  .nezumi-cmp__tags { font-size: 11.5px; }
  .nezumi-cmp__more { font-size: 14px; padding: 10px; }
}

/* v1.9.98（2026-09-26 取締役員指示）：口コミなしは下／「11位以降を見る（残りN社）」ボタン／条件0件メッセージ／ランキング掲載基準アコーディオン */
.nezumi-cmp__more { margin: 12px 0 0; background: #fff; border: 2px solid var(--nezumi-navy); border-radius: 6px; padding: 18px 12px; font-size: 17px; color: var(--nezumi-navy); }
.nezumi-cmp__more:hover { background: var(--nezumi-bluebox); }
.nezumi-cmp__empty { margin: 12px 0 0; padding: 14px; background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 6px; font-size: 14px; color: var(--nezumi-muted); text-align: center; }
.nezumi-cmp__empty[hidden] { display: none; }
.nezumi-cmp__criteria { margin: 14px 0 0; background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 8px; }
.nezumi-cmp__criteria summary { position: relative; padding: 16px 44px 16px 18px; font-size: 18px; font-weight: 700; color: var(--nezumi-text); cursor: pointer; list-style: none; }
.nezumi-cmp__criteria summary::-webkit-details-marker { display: none; }
.nezumi-cmp__criteria summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 9px solid var(--nezumi-text); transform: translateY(-50%); }
.nezumi-cmp__criteria[open] summary::after { border-top: 0; border-bottom: 9px solid var(--nezumi-text); }
.nezumi-cmp__criteria-body { padding: 0 18px 16px; font-size: 15px; line-height: 1.8; }
.nezumi-cmp__criteria-body p { margin: 0 0 10px; }
.nezumi-content .nezumi-cmp__criteria-body ol, .nezumi-content .nezumi-cmp__criteria-body ul { margin: 0 0 12px; padding-left: 1.4em; }
.nezumi-content .nezumi-cmp__criteria-body li { margin: 0 0 4px; }
@media (max-width: 599px) {
  .nezumi-cmp__more { font-size: 15px; padding: 14px 10px; }
  .nezumi-cmp__criteria summary { font-size: 16px; padding: 13px 38px 13px 14px; }
  .nezumi-cmp__criteria summary::after { right: 16px; }
  .nezumi-cmp__criteria-body { padding: 0 14px 14px; font-size: 14px; }
}

/* v1.9.100（2026-09-26 取締役員「それ以降はアコーディオンで」）：6位以降はアコーディオン（見出しを押すと残りの業者の表が下に開く） */
.nezumi-cmp__more { margin: 10px 0 0; text-align: left; background: var(--nezumi-gray); border: 1px solid var(--nezumi-border); border-radius: 8px; padding: 15px 44px 15px 18px; font-size: 16px; font-weight: 700; color: var(--nezumi-text); position: relative; }
.nezumi-cmp__more::after { content: ""; position: absolute; right: 20px; top: 50%; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 9px solid var(--nezumi-text); transform: translateY(-50%); }
.nezumi-cmp__more[aria-expanded="true"]::after { border-top: 0; border-bottom: 9px solid var(--nezumi-text); }
.nezumi-cmp__more:hover { background: #eceff2; }
.nezumi-cmp__wrap--rest { margin-top: 8px; }
.nezumi-cmp__wrap--rest[hidden] { display: none; }
@media (max-width: 599px) { .nezumi-cmp__more { font-size: 14px; padding: 12px 38px 12px 14px; } .nezumi-cmp__more::after { right: 16px; } }

/* v1.9.102（2026-09-26 取締役員指示）：ランキングを配点（100点満点）で決める／一覧カードと比較表に順位バッジ／掲載基準の配点表（試験中の市区町村ページのみ） */
.nezumi-card__rank { z-index: 1; }
.nezumi-content .nezumi-list { margin-top: 22px; }
.nezumi-cmp__rank { display: inline-block; background: var(--nezumi-orange); color: #fff; font-weight: 700; font-size: 13px; line-height: 1; padding: 5px 12px; border-radius: 999px; margin: 0 0 8px; letter-spacing: .02em; }
.nezumi-cmp__criteria-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 12px; }
.nezumi-content table.nezumi-cmp__pts { width: 100%; min-width: 560px; border-collapse: collapse; margin: 0; font-size: 13px; line-height: 1.5; background: #fff; }
.nezumi-content table.nezumi-cmp__pts th, .nezumi-content table.nezumi-cmp__pts td { border: 1px solid var(--nezumi-border); padding: 7px 8px; text-align: center; vertical-align: middle; }
.nezumi-content table.nezumi-cmp__pts thead th { background: var(--nezumi-blue-th); color: var(--nezumi-text); font-weight: 700; }
.nezumi-content table.nezumi-cmp__pts thead th small { font-weight: 400; color: var(--nezumi-muted); font-size: 11px; }
.nezumi-content table.nezumi-cmp__pts tbody th { background: var(--nezumi-gray); font-weight: 700; white-space: nowrap; }
.nezumi-content table.nezumi-cmp__pts .is-left { text-align: left; }
.nezumi-content table.nezumi-cmp__pts--all td b { color: var(--nezumi-orange); font-size: 14px; }
@media (max-width: 599px) { .nezumi-cmp__rank { font-size: 11.5px; padding: 4px 10px; margin-bottom: 6px; } .nezumi-content table.nezumi-cmp__pts { font-size: 12px; min-width: 520px; } }

/* v1.9.104（2026-09-26 取締役員指示）：エリアページの H1 とアイキャッチの間に「当ページのリンクには広告が含まれています。」 */
.nezumi-content .nezumi-ad-notice { margin: 2px 0 8px; font-size: 12px; line-height: 1.5; color: var(--nezumi-muted); }
@media (max-width: 599px) { .nezumi-content .nezumi-ad-notice { font-size: 11px; margin: 0 0 6px; } }

/* v1.9.105（2026-09-26 取締役員指示）：30秒診断の結果タイルのうち、選んだ重視点（料金／口コミ評価／到着の早さ）の値を太字＋黄マーカーで強調 */
.nezumi-diag__res-spec > div.is-focus { border-color: var(--nezumi-orange-soft); background: #fff8f3; }
.nezumi-diag__res-spec > div.is-focus dt { color: var(--nezumi-orange); }
.nezumi-diag__res-spec > div.is-focus dd { display: inline-block; font-weight: 800; background: linear-gradient(transparent 62%, #fde68a 62%); padding: 0 4px; }
@media (max-width: 599px) { .nezumi-diag__res-spec > div.is-focus dd { display: inline-block; } }

/* v1.9.108（2026-09-26 取締役員指示）：試験ページの H1 小見出し「料金の安さ・口コミ評価・対応スピードで各業者を確認」（23字）をスマホで1行に */
@media (max-width: 599px) { .nezumi-ttl-fit.is-23 { font-size: min(1em, calc((100vw - 68px) / 23.4)); } }

/* v1.9.109（2026-09-26）：小見出し23字（「・」を含む）は実測で 1em×24.9 になるため、スマホの縮小係数を 23.4 → 25.4 に（幅327pxに収める） */
@media (max-width: 599px) { .nezumi-ttl-fit.is-23 { font-size: min(1em, calc((100vw - 68px) / 25.4)); } }
/* v1.9.109：試験ページの H1 1行目「{県}{市}のネズミ駆除業者」（14字）がスマホで折れる → 試験ページだけ H1 を幅に合わせて縮小（24px 上限） */
@media (max-width: 599px) { h1.nezumi-archive__title.is-trial { font-size: min(24px, calc((100vw - 68px) / 14.2)) !important; } }

/* v1.9.111（2026-09-26 取締役員「診断メーカーに人の画像を入れたい・女性がいい」）：30秒診断の案内の人物画像（透過 WebP）。左に人物、右に見出し、下にボタン */
.nezumi-diag__hero { display: flex; align-items: flex-end; justify-content: center; gap: 28px; margin: 0; }
.nezumi-diag__person { flex: 0 0 auto; width: 200px; height: auto; display: block; }
.nezumi-diag__hero-txt { text-align: left; padding: 0 0 40px; }
.nezumi-diag__intro.has-person .nezumi-diag__sub { margin: 0 0 2px; }
.nezumi-diag__intro.has-person .nezumi-diag__ttl { margin: 0; }
.nezumi-diag__intro.has-person .nezumi-diag__start { margin-top: 0; }
@media (max-width: 599px) {
  .nezumi-diag__hero { gap: 12px; justify-content: flex-start; }
  .nezumi-diag__person { width: 118px; }
  .nezumi-diag__hero-txt { padding-bottom: 16px; }
  .nezumi-diag__intro.has-person .nezumi-diag__sub { font-size: 14px; }
  .nezumi-diag__intro.has-person .nezumi-diag__ttl { font-size: 20px; }
}

/* v1.9.113（2026-09-26 取締役員「診断メーカーの女性とレイアウトのイメージこれ」＝左に人物が縦いっぱい・右に見出しとボタンの白いボックス）：30秒診断のレイアウト差し替え（1.9.111 の hero 配置はやめる） */
.nezumi-diag__box.has-person { display: grid; grid-template-columns: 250px 1fr; column-gap: 20px; align-items: stretch; background: #fff; border: 1px solid var(--nezumi-border); border-radius: 12px; padding: 0 28px 0 0; }
.nezumi-diag__box.has-person::before, .nezumi-diag__box.has-person::after { display: none; }
.nezumi-diag__person-col { display: flex; align-items: flex-end; justify-content: center; padding: 26px 0 0 14px; }
.nezumi-diag__person { width: 236px; height: auto; display: block; }
.nezumi-diag__body { display: flex; flex-direction: column; justify-content: center; padding: 28px 0 24px; text-align: center; min-width: 0; }
.nezumi-diag__box.has-person .nezumi-diag__tag { text-align: center; margin: 0 0 10px; }
.nezumi-diag__box.has-person .nezumi-diag__sub { margin: 0; }
.nezumi-diag__box.has-person .nezumi-diag__ttl { margin: 2px 0 18px; }
.nezumi-diag__box.has-person .nezumi-diag__start { max-width: none; }
.nezumi-diag__box.has-person .nezumi-diag__panel { text-align: left; }
@media (max-width: 599px) {
  .nezumi-diag__box.has-person { grid-template-columns: 112px 1fr; column-gap: 8px; padding: 0 12px 0 0; }
  .nezumi-diag__person-col { padding: 14px 0 0 4px; }
  .nezumi-diag__person { width: 112px; }
  .nezumi-diag__body { padding: 16px 0 14px; }
  .nezumi-diag__box.has-person .nezumi-diag__tag { font-size: 12px; margin-bottom: 8px; }
  .nezumi-diag__box.has-person .nezumi-diag__sub { font-size: 14px; }
  .nezumi-diag__box.has-person .nezumi-diag__ttl { font-size: 19px; margin-bottom: 12px; }
  .nezumi-diag__box.has-person .nezumi-diag__start { font-size: 16px; padding: 13px 10px; }
  .nezumi-diag__box.has-person .nezumi-diag__note { font-size: 11px; }
  /* 質問・結果が開いたら人物を隠して1カラム（スマホは幅が足りない） */
  .nezumi-diag__box.has-person.is-open { grid-template-columns: 1fr; padding: 0 14px; }
  .nezumi-diag__box.has-person.is-open .nezumi-diag__person-col { display: none; }
}

/* v1.9.114（2026-09-26）：スマホの診断ボックス（人物あり）で見出し「ネズミ駆除業者をチェック」（12字）が「チェ／ック」で折れる → 右カラム幅に合わせて1行に */
@media (max-width: 599px) { .nezumi-diag__box.has-person .nezumi-diag__ttl { white-space: nowrap; font-size: min(18px, calc((100vw - 170px) / 12.4)); } }

/* v1.9.115（2026-09-26）：スマホの診断ボックス＝右カラムの実測幅（390px で 193px）に見出しが収まっていなかった → 人物列を 100px に、見出しの縮小式を (100vw - 190px)/12.4 に（390px→16.1px・360px→13.7px） */
@media (max-width: 599px) {
  .nezumi-diag__box.has-person { grid-template-columns: 100px 1fr; }
  .nezumi-diag__person { width: 100px; }
  .nezumi-diag__box.has-person .nezumi-diag__ttl { font-size: min(18px, calc((100vw - 190px) / 12.4)); }
}

/* v1.9.116（2026-09-26 取締役員「個人情報の入力不要・11社の掲載データから判定 これの文字サイズもう少し小さくして」）：PC 13→11px／スマホ 11→10px */
.nezumi-diag__note { font-size: 11px; margin-top: 8px; }
@media (max-width: 599px) { .nezumi-diag__note, .nezumi-diag__box.has-person .nezumi-diag__note { font-size: 10px; margin-top: 6px; } }

/* v1.9.117（2026-09-26 取締役員「もう少し小さく」2回目）：診断ボタン下の注記 PC 11→10px／スマホ 10→9.5px */
.nezumi-diag__note { font-size: 10px; }
@media (max-width: 599px) { .nezumi-diag__note, .nezumi-diag__box.has-person .nezumi-diag__note { font-size: 9.5px; } }

/* v1.9.118（2026-09-26 取締役員「表のアコーディオンを、この画像みたいなデザイン・レイアウトに」＝業者ページの「すべての口コミを読む（36件） ›」と同じ、中央寄せ・白地・青枠・角丸・右向きの山形）：「6位以降を見る（残りN社）」の見出しを差し替え */
.nezumi-cmp__more { display: block; width: auto; max-width: 100%; margin: 16px auto 0; background: #fff; border: 2px solid var(--nezumi-cta-2); border-radius: 10px; padding: 15px 52px 15px 28px; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--nezumi-cta-2); text-align: center; position: relative; box-shadow: none; }
.nezumi-cmp__more::after { content: ""; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; border: 0; border-top: 3px solid var(--nezumi-cta-2); border-right: 3px solid var(--nezumi-cta-2); transform: translateY(-50%) rotate(45deg); }
.nezumi-cmp__more[aria-expanded="true"]::after { border: 0; border-top: 3px solid var(--nezumi-cta-2); border-right: 3px solid var(--nezumi-cta-2); transform: translateY(-30%) rotate(-45deg); }
.nezumi-cmp__more:hover { background: var(--nezumi-bluebox); }
.nezumi-cmp__more[hidden] { display: none; }
@media (max-width: 599px) { .nezumi-cmp__more { font-size: 15px; padding: 12px 44px 12px 20px; margin-top: 12px; } .nezumi-cmp__more::after { right: 18px; } }

