.area-page .header{position:absolute}.area-page .header.stuck{position:fixed}.area-hero{padding-top:102px;min-height:720px;display:grid;grid-template-columns:48.8% 51.2%;background:#fff}.area-hero__copy{display:grid;place-items:center;padding:70px 7vw}.area-hero__copy>div{width:min(590px,100%)}.area-hero h1{margin:0 0 16px;color:var(--green);font-size:clamp(52px,5vw,76px);line-height:1.3}.area-hero h2{margin:0;color:var(--green);font-size:clamp(31px,3vw,46px);line-height:1.65}.area-hero__copy>div>p:last-child{max-width:560px;margin:0;color:var(--muted)}
.service-area-map{position:relative;min-height:620px;margin:0;overflow:hidden;background:linear-gradient(145deg,#0d302d 0%,#0b2347 100%)}.service-area-map img{display:block;width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center}.service-area-map figcaption{position:absolute;right:22px;bottom:18px;padding:7px 10px;color:rgba(255,255,255,.78);background:rgba(7,27,48,.78);font-size:9px;letter-spacing:.08em;backdrop-filter:blur(5px)}.sonar{position:absolute;left:50%;top:46%;width:58%;max-width:380px;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 0 10px rgba(237,151,58,.14))}.sonar__ring{position:absolute;left:50%;top:50%;aspect-ratio:1;border:1px dashed rgba(255,255,255,.58);border-radius:50%;transform:translate(-50%,-50%)}.sonar__ring b{position:absolute;right:-20px;top:50%;padding:4px 8px;color:#fff;background:rgba(7,27,48,.78);border:1px solid rgba(255,255,255,.16);font:600 10px/1 var(--sans);letter-spacing:.08em;transform:translateY(-50%);box-shadow:0 5px 16px rgba(0,0,0,.18)}.sonar__ring--100{width:100%;border-color:rgba(255,186,107,.9);border-style:solid}.sonar__ring--50{width:50%}.sonar__ring--50 b{right:-26px}.sonar__sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -35deg,transparent 0 308deg,rgba(102,208,184,.03) 318deg,rgba(102,208,184,.3) 354deg,rgba(255,205,134,.75) 360deg);animation:sonar-sweep 5.2s linear infinite}.sonar__center{position:absolute;left:50%;top:50%;width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:#e66c12;box-shadow:0 0 0 0 rgba(255,173,82,.65);transform:translate(-50%,-50%);animation:sonar-pulse 2s ease-out infinite}.sonar__blip{position:absolute;width:7px;height:7px;border-radius:50%;background:#89ddc8;box-shadow:0 0 0 5px rgba(137,221,200,.12),0 0 16px rgba(137,221,200,.9);animation:sonar-blip 5.2s ease-in-out infinite}.sonar__blip--one{left:30%;top:27%;animation-delay:.6s}.sonar__blip--two{right:19%;top:42%;animation-delay:2.2s}.sonar__blip--three{left:37%;bottom:17%;animation-delay:3.8s}@keyframes sonar-sweep{to{transform:rotate(360deg)}}@keyframes sonar-pulse{0%{box-shadow:0 0 0 0 rgba(255,173,82,.65)}70%,100%{box-shadow:0 0 0 18px rgba(255,173,82,0)}}@keyframes sonar-blip{0%,48%,100%{opacity:.18;transform:scale(.65)}55%,68%{opacity:1;transform:scale(1.15)}}.breadcrumb{padding:22px 0}.breadcrumb ol{display:flex;gap:12px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:10px}.breadcrumb li+li:before{content:"/";margin-right:12px;color:var(--brass)}
.area-summary{background:var(--stone)}.area-summary__head{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.area-summary h2,.section-heading h2,.consult-area h2{margin:0;color:var(--green);font-size:clamp(38px,3.5vw,52px);line-height:1.55}.area-summary__head>div:last-child>p{margin:0;color:var(--muted)}.area-summary__head .area-summary__note{margin-top:16px;font-size:11px;line-height:1.8}.area-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.area-stats>div{padding:30px 34px;border-right:1px solid var(--line)}.area-stats>div:last-child{border:0}.area-stats dt{color:var(--brass);font-size:10px;letter-spacing:.2em}.area-stats dd{display:flex;align-items:baseline;gap:8px;margin:10px 0 3px;color:var(--green)}.area-stats dd strong{font:500 54px/1 var(--serif)}.area-stats dd span{font:500 15px/1 var(--serif)}.area-stats small{color:var(--muted);font-size:10px}.section-heading{text-align:center}.section-heading>p:last-child{margin:14px 0 0;color:var(--muted)}
.primary-area{background:#fff}.prefecture-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:65px}.prefecture-card{align-self:start;border:1px solid var(--line);background:#fff}.prefecture-card summary,.consult-list summary{position:relative;display:grid;grid-template-columns:54px 1fr auto 24px;gap:14px;align-items:center;padding:25px 28px;cursor:pointer;list-style:none}.prefecture-card summary::-webkit-details-marker,.consult-list summary::-webkit-details-marker{display:none}.prefecture-card summary span{color:var(--brass);font:500 12px/1 var(--serif)}.prefecture-card summary strong,.consult-list summary strong{color:var(--green);font:500 24px/1.4 var(--serif);letter-spacing:.08em}.prefecture-card summary small,.consult-list summary small{color:var(--muted);font-size:10px}.prefecture-card summary i,.consult-list summary i{position:relative;width:18px;height:18px}.prefecture-card summary i:before,.prefecture-card summary i:after,.consult-list summary i:before,.consult-list summary i:after{content:"";position:absolute;left:0;top:8px;width:18px;height:1px;background:var(--brass)}.prefecture-card summary i:after,.consult-list summary i:after{transform:rotate(90deg);transition:transform .2s}.prefecture-card[open] summary i:after,.consult-list details[open] summary i:after{transform:none}.prefecture-card>div{padding:0 28px 30px;border-top:1px solid var(--line)}.prefecture-card>div>p{margin:24px 0;color:var(--muted);font-size:12px}.city-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.city-list li{padding:6px 10px;color:var(--green);background:var(--stone);font-size:11px;line-height:1.4}
.consult-area{background:var(--stone)}.consult-area__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px}.consult-area p:last-child{max-width:470px;color:var(--muted)}.consult-list{border-top:1px solid var(--line)}.consult-list details{border-bottom:1px solid var(--line)}.consult-list summary{grid-template-columns:1fr auto 24px;padding-inline:0}.consult-list summary strong{font-size:20px}.consult-list .city-list{padding:4px 0 26px}.consult-list .city-list li{background:#fff}.area-notes{background:#fff}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.note-grid article{padding:34px;border-right:1px solid var(--line)}.note-grid article:last-child{border:0}.note-grid span{color:var(--brass);font:500 18px/1 var(--serif)}.note-grid h3{margin:24px 0 12px;color:var(--green);font-size:19px;line-height:1.55}.note-grid p{margin:0;color:var(--muted);font-size:12px}.area-page .contact-grid .button{justify-content:center}
@media(max-width:1080px){.area-hero__copy{padding-inline:5vw}.area-summary__head,.consult-area__grid{gap:55px}.prefecture-grid{grid-template-columns:1fr}.service-area-map,.service-area-map img{min-height:560px}}
@media(max-width:820px){.area-page .header,.area-page .header.stuck{height:72px}.area-hero{padding-top:72px;display:flex;flex-direction:column-reverse;min-height:0}.service-area-map,.service-area-map img{min-height:54svh}.area-hero__copy{padding:55px 20px 70px}.area-hero h1{font-size:44px}.area-hero h2{font-size:30px}.area-summary__head,.consult-area__grid{grid-template-columns:1fr;gap:34px}.area-stats{grid-template-columns:1fr}.area-stats>div{border-right:0;border-bottom:1px solid var(--line)}.area-stats>div:last-child{border-bottom:0}.prefecture-grid{margin-top:45px}.note-grid{grid-template-columns:1fr}.note-grid article{border-right:0;border-bottom:1px solid var(--line)}.note-grid article:last-child{border-bottom:0}}
@media(max-width:520px){.service-area-map,.service-area-map img{min-height:420px}.service-area-map figcaption{right:10px;bottom:10px;font-size:8px}.sonar{width:64%}.sonar__ring b{right:-16px;padding:3px 6px;font-size:8px}.sonar__ring--50 b{right:-22px}.area-hero h1{font-size:38px}.area-hero h2{font-size:26px}.prefecture-card summary{grid-template-columns:36px 1fr auto 18px;padding:20px 16px}.prefecture-card summary strong{font-size:20px}.prefecture-card>div{padding-inline:16px}.consult-list summary{grid-template-columns:1fr auto 18px}.area-stats dd strong{font-size:46px}}
@media(prefers-reduced-motion:reduce){.sonar__sweep,.sonar__center,.sonar__blip{animation:none}.sonar__sweep{opacity:.45;transform:rotate(28deg)}}
.area-hero h2.area-hero__prefectures{font-size:clamp(22px,1.9vw,27px);line-height:1.8;letter-spacing:.03em}
.sonar:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(238,122,37,.2) 0%,rgba(238,122,37,.13) 72%,rgba(238,122,37,.18) 100%)}
@media(max-width:520px){.sonar{width:54%}.area-hero h2.area-hero__prefectures{font-size:18px;line-height:1.8}}
.sonar{width:50%}
@media(max-width:520px){.sonar{width:47%}}
.sonar__center:after{content:"名古屋市";position:absolute;left:50%;top:-32px;padding:4px 7px;white-space:nowrap;color:#fff;background:rgba(7,27,48,.82);border:1px solid rgba(255,255,255,.16);font:600 10px/1 var(--sans);letter-spacing:.08em;transform:translateX(-50%)}
@media(max-width:520px){.sonar__center:after{top:-26px;padding:3px 5px;font-size:8px}}
