/* S14's existing Japan geometry. Lines show nationwide support, not client locations. */
.inner-page .sec.nationwide-section{
  background:var(--ivory,#f5f2ea);
  padding-block:88px;
  color:var(--navy,#183e55);
}
.nationwide-section .nw-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(36px,6vw,96px);
  align-items:center;
}
.nationwide-section .nw-copy{min-width:0}
.nationwide-section .eyebrow{display:block;color:var(--blue,#087fad)}
.inner-page .nationwide-section h2{
  font:500 clamp(30px,3.3vw,48px)/1.65 var(--serif,'Yu Mincho',serif);
  letter-spacing:.04em;
  margin:24px 0;
  color:var(--navy,#183e55);
}
.nationwide-section h2>span{display:block}
.nationwide-section .nw-lead{
  max-width:430px;
  margin:0;
  font:400 14px/2.1 var(--sans,'Yu Gothic',Meiryo,sans-serif);
  color:var(--ink,#16242c);
}
.nationwide-section .nw-ways{
  max-width:450px;
  padding:0;
  margin:34px 0 0;
  border-top:1px solid var(--line,#d6d1c6);
}
.nationwide-section .nw-ways>div{padding:23px 0;border-bottom:1px solid var(--line,#d6d1c6)}
.nationwide-section .nw-ways dt{
  margin:0;
  font:500 21px/1.65 var(--serif,'Yu Mincho',serif);
  letter-spacing:.025em;
}
.nationwide-section .nw-ways dd{
  margin:8px 0 0;
  font:400 13px/2.05 var(--sans,'Yu Gothic',Meiryo,sans-serif);
  color:var(--ink,#16242c);
}
.nationwide-section .nw-map{min-width:0;width:100%;max-width:620px;margin:0 auto}
.nationwide-section .nw-map-svg{display:block;width:100%;height:auto;aspect-ratio:1;overflow:hidden}
.nationwide-section .nw-map-svg .pf{fill:#e2dccf;stroke:var(--ivory,#f5f2ea);stroke-width:1.1;stroke-linejoin:round}
.nationwide-section .nw-map-svg .rings circle{fill:none;stroke:var(--navy,#183e55);stroke-opacity:.16;stroke-width:1;stroke-dasharray:2 6}
.nationwide-section .nw-map-svg .reach path{fill:none;stroke:var(--blue,#087fad);stroke-width:1.8;stroke-linecap:round}
.motion-on .nw-map.is-map-visible .reach path{stroke-dasharray:100;animation:nw-reach-1 4.5s linear var(--reach-delay,0s) infinite both}
.motion-on .nw-map.is-map-visible .reach path:nth-child(4n+2){animation-name:nw-reach-2}
.motion-on .nw-map.is-map-visible .reach path:nth-child(4n+3){animation-name:nw-reach-3}
.motion-on .nw-map.is-map-visible .reach path:nth-child(4n+4){animation-name:nw-reach-4}
@keyframes nw-reach-1{0%{stroke-dashoffset:100;opacity:0}1%{opacity:1}10%,73%{stroke-dashoffset:0;opacity:1}87%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes nw-reach-2{0%,10%{stroke-dashoffset:100;opacity:0}10.1%{opacity:1}20%,73%{stroke-dashoffset:0;opacity:1}87%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes nw-reach-3{0%,20%{stroke-dashoffset:100;opacity:0}20.1%{opacity:1}30%,73%{stroke-dashoffset:0;opacity:1}87%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes nw-reach-4{0%,30%{stroke-dashoffset:100;opacity:0}30.1%{opacity:1}40%,73%{stroke-dashoffset:0;opacity:1}87%,100%{stroke-dashoffset:0;opacity:0}}
.nationwide-section .nw-map-svg .halo{fill:var(--blue,#087fad);opacity:.22;transform-box:fill-box;transform-origin:50% 50%}
.motion-on .nw-map.is-map-visible .halo{animation:nw-halo-pulse 4.5s ease-out infinite}
@keyframes nw-halo-pulse{0%,8%,100%{transform:scale(1);opacity:.22}18%{transform:scale(1.8);opacity:0}19%{transform:scale(1);opacity:0}}
.nationwide-section .nw-map-svg .dot{fill:var(--navy,#183e55);stroke:var(--paper,#fbfaf6);stroke-width:2.5}
.nationwide-section .nw-map-svg .inset{fill:none;stroke:#b3bbbd;stroke-width:1.2}
.nationwide-section .nw-map-caption{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding-top:20px;
  border-top:1px solid var(--line,#d6d1c6);
  font:400 11px/1.85 var(--sans,'Yu Gothic',Meiryo,sans-serif);
  color:var(--ink,#16242c);
}
.nationwide-section .nw-base{display:flex;gap:10px;align-items:flex-start;white-space:nowrap}
.nationwide-section .nw-base-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;margin-top:7px;background:var(--navy,#183e55)}
.nationwide-section .nw-base strong,.nationwide-section .nw-reach strong{display:block;font-size:12px;font-weight:500;color:var(--navy,#183e55)}
.nationwide-section .nw-base>span>span,.nationwide-section .nw-reach>span{display:block;margin-top:3px}
@media(max-width:1000px){
  .nationwide-section .nw-layout{gap:34px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .nationwide-section .nw-map-caption{grid-template-columns:1fr;gap:14px}
}
@media(max-width:760px){
  .inner-page .sec.nationwide-section{padding-block:58px}
  .nationwide-section .nw-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .inner-page .nationwide-section h2{font-size:clamp(27px,7.4vw,34px);line-height:1.7;margin:20px 0}
  .nationwide-section .nw-lead{font-size:13px;max-width:none}
  .nationwide-section .nw-ways{max-width:none;margin-top:27px}
  .nationwide-section .nw-ways>div{padding:19px 0}
  .nationwide-section .nw-ways dt{font-size:20px}
  .nationwide-section .nw-ways dd{font-size:12px;margin-top:7px}
  .nationwide-section .nw-map{max-width:500px}
  .nationwide-section .nw-map-svg .reach path{stroke-width:.8;vector-effect:non-scaling-stroke}
  .nationwide-section .nw-map-caption{padding-top:18px;gap:16px}
}
@media print{
  .nationwide-section .nw-map-svg .reach path{animation:none!important;stroke-dasharray:none!important;opacity:1!important}
  .nationwide-section .nw-map-svg .halo{animation:none!important;transform:none!important}
  .inner-page .sec.nationwide-section{padding-block:35px;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .nationwide-section .nw-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}
  .nationwide-section .nw-map{max-width:410px}
}
