:root{--wre-navy:#0b2340;--wre-aqua:#00a7a5;--wre-sky:#2f9ed8;--wre-orange:#ff8a4c;--wre-purple:#7667f5;--wre-green:#35a86b;--wre-pink:#ee658c;--wre-ink:#17324d;--wre-muted:#677789;--wre-line:#dce8ef;--wre-soft:#f4fbfd;--wre-white:#fff;--wre-shadow:0 12px 34px rgba(15,63,86,.10)}
.wre-db-template .entry-title,.wre-contractor-template .entry-title,.wre-home-template .entry-title{display:none!important}.wre-db-template .entry-content,.wre-contractor-template .entry-content,.wre-home-template .entry-content{max-width:none!important}.wre-shell{max-width:1120px;margin:0 auto;color:var(--wre-ink);font-family:inherit}.wre-shell *{box-sizing:border-box}.wre-shell a{text-decoration:none}.wre-icon{width:1.25em;height:1.25em;display:inline-block;vertical-align:-.2em;flex:0 0 auto}.wre-hero{position:relative;overflow:hidden;border-radius:28px;padding:46px 48px;margin:18px 0 28px;background:linear-gradient(135deg,#08385d 0%,#006c7f 56%,#00a7a5 100%);color:#fff;box-shadow:var(--wre-shadow);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:30px;min-height:330px}.wre-hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-80px;height:150px;border-radius:50% 50% 0 0/100% 100% 0 0;background:rgba(255,255,255,.09)}.wre-hero-copy{position:relative;z-index:2}.wre-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:13px;font-weight:800;letter-spacing:.04em}.wre-hero h1{font-size:clamp(32px,4vw,52px)!important;line-height:1.24!important;color:#fff!important;margin:20px 0 16px!important;letter-spacing:-.025em}.wre-hero h1 em{font-style:normal;color:#f8df65}.wre-hero p{font-size:17px;line-height:1.85;margin:0;max-width:760px;color:rgba(255,255,255,.93)}.wre-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.wre-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 22px;border-radius:14px;font-weight:800;border:1px solid transparent;cursor:pointer}.wre-btn-primary{background:#fff;color:#086578!important;box-shadow:0 8px 20px rgba(0,0,0,.12)}.wre-btn-ghost{background:rgba(255,255,255,.1);color:#fff!important;border-color:rgba(255,255,255,.35)}.wre-hero-illust{position:relative;z-index:2;min-height:220px}.wre-orb{position:absolute;display:grid;place-items:center;border-radius:50%;box-shadow:0 18px 38px rgba(0,0,0,.18);backdrop-filter:blur(5px)}.wre-orb .wre-icon{width:54%;height:54%}.wre-orb-a{width:130px;height:130px;right:48px;top:8px;background:linear-gradient(135deg,#fff,#cbfbf5);color:#008985}.wre-orb-b{width:96px;height:96px;left:15px;bottom:12px;background:linear-gradient(135deg,#fff,#fff0e7);color:#ee6d32}.wre-orb-c{width:78px;height:78px;right:10px;bottom:5px;background:linear-gradient(135deg,#fff,#e7e4ff);color:#6957ed}.wre-pipe-line{position:absolute;width:180px;height:130px;border:15px solid rgba(255,255,255,.22);border-left:none;border-bottom:none;border-radius:0 80px 0 0;right:38px;top:112px}.wre-area-illust .wre-map-drop{position:absolute;right:90px;top:20px;width:140px;height:140px;border-radius:46% 54% 64% 36%/44% 42% 58% 56%;background:#fff;color:var(--wre-aqua);display:grid;place-items:center;transform:rotate(12deg);box-shadow:0 20px 40px rgba(0,0,0,.16)}.wre-area-illust .wre-map-drop .wre-icon{width:68px;height:68px}.wre-map-pin{position:absolute;right:25px;bottom:20px;width:84px;height:84px;border-radius:24px;background:#ffdf6e;color:#9c5c00;display:grid;place-items:center;transform:rotate(-8deg);box-shadow:0 14px 28px rgba(0,0,0,.15)}.wre-map-pin .wre-icon{width:44px;height:44px}.wre-stat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.wre-stat-row span{padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.12);font-size:13px}.wre-stat-row strong{color:#ffeb91}.wre-emergency{margin:0 0 34px;border-radius:22px;background:#fff;border:1px solid #d9eaf0;box-shadow:var(--wre-shadow);overflow:hidden}.wre-emergency-title{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(90deg,#eaf9ff,#f6fffb)}.wre-emergency-title span{font-size:12px;background:#ef5c70;color:#fff;border-radius:999px;padding:4px 9px;font-weight:800}.wre-emergency-title strong{font-size:18px}.wre-emergency-grid{display:grid;grid-template-columns:repeat(4,1fr)}.wre-emergency-item{display:flex;gap:11px;padding:17px 16px;border-right:1px solid #e7eff3}.wre-emergency-item:last-child{border-right:none}.wre-emergency-item>.wre-icon{width:30px;height:30px;color:var(--wre-aqua);margin-top:2px}.wre-emergency-item strong{display:block;font-size:14px;margin-bottom:4px}.wre-emergency-item span{display:block;font-size:12px;line-height:1.55;color:var(--wre-muted)}.wre-section{margin:52px 0}.wre-section-soft{padding:32px;border-radius:26px;background:linear-gradient(180deg,#f7fcfe,#f2faf9);border:1px solid #e0eef0}.wre-section-head{display:flex;gap:16px;align-items:flex-start;margin:0 0 22px}.wre-section-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px rgba(16,65,90,.14)}.wre-section-icon .wre-icon{width:27px;height:27px}.wre-section-head h2{font-size:clamp(24px,3vw,34px)!important;line-height:1.35!important;margin:1px 0 7px!important;color:var(--wre-navy)!important;border:none!important;padding:0!important}.wre-section-head p{margin:0;color:var(--wre-muted);line-height:1.7}.wre-eyebrow{font-size:11px!important;letter-spacing:.16em;font-weight:900;color:var(--wre-aqua)!important}.wre-bg-aqua{background:linear-gradient(135deg,#00a7a5,#2dc6bf)}.wre-bg-orange{background:linear-gradient(135deg,#ff7a48,#ffad5c)}.wre-bg-purple{background:linear-gradient(135deg,#6d5df2,#9a7df9)}.wre-bg-green{background:linear-gradient(135deg,#2ca96a,#70cf8d)}.wre-bg-navy{background:linear-gradient(135deg,#0b2340,#275b78)}.wre-compare-wrap{border:1px solid #dbe8ef;border-radius:20px;background:#fff;box-shadow:var(--wre-shadow);overflow:hidden}.wre-compare-note{padding:12px 16px;background:#f7fbfd;color:#607487;font-size:12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e4edf2}.wre-note-dot{width:8px;height:8px;background:var(--wre-aqua);border-radius:50%}.wre-compare-scroll{overflow:auto}.wre-compare-table{border-collapse:separate!important;border-spacing:0!important;width:100%;min-width:980px;margin:0!important;font-size:13px}.wre-compare-table th{background:var(--wre-navy)!important;color:#fff!important;padding:13px 10px!important;text-align:center!important;border:none!important;white-space:nowrap}.wre-compare-table th:first-child{text-align:left!important;min-width:230px;position:sticky;left:0;z-index:4}.wre-compare-table th:nth-child(2){background:#126d82!important}.wre-compare-table th:nth-child(3){background:#3b72a4!important}.wre-compare-table th:nth-child(4){background:#d76d36!important}.wre-compare-table th:nth-child(5){background:#6759c7!important}.wre-compare-table th:nth-child(6){background:#27845a!important}.wre-compare-table td{padding:13px 10px!important;border:0!important;border-bottom:1px solid #e6eef2!important;text-align:center;vertical-align:middle;background:#fff}.wre-compare-table tbody tr:nth-child(even) td{background:#fbfdfe}.wre-compare-table tbody tr:hover td{background:#f0fafb}.wre-company-cell{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:9px;text-align:left!important;box-shadow:5px 0 12px rgba(8,52,74,.03)}.wre-company-rank{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#edf7fa;color:#087f87;font-weight:900;font-size:11px;flex:0 0 auto}.wre-company-cell img{width:45px;height:45px;border-radius:11px;object-fit:contain;border:1px solid #e5ecef;background:#fff}.wre-company-avatar{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#e4fbfa,#e6f2ff);color:var(--wre-aqua);display:grid;place-items:center;flex:0 0 auto}.wre-company-avatar .wre-icon{width:24px;height:24px}.wre-company-cell strong{display:inline-block;color:#17324d}.wre-pr{margin-left:5px;padding:2px 5px;border-radius:4px;background:#fff1d6;color:#9e6200;font-size:9px;font-weight:900}.wre-fee{color:#d25f2f}.wre-muted{color:#98a5ae;font-size:11px}.wre-badge-stack{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.wre-badge{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:7px;font-size:10px;font-weight:800;white-space:nowrap}.wre-badge .wre-icon{width:12px;height:12px}.wre-badge-blue{background:#e5f3ff;color:#2467a2}.wre-badge-orange{background:#fff0e5;color:#bb5a23}.wre-badge-green{background:#e7f8ed;color:#237a4a}.wre-badge-purple{background:#eeeaff;color:#5d4dc0}.wre-service-chips{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.wre-service-chips>span:not(.wre-muted){padding:3px 6px;border-radius:999px;background:#f0f6f8;color:#426278;font-size:10px}.wre-table-cta{display:inline-flex;padding:8px 12px;border-radius:9px;background:linear-gradient(135deg,#00a7a5,#1788b3);color:#fff!important;font-weight:800;white-space:nowrap;box-shadow:0 5px 12px rgba(0,145,155,.17)}.wre-empty{padding:26px;border-radius:18px;background:#f7fbfd;border:1px dashed #b8d2dc;text-align:center}.wre-empty strong,.wre-empty span{display:block}.wre-empty span{margin-top:6px;color:var(--wre-muted);font-size:13px}.wre-trouble-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.wre-trouble-card{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;background:#fff;border:1px solid #e2edf1;box-shadow:0 6px 18px rgba(18,72,96,.05);position:relative;overflow:hidden}.wre-trouble-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-30px;bottom:-35px;opacity:.18}.wre-trouble-1:after{background:#00a7a5}.wre-trouble-2:after{background:#2f9ed8}.wre-trouble-3:after{background:#7667f5}.wre-trouble-4:after{background:#ff8a4c}.wre-trouble-5:after{background:#35a86b}.wre-trouble-6:after{background:#ee658c}.wre-trouble-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#edf9fb;color:var(--wre-aqua);flex:0 0 auto}.wre-trouble-icon .wre-icon{width:27px;height:27px}.wre-trouble-card h3{margin:0 0 3px!important;font-size:16px!important;color:var(--wre-navy)!important}.wre-trouble-card p{margin:0 0 7px!important;font-size:12px;line-height:1.55;color:var(--wre-muted)}.wre-keyword{font-size:10px;padding:3px 7px;background:#eef4f6;border-radius:999px;color:#527083}.wre-area-search{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:20px;border-radius:19px;background:linear-gradient(135deg,#0b314f,#096c78);box-shadow:var(--wre-shadow)}.wre-search-field label{display:block;color:#c9f0f1;font-size:11px;font-weight:800;margin:0 0 5px}.wre-search-field select{width:100%;min-height:48px;border:none;border-radius:11px!important;padding:8px 12px;background:#fff}.wre-area-search .wre-btn{border:0}.wre-pref-cloud{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.wre-pref-cloud a{padding:7px 10px;border-radius:999px;background:#f1f7f9;color:#31586c!important;font-size:12px;border:1px solid #dce9ee}.wre-pref-cloud a:hover{background:#dff5f4;color:#057e7e!important}.wre-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.wre-info-card{padding:20px;border-radius:18px;background:#fff;border:1px solid #e1ebef}.wre-mini-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;margin-bottom:12px}.wre-mini-icon .wre-icon{width:23px;height:23px}.wre-info-card h3{font-size:16px!important;margin:0 0 6px!important}.wre-info-card p{font-size:13px;line-height:1.7;color:var(--wre-muted);margin:0}.wre-answer-box{padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#ecfbff,#f4fff9);border:1px solid #bfe4e7;line-height:1.85;margin:20px 0}.wre-answer-box strong{color:#0b6872}.wre-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wre-check-grid>div{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid #e2ecef}.wre-check-grid .wre-icon{color:var(--wre-green)}.wre-contractor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.wre-contractor-card{padding:18px;border-radius:20px;background:#fff;border:1px solid #dce9ee;box-shadow:0 8px 21px rgba(12,70,95,.06)}.wre-card-top{display:flex;gap:11px;align-items:center}.wre-card-top h3{font-size:16px!important;margin:0 0 3px!important;color:var(--wre-navy)!important}.wre-card-top p{font-size:11px;color:var(--wre-muted);margin:0!important;line-height:1.5}.wre-contractor-card .wre-badge-stack{justify-content:flex-start;margin:12px 0}.wre-mini-data{margin:0}.wre-mini-data div{display:grid;grid-template-columns:74px 1fr;padding:7px 0;border-top:1px dashed #e4ecef;font-size:12px}.wre-mini-data dt{color:#788b98}.wre-mini-data dd{margin:0;font-weight:700}.wre-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;border-radius:11px;background:#eff9fa;color:#087c84!important;font-weight:800;font-size:12px}.wre-card-link .wre-icon{width:15px;height:15px}.wre-official-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.wre-official-links a{display:inline-flex;padding:9px 13px;border-radius:10px;background:#eff6f8;color:#315c72!important;font-size:12px;font-weight:800}.wre-related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wre-related-links a{padding:10px 12px;border:1px solid #e1eaee;border-radius:10px;color:#2d617a!important;background:#fff;font-size:12px}.wre-faq-list{display:grid;gap:9px}.wre-faq-list details{border:1px solid #dce8ed;border-radius:14px;background:#fff;overflow:hidden}.wre-faq-list summary{padding:15px 17px;cursor:pointer;font-weight:800;list-style:none}.wre-faq-list summary::-webkit-details-marker{display:none}.wre-faq-list summary span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e6f8f8;color:#007d80;margin-right:9px}.wre-faq-list details>div{display:flex;gap:9px;padding:0 17px 16px;color:#526a79;line-height:1.8}.wre-faq-list details>div>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:8px;background:#fff0e6;color:#b95d2c;font-weight:900}.wre-faq-list p{margin:0}.wre-updated{text-align:right;font-size:11px;color:#8495a0}.wre-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.wre-profile-list{margin:0;border:1px solid #dce8ed;border-radius:16px;overflow:hidden}.wre-profile-list div{display:grid;grid-template-columns:130px 1fr}.wre-profile-list dt,.wre-profile-list dd{padding:12px 14px;margin:0;border-bottom:1px solid #e8eff2}.wre-profile-list dt{background:#f4f9fa;font-size:12px;font-weight:800}.wre-profile-list dd{font-size:13px}.wre-profile-status{padding:18px;border-radius:16px;background:#f5fbfc}.wre-profile-status h3{margin-top:0!important}.wre-profile-status .wre-check-grid{grid-template-columns:1fr}.wre-service-large-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.wre-service-large-grid>div{display:grid;grid-template-columns:32px 1fr;align-items:center;padding:13px;border-radius:13px;border:1px solid #dfe9ed;background:#fff}.wre-service-large-grid .wre-icon{grid-row:1/3;color:#a4b1b9}.wre-service-large-grid .is-on .wre-icon{color:var(--wre-green)}.wre-service-large-grid span{font-weight:800;font-size:13px}.wre-service-large-grid small{color:#8b9aa4}.wre-related-articles{margin:34px 0;padding:19px;border-radius:17px;background:#f3fafb;border:1px solid #d9eaee}.wre-related-articles>strong{display:block;color:var(--wre-navy);margin-bottom:10px}.wre-related-articles>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.wre-related-articles a{padding:9px 10px;background:#fff;border-radius:9px;color:#28708c!important;font-size:12px}.wre-article-image{margin:28px auto!important}.wre-article-image img{border-radius:16px;box-shadow:0 8px 24px rgba(8,54,73,.08)}
@media(max-width:900px){.wre-hero{grid-template-columns:1fr;padding:32px;min-height:auto}.wre-hero-illust{display:none}.wre-emergency-grid{grid-template-columns:repeat(2,1fr)}.wre-emergency-item:nth-child(2){border-right:none}.wre-emergency-item:nth-child(-n+2){border-bottom:1px solid #e7eff3}.wre-trouble-grid,.wre-contractor-grid{grid-template-columns:repeat(2,1fr)}.wre-info-grid{grid-template-columns:repeat(2,1fr)}.wre-area-search{grid-template-columns:1fr 1fr}.wre-area-search .wre-btn{grid-column:1/-1}.wre-related-links{grid-template-columns:repeat(2,1fr)}.wre-service-large-grid{grid-template-columns:repeat(2,1fr)}.wre-profile-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wre-shell{width:100%}.wre-hero{border-radius:20px;padding:25px 20px;margin-top:8px}.wre-hero h1{font-size:30px!important}.wre-hero p{font-size:14px}.wre-emergency-grid,.wre-trouble-grid,.wre-contractor-grid,.wre-info-grid,.wre-check-grid,.wre-related-links,.wre-service-large-grid,.wre-related-articles>div{grid-template-columns:1fr}.wre-emergency-item{border-right:none;border-bottom:1px solid #e7eff3}.wre-section{margin:38px 0}.wre-section-soft{padding:20px 14px;border-radius:20px}.wre-section-head{gap:11px}.wre-section-icon{width:43px;height:43px;border-radius:12px}.wre-section-head h2{font-size:23px!important}.wre-area-search{grid-template-columns:1fr;padding:16px}.wre-area-search .wre-btn{grid-column:auto}.wre-compare-scroll{padding-bottom:5px}.wre-compare-table{min-width:900px}.wre-profile-list div{grid-template-columns:105px 1fr}}

/* Data-driven local SEO blocks */
.wre-stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.wre-stat-card{padding:18px;border:1px solid #dcecf2;border-radius:18px;background:linear-gradient(145deg,#fff,#f6fcff);box-shadow:0 8px 24px rgba(12,57,82,.06)}
.wre-stat-card span{display:block;font-size:.82rem;color:#607580;margin-bottom:5px}
.wre-stat-card strong{font-size:1.65rem;color:#0b354b;letter-spacing:-.03em}
.wre-local-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.wre-local-notes article{padding:20px;border-radius:18px;background:#fff;border:1px solid #e2edf2}
.wre-local-notes h3{margin:0 0 8px;font-size:1.05rem;color:#0c3b55}
.wre-local-notes p{margin:0;color:#475d68;line-height:1.85}
.wre-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wre-guide-card{display:grid;grid-template-columns:46px 1fr 24px;gap:12px;align-items:center;padding:18px;border-radius:19px;background:#fff;text-decoration:none!important;border:1px solid #dfeef4;box-shadow:0 9px 24px rgba(12,57,82,.06);color:#153d51!important;transition:transform .18s ease,box-shadow .18s ease}
.wre-guide-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(12,57,82,.1)}
.wre-guide-card>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#dff9ff,#e8f4ff);color:#087c9b}
.wre-guide-card small{display:block;color:#708791;margin-bottom:4px}.wre-guide-card strong{display:block;line-height:1.5}
@media (max-width:782px){.wre-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wre-local-notes,.wre-guide-grid{grid-template-columns:1fr}}
.wre-bg-sky{background:linear-gradient(135deg,#2f9ed8,#55c2e9)}
.wre-bg-pink{background:linear-gradient(135deg,#ee658c,#ff8ea8)}

/* v1.0.12: API-generated stock-photo-style body images */
.wre-stock-photo{margin:28px auto 32px;max-width:960px}.wre-stock-photo img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 10px 28px rgba(12,64,90,.09)}

/* v1.0.13 prefecture ranking / sponsor hierarchy */
.wre-pref-ranking{display:grid;gap:16px}.wre-promo-card{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid #dce9ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(12,70,95,.06)}.wre-promo-card.wre-direct-sponsor{border:2px solid #f3c15f;background:#fffdf6}.wre-promo-card.wre-affiliate-pick{border:2px solid #9bd7ee;background:#f7fcff}.wre-promo-badge{position:absolute;top:-11px;left:16px;padding:4px 10px;border-radius:999px;background:#173f63;color:#fff;font-size:11px;font-weight:900}.wre-direct-sponsor .wre-promo-badge{background:#c47a00}.wre-promo-card>img{width:110px;height:76px;object-fit:contain;border-radius:12px;background:#fff}.wre-promo-copy>strong{display:block;font-size:20px;color:var(--wre-navy);margin-bottom:5px}.wre-promo-copy p{margin:0 0 8px!important;font-size:13px;line-height:1.65;color:var(--wre-muted)}.wre-promo-meta{display:flex;gap:7px;flex-wrap:wrap}.wre-promo-meta span{padding:4px 8px;border-radius:999px;background:#eef6f8;font-size:11px}.wre-promo-cta{min-width:150px;text-align:center}.wre-ranking-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:12px}.wre-ranking-head strong{font-size:22px;color:var(--wre-navy)}.wre-ranking-head span{font-size:11px;color:var(--wre-muted)}.wre-ranking-scroll{overflow:auto;border:1px solid #dce9ee;border-radius:16px}.wre-ranking-table{width:100%;min-width:860px;border-collapse:collapse!important;margin:0!important}.wre-ranking-table th{padding:12px!important;background:#0d4772!important;color:#fff!important;text-align:center!important;border:0!important}.wre-ranking-table td{padding:13px 11px!important;text-align:center;border:0!important;border-bottom:1px solid #e6eef2!important}.wre-ranking-table td:nth-child(2){text-align:left}.wre-ranking-table td:nth-child(2) small{display:block;color:var(--wre-muted);margin-top:3px}.wre-rank-medal{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:6px 8px;border-radius:999px;background:#edf4f7;font-weight:900}.wre-rank-1{background:#fff2b8;color:#8d6500}.wre-rank-2{background:#eef1f4;color:#5e6c78}.wre-rank-3{background:#f6dfcf;color:#915a36}.wre-ranking-policy{margin:0!important;font-size:11px;line-height:1.7;color:#748793}.wre-pref-count,.wre-area-count,.wre-count-badge{margin-left:auto!important;text-align:right!important;justify-self:end!important}
@media(max-width:700px){.wre-promo-card{grid-template-columns:72px 1fr}.wre-promo-card>img{width:68px;height:55px}.wre-promo-cta{grid-column:1/-1;min-width:0}.wre-ranking-head{display:block}.wre-ranking-head span{display:block;margin-top:4px}}


/* v1.0.19 ranking/design refresh */
.wre-rank-card-list{display:grid;gap:16px;margin-top:16px}.wre-rank-card{background:#fff;border:1px solid #dce8ed;border-radius:22px;padding:18px;box-shadow:0 10px 26px rgba(13,71,124,.06);position:relative;overflow:hidden}.wre-rank-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#14a9af,#1a79c6)}.wre-rank-card.wre-rank-pos-1{background:linear-gradient(180deg,#fffef8 0%,#ffffff 100%)}.wre-rank-card.wre-rank-pos-1:before{background:linear-gradient(180deg,#f3c43b,#f09a29)}.wre-rank-card-top{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center}.wre-rank-no-wrap{width:76px;height:76px;border-radius:22px;background:linear-gradient(135deg,#e9f8fc,#eef4ff);display:grid;place-items:center;align-content:center;border:1px solid #dbe8f0}.wre-rank-pos-1 .wre-rank-no-wrap{background:linear-gradient(135deg,#fff8d9,#fff1cf)}.wre-rank-no{display:block;font-size:31px;line-height:1;font-weight:900;color:#0f5786}.wre-rank-pos-1 .wre-rank-no{color:#a86f00}.wre-rank-no-wrap small{font-size:10px;letter-spacing:.08em;color:#6e8396;font-weight:800}.wre-rank-main h3{margin:0!important;font-size:28px!important;line-height:1.3;color:#123654!important}.wre-rank-title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.wre-rank-city{display:inline-flex;padding:5px 10px;border-radius:999px;background:#edf6fb;color:#3c6582;font-size:12px;font-weight:800}.wre-rank-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.wre-rank-cta .wre-btn{white-space:nowrap}.wre-rank-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.wre-rank-meta-grid>div{padding:12px 13px;border-radius:14px;background:#f7fbfd;border:1px solid #e3edf1}.wre-rank-meta-grid span{display:block;font-size:11px;font-weight:800;color:#6d8493;margin-bottom:5px}.wre-rank-meta-grid strong{display:block;font-size:14px;line-height:1.5;color:#15324c}.wre-rank-lead{margin:14px 0 0!important;color:#4d6678;line-height:1.8}.wre-rank-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.wre-rank-summary span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eff7fa;color:#3a657e;font-size:12px;font-weight:700}.wre-ranking-head{margin-bottom:12px}.wre-ranking-head strong{font-size:24px;color:#163a59;display:block}.wre-ranking-head span{display:block;margin-top:6px;color:#698193;font-size:13px}.wre-contractor-grid{grid-template-columns:repeat(2,1fr)!important}.wre-official-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wre-official-list li{margin:0;padding:0}.wre-official-list a{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:15px 16px;border-radius:16px;background:linear-gradient(180deg,#f8fcff 0%,#eef7fb 100%);border:1px solid #d8e8ef;color:#264f68!important;box-shadow:0 8px 18px rgba(9,64,98,.05)}.wre-official-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0fb1af,#1978c3);color:#fff}.wre-official-icon .wre-icon{width:22px;height:22px}.wre-official-list strong{display:block;font-size:14px;color:#123654}.wre-official-list small{display:block;margin-top:4px;color:#6f8596;line-height:1.5}.wre-official-box ul:not(.wre-official-list){list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.wre-official-box ul:not(.wre-official-list) li{position:relative;margin:0;padding:0}.wre-official-box ul:not(.wre-official-list) li a{display:block;padding:12px 14px 12px 42px;border-radius:14px;background:#f5fbff;border:1px solid #d9e8f2;color:#25516d!important;font-weight:700;position:relative}.wre-official-box ul:not(.wre-official-list) li a:before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:linear-gradient(135deg,#10aca9,#1f7ac1)}.wre-official-box ul:not(.wre-official-list) li a:after{content:"";position:absolute;left:20px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff}.wre-contractor-card{min-height:100%}@media (max-width:1024px){.wre-rank-card-top{grid-template-columns:68px 1fr}.wre-rank-cta{grid-column:1/-1}.wre-rank-main h3{font-size:24px!important}.wre-rank-meta-grid{grid-template-columns:repeat(2,1fr)}.wre-official-list{grid-template-columns:1fr}.wre-contractor-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:767px){.wre-rank-card{padding:16px}.wre-ranking-head strong{font-size:21px}.wre-rank-card-top{grid-template-columns:1fr;gap:12px}.wre-rank-no-wrap{width:64px;height:64px;border-radius:18px}.wre-rank-no{font-size:28px}.wre-rank-main h3{font-size:22px!important}.wre-rank-meta-grid{grid-template-columns:1fr}.wre-contractor-grid{grid-template-columns:1fr!important}.wre-official-list a{grid-template-columns:40px 1fr;padding:13px}.wre-official-icon{width:40px;height:40px;border-radius:12px}}


/* v1.0.20 contractor page enrichment + breadcrumbs */
.wre-db-template #breadcrumb,.wre-contractor-template #breadcrumb{display:block!important}.wre-breadcrumb{margin:0 0 14px;font-size:12px;color:#6f8290}.wre-breadcrumb ol{display:flex;flex-wrap:wrap;gap:0;list-style:none!important;margin:0!important;padding:0!important}.wre-breadcrumb li{display:flex;align-items:center;margin:0!important;padding:0!important}.wre-breadcrumb li+li:before{content:"›";display:inline-block;margin:0 8px;color:#a4b3bd}.wre-breadcrumb a{color:#376b87!important;text-decoration:none}.wre-breadcrumb span[aria-current="page"]{color:#657b89;font-weight:700}.wre-contractor-hero .wre-hero-copy h1{font-size:clamp(26px,3.2vw,42px)!important;line-height:1.25!important}.wre-contractor-hero-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.wre-contractor-hero-badges span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:800}.wre-contractor-hero-badges .wre-icon{width:14px;height:14px}.wre-profile-status .wre-check-grid>div span{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.wre-profile-status .wre-check-grid b{display:inline-flex;padding:3px 7px;border-radius:7px;background:#eaf4ff;color:#0d5d9c;font-size:11px}.wre-authority{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:14px 0 0!important;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #dceaf0}.wre-authority strong{display:inline-flex;padding:4px 8px;border-radius:7px;background:#e8f4ff;color:#145f9a;font-size:11px}.wre-authority span{font-weight:800;color:#274d66}.wre-location-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:stretch}.wre-map-frame{border-radius:18px;overflow:hidden;min-height:340px;border:1px solid #d9e7ec;background:#eef5f7}.wre-map-frame iframe{display:block;width:100%;height:100%;min-height:340px;border:0}.wre-location-copy{padding:20px;border-radius:18px;background:#fff;border:1px solid #dde8ec}.wre-location-copy>strong{display:block;font-size:17px;line-height:1.7;color:#173b55}.wre-location-copy p{color:#647b8a;line-height:1.8}.wre-before-grid{grid-template-columns:repeat(4,1fr)!important}.wre-source-summary{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:16px 0}.wre-source-summary>div{padding:13px 15px;border-radius:14px;background:#f7fbfd;border:1px solid #dfeaf0}.wre-source-summary span{display:block;font-size:11px;color:#718693;font-weight:800;margin-bottom:4px}.wre-source-summary strong{font-size:13px;line-height:1.7;color:#173a54}.wre-contractor-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wre-contractor-related-grid a{display:grid;gap:4px;padding:15px;border-radius:14px;background:#fff;border:1px solid #dce8ed;color:#285d77!important}.wre-contractor-related-grid strong{font-size:15px;color:#173b55}.wre-contractor-related-grid span{font-size:11px;color:#748895}.wre-profile-list dt{display:flex;align-items:center;font-weight:900}.wre-profile-list dt:after{content:"";height:1px;flex:1;margin-left:8px;background:#dce8ed}@media(max-width:900px){.wre-location-grid{grid-template-columns:1fr}.wre-before-grid{grid-template-columns:repeat(2,1fr)!important}.wre-source-summary{grid-template-columns:1fr}.wre-contractor-related-grid{grid-template-columns:1fr}}@media(max-width:600px){.wre-before-grid{grid-template-columns:1fr!important}.wre-profile-list div{grid-template-columns:112px 1fr}.wre-map-frame,.wre-map-frame iframe{min-height:260px}}

/* v1.0.21 SANGO breadcrumbs + official list cleanup */
.wre-official-list,.wre-official-list li{list-style:none!important;list-style-type:none!important}
.wre-official-list li::marker{content:""!important;font-size:0!important}
.wre-official-list li::before,.wre-official-list li:before{content:none!important;display:none!important}
.wre-official-list{padding-left:0!important;margin-left:0!important}
.wre-db-template #breadcrumb,.wre-contractor-template #breadcrumb{display:block!important}

/* v1.0.22: 業者DBではSANGOの前後記事ナビを非表示 */
body.wre-contractor-template .prnx_box,body.wre-contractor-template .post-navigation,body.wre-contractor-template .pager-post-navi,body.wre-contractor-template .pagenation,body.wre-contractor-template .prev-next{display:none!important;}

/* v1.0.23: 地域DB・業者DBではSANGOの前後記事ナビを完全非表示 */
body.wre-db-template .prnx_box,
body.wre-db-template .post-navigation,
body.wre-db-template .pager-post-navi,
body.wre-db-template .pagenation,
body.wre-db-template .prev-next,
body.wre-contractor-template .prnx_box,
body.wre-contractor-template .post-navigation,
body.wre-contractor-template .pager-post-navi,
body.wre-contractor-template .pagenation,
body.wre-contractor-template .prev-next{display:none!important;}


/* v1.0.24: /sitemap/ 記事数を右寄せ、展開記事をPC/タブレット2列・スマホ1列 */
.wre-sitemap-page .wre-sitemap-category-row{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  width:100%!important;
  gap:12px!important;
}
.wre-sitemap-page .wre-sitemap-count-badge,
.wre-sitemap-page .wre-count-badge{
  margin-left:auto!important;
  margin-right:0!important;
  justify-self:auto!important;
  flex:0 0 auto!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.wre-sitemap-page .wre-sitemap-toggle{
  flex:0 0 auto!important;
  margin-left:8px!important;
}
.wre-sitemap-page .wre-sitemap-article-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.wre-sitemap-page .wre-sitemap-article-card{
  min-width:0!important;
  width:auto!important;
  margin:0!important;
}
.wre-sitemap-page .wre-sitemap-article-card>a,
.wre-sitemap-page .wre-sitemap-article-card a{
  height:100%;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.wre-sitemap-page .wre-sitemap-article-card>a:hover,
.wre-sitemap-page .wre-sitemap-article-card a:hover{
  background:#f3f9ff!important;
  border-color:#9fc9ef!important;
  box-shadow:0 6px 16px rgba(13,71,161,.08)!important;
  transform:translateY(-1px);
}
@media(max-width:767px){
  .wre-sitemap-page .wre-sitemap-category-row{gap:8px!important}
  .wre-sitemap-page .wre-sitemap-count-badge,.wre-sitemap-page .wre-count-badge{font-size:12px!important}
  .wre-sitemap-page .wre-sitemap-toggle{margin-left:4px!important}
  .wre-sitemap-page .wre-sitemap-article-grid{grid-template-columns:1fr!important;gap:10px!important}
}


/* v1.0.25: お問い合わせフォーム上部余白を1行程度に整理 */
.wre-contact-wrap{margin-top:1em!important}
.wre-contact-form>br:first-child,
.wre-contact-form>p:empty{display:none!important;margin:0!important;padding:0!important;height:0!important}
.wre-contact-form>.wre-hp+p{margin-top:0!important}


/* v1.0.26: ご注意とお問い合わせフォームを明確に分離 */
.wre-contact-heading{
  clear:both!important;
  margin-top:1.25em!important;
  margin-bottom:.6em!important;
}
.wre-contact-wrap{
  clear:both!important;
  position:relative!important;
  margin-top:0!important;
  padding-top:0!important;
}
.wre-contact-form{
  margin-top:0!important;
  padding-top:0!important;
}
.wre-contact-form>br:first-child,
.wre-contact-form>p:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
}
.wre-contact-form>.wre-hp+p{
  margin-top:0!important;
}


/* v1.0.27: 3列以上の本文テーブルはスマホで横スクロール */
.wre-auto-table-scroll{width:100%;max-width:100%;}
.wre-auto-table-scroll>.wre-auto-wide-table{margin-left:0!important;margin-right:0!important;}
@media(max-width:767px){
  .wre-auto-table-scroll{
    display:block!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    max-width:100%!important;
    margin:1.25em 0!important;
    padding:0 0 7px!important;
  }
  .wre-auto-table-scroll>.wre-auto-wide-table{
    width:max-content!important;
    max-width:none!important;
    margin:0!important;
  }
  .wre-auto-table-scroll>.wre-auto-wide-table--md{min-width:660px!important;}
  .wre-auto-table-scroll>.wre-auto-wide-table--lg{min-width:760px!important;}
  .wre-auto-table-scroll>.wre-auto-wide-table--xl{min-width:900px!important;}
  .wre-auto-table-scroll th,
  .wre-auto-table-scroll td{
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}


/* v1.0.28: 通常記事・固定ページのH2〜H5装飾 */
body.single-post .entry-content h2,
body.page:not(.wre-home-template) .entry-content h2{
  margin:2.4em 0 1em!important;
  padding:.78em 1em .82em!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#0d47a1 0%,#1565c0 100%)!important;
  color:#fff!important;
  font-size:clamp(1.35rem,2.5vw,1.75rem)!important;
  line-height:1.5!important;
  box-shadow:0 7px 18px rgba(13,71,161,.12)!important;
}
body.single-post .entry-content h3,
body.page:not(.wre-home-template) .entry-content h3{
  margin:2em 0 .85em!important;
  padding:.7em .9em!important;
  border:0!important;
  border-left:5px solid #1565c0!important;
  border-radius:8px!important;
  background:#eaf4ff!important;
  color:#0d47a1!important;
  font-size:clamp(1.15rem,2vw,1.4rem)!important;
  line-height:1.55!important;
}
body.single-post .entry-content h4,
body.page:not(.wre-home-template) .entry-content h4{
  position:relative!important;
  margin:1.8em 0 .75em!important;
  padding:.25em .2em .55em 1.05em!important;
  border:0!important;
  border-bottom:2px solid #b7d7f4!important;
  color:#123e68!important;
  font-size:1.12rem!important;
  line-height:1.55!important;
}
body.single-post .entry-content h4:before,
body.page:not(.wre-home-template) .entry-content h4:before{
  content:""!important;
  position:absolute!important;
  left:.05em!important;
  top:.55em!important;
  width:.55em!important;
  height:.55em!important;
  border-radius:3px!important;
  background:#2f9ed8!important;
}
body.single-post .entry-content h5,
body.page:not(.wre-home-template) .entry-content h5{
  margin:1.55em 0 .65em!important;
  padding:.55em .75em!important;
  border:0!important;
  border-left:4px solid #f57c00!important;
  border-radius:6px!important;
  background:#fff8ee!important;
  color:#49351f!important;
  font-size:1.02rem!important;
  line-height:1.55!important;
}

body.single-post .entry-content h2:before,
body.single-post .entry-content h2:after,
body.single-post .entry-content h3:before,
body.single-post .entry-content h3:after,
body.single-post .entry-content h5:before,
body.single-post .entry-content h5:after,
body.page:not(.wre-home-template) .entry-content h2:before,
body.page:not(.wre-home-template) .entry-content h2:after,
body.page:not(.wre-home-template) .entry-content h3:before,
body.page:not(.wre-home-template) .entry-content h3:after,
body.page:not(.wre-home-template) .entry-content h5:before,
body.page:not(.wre-home-template) .entry-content h5:after{content:none!important;display:none!important}
body.single-post .entry-content h4:after,
body.page:not(.wre-home-template) .entry-content h4:after{content:none!important;display:none!important}

/* v1.0.28: 通常記事・固定ページの表デザイン */
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table),
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table){
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:1.4em 0!important;
  border:1px solid #d8e5ef!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(13,71,161,.06)!important;
  font-size:.94em;
}
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) th,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) th{
  padding:12px 13px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.22)!important;
  border-bottom:1px solid #0a3b82!important;
  background:#0d47a1!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.55!important;
  text-align:left;
  vertical-align:middle!important;
}
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) td,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) td{
  padding:11px 13px!important;
  border:0!important;
  border-right:1px solid #e3ebf1!important;
  border-bottom:1px solid #e3ebf1!important;
  background:#fff!important;
  color:#263f52!important;
  line-height:1.65!important;
  vertical-align:top!important;
}
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) tbody tr:nth-child(even) td,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) tbody tr:nth-child(even) td{
  background:#f7fbff!important;
}
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) tr:last-child td,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) tr:last-child td{border-bottom:0!important}
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) th:last-child,
body.single-post .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) td:last-child,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) th:last-child,
body.page:not(.wre-home-template) .entry-content table:not(.wre-compare-table):not(.wre-ranking-table) td:last-child{border-right:0!important}

/* 3列以上は全箇所で横スクロール。JSが自動判定・ラップする */
.wre-auto-table-scroll{position:relative;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.wre-auto-table-scroll>.wre-auto-wide-table{margin-left:0!important;margin-right:0!important}
@media(max-width:767px){
  .wre-auto-table-scroll{display:block!important;overflow-x:auto!important;overflow-y:hidden!important;margin:1.25em 0!important;padding:0 0 8px!important;border-radius:10px}
  .wre-auto-table-scroll:after{content:"横にスクロールできます →";display:block;position:sticky;left:0;width:max-content;margin:6px 0 0;padding:3px 7px;border-radius:999px;background:#eaf4ff;color:#47708e;font-size:10px;font-weight:700}
  .wre-auto-table-scroll>.wre-auto-wide-table{width:max-content!important;max-width:none!important;margin:0!important}
  .wre-auto-table-scroll>.wre-auto-wide-table--md{min-width:660px!important}
  .wre-auto-table-scroll>.wre-auto-wide-table--lg{min-width:760px!important}
  .wre-auto-table-scroll>.wre-auto-wide-table--xl{min-width:900px!important}
  .wre-auto-table-scroll th,.wre-auto-table-scroll td{word-break:normal!important;overflow-wrap:normal!important}
}


/* v1.0.29: 比較表は先頭列も固定せず、全列を一緒に横スクロール */
.wre-compare-table th:first-child{
  position:static!important;
  left:auto!important;
  z-index:auto!important;
}
.wre-company-cell{
  position:static!important;
  left:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}
.wre-compare-scroll{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
@media(max-width:767px){
  .wre-compare-scroll{padding-bottom:8px!important}
  .wre-compare-table{width:max-content!important;max-width:none!important;min-width:900px!important}
  .wre-compare-table th,.wre-compare-table td{white-space:nowrap}

  /* SANGO中央ヘッダー: モバイルのロゴを少し大きくして左右アイコンとの視覚バランスを揃える */
  .header.header--center #logo.header-logo{
    width:auto!important;
    max-width:none!important;
  }
  .header.header--center .header-logo__link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .header.header--center .header-logo__img{
    width:160px!important;
    height:auto!important;
    max-width:calc(100vw - 150px)!important;
    object-fit:contain!important;
  }
}
@media(max-width:360px){
  .header.header--center .header-logo__img{width:148px!important;max-width:calc(100vw - 138px)!important}
}

/* v1.0.30: 主力記事の一次情報・比較補強ブロック */
.wre-cornerstone-enrichment{margin:2.2em 0 1.6em}
.wre-cornerstone-enrichment .wre-source-note{margin:12px 0 24px;padding:12px 14px;border-left:4px solid #1565c0;border-radius:8px;background:#f2f8ff;color:#486579;font-size:13px;line-height:1.75}
.wre-primary-source-list{margin:14px 0 24px!important;padding:0!important;list-style:none!important;display:grid;gap:8px}
.wre-primary-source-list li{margin:0!important;padding:0!important;list-style:none!important}
.wre-primary-source-list li:before{content:none!important;display:none!important}
.wre-primary-source-list a{display:block;padding:11px 13px;border:1px solid #d7e7f4;border-radius:10px;background:#f7fbff;color:#1565c0!important;font-weight:700;line-height:1.6;text-decoration:none!important}
.wre-primary-source-list a:hover{background:#eaf4ff;border-color:#b8d6ed}

/* v1.0.31: SANGO蛍光ペン＋太字 / 警告用の赤太字を全記事・DB本文へ共通適用 */
.keiko_yellow strong,
.wre-shell .keiko_yellow strong,
.entry-content .keiko_yellow strong{
  font-weight:800!important;
}
.wre-red-strong{
  color:#d32f2f!important;
  font-weight:800!important;
}
@media(max-width:767px){
  .keiko_yellow strong,.wre-red-strong{font-weight:800!important}
}


/* v1.0.32: 細切れH2をテーマ別H2 + H3へ整理した際の導入 */
.wre-auto-parent-h2{margin-top:2.4em!important}
.wre-structure-lead{margin:-.35em 0 1.35em!important;padding:13px 15px;border-left:4px solid #1565c0;border-radius:8px;background:#f4f9ff;color:#365a73;line-height:1.85}
body.single-post .entry-content h3.wre-auto-demoted-h3{margin-top:1.7em!important}


/* v1.0.38: SANGO本来のモバイル2段ヘッダー構造を維持。
   v1.0.35のabsolute指定はナビゲーション行へロゴが重なるため撤去。 */
@media(max-width:767px){
  body .header.header--center #logo.header-logo{
    position:static!important;
    left:auto!important;top:auto!important;transform:none!important;
    margin-left:auto!important;margin-right:auto!important;
    padding:0!important;
    text-align:center!important;
  }
  body .header.header--center #logo.header-logo a{
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{
    display:block!important;width:160px!important;max-width:calc(100vw - 150px)!important;
    height:auto!important;margin:0 auto!important;object-fit:contain!important;
  }
  /* 都道府県・市区町村BEST5カード: 詳細ボタンを中央寄せ */
  .wre-rank-cta{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;}
  .wre-rank-cta .wre-btn{margin-left:auto!important;margin-right:auto!important;}
}
@media(max-width:360px){
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{width:148px!important;max-width:calc(100vw - 138px)!important;}
}

/* v1.0.35: /sitemap/ 上部の不要余白を除去 */
body.wre-sitemap-page #main,
body.wre-sitemap-page main,
body.wre-sitemap-page article,
body.wre-sitemap-page .entry-content{
  margin-top:0!important;
}
body.wre-sitemap-page .entry-content{
  padding-top:0!important;
}
body.wre-sitemap-page .entry-content>.wre-sitemap-first-heading,
body.wre-sitemap-page .entry-content>h1:first-of-type,
body.wre-sitemap-page .entry-content>h2:first-of-type{
  margin-top:0!important;
}

/* v1.0.35: 全記事・固定ページ・DBページの自動広告配置 */
.wre-auto-ad-zone{
  display:grid;
  gap:14px;
  margin:24px auto 30px;
  max-width:1120px;
}
.wre-auto-ad-zone-top{
  margin-top:20px;
  margin-bottom:30px;
}
.wre-auto-ad-zone-inline{
  margin-top:34px;
  margin-bottom:34px;
}
.wre-auto-ad-zone .wre-promo-card{
  width:100%;
}
.wre-affiliate-primary{
  border-color:#75c8e8!important;
  background:linear-gradient(180deg,#f7fcff 0%,#ffffff 100%)!important;
}
.wre-affiliate-secondary{
  border-color:#cae5ef!important;
  background:#fbfdff!important;
}
@media(max-width:700px){
  .wre-auto-ad-zone{
    margin-left:0;
    margin-right:0;
    gap:12px;
  }
  .wre-auto-ad-zone .wre-promo-card{
    grid-template-columns:72px minmax(0,1fr)!important;
    padding:18px 14px!important;
    gap:12px!important;
  }
  .wre-auto-ad-zone .wre-promo-cta{
    grid-column:1/-1!important;
    width:100%!important;
    text-align:center!important;
  }
  .wre-auto-ad-zone .wre-promo-cta>a,
  .wre-auto-ad-zone .wre-promo-cta>div,
  .wre-auto-ad-zone .wre-promo-cta>span{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v1.0.36: 公式サイトスクリーンショットを主役にした広告カード */
.wre-promo-card{
  grid-template-columns:220px minmax(0,1fr) auto;
}
.wre-promo-card>img{
  width:220px;
  height:124px;
  object-fit:cover;
  object-position:top center;
  border:1px solid #dce9ee;
  border-radius:12px;
  background:#fff;
}
.wre-sidebar-sponsored{
  margin:0 0 22px;
  padding-top:2px;
}
.wre-sidebar-sponsored-title{
  margin:0 0 9px;
  font-size:12px;
  font-weight:800;
  color:#6b7f8c;
  letter-spacing:.04em;
}
.wre-sidebar-sponsored .wre-promo-card{
  display:block;
  padding:16px;
}
.wre-sidebar-sponsored .wre-promo-card>img{
  display:block;
  width:100%;
  height:auto;
  max-height:180px;
  object-fit:cover;
  object-position:top center;
  margin:4px 0 12px;
}
.wre-sidebar-sponsored .wre-promo-copy>strong{font-size:17px}
.wre-sidebar-sponsored .wre-promo-copy p{font-size:12px}
.wre-sidebar-sponsored .wre-promo-cta{min-width:0;margin-top:12px;text-align:center}
.wre-sidebar-sponsored .wre-promo-cta .wre-btn{width:100%;justify-content:center}
@media(max-width:700px){
  .wre-promo-card{grid-template-columns:110px minmax(0,1fr)!important}
  .wre-promo-card>img{width:110px!important;height:72px!important;object-fit:cover!important;object-position:top center!important}
  .wre-sidebar-sponsored .wre-promo-card{display:block!important}
  .wre-sidebar-sponsored .wre-promo-card>img{width:100%!important;height:auto!important;max-height:220px!important}
}

/* v1.0.41: ASPカードを見やすい比較カードへ。ASP発行HTML本体は変更せず、外側の見た目だけ整える */
.wre-promo-card{
  grid-template-columns:minmax(210px,27%) minmax(0,1fr) minmax(170px,200px)!important;
  gap:20px!important;
  align-items:center!important;
  padding:22px!important;
  border-radius:20px!important;
  box-shadow:0 12px 34px rgba(13,71,161,.08)!important;
  overflow:visible;
}
.wre-affiliate-primary{
  border:1px solid #7fcce8!important;
  background:linear-gradient(135deg,#f4fbff 0%,#fff 55%,#f5fbff 100%)!important;
}
.wre-affiliate-secondary{
  border:1px solid #d6e7ef!important;
  background:linear-gradient(135deg,#fff 0%,#f9fcff 100%)!important;
}
.wre-promo-media{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid #dfeaf0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(28,72,94,.06);
}
.wre-promo-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  margin:0!important;
}
.wre-promo-title-row{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 7px;
}
.wre-promo-title-row>strong{
  font-size:22px;
  line-height:1.35;
  color:#0b3152;
}
.wre-promo-network{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#eaf5fb;
  color:#29627d;
  font-size:10px;
  font-weight:800;
}
.wre-promo-lead{
  margin:0 0 11px!important;
  color:#526b7a!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.wre-promo-meta{
  gap:7px!important;
  margin-bottom:11px;
}
.wre-promo-meta span{
  padding:5px 9px!important;
  background:#eef6f9!important;
  color:#365d70!important;
  font-size:11px!important;
  line-height:1.45;
}
.wre-promo-area{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:7px 10px;
  align-items:start;
  padding:10px 12px;
  border-radius:12px;
  background:#f7fafc;
  border:1px solid #e3edf2;
  color:#516a79;
  font-size:11px;
  line-height:1.65;
}
.wre-promo-area b{
  color:#0d5b7d;
  white-space:nowrap;
}
.wre-promo-cta{
  min-width:0!important;
  text-align:center!important;
}
.wre-affiliate-raw{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
}
.wre-affiliate-raw a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:11px 14px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#1565c0,#0d83a8)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.3!important;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(21,101,192,.20)!important;
  transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;
}
.wre-affiliate-raw a:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(21,101,192,.26)!important;
  opacity:.96;
}
.wre-affiliate-raw a img{
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.wre-promo-cta>.wre-btn{
  width:100%;
  min-height:48px;
  justify-content:center;
  border-radius:12px;
  font-weight:800;
}
.wre-promo-pr-note{
  display:block;
  margin-top:8px;
  color:#8a9ca7;
  font-size:9px;
  line-height:1.4;
}
.wre-primary-repeat[data-wre-promo-variant="summary"] .wre-promo-card,
.wre-promo-card[data-wre-promo-variant="summary"]{
  background:linear-gradient(135deg,#f7fbff 0%,#fff 100%)!important;
}
.wre-secondary-repeat{max-width:1040px}

/* サイドバーは縦カード。 */
.wre-sidebar-sponsored .wre-promo-media{
  width:100%;
  aspect-ratio:16/9;
  margin:3px 0 12px;
}
.wre-sidebar-sponsored .wre-promo-card{
  display:block!important;
}
.wre-sidebar-sponsored .wre-promo-title-row>strong{font-size:17px}
.wre-sidebar-sponsored .wre-promo-area{display:block}
.wre-sidebar-sponsored .wre-promo-area b{display:block;margin-bottom:4px}

@media(max-width:700px){
  .wre-promo-card{
    display:block!important;
    padding:16px!important;
    border-radius:17px!important;
    box-shadow:0 8px 24px rgba(13,71,161,.08)!important;
  }
  .wre-promo-media{
    width:100%!important;
    aspect-ratio:16/9!important;
    margin:4px 0 14px!important;
    border-radius:12px!important;
  }
  .wre-promo-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
  }
  .wre-promo-title-row{
    justify-content:flex-start;
    margin-bottom:7px;
  }
  .wre-promo-title-row>strong{font-size:20px}
  .wre-promo-lead{font-size:13px!important;line-height:1.75!important}
  .wre-promo-meta{margin-bottom:10px}
  .wre-promo-meta span{font-size:10.5px!important}
  .wre-promo-area{
    grid-template-columns:1fr;
    gap:3px;
    margin-bottom:14px;
    font-size:10.5px;
  }
  .wre-promo-cta{
    width:100%!important;
    margin-top:14px!important;
  }
  .wre-affiliate-raw a,
  .wre-promo-cta>.wre-btn{
    width:100%!important;
    min-height:50px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
  .wre-auto-ad-zone{gap:14px!important}
}


/* v1.0.42: ASP名/成果報酬注記の重複を消し、CTAのメリットを明確化 */
.wre-promo-network,
.wre-promo-pr-note{display:none!important}
.wre-promo-benefit{
  display:block;
  margin:0 0 9px;
  padding:8px 10px;
  border:1px solid #f3d58d;
  border-radius:10px;
  background:linear-gradient(135deg,#fff9e8,#fff4d4);
  color:#8b5a00;
  font-size:11px;
  font-weight:900;
  line-height:1.5;
  text-align:center;
  letter-spacing:.01em;
}
.wre-affiliate-primary .wre-promo-benefit{
  border-color:#bfe4ef;
  background:linear-gradient(135deg,#effaff,#f7fdff);
  color:#0a637d;
}
@media(max-width:700px){
  .wre-promo-benefit{
    font-size:12px;
    padding:9px 10px;
    margin-bottom:9px;
  }
}


/* v1.0.43: 地域検索ボタンを都道府県・市区町村セレクトと同じ高さ・位置に揃える */
.wre-area-search .wre-btn[data-wre-go]{
  margin:0!important;
  align-self:end!important;
  min-height:48px!important;
  height:48px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
  line-height:1.2!important;
}
@media(max-width:600px){
  .wre-area-search .wre-btn[data-wre-go]{
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
  }
}

/* v1.0.44: SANGOスマホヘッダーのロゴを左右アイコンと同じ高さへ揃え、ロゴ下余白を圧縮 */
@media(max-width:767px){
  body .header.header--center #logo.header-logo{
    position:relative!important;
    top:-12px!important;
    margin-top:0!important;
    margin-bottom:-18px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
  }
  body .header.header--center #logo.header-logo a,
  body .header.header--center .header-logo__link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
  }
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{
    display:block!important;
    width:160px!important;
    max-width:calc(100vw - 150px)!important;
    height:auto!important;
    margin:0 auto!important;
    vertical-align:middle!important;
  }
}
@media(max-width:360px){
  body .header.header--center #logo.header-logo{
    top:-10px!important;
    margin-bottom:-16px!important;
  }
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{
    width:148px!important;
    max-width:calc(100vw - 138px)!important;
  }
}


/* v1.0.46: 地域検索フォームのボタン位置をセレクト入力欄と完全に揃える */
.wre-area-search{
  --wre-area-control-h:56px;
  align-items:end!important;
}
.wre-area-search .wre-search-field{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
}
.wre-area-search .wre-search-field label{
  margin:0 0 5px!important;
  padding:0!important;
  line-height:1.35!important;
}
.wre-area-search .wre-search-field select,
.wre-area-search .wre-btn[data-wre-go]{
  box-sizing:border-box!important;
  height:var(--wre-area-control-h)!important;
  min-height:var(--wre-area-control-h)!important;
  max-height:var(--wre-area-control-h)!important;
  margin:0!important;
  border-width:0!important;
  line-height:1.2!important;
}
.wre-area-search .wre-search-field select{
  display:block!important;
  padding:0 14px!important;
}
.wre-area-search .wre-btn[data-wre-go]{
  align-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 24px!important;
  vertical-align:bottom!important;
}
/* SANGO / ブラウザ由来のフォーム下余白が見た目のズレを作らないよう明示的に解除 */
.wre-area-search select,
.wre-area-search button{
  margin-bottom:0!important;
}
@media (min-width:901px){
  .wre-area-search .wre-btn[data-wre-go]{
    transform:none!important;
  }
}
@media(max-width:900px){
  .wre-area-search .wre-btn[data-wre-go]{
    width:100%!important;
  }
}
@media(max-width:600px){
  .wre-area-search{
    --wre-area-control-h:54px;
  }
}


/* v1.0.47: ASP CTAメリット文をPC/スマホとも1行固定。末尾の／だけ折り返されるのを防止 */
.wre-promo-benefit{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  padding-left:6px!important;
  padding-right:6px!important;
  font-size:10.5px!important;
}
@media(max-width:700px){
  .wre-promo-benefit{
    font-size:12px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
@media(max-width:360px){
  .wre-promo-benefit{font-size:11px!important;}
}

/* v1.0.49: 30秒 水道トラブル診断 */
.wre-diagnosis{
  position:relative;
  margin:34px 0 32px;
  padding:0;
  overflow:hidden;
  border:1px solid #d7e8ee;
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 38px rgba(13,67,91,.09);
}
.wre-diagnosis:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#00a7a5 0%,#2f9ed8 55%,#7667f5 100%);
}
.wre-diagnosis-head{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:27px 30px 21px;
  background:linear-gradient(135deg,#f6fdfe 0%,#f8fbff 58%,#fbfaff 100%);
  border-bottom:1px solid #e4eef2;
}
.wre-diagnosis-head-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,#04aaa8,#208bc0);
  box-shadow:0 10px 22px rgba(0,145,155,.18);
}
.wre-diagnosis-head-icon .wre-icon{width:32px;height:32px}
.wre-diagnosis-badges{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 7px}
.wre-diagnosis-badges span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  background:#e9f8f8;
  color:#087b80;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.wre-diagnosis-head h2{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--wre-navy)!important;
  font-size:clamp(24px,3vw,32px)!important;
  line-height:1.35!important;
}
.wre-diagnosis-head p{margin:7px 0 0!important;color:#637989;line-height:1.7;font-size:14px}
.wre-diagnosis-progress{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:17px 30px 0;
}
.wre-diagnosis-progress-text{font-size:12px;font-weight:900;color:#3f6579;white-space:nowrap}
.wre-diagnosis-progress-track{height:7px;border-radius:999px;background:#edf3f5;overflow:hidden}
.wre-diagnosis-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a7a5,#2f9ed8);transition:width .25s ease}
.wre-diagnosis-stage{padding:22px 30px 10px}
.wre-diagnosis-step{margin:0}
.wre-diagnosis-question{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px}
.wre-diagnosis-question>span{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#0b657d;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
}
.wre-diagnosis-question strong{display:block;color:#173b55;font-size:19px;line-height:1.45}
.wre-diagnosis-question small{display:block;margin-top:4px;color:#738693;font-size:12px;line-height:1.55}
.wre-diagnosis-options{display:grid;gap:11px}
.wre-diagnosis-options--grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wre-diagnosis-options--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.wre-diagnosis-options--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.wre-diagnosis-options button{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  margin:0!important;
  border:1px solid #dce9ee!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#173b55!important;
  box-shadow:0 5px 15px rgba(19,70,93,.045);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.wre-diagnosis-options button:hover,
.wre-diagnosis-options button:focus-visible{
  border-color:#78c9cf!important;
  background:#f8fdfd!important;
  box-shadow:0 9px 22px rgba(0,137,149,.09);
  transform:translateY(-1px);
  outline:0;
}
.wre-diagnosis-options button.is-selected{border-color:#0aa4a5!important;background:#effbfb!important;box-shadow:0 0 0 2px rgba(0,167,165,.10)}
.wre-diagnosis-options--grid button{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:11px;
  align-items:center;
  min-height:88px;
  padding:14px 15px!important;
  text-align:left;
}
.wre-diagnosis-options--grid button>.wre-icon{
  grid-row:1/3;
  width:42px;
  height:42px;
  padding:9px;
  border-radius:13px;
  background:#edf9fa;
  color:#078b91;
}
.wre-diagnosis-options--grid button>span{align-self:end;font-size:14px;font-weight:900;line-height:1.35}
.wre-diagnosis-options--grid button>small{align-self:start;margin-top:3px;color:#778b98;font-size:11px;line-height:1.4}
.wre-diagnosis-options--list{grid-template-columns:1fr}
.wre-diagnosis-options--list button{
  display:grid;
  grid-template-columns:13px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:66px;
  padding:12px 16px!important;
  text-align:left;
}
.wre-diagnosis-options--list button>span{min-width:0}
.wre-diagnosis-options--list strong{display:block;font-size:14px;line-height:1.45;color:#173b55}
.wre-diagnosis-options--list small{display:block;margin-top:2px;font-size:11px;line-height:1.45;color:#778b98}
.wre-diagnosis-dot{display:block;width:11px;height:11px;border-radius:50%}
.wre-diagnosis-dot--red{background:#e05264;box-shadow:0 0 0 5px #fdecef}
.wre-diagnosis-dot--orange{background:#ee8a3b;box-shadow:0 0 0 5px #fff2e6}
.wre-diagnosis-dot--aqua{background:#08a5a4;box-shadow:0 0 0 5px #e8f8f7}
.wre-diagnosis-dot--blue{background:#3b8fc4;box-shadow:0 0 0 5px #eaf4fb}
.wre-diagnosis-nav{padding:0 30px 24px}
.wre-diagnosis-back{
  margin:0!important;
  padding:5px 0!important;
  border:0!important;
  background:transparent!important;
  color:#527386!important;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.wre-diagnosis-result{padding:21px 30px 27px}
.wre-diagnosis-result-top{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:20px;
  border:1px solid #cae7e9;
  border-radius:19px;
  background:linear-gradient(135deg,#effbfb,#f5fbff);
}
.wre-diagnosis-result-icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#0aa5a4,#257fc0);color:#fff}
.wre-diagnosis-result-icon .wre-icon{width:29px;height:29px}
.wre-diagnosis-result-kicker{display:block;margin-bottom:3px;color:#087b80;font-size:11px;font-weight:900;letter-spacing:.1em}
.wre-diagnosis-result-top h3{margin:0!important;color:#133c57!important;font-size:22px!important;line-height:1.4!important}
.wre-diagnosis-result-top p{margin:6px 0 0!important;color:#5f7787;line-height:1.65;font-size:13px}
.wre-diagnosis-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0}
.wre-diagnosis-result-panel{padding:16px 17px;border-radius:16px;border:1px solid #e0eaee;background:#fff}
.wre-diagnosis-result-panel>span{display:block;margin-bottom:5px;color:#758995;font-size:11px;font-weight:900}
.wre-diagnosis-result-panel>strong{display:block;color:#183b54;font-size:16px;line-height:1.5}
.wre-diagnosis-result-panel>small{display:block;margin-top:5px;color:#6d8290;font-size:11px;line-height:1.6}
.wre-diagnosis-result-panel--urgency[data-level="high"]{border-color:#f1c2c8;background:#fff8f8}
.wre-diagnosis-result-panel--urgency[data-level="high"]>strong{color:#c53f54}
.wre-diagnosis-result-panel--urgency[data-level="medium"]{border-color:#f0d3ac;background:#fffaf4}
.wre-diagnosis-result-panel--urgency[data-level="medium"]>strong{color:#b76b24}
.wre-diagnosis-result-panel--urgency[data-level="low"]{border-color:#c8e6dc;background:#f7fcfa}
.wre-diagnosis-result-panel--urgency[data-level="low"]>strong{color:#287c58}
.wre-diagnosis-selected{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 0}
.wre-diagnosis-selected span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f0f6f8;color:#48697b;font-size:11px;font-weight:800}
.wre-diagnosis-next{margin:17px 0 0;padding:18px;border-radius:18px;background:#f7fafc;border:1px solid #dfe9ee}
.wre-diagnosis-next-head{display:flex;gap:11px;align-items:center;margin-bottom:13px}
.wre-diagnosis-next-head>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px;background:#e8f5fb;color:#287daa}
.wre-diagnosis-next-head>span .wre-icon{width:21px;height:21px}
.wre-diagnosis-next-head strong{display:block;color:#173d57;font-size:15px}
.wre-diagnosis-next-head small{display:block;margin-top:3px;color:#738794;font-size:11px;line-height:1.5}
.wre-diagnosis-next .wre-area-search{margin:0!important;padding:14px!important;border-radius:14px!important;box-shadow:none!important;border:1px solid #e1eaee!important;background:#fff!important}
.wre-diagnosis-result-actions{display:flex;align-items:center;justify-content:center;gap:17px;flex-wrap:wrap;margin:16px 0 0}
.wre-diagnosis-result-actions a,
.wre-diagnosis-result-actions button{
  margin:0!important;
  padding:7px 3px!important;
  border:0!important;
  background:transparent!important;
  color:#2d6e8c!important;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none!important;
}
.wre-diagnosis-result-actions a:hover,
.wre-diagnosis-result-actions button:hover{text-decoration:underline!important}
.wre-diagnosis-caution{margin:14px 0 0!important;padding-top:13px;border-top:1px dashed #d9e4e9;color:#7b8c96;font-size:10.5px;line-height:1.65}
@media(max-width:900px){
  .wre-diagnosis-options--four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .wre-diagnosis{margin:25px 0 27px;border-radius:21px}
  .wre-diagnosis-head{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:23px 18px 18px}
  .wre-diagnosis-head-icon{width:52px;height:52px;border-radius:16px}
  .wre-diagnosis-head-icon .wre-icon{width:27px;height:27px}
  .wre-diagnosis-head h2{font-size:23px!important}
  .wre-diagnosis-head p{font-size:12.5px;line-height:1.65}
  .wre-diagnosis-progress{padding:15px 18px 0}
  .wre-diagnosis-stage{padding:19px 18px 8px}
  .wre-diagnosis-question{gap:10px;margin-bottom:15px}
  .wre-diagnosis-question>span{flex-basis:38px;width:38px;height:38px;border-radius:11px}
  .wre-diagnosis-question strong{font-size:17px}
  .wre-diagnosis-options--grid,
  .wre-diagnosis-options--three,
  .wre-diagnosis-options--four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .wre-diagnosis-options--grid button{grid-template-columns:38px minmax(0,1fr);column-gap:9px;min-height:82px;padding:12px!important;border-radius:14px!important}
  .wre-diagnosis-options--grid button>.wre-icon{width:38px;height:38px;padding:8px;border-radius:12px}
  .wre-diagnosis-options--grid button>span{font-size:13px}
  .wre-diagnosis-options--grid button>small{font-size:10px}
  .wre-diagnosis-nav{padding:0 18px 19px}
  .wre-diagnosis-result{padding:18px}
  .wre-diagnosis-result-top{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:16px}
  .wre-diagnosis-result-icon{width:48px;height:48px;border-radius:15px}
  .wre-diagnosis-result-top h3{font-size:19px!important}
  .wre-diagnosis-result-grid{grid-template-columns:1fr}
  .wre-diagnosis-next{padding:14px}
}
@media(max-width:420px){
  .wre-diagnosis-head{grid-template-columns:1fr}
  .wre-diagnosis-head-icon{display:none}
  .wre-diagnosis-badges{margin-bottom:6px}
  .wre-diagnosis-options--grid,
  .wre-diagnosis-options--three,
  .wre-diagnosis-options--four{grid-template-columns:1fr}
  .wre-diagnosis-options--grid button{min-height:70px}
  .wre-diagnosis-options--list button{padding:12px 13px!important}
  .wre-diagnosis-result-top{grid-template-columns:1fr}
  .wre-diagnosis-result-icon{width:44px;height:44px}
}
.wre-diagnosis [hidden]{display:none!important}


/* v1.0.50: 診断結果内の地域検索を白背景でも読みやすくし、セレクト枠を明示 */
.wre-diagnosis-next .wre-area-search .wre-search-field label{
  color:#365f73!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  margin:0 0 7px!important;
}
.wre-diagnosis-next .wre-area-search .wre-search-field select{
  border:1.5px solid #c7d9e2!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#173d57!important;
  box-shadow:0 1px 2px rgba(17,61,87,.03), inset 0 0 0 1px rgba(255,255,255,.55)!important;
  font-weight:700!important;
}
.wre-diagnosis-next .wre-area-search .wre-search-field select:hover{
  border-color:#9fbfcf!important;
}
.wre-diagnosis-next .wre-area-search .wre-search-field select:focus{
  border-color:#2b8eaa!important;
  outline:3px solid rgba(43,142,170,.13)!important;
  outline-offset:1px!important;
}
.wre-diagnosis-next .wre-area-search .wre-search-field select:disabled{
  background:#f7fafb!important;
  color:#8a9ca7!important;
  border-color:#d7e3e9!important;
  opacity:1!important;
}
@media(max-width:600px){
  .wre-diagnosis-next .wre-area-search .wre-search-field label{
    font-size:11.5px!important;
    margin-bottom:6px!important;
  }
}


/* v1.1.00: スマホ中央ロゴをわずかに縮小し、左右のメニュー/検索アイコンの中心線へ合わせる */
@media(max-width:767px){
  body .header.header--center #logo.header-logo{
    top:-10px!important;
    margin-bottom:-16px!important;
  }
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{
    width:154px!important;
    max-width:calc(100vw - 150px)!important;
  }
}
@media(max-width:360px){
  body .header.header--center #logo.header-logo{
    top:-9px!important;
    margin-bottom:-15px!important;
  }
  body .header.header--center #logo.header-logo img,
  body .header.header--center .header-logo__img{
    width:144px!important;
    max-width:calc(100vw - 138px)!important;
  }
}
