@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto;display:block}a{color:inherit}button,summary,select{cursor:pointer}html{scroll-behavior:smooth}body{min-width:320px}p,li,dd{overflow-wrap:anywhere}[hidden]{display:none!important}}@layer base{:root{--blue:#075aa7;--deep:#15344d;--ink:#253b4b;--muted:#576b78;--pale:#f2f7fb;--line:#d8e3eb;--orange:#ed6a20;--orange-dark:#a4440a;--white:#fff;--radius:12px}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.85}h1,h2,h3{color:var(--deep);letter-spacing:.035em;text-wrap:pretty;font-weight:700;line-height:1.5}h1{text-wrap:balance;font-size:clamp(2rem,4.4vw,3.7rem)}h2{font-size:clamp(1.55rem,2.4vw,2.2rem)}h3{font-size:1.2rem}a{text-underline-offset:4px}a:hover{color:var(--blue)}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button:disabled{cursor:not-allowed}.container{width:min(1120px,100% - 64px);margin-inline:auto}.section{padding-block:80px}.section-tint{background:var(--pale)}.eyebrow{letter-spacing:.16em;color:var(--blue);margin-bottom:12px;font-size:.75rem;font-weight:700}.small{color:var(--muted);font-size:.85rem}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.section-heading p:not(.eyebrow){color:var(--muted);margin-top:12px}.lead{color:var(--muted);font-size:1.05rem;line-height:2}.text-link{color:var(--blue);font-size:.9rem;font-weight:700}.button{background:var(--blue);color:#fff;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:22px;min-height:54px;padding:14px 25px;font-weight:700;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{color:#fff;background:#064c8c}.button-small{min-height:46px;padding:12px 18px;font-size:.85rem}.button-orange{background:var(--orange);color:#1e2730}.button-orange:hover{color:#16232e;background:#dd5e15}.button-quiet{color:var(--blue);border-color:var(--line);background:#fff}.button-quiet:hover{background:var(--pale);color:var(--blue)}.button-disabled{color:#50616c;background:#e6edf1;border-color:#d8e3eb}.pill{background:var(--pale);color:var(--blue);border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.section-note{color:var(--muted);margin-top:24px;font-size:.85rem}.flow-links{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.prose{max-width:820px;margin-inline:auto}.prose h2{margin-top:44px;margin-bottom:16px;font-size:1.6rem}.prose h3{margin-top:28px;margin-bottom:10px}.prose p+p,.prose p+ul,.prose p+ol{margin-top:16px}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:8px}.prose a{color:var(--blue)}.prose table{border-collapse:collapse;width:100%;margin-block:24px;font-size:.93rem}.prose td,.prose th{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:15px}.prose th{background:var(--pale);font-weight:600}.table-scroll{overflow:auto}.notice{border-left:4px solid var(--blue);background:var(--pale);border-radius:0 8px 8px 0;margin-block:24px;padding:22px 24px}.notice p+p{margin-top:10px}.status-note{border-left-color:var(--orange);background:#fff7ef}.sources{background:var(--pale);margin-top:32px;padding:24px;font-size:.85rem}.sources h2{margin:0 0 10px;font-size:1rem}.sources ul{padding-left:1.3em}.draft-note{background:#fff4e8;border:1px solid #edcaaa;border-radius:8px;padding:24px}.skip-link{background:var(--deep);color:#fff;z-index:99;padding:12px 20px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:10px}}@layer components{.brand-line{background:var(--pale);color:var(--muted);font-size:.7rem;line-height:30px}.brand-line .container{justify-content:space-between;display:flex}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{align-items:center;gap:28px;min-height:98px;display:flex}.brand{flex-shrink:0;width:174px;margin-right:auto;display:block}.brand img{width:174px;height:auto}.desktop-nav{gap:22px;font-size:.85rem;font-weight:600;display:flex}.desktop-nav a{padding-block:14px;text-decoration:none}.desktop-nav a[aria-current]{color:var(--blue)}.mobile-nav{display:none}.hero{border-bottom:1px solid var(--line);padding:80px 0 66px}.hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;display:grid}.hero h1 em{color:var(--blue);font-style:normal}.hero .lead{max-width:550px;margin-top:24px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.hero-subline{color:var(--muted);margin-top:22px;font-size:.8rem}.search-panel{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fff;border-radius:4px;padding:30px}.search-panel h2{margin-bottom:8px;font-size:1.4rem}.search-panel label{margin:18px 0 8px;font-size:.85rem;font-weight:600;display:block}.search-panel select{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #a5bac8;border-radius:5px;padding:10px 12px}.search-panel .button{width:100%;margin-top:18px}.search-panel p.small{margin-top:14px}.trust-strip{border-bottom:1px solid var(--line)}.trust-strip .container{grid-template-columns:repeat(3,1fr);padding-block:22px;display:grid}.trust-strip p{text-align:center;font-size:.85rem}.trust-strip p+p{border-left:1px solid var(--line)}.trust-strip span{color:var(--blue);margin-right:8px;font-weight:700}.area-layout{grid-template-columns:300px 1fr;gap:60px;display:grid}.area-feature{border-left:3px solid var(--blue);padding-left:24px}.area-feature p{color:var(--muted);margin-top:16px}.region-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.region-list h3{color:var(--muted);margin-bottom:10px;font-size:.8rem}.pref-links{flex-wrap:wrap;gap:4px;display:flex}.pref-links a{border-radius:4px;align-items:center;min-height:44px;padding:4px 10px;font-size:.9rem;text-decoration:none;display:inline-flex}.pref-links a:hover{background:var(--pale)}.type-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:flex-start;gap:18px;min-height:140px;padding:25px;text-decoration:none;display:flex}.type-symbol{color:var(--blue);flex-shrink:0}.type-card h3{margin-bottom:8px;font-size:1.05rem}.type-card p{color:var(--muted);font-size:.82rem}.number{letter-spacing:.08em;color:var(--blue);margin-bottom:20px;font-size:.85rem;font-weight:700}.point-card{border-top:2px solid var(--blue);background:#fff;padding:28px}.point-card h3{margin-bottom:14px;font-size:1.05rem}.point-card p{color:var(--muted);font-size:.9rem}.contractor-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:32px}.card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.card-top .eyebrow{margin:0}.contractor-card h3{margin:20px 0 12px;font-size:1.55rem}.contractor-card h3 a{justify-content:space-between;text-decoration:none;display:flex}.contractor-card p{max-width:760px;color:var(--muted);font-size:.95rem}.tag-list{flex-wrap:wrap;gap:8px;margin:22px 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);border-radius:4px;padding:4px 9px;font-size:.75rem}.card-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-top:20px;font-size:.75rem;display:flex}.maker-link{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;padding:20px;font-weight:600;text-decoration:none;display:flex}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 32px 22px 8px;font-weight:600;list-style:none;position:relative}.faq-list summary:before{content:"Q";color:var(--blue);margin-right:16px;font-weight:700}.faq-list summary:after{content:"＋";color:var(--blue);position:absolute;right:8px}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);padding:0 20px 24px 38px;font-size:.95rem}.closing{background:var(--pale);border-top:1px solid var(--line);padding-block:64px}.closing-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.closing h2{font-size:1.8rem}.closing p:not(.eyebrow){color:var(--muted);margin-top:18px;font-size:.85rem}.site-footer{padding:55px 0 20px}.footer-main{grid-template-columns:1fr 1fr;gap:60px;padding-bottom:40px;display:grid}.footer-brand p{margin-top:15px;font-size:.9rem}.footer-brand .small{color:var(--muted);font-size:.8rem}.footer-main nav{grid-template-columns:1fr 1fr;align-content:start;gap:10px;font-size:.85rem;display:grid}.footer-main nav a{min-height:40px;text-decoration:none}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-top:22px;font-size:.7rem;display:flex}.footer-bottom a{margin-right:15px}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:10px;padding-block:18px;font-size:.72rem;display:flex}.page-hero{background:var(--pale);padding:44px 0 50px}.page-hero h1{font-size:clamp(1.8rem,3vw,2.65rem)}.page-hero .lead{max-width:800px;margin-top:18px}.page-content{padding-block:50px 80px}.search-layout{grid-template-columns:280px 1fr;gap:40px;display:grid}.filter-box{background:var(--pale);border-radius:8px;align-self:start;padding:24px}.filter-box label{margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.filter-box label:not(:first-child){margin-top:20px}.filter-box select,.filter-box input{background:#fff;border:1px solid #a5bac8;border-radius:5px;width:100%;min-height:48px;padding:10px}.result-count{margin-bottom:22px;font-size:.95rem}.empty-state{background:var(--pale);border-radius:8px;padding:36px}.empty-state h2{margin-bottom:12px;font-size:1.3rem}.empty-state p{color:var(--muted);font-size:.9rem}.empty-state a{margin-top:16px}.company-facts{border-top:1px solid var(--line);grid-template-columns:160px 1fr;margin-block:26px;display:grid}.company-facts dt,.company-facts dd{border-bottom:1px solid var(--line);padding:18px}.company-facts dt{background:var(--pale);font-size:.9rem;font-weight:600}.company-facts dd{font-size:.9rem}.company-facts dd a{font-size:.75rem;display:block}.field-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}form.inquiry label{margin-bottom:7px;font-size:.9rem;font-weight:600;display:block}form.inquiry input,form.inquiry textarea,form.inquiry select{background:#fff;border:1px solid #a5bac8;border-radius:5px;width:100%;min-height:48px;padding:12px;display:block}form.inquiry textarea{min-height:130px}form.inquiry fieldset{border:0;padding:0}form.inquiry .field{margin-bottom:22px}form.inquiry .required{color:var(--orange-dark);margin-left:7px;font-size:.72rem}form.inquiry .consent{align-items:start;gap:10px;display:flex}form.inquiry .consent input{width:22px;min-width:22px;min-height:22px;margin-top:5px}.form-note{color:var(--muted);margin-top:8px;font-size:.8rem}.analytics-choice{z-index:20;border:1px solid var(--line);border-top:3px solid var(--blue);background:#fff;border-radius:6px;max-width:720px;padding:20px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 4px 25px #17344a24}.analytics-choice p{font-size:.85rem}.analytics-choice div{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.analytics-settings{min-height:44px;font:inherit;color:var(--muted);background:#fff;border:0;margin:14px auto;font-size:.8rem;text-decoration:underline;display:block}.article-meta{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:20px;font-size:.8rem}.article-meta p{margin:4px 0}.article-toc{background:var(--pale);border-radius:6px;margin:28px 0;padding:24px}.article-toc p{margin-top:0;font-weight:700}.article-toc a{padding-block:6px;display:inline-block}.article-faq dt{margin-top:24px;font-weight:700}.article-faq dd{margin:8px 0 24px;line-height:1.9}.article-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;display:grid}.article-list-card{border:1px solid var(--line);border-radius:6px;padding:26px}.article-list-card h2{margin:12px 0 18px;font-size:1.18rem}.article-list-card p{color:var(--muted);font-size:.87rem}@media (width<=700px){.article-list{grid-template-columns:1fr}.article-toc{padding:20px}}.logo-crop{aspect-ratio:1035/420;width:100%;display:block;position:relative;overflow:hidden}.brand .logo-crop img,.footer-brand .logo-crop img{width:121.159%;max-width:none;height:auto;margin:0;position:absolute;top:-100%;left:-10.628%}.footer-brand .logo-crop{width:180px;margin-bottom:16px}}@layer responsive{@media (width<=1050px){.desktop-nav{gap:15px;font-size:.8rem}.header-inner{gap:18px}.hero-grid{gap:40px}.brand,.brand img{width:155px}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.container{width:calc(100% - 36px)}.desktop-nav{display:none}.header-inner{gap:12px;min-height:80px;position:relative}.brand,.brand img{width:140px}.mobile-nav{font-size:.75rem;display:block}.mobile-nav summary{padding:12px 0;list-style:none}.mobile-nav nav{z-index:10;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(350px,100vw - 36px);padding:16px;position:absolute;top:78px;right:0;box-shadow:0 8px 20px #15344d12}.mobile-nav a{min-height:48px;padding:10px;text-decoration:none;display:block}.hero{padding:45px 0}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:2.7rem}.hero .lead{max-width:500px;font-size:.95rem}.hero-subline{font-size:.75rem}.search-panel{padding:25px}.section{padding-block:54px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.area-layout{grid-template-columns:1fr;gap:28px}.area-feature{padding-left:18px}.area-feature p{font-size:.9rem}.search-layout{grid-template-columns:1fr;gap:25px}.filter-box{grid-template-columns:1fr 1fr;column-gap:18px;display:grid}.filter-box label:not(:first-child){margin-top:0}.filter-box .field{margin-bottom:15px}.closing-inner{display:block}.closing .button{margin-top:28px}.footer-main{gap:35px}.section-heading{align-items:start}.brand-line span{display:none}.trust-strip p{font-size:.75rem}.trust-strip span{margin:0;display:block}.page-hero{padding-block:30px}.page-content{padding-block:35px 55px}}@media (width<=520px){.header-inner>.button{gap:7px;min-height:43px;padding:10px 12px;font-size:.72rem}.brand,.brand img{width:124px}.mobile-nav summary{font-size:.68rem}.hero h1{letter-spacing:.015em;font-size:2.15rem}.hero-actions{gap:10px}.hero-actions .button{gap:10px;padding:14px 16px;font-size:.85rem}.grid-3,.grid-2{grid-template-columns:1fr}.grid-4{gap:10px}.section-heading{display:block}.section-heading>.text-link{margin-top:15px;display:inline-block}.region-list{grid-template-columns:1fr;gap:18px}.type-card{min-height:auto;padding:22px}.contractor-card{padding:22px}.contractor-card h3{font-size:1.3rem}.card-bottom{display:block}.card-bottom .text-link{margin-top:12px;display:block}.closing h2{font-size:1.5rem}.footer-main{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom small{margin-top:15px;display:block}.footer-bottom a{min-height:32px;display:inline-block}.company-facts{grid-template-columns:110px 1fr}.company-facts dt,.company-facts dd{padding:14px 12px;font-size:.85rem}.field-grid{grid-template-columns:1fr;gap:0}.filter-box{display:block}.filter-box .field{margin-bottom:18px}.prose table{font-size:.85rem}.prose th,.prose td{padding:12px}.page-hero h1{font-size:1.7rem}.trust-strip .container{gap:8px;padding-block:16px}.trust-strip p{font-size:.66rem;line-height:1.6}.trust-strip span{font-size:.75rem}.card-top .pill{font-size:.65rem}.maker-link{padding:18px 14px;font-size:.9rem}.brand-line{font-size:.62rem}.prose h2{font-size:1.35rem}.lead{font-size:.95rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}}
