:root{--red:#c82f32;--orange:#e57b00;--navy:#254869;--ink:#333;--muted:#686868;--line:#dedede}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:15px;line-height:1.8}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #226b9b;outline-offset:4px}.skip{position:absolute;left:12px;top:-70px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.wrap{max-width:1360px;margin:auto;padding:0 32px}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px}.brand{text-decoration:none;color:var(--navy);font-size:27px;font-weight:800;line-height:1.35;letter-spacing:-1px;display:flex;gap:12px;align-items:center}.brand small{font-size:13px;display:block;letter-spacing:2px;font-weight:600;margin-top:5px}.brand svg{width:46px;height:46px;flex-shrink:0}.nav{display:flex;gap:34px}.nav a{text-decoration:none;text-align:center;font-weight:700;font-size:14px}.nav small{display:block;color:#858585;font-weight:400;letter-spacing:1.5px;font-size:10px}.nav a:hover{color:var(--red)}.crumb{background:#f6f6f6;border-block:1px solid #e9e9e9;font-size:12px;color:#707070;padding:10px 0}.crumb span{margin:0 14px;color:#aaa}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:34px;padding-top:30px;padding-bottom:64px}.search{padding:22px;border:1px solid var(--line);border-top:3px solid var(--red)}.search h2{margin:0 0 20px;font-size:18px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}input,select{width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #ccc;border-radius:0;padding:11px 10px;min-height:46px}input::placeholder{color:#777;font-size:12px}.search-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}button{cursor:pointer;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--red);color:white;text-decoration:none;font-weight:700;padding:12px 14px;min-height:48px;line-height:1.5;border:1px solid transparent;border-radius:0}.button:hover{filter:brightness(.92)}.reset{background:white;color:#606060;border-color:#ccc}.search-note{font-size:11px;color:var(--muted);line-height:1.7;margin:14px 0 0}.sponsor{margin-top:24px;background:#fff7e8;border:1px solid #ddb97c;padding:22px}.ad-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#76572a}.ad-label strong{background:#76572a;color:white;font-size:19px;padding:0 10px}.sponsor h2{font-size:18px;line-height:1.6;margin:20px 0 8px}.sponsor p{font-size:12px;margin:0;color:#685c48}.sponsor .ad-foot{border-top:1px solid #e5d6bb;margin-top:18px;padding-top:12px;font-size:11px}.intro h1{font-size:25px;line-height:1.5;margin:0 0 15px;letter-spacing:.02em}.intro p{font-size:14px;margin:0 0 14px}.intro .order-note{font-size:12px;color:var(--muted)}.results-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #444;padding:15px 0 12px;margin-bottom:22px;gap:12px;font-size:12px}.results-bar strong{font-size:26px;color:var(--red);margin-right:5px}.result-scope{color:var(--muted);text-align:right}.company{border:1px solid #d5d5d5;margin:0 0 28px;padding:25px;background:white;overflow-wrap:anywhere}.company h2{margin:0;color:#26769e;font-size:23px;line-height:1.5}.sub{font-size:12px;color:#737373;margin:6px 0 20px}.card-grid{display:grid;grid-template-columns:minmax(0, .86fr) minmax(0,1.14fr);gap:24px;align-items:start}.placeholder{background:#f0f1f2;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#767b80;border:1px solid #e1e3e5;font-size:13px;gap:13px}.placeholder svg{width:58px;height:45px;color:#a5abb1}.placeholder small{font-size:10px;letter-spacing:2px;color:#858b92}.specs{margin:0;font-size:13px;line-height:1.8}.spec-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;margin-bottom:10px}.spec-row dt{font-weight:700;color:#707070}.spec-row dd{margin:0}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.tag{font-size:11px;color:#a34134;background:#fff5ee;border:1px solid #edcfc3;padding:3px 8px}.actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.actions .button{font-size:12px;flex:1 1 130px}.actions .quote{background:var(--orange);flex-grow:1.7}.quote small{display:block;font-size:10px;font-weight:400}.description{font-size:14px;margin:20px 0 0;white-space:pre-line}.confirmed{color:#747474;font-size:11px;margin:16px 0 14px;text-align:right}.reviews{border-top:1px solid #e5e5e5;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:15px}.reviews h3{font-size:13px;margin:0;color:#707070}.reviews p{font-size:12px;color:#888;margin:0}.empty{background:#f7f7f7;padding:40px 20px;text-align:center}.empty h2{font-size:19px}.empty p{font-size:14px}.footer{border-top:1px solid #ddd;background:#f7f7f7;padding:34px 0;color:#666}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer strong{color:var(--navy);font-size:16px}.footer p{font-size:11px;margin:6px 0}.footer a{font-size:12px}dialog{max-width:500px;width:calc(100% - 40px);padding:30px;border:1px solid #ccc}dialog::backdrop{background:#0006}dialog h2{margin-top:0;font-size:20px}dialog p{font-size:14px}dialog .button{float:right}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.wrap{max-width:1480px}.layout{grid-template-columns:290px minmax(0,1fr);gap:38px}.company{padding:28px}.card-grid{gap:28px}.specs{font-size:14px}}@media(max-width:1000px){.wrap{padding-inline:22px}.brand{font-size:22px}.nav{gap:18px}.layout{grid-template-columns:230px minmax(0,1fr);gap:24px}.search{padding:18px}.card-grid{grid-template-columns:1fr}.placeholder{max-height:250px;aspect-ratio:16/9}.company h2{font-size:21px}}@media(max-width:700px){.wrap{padding-inline:16px}.header{display:block;padding-block:22px 16px}.brand{font-size:18px;justify-content:center}.brand small{font-size:11px}.brand svg{width:38px;height:38px}.nav{justify-content:space-between;gap:8px;margin-top:23px}.nav a{font-size:11px}.nav small{font-size:8px;margin-top:3px}.crumb{font-size:10px}.crumb span{margin:0 8px}.layout{grid-template-columns:minmax(0,1fr);padding-top:20px;gap:26px}.search{padding:18px}.search h2{font-size:16px;margin-bottom:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:12px}.field label{font-size:12px}.sponsor{margin-top:16px;padding:16px}.sponsor h2{font-size:16px;margin:10px 0 5px}.sponsor .ad-foot{margin-top:10px;padding-top:8px}.intro h1{font-size:23px}.intro p{font-size:13px}.company{padding:18px;margin-bottom:20px}.company h2{font-size:20px}.sub{margin-bottom:16px}.card-grid{gap:20px}.spec-row{grid-template-columns:82px minmax(0,1fr)}.actions{display:grid;grid-template-columns:1fr}.actions .button{font-size:13px}.confirmed{font-size:10px}.footer-inner{display:block}.footer a{display:inline-block;margin-top:12px}.result-scope{font-size:10px}.placeholder{aspect-ratio:4/3}.reviews{align-items:flex-start}}
.lead-dialog{max-width:780px;width:calc(100% - 32px);max-height:92vh;padding:0;border:0;overflow:auto;color:var(--ink)}.lead-dialog::backdrop{background:#0c1d29b8}.lead-head{background:#173a4c;color:white;padding:22px 28px;border-bottom:4px solid var(--orange)}.lead-head p{margin:4px 0 0;font-size:12px;color:#e2e8eb}.lead-body{padding:24px 28px}.lead-flow{display:grid;grid-template-columns:repeat(3,1fr);background:#f4f0e9;margin-bottom:22px}.lead-flow span{padding:10px;text-align:center;font-size:11px;border-right:1px solid #ddd4c7}.lead-flow span:last-child{border-right:0}.lead-flow strong{display:block;color:var(--red);font-size:15px}.lead-company{background:#fff4e6;border-block:1px solid #e7be8f;padding:12px 14px;margin-bottom:20px;font-size:13px}.lead-company strong{display:block;color:#214663;font-size:16px}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-field{margin:0}.lead-field.full{grid-column:1/-1}.lead-field label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.required{color:#b92d2d;margin-left:4px}.lead-field textarea{width:100%;min-height:120px;border:1px solid #ccc;border-radius:0;padding:11px;resize:vertical;font:inherit}.lead-consent{background:#f7f7f5;padding:13px 14px;margin:18px 0;font-size:12px;line-height:1.75}.lead-consent label{display:flex;gap:9px;align-items:flex-start}.lead-consent input{width:auto;min-height:0;margin-top:5px}.lead-note{font-size:11px;color:#666}.lead-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.lead-actions .button{float:none;min-width:150px}.lead-actions .cancel{background:white;color:#555;border-color:#bbb}.lead-success{padding:34px 28px;text-align:center}.lead-success h2{color:#214663}.lead-success p{font-size:13px}.lead-success .button{float:none}.lead-button{border:0}.mock-badge{display:inline-block;background:#6f604a;color:white;font-size:10px;padding:2px 7px;margin-left:8px;vertical-align:middle}
@media(max-width:700px){.lead-head,.lead-body{padding:18px}.lead-flow{grid-template-columns:1fr}.lead-flow span{border-right:0;border-bottom:1px solid #ddd4c7}.lead-flow span:last-child{border-bottom:0}.lead-grid{grid-template-columns:1fr}.lead-field.full{grid-column:auto}.lead-actions{display:grid;grid-template-columns:1fr}.lead-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:#f8f7f4}.header-shell{background:white}.hero{position:relative;background:#173a4c;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e2533f2,#0e2533bc 48%,#0e253314)}.hero-inner{position:relative;z-index:1;padding-block:36px 38px;display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-kicker{font-size:12px!important;letter-spacing:.16em;margin:0 0 10px!important;color:#ffd79f}.hero h1{font-size:34px;letter-spacing:.025em;line-height:1.5;margin:0 0 10px}.hero p{font-size:14px;margin:0}.hero-stats{display:flex;gap:24px;align-items:center;background:#173748dc;border-top:3px solid #ed912e;padding:14px 24px;flex-shrink:0}.hero-stats strong{font-size:39px;line-height:1.2}.hero-stats span{font-size:13px}.hero-stats small{display:block;font-size:11px;color:#e0e5e8}.hero-stats .divider{height:48px;width:1px;background:#849299}.crumb{background:white}.layout{padding-top:26px}.search{border:1px solid #d9d4ce;background:white;padding-top:0}.search h2{background:#bd3232;color:white;font-size:16px;margin:0 -22px 20px;padding:13px 16px}.sponsor{background:#fff2d8}.intro h2{font-size:22px;line-height:1.5;margin:0 0 12px}.intro p{margin-bottom:10px}.results-bar{padding-top:5px;border-bottom-color:#bf3335}.company{padding:0;border:1px solid #d9d4ce;box-shadow:0 2px 3px #49301005}.company-head{background:#fff4e6;border-bottom:2px solid #e7be8f;padding:18px 24px 15px}.company h2{font-size:23px;color:#214663}.company-head .sub{margin:5px 0 0;color:#655d52}.company-body{padding:22px 24px 18px}.card-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px}.site-preview{margin:0;position:relative;background:#f1f0ed;min-width:0}.site-preview img{display:block;width:100%;height:auto;aspect-ratio:1265/712;object-fit:cover;object-position:top;border:1px solid #e0e0e0}.site-preview figcaption{font-size:10px;background:#eeeae3;color:#696258;padding:6px 9px;line-height:1.5}.image-badge{position:absolute;right:8px;top:8px;background:#273e50db;color:white;padding:3px 7px;font-size:10px}.catch{color:#c33331;font-size:17px;font-weight:750;line-height:1.65;margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid #ebded4}.spec-row{grid-template-columns:84px minmax(0,1fr);margin-bottom:10px}.price-detail{display:block;font-weight:750;color:#b73523;font-size:15px;margin-top:4px;line-height:1.8}.price-status{display:block;font-size:12px}.missing-note{font-size:11px;color:#76716b;margin:12px 0 0}.tags{margin:14px 0 0;gap:6px}.tag{background:#fff4e9;color:#a24728;border-color:#edc9ac;font-size:11px}.tag-area{background:#eef3f5;color:#36586b;border-color:#cddde3}.tag-contact{background:white;color:#605e59;border-color:#d8d5ce}.tag-price{background:#c63b31;border-color:#c63b31;color:white}.actions{margin-top:16px}.actions .button{min-height:53px}.reviews{background:#f8f7f5;margin:0 -24px -18px;padding:12px 24px;border-top:1px solid #e6e2dc}.confirmed{margin:15px 0 12px}.footer{background:#253d4b;color:#e1e7e9}.footer strong{color:white}.results-bar strong{color:#be302e}
@media(max-width:1000px){.hero h1{font-size:28px}.hero-stats{padding:12px 16px;gap:16px}.hero-stats strong{font-size:30px}.search h2{margin-inline:-18px}.card-grid{grid-template-columns:1fr}.company-head{padding:16px 20px}.company-body{padding:20px}.reviews{margin:0 -20px -20px;padding:12px 20px}}
@media(max-width:700px){.hero-inner{display:block;padding-block:26px}.hero:after{background:linear-gradient(90deg,#132f40ef,#183e55b0)}.hero h1{font-size:25px}.hero p{font-size:12px}.hero-kicker{font-size:10px!important}.hero-stats{margin-top:20px;display:inline-flex;background:transparent;padding:10px 0 0;gap:25px}.hero-stats strong{font-size:32px}.hero-stats small{font-size:10px}.hero-photo{object-position:65% center}.hero-stats .divider{height:36px}.search{padding-top:0}.search h2{font-size:15px}.company-head{padding:16px}.company h2{font-size:20px}.company-body{padding:16px}.card-grid{gap:16px}.catch{font-size:16px}.reviews{margin:0 -16px -16px;padding:12px 16px}.intro h2{font-size:21px}.tag{font-size:10px}.site-preview img{aspect-ratio:1265/712}}
/* 近くの屋根修理Naviの参照画面に合わせた、青・白・オレンジの配色 */
:root{--red:#f25313;--orange:#f25313;--navy:#173d73;--ink:#29384d;--muted:#697687;--line:#e4eaf0}
body{background:#f3f6fa;color:var(--ink)}
.header-shell{border-top:4px solid #242424;box-shadow:0 1px 3px #1832520c}.header{min-height:124px}.brand{color:var(--navy)}.brand svg path:last-child{fill:var(--orange)}.nav a:hover{color:var(--orange)}
.crumb{background:#fff;border-color:#edf1f5;color:#7c8794}.layout{padding-top:38px;padding-bottom:72px}
.hero{color:var(--navy);min-height:420px;background:#dbeeff}.hero:after{background:linear-gradient(90deg,#ffffff 0%,#fffffff2 38%,#ffffff90 55%,#ffffff05 79%)}.hero-inner{min-height:420px;padding-block:62px 48px;align-items:flex-start}.hero-kicker{display:inline-block;background:var(--orange);color:#fff!important;border-radius:0;padding:8px 20px;letter-spacing:.06em!important;font-weight:700;font-size:13px!important;margin-bottom:20px!important}.hero h1{font-size:41px;line-height:1.42;max-width:560px;margin-bottom:18px}.hero p{font-size:16px;font-weight:500}.hero-stats{color:var(--navy);background:#ffffffd9;border:1px solid #e0e7ef;border-top:0;border-radius:0;box-shadow:0 5px 18px #173d7317;padding:14px 22px}.hero-stats small{color:#66788a}.hero-stats .divider{background:#d4dce6}
.search{border:1px solid var(--line);border-top:0;box-shadow:0 4px 16px #173d7307}.search h2{background:var(--orange);margin:0 -22px 20px;padding:14px 16px}.search h2,.button{background:var(--orange)}.reset{background:#fff;color:#536273;border-color:#dce4ec}.search-note{color:#6e7b89}.sponsor{background:#f8faff;border:1px solid var(--line)}.ad-label{color:#4f6680}.ad-label strong{background:var(--navy)}.sponsor p{color:#617083}.sponsor .ad-foot{border-color:#e4eaf0}
.intro h2,.results-bar strong,.company h2{color:var(--navy)}.results-bar{border-bottom-color:var(--orange)}
.company{border-color:#e5eaf0;box-shadow:0 3px 12px #173d7306}.company-head{background:#fff;border-bottom:1px solid #f0f3f6;padding:19px 24px 16px}.company-head .sub{color:#6d7a89}.company-body{background:#fff}.site-preview{background:none}.site-preview img{border-color:#e7ecf1}.site-preview figcaption{background:none;color:#6f7c89}.catch{color:#e64d16;border-bottom-color:#e9edf2}.missing-note{color:#718091}.tag{background:#f5f8fb;color:#395b7b;border-color:#dfe7ef}.tag-area{background:#f1f6fa;color:#315f86;border-color:#dae5ee}.tag-contact{background:#fff;color:#657181;border-color:#e1e7ed}.tag-price{background:var(--orange);border-color:var(--orange)}.price-detail{color:#e64d16}.footer{background:var(--navy);border-top:0}.lead-head{background:var(--navy);border-bottom-color:var(--orange)}.lead-flow{background:#f1f5f9}.lead-flow strong,.lead-company strong{color:var(--navy)}.lead-company{background:#fff7f2;border-color:#f5c6af}.lead-consent{background:#f4f7fa}.mock-badge{background:#61748b}
@media(max-width:700px){.header{min-height:auto}.hero{min-height:390px}.hero:after{background:linear-gradient(90deg,#fffffffa 0%,#ffffffd9 58%,#ffffff36 100%)}.hero-inner{min-height:390px;padding-block:38px 28px}.hero h1{font-size:30px;max-width:330px}.hero p{font-size:13px;max-width:280px}.hero-stats{margin-top:26px;background:#ffffffcf;padding:10px 14px}.hero-stats strong{font-size:29px}.company{border-color:#dfe7ee}.company-head{padding:16px}.site-preview figcaption{font-size:9px}}
.site-notice{height:30px;background:#f7f7f7;border-bottom:1px solid #eceff2;color:#9aa2ab;font-size:11px;letter-spacing:.04em;display:flex;justify-content:flex-end;align-items:center;padding-inline:32px}.site-notice span{max-width:1360px;width:100%;text-align:right}.brand,.nav a,.hero h1,.intro h2,.company h2,.search h2{font-family:"Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;font-feature-settings:"palt" 1;letter-spacing:.015em}.brand{font-weight:800}.nav a{font-size:15px;letter-spacing:.03em}.nav small{letter-spacing:.16em}.hero h1,.intro h2,.company h2{font-weight:800}.hero h1{letter-spacing:.04em}.button{letter-spacing:.04em}.field label{display:flex;align-items:center;gap:8px}.field label::before{content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;background:var(--orange);mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.field label[for="pref"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}.field label[for="area"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 6.5 8 4l8 2.5L21 4v13.5L16 20l-8-2.5L3 20V6.5Z'/%3E%3Cpath d='M8 4v13.5M16 6.5V20'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 6.5 8 4l8 2.5L21 4v13.5L16 20l-8-2.5L3 20V6.5Z'/%3E%3Cpath d='M8 4v13.5M16 6.5V20'/%3E%3C/svg%3E")}.field label[for="service"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 7 3-3 3 3-3 3'/%3E%3Cpath d='M17 7H9a5 5 0 0 0-5 5v5'/%3E%3Cpath d='m10 17-3 3-3-3'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 7 3-3 3 3-3 3'/%3E%3Cpath d='M17 7H9a5 5 0 0 0-5 5v5'/%3E%3Cpath d='m10 17-3 3-3-3'/%3E%3C/svg%3E")}.field label[for="keyword"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E")}input,select{border-color:#dce4ec;border-radius:0}.company h2{letter-spacing:.025em}.site-preview figcaption{letter-spacing:.02em}@media(max-width:700px){.site-notice{height:25px;padding-inline:16px;font-size:9px}.site-notice span{text-align:center}.brand,.nav a{letter-spacing:0}.field label::before{width:16px;height:16px;flex-basis:16px}.hero h1{letter-spacing:.025em}}

/* 固定ページ（運営者情報・掲載方針・プライバシーポリシー・訂正依頼・見積もり相談） */
.page-main{padding-block:28px 64px}
.page-card{background:#fff;border:1px solid #d9d4ce;border-top:4px solid var(--red);padding:34px 40px;max-width:900px;margin:0 auto;overflow-wrap:anywhere}
.page-card h1{font-size:26px;line-height:1.5;color:var(--navy);margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid #e7be8f}
.page-content h2{font-size:18px;color:var(--navy);margin:32px 0 12px;padding:8px 12px;background:#fff4e6;border-left:4px solid var(--orange)}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-size:16px;color:var(--navy);margin:24px 0 8px}
.page-content p{margin:0 0 14px;font-size:14px}
.page-content a{color:#226b9b;text-decoration:underline}
.page-content ul,.page-content ol{margin:0 0 14px;padding-left:1.5em;font-size:14px}
.page-content table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:13px}
.page-content td,.page-content th{padding:10px 12px;border:1px solid #e5e0d8;vertical-align:top;text-align:left}
.page-content th,.page-content table td:first-child{background:#faf7f2;color:#555;white-space:nowrap;width:1%}
.page-content .btn,.page-content .btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;min-height:48px;border:0;border-radius:0;cursor:pointer;font-size:15px}
.page-content .btn:hover{filter:brightness(.92)}
.page-content .btn-secondary{background:#fff;color:#606060;border:1px solid #ccc}
.cform{display:grid;gap:18px;max-width:none;margin:20px 0}
.cform label{display:grid;gap:6px;font-size:13px}
.cform label>span{font-weight:700}
.cform label em{font-style:normal;font-size:10px;color:#fff;background:var(--red);padding:1px 6px;margin-left:6px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{width:100%;min-height:46px;padding:11px 10px;border:1px solid #ccc;border-radius:0;background:#fff;font:inherit;color:var(--ink)}
.cform textarea{resize:vertical}
.cform .fconsent{display:flex;gap:9px;align-items:flex-start;font-weight:400;background:#f7f7f5;padding:13px 14px;font-size:12px;line-height:1.75}
.cform .fconsent input{width:auto;min-height:0;margin-top:5px;flex:none}
.cform .ferr,.cform .ferr-sum{color:#b92d2d;font-size:13px}
.cform .fnote{font-size:12px;color:var(--muted);margin:0}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform button[type=submit]{justify-self:start;min-width:220px;background:var(--orange);color:#fff;font-weight:700;padding:14px 24px;min-height:52px;font-size:15px}
.fdone{padding:20px;border:1px solid #e7be8f;background:#fff4e6;margin:20px 0}
@media(max-width:700px){.page-main{padding-block:18px 40px}.page-card{padding:22px 18px}.page-card h1{font-size:21px}.page-content table td:first-child,.page-content th{white-space:normal;width:auto}.cform button[type=submit]{justify-self:stretch}}

/* 解説記事（トップの一覧・記事ページ） */
.articles{background:#fff;border-top:1px solid #d9d4ce;padding:44px 0 52px}
.articles h2{font-size:22px;color:var(--navy);margin:0 0 8px}
.articles-lead{font-size:13px;color:var(--muted);margin:0 0 22px}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.article-tile{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #d9d4ce;border-top:3px solid var(--orange);padding:18px;text-decoration:none;color:var(--ink)}
.article-tile:hover{background:#fff8ee}
.article-tile strong{font-size:15px;line-height:1.6;color:var(--navy)}
.article-tile-date{font-size:11px;color:#777}
.article-tile-more{font-size:12px;font-weight:700;color:#226b9b;margin-top:auto}
.article-page .article-meta{font-size:12px;color:#777;margin:-8px 0 22px}
.article-page img{max-width:100%;height:auto}
.article-cta{margin:32px 0 0;padding:20px;border:1px solid #e7be8f;background:#fff4e6}
.page-content .article-cta-lead{margin:0 0 12px;font-weight:700}
.article-cta-links{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:700px){.article-cta-links .btn{flex:1 1 100%}.articles{padding:30px 0 36px}}

/* 解説記事：画像付きカード（2026-10-11） */
.articles{background:#eef1f5;border-top:0}
.articles h2{text-align:center;font-size:30px;font-weight:800;color:var(--navy);margin:0 0 10px}
.articles h2 em{font-style:normal;color:var(--orange)}
.articles-lead{text-align:center;font-size:14px;color:var(--muted);margin:0 0 30px}
.articles-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;max-width:1180px;margin-inline:auto}
.article-tile{display:flex;flex-direction:column;gap:0;padding:0;border:0;border-top:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 10px #1832521a;transition:transform .15s,box-shadow .15s}
.article-tile:hover{background:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #18325226}
.article-thumb{display:block;aspect-ratio:2/1;background-size:cover;background-position:center;position:relative}
.article-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1118d9 0,#0b1118d9 62%,#0b111866)}
.article-thumb-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:12px 20px;color:#fff}
.article-thumb-in small{font-size:11px;letter-spacing:.1em;opacity:.9;margin-bottom:8px;border-bottom:2px solid var(--orange);padding-bottom:3px}
.article-thumb-in b{font-size:20px;line-height:1.35;font-weight:800;display:block}
.article-thumb-in i{font-style:normal;font-size:14px;font-weight:700;color:#ffe45e;margin-top:6px;line-height:1.4}
.article-body{display:flex;flex-direction:column;gap:10px;padding:16px 20px 18px;flex:1}
.article-body strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7;color:var(--navy)}
.article-tile-date{font-size:13px;color:#8892a0;margin-top:auto}
@media(max-width:700px){.articles h2{font-size:24px}.articles-grid{gap:16px}}
/* 見出し重ねの改行・はみ出し対策 */
.article-thumb{aspect-ratio:auto;min-height:170px;display:flex}
.article-thumb-in{position:relative;inset:auto;flex:1;padding:22px 18px;z-index:1}
.article-thumb-in b,.article-thumb-in i{text-wrap:balance;word-break:auto-phrase;line-break:strict}
.article-thumb-in b{font-size:clamp(17px,1.6vw,21px)}
.article-thumb-in i{font-size:clamp(13px,1.2vw,15px)}
@media(max-width:700px){.article-thumb{min-height:190px}.article-thumb-in b{font-size:21px}.article-thumb-in i{font-size:15px}}
.article-thumb-in b,.article-thumb-in i{word-break:keep-all;overflow-wrap:anywhere}

/* 参照サイトと同じ日本語書体を全体に適用 */
body,.brand,.nav a,.hero h1,.intro h2,.company h2,.search h2{font-family:"Noto Sans JP",sans-serif}

/* 方針・掲載案内ページ（.pol）。見出しは下線、手順は番号付きカード */
.pol-lead{font-size:15px;line-height:1.9;margin:0 0 8px}
.page-content .pol h2{font-size:22px;color:var(--navy);margin:44px 0 16px;padding:0 0 10px;background:none;border-left:0;border-bottom:3px solid #d5dde6}
.page-content .pol h2:first-of-type{margin-top:28px}
.page-content .pol p,.page-content .pol li{font-size:15px;line-height:1.9}
.page-content .pol ul{padding-left:1.4em}
.page-content .pol li{margin-bottom:6px}
.page-content .pol .pol-note{background:#f5f7fa;border-left:4px solid #b9c4d0;padding:12px 16px;font-size:14px;color:#4a5a6c}
.page-content .pol .pol-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.page-content .pol .pol-cta .btn{text-decoration:none;color:#fff}
.page-content .pol .pol-cta .btn-secondary{color:#606060}
.pol-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.page-content .pol .pol-nav a{text-decoration:none;font-size:13px;font-weight:700;color:var(--navy);background:#eef2f6;padding:8px 14px;border-radius:20px}
.pol-steps{list-style:none;counter-reset:s;padding:0!important;margin:0 0 16px;display:grid;gap:12px}
.pol-steps li{counter-increment:s;position:relative;background:#f8fafc;border:1px solid #e1e7ee;border-radius:8px;padding:14px 16px 14px 60px;margin:0!important}
.pol-steps li:before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pol-steps strong{display:block;color:var(--navy);margin-bottom:2px}
.page-content .pol .pol-steps p{margin:0;font-size:14px}
.page-content .pol .pol-linkprev{display:inline-block;margin:0 0 6px;font-weight:700}
.pol-codelabel{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.pol-code{width:100%;font:13px/1.6 ui-monospace,Menlo,monospace;padding:10px 12px;border:1px solid #cfd8e1;border-radius:6px;background:#fafbfc;resize:vertical}
#pol-copy-status{font-size:13px;color:#2e6b3a;margin-left:8px}
@media(max-width:700px){.page-content .pol h2{font-size:19px;margin-top:34px}.page-content .pol p,.page-content .pol li,.pol-lead{font-size:14px}}

/* 上部のお知らせと主ナビを一体で追従させ、どの位置でもサイト内を移動できるようにする。 */
.site-notice{position:sticky;top:0;z-index:50}
.header-shell{position:sticky;top:30px;z-index:40;box-shadow:0 2px 8px #18325212}
@media(max-width:700px){.header-shell{top:25px}}

/* 空調工事ナビと同じ、相談ボタンと余白の2列構成にそろえる。 */
.company .actions{display:grid;grid-template-columns:1.1fr .8fr;gap:10px}
.company .actions .sponsor-label{grid-column:1/-1;color:#76572a;font-size:12px;font-weight:700}
.company .actions .button.quote{background:var(--orange)}
.company .actions .detail-button{background:var(--navy)}
@media(max-width:700px){.company .actions{grid-template-columns:1fr}}

/* PCでは絞り込み条件を一覧スクロール中も操作できる状態に保つ。 */
@media(min-width:701px){.layout>aside{align-self:start}.layout .search{position:sticky;top:142px;z-index:10;max-height:calc(100vh - 158px);overflow-y:auto}}
