:root{--brand:#D64566;--brand-dark:#B23252;--brand-light:#FBEDF1;--accent:#2E6E8E;--ink:#2B2B33;--ink-muted:#6B6B76;--bg:#FFFFFF;--surface:#F7F5F2;--border:#e5e2e4;--radius:12px;--header-height:80px}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--brand-dark)}img{max-width:100%;height:auto;display:block}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.45}h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:.02em}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.15rem}.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.section{padding-block:64px}.section--soft{background:var(--surface)}.eyebrow{color:var(--brand-dark);font-size:.78rem;font-weight:750;letter-spacing:.14em;margin-bottom:12px}.section-head{margin-bottom:32px}.section-head p:last-child{color:var(--ink-muted);max-width:680px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip-link:focus{top:8px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border)}.header-inner{min-height:var(--header-height);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.site-logo{display:block;width:min(250px,calc(100% - 100px))}.menu-toggle{display:none;align-items:center;gap:8px;background:white;border:1px solid var(--border);border-radius:8px;padding:8px;color:var(--ink);font-size:.8rem;min-height:44px}.menu-icon{width:18px;height:12px;border-block:2px solid currentColor;position:relative}.menu-icon:after{content:"";position:absolute;top:3px;left:0;width:18px;border-top:2px solid}.js .menu-toggle{display:flex}.site-nav{width:100%;padding-bottom:16px}.site-nav ul{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px}.site-nav a{display:block;padding:10px 0;text-decoration:none;font-size:.875rem;font-weight:650}.site-nav .nav-cta{color:white;background:var(--accent);padding:10px 16px;border-radius:8px}.breadcrumb{font-size:.75rem;color:var(--ink-muted);padding-block:16px}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.breadcrumb li+li:before{content:"/";margin-right:8px}.hero{position:relative;overflow:hidden;background:var(--brand-light);isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;opacity:.12}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(251,237,241,.98),rgba(251,237,241,.78))}.hero-inner{padding-block:48px 60px;display:grid;gap:36px}.hero h1 span{color:var(--brand-dark)}.hero-lead{max-width:610px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:26px}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:13px 23px;border-radius:8px;background:var(--accent);color:white;font-weight:700;text-decoration:none;border:1px solid var(--accent)}.button:hover{background:#245872;color:white}.button--outline{background:white;color:var(--accent)}.button--outline:hover{background:#edf4f7;color:var(--accent)}.hero-notes{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8rem;color:var(--accent);padding:0;list-style:none}.hero-notes li:before{content:"✓";margin-right:6px}.guide-panel{align-self:center;background:rgba(255,255,255,.94);border:1px solid white;border-radius:var(--radius);padding:26px;box-shadow:0 10px 32px #53304309}.guide-panel ol{list-style:none;margin:0;padding:0;counter-reset:steps}.guide-panel li{counter-increment:steps;display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.guide-panel li:last-child{border:0}.guide-panel li:before{content:"0" counter(steps);color:var(--brand-dark);font-size:1.5rem;font-weight:700}.guide-panel small{display:block;color:var(--ink-muted)}.card-grid{display:grid;gap:20px}.card{border:1px solid var(--border);background:white;border-radius:var(--radius);padding:28px;box-shadow:0 4px 14px #2b2b3305}.card p{color:var(--ink-muted)}.card p:last-child{margin-bottom:0}.card-number{display:inline-flex;background:var(--brand-light);color:var(--brand-dark);border-radius:8px;padding:8px 12px;font-weight:700;margin-bottom:22px}.text-link{font-weight:700}.area-groups{display:grid;gap:16px}.area-group{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:20px}.area-group h3{font-size:1rem;color:var(--accent);margin-bottom:12px}.prefecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}.prefecture-grid a{display:block;text-align:center;background:var(--surface);border-radius:6px;padding:10px 2px;text-decoration:none;font-size:.875rem}.prefecture-grid a:hover{background:var(--brand-light)}.column-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.column-art{min-height:130px;padding:24px;background:var(--brand-light);display:flex;justify-content:space-between;align-items:center;color:var(--brand-dark);font-weight:700}.column-art strong{font-size:2.8rem;font-weight:500;opacity:.5}.column-card:nth-child(even) .column-art{background:#edf4f7;color:var(--accent)}.column-body{padding:24px;display:flex;flex:1;flex-direction:column}.column-body p{font-size:.875rem}.column-body a{margin-top:auto}.faq-list{max-width:850px;margin-inline:auto;border-top:1px solid var(--border)}.accordion{border-bottom:1px solid var(--border)}.accordion summary{cursor:pointer;padding:24px 32px 24px 0;position:relative;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";position:absolute;right:4px;top:22px;color:var(--accent);font-size:1.5rem}.accordion[open] summary:after{content:"−"}.accordion summary h3{display:inline;font-size:1rem}.accordion summary h3:before{content:"Q.";color:var(--brand-dark);margin-right:12px}.accordion-answer{padding:0 24px 24px;color:var(--ink-muted)}.accordion-answer p{margin:0}.contact-panel{background:var(--accent);color:white;border-radius:var(--radius);padding:36px 24px;display:grid;gap:16px}.contact-panel .eyebrow{color:white}.contact-panel p{margin-bottom:0}.contact-panel .button{background:white;color:var(--accent);align-self:center}.site-footer{padding:48px 0 24px;background:var(--surface);font-size:.875rem}.footer-grid{display:grid;gap:28px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 24px;list-style:none;padding:0;margin:0}.footer-brand p{margin-top:16px;color:var(--ink-muted)}.copyright{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--border);font-size:.75rem;color:var(--ink-muted)}
@media(min-width:375px){.container{width:min(1160px,calc(100% - 40px))}.site-logo{width:min(250px,calc(100% - 100px))}}
@media(min-width:768px){.section{padding-block:88px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{padding-block:68px}.contact-panel{padding:48px;grid-template-columns:1fr auto}.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.header-inner{flex-wrap:nowrap}.site-logo{width:280px;flex-shrink:0}.js .menu-toggle{display:none}.site-nav{width:auto;padding:0}.site-nav ul{align-items:center;gap:18px}.hero-inner{grid-template-columns:1.5fr 1fr;gap:64px}.columns-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.column-body{padding:20px}}
@media(min-width:1440px){.hero-inner{padding-block:88px}.section{padding-block:96px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Main information pages */
.page-intro{background:var(--brand-light);padding-block:40px 48px}.page-intro h1{font-size:clamp(1.8rem,4vw,3rem);max-width:960px}.page-lead{max-width:780px;margin-bottom:0}.page-content{padding-block:40px 64px;overflow-wrap:anywhere}.content-section{margin-bottom:48px}.content-section:last-child{margin-bottom:0}.content-section>p,.content-section>ul,.content-section>ol{max-width:900px}.content-section li+li{margin-top:8px}.info-list{margin:24px 0}.info-list>div{padding:20px 0;border-bottom:1px solid var(--border);display:grid;gap:8px}.info-list dt{font-weight:700;color:var(--accent)}.info-list dd{margin:0}.table-scroll{overflow-x:auto;margin-block:24px;border:1px solid var(--border);border-radius:var(--radius)}.table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.data-table{border-collapse:collapse;width:100%;min-width:560px;text-align:left}.data-table caption{text-align:left;padding:16px;font-weight:700;background:var(--surface)}.data-table th,.data-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--border)}.data-table thead{background:var(--brand-light)}.data-table tbody th{width:32%}.data-table tr:last-child td,.data-table tbody tr:last-child th{border-bottom:0}.source-note{font-size:.875rem;color:var(--ink-muted)}.step-list{padding-left:24px}.step-list li{padding:8px 0}.step-list p{margin:8px 0}.notice{padding:24px;border-left:4px solid var(--accent);border-radius:8px;background:#edf4f7;margin-bottom:24px}.notice p:last-child{margin-bottom:0}.case-grid{display:grid;gap:24px;margin-block:32px}.case-card{margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.case-card a{display:block;background:white}.case-card img{width:100%;aspect-ratio:480/410;object-fit:contain}.case-card figcaption{padding:16px 20px;font-weight:700}.case-card a:focus-visible{outline-offset:-4px}.page-content .faq-list{margin-left:0}.page-content .card{min-width:0}
@media(min-width:768px){.page-intro{padding-block:56px 64px}.page-content{padding-block:56px 88px}.content-section{margin-bottom:64px}.info-list>div{grid-template-columns:200px 1fr;gap:24px}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Companies listing tables (restored from dump) */
.companies-table tbody tr:hover{background:var(--brand-light)}
.companies-table .company-name{font-weight:600}
.companies-table .company-name a{color:var(--brand-dark);text-decoration:none}
.companies-table .company-name a:hover{text-decoration:underline}
.companies-table .company-addr{color:var(--ink-muted);font-size:.9em}
.companies-table .company-tel{white-space:nowrap}
.companies-table .company-tel a{color:var(--accent);text-decoration:none;font-weight:600}
.companies-table .company-tel a:hover{text-decoration:underline}
.companies-table .muted{color:var(--ink-muted)}
