/* A geographical relief, with selection connecting coverage to consultation. */
.area-page{--area-blue:#246889;--area-muted:#55707e;background:#f7f9f8;overflow:clip}.desktop-nav a[aria-current=page],.mobile-menu a[aria-current=page]{color:var(--blue)}
.area-hero{position:relative;padding-top:180px;padding-bottom:62px;display:grid;grid-template-columns:44% 56%;align-items:center;column-gap:0}.area-hero-copy{position:relative;z-index:2;padding-bottom:30px}.area-eyebrow{font-size:13px;letter-spacing:.08em;color:var(--area-blue);font-weight:700}.area-hero h1{font-size:clamp(36px,4.3vw,65px);line-height:1.6;letter-spacing:-.055em;font-weight:700;margin:20px 0 29px;white-space:nowrap}.area-hero h1>span{color:var(--area-blue)}.area-intro{font-size:14px;line-height:2.15;color:#385663}.area-hero .text-link{font-size:13px;gap:24px;margin-top:33px}.area-map{position:relative;margin:-52px -40px 0 -30px;min-width:0}.area-map-art{position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 96%,transparent)}.area-map-svg{width:100%;height:auto;display:block;overflow:visible}.area-map figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;color:#647e89;padding:0 40px 20px}.area-legend{display:flex;align-items:center;gap:7px}.area-legend i{width:8px;height:8px;background:#83abbc}.area-map .map-prefecture,.area-map .map-label-group{transition:transform .65s cubic-bezier(.22,.68,0,1)}.area-map .map-prefecture.is-selected,.area-map .map-label-group.is-selected{transform:translateY(-7px)}.area-map .map-label-group{pointer-events:none}.area-map .map-prefecture:hover .map-top{stroke:#408aae;stroke-width:3}.area-map .map-lake{pointer-events:none}
.area-selector{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid #c8d8dd;margin-top:16px;gap:18px}.area-selector button{appearance:none;position:relative;background:none;border:0;border-radius:0;color:#52717f;padding:21px 0;font:700 18px/1.7 var(--font-jp,'FlowZen',sans-serif);cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;transition:color .3s}.area-selector button>span{font:21px Arial;opacity:.35;transition:transform .4s,opacity .4s}.area-selector button:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--area-blue);transform:scaleX(0);transform-origin:left;transition:transform .4s}.area-selector button[aria-pressed=true],.area-selector button:hover{color:#143e56}.area-selector button[aria-pressed=true]:after{transform:scaleX(1)}.area-selector button[aria-pressed=true]>span{opacity:1;transform:translate(2px,-2px)}.area-selector button:focus-visible,.area-page a:focus-visible,.area-page summary:focus-visible{outline:2px solid #086be8;outline-offset:5px}
.area-selected{grid-column:1/-1;display:grid;grid-template-columns:44% 56%;padding-top:33px;align-items:start}.area-selected h2{font-size:30px;letter-spacing:-.04em;font-weight:700;line-height:1.8}.area-selected h2>span{color:var(--area-blue)}.area-selected p{font-size:13px;line-height:2;color:#3b5a68}.area-inline-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;color:var(--area-blue);margin-top:17px;padding:6px 0}.area-inline-link>span:last-child{font:23px Arial}.area-map-note{grid-column:1/-1;font-size:10px;line-height:1.9;color:#6b818b;margin-top:27px}.area-map-note a{display:inline-block;margin-left:15px;text-decoration:underline;text-underline-offset:3px}
.area-base{background:#143b4b;color:#f2f8fa;padding-block:82px;position:relative;isolation:isolate;overflow:hidden}.area-base:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 0% 100%,#578b9b4a,transparent 60%);z-index:-1}.area-base>.section-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.area-base .area-eyebrow{color:#a5d7df}.area-base h2{font-size:clamp(31px,3.4vw,49px);font-weight:700;letter-spacing:-.04em;line-height:1.65;margin-top:19px}.area-base h2 span{color:#c7e0e8}.area-base-copy>p{font-size:14px;line-height:2.05;color:#d4e5eb}.area-base address{font-style:normal;display:flex;flex-direction:column;gap:4px;margin-top:28px}.area-base address strong{font:22px/1.5 Arial;letter-spacing:.025em;margin-bottom:5px}.area-base address span{font-size:12px;color:#d3e3ea}.area-related{display:flex;gap:30px;margin-top:27px}.area-related a{display:flex;align-items:center;gap:17px;font-size:12px;padding-block:9px}.area-related a>span{font:21px Arial}
.area-preparation{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-block:94px 65px}.area-preparation h2{font-size:clamp(34px,3.8vw,52px);font-weight:700;line-height:1.6;letter-spacing:-.04em;margin:17px 0 23px}.area-section-intro{font-size:13px;color:var(--area-muted);line-height:2.05}.area-checklist{margin:4px 0 0}.area-checklist>div{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #cfdee3}.area-checklist>div:last-child{margin-bottom:0;padding-bottom:0;border:0}.area-checklist dt{font-size:22px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px}.area-checklist dd{margin:0;font-size:13px;line-height:2;color:#496673}.area-faq{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-bottom:95px}.area-faq h2{font-size:26px;font-weight:700;letter-spacing:-.035em;padding-top:21px}.area-faq details{border-bottom:1px solid #cbdce1}.area-faq details:first-child{border-top:1px solid #cbdce1}.area-faq summary{list-style:none;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 0;line-height:1.8}.area-faq summary::-webkit-details-marker{display:none}.area-faq summary>span{font-size:20px;color:var(--area-blue);flex-shrink:0;transition:transform .3s}.area-faq details[open] summary>span{transform:rotate(45deg)}.area-faq details p{font-size:13px;color:#496673;line-height:2;padding-bottom:24px}
.area-contact{background:#e7eff2;padding-block:82px}.area-contact>.section-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.area-contact h2{font-size:clamp(30px,3.2vw,46px);line-height:1.65;font-weight:700;letter-spacing:-.05em;margin:17px 0 23px}.area-contact h2>span{color:var(--area-blue)}.area-contact h2+p{font-size:13px;color:#496673;line-height:2}.area-contact-actions{padding-top:10px}.area-phone{display:block}.area-phone small{font-size:13px}.area-phone>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font:clamp(30px,3.2vw,46px)/1.7 Arial;letter-spacing:-.05em;margin-top:8px}.area-phone i{font:28px Arial}.area-hours{font-size:12px;color:var(--area-muted);line-height:2;margin-top:8px}.area-line{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:17px;color:var(--area-blue);padding:23px 0;border-bottom:1px solid #aec6d1;margin-top:14px}.area-line>span{font:26px Arial}.area-services-link{display:inline-flex;gap:20px;font-size:12px;color:var(--area-muted);padding:19px 0 0}.area-services-link>span{font:20px Arial}
@media(min-width:761px) and (max-width:1100px){.area-hero{padding-top:150px}.area-map{margin-top:-20px}.area-hero h1{font-size:clamp(31px,4.1vw,45px)}.area-hero .text-link{font-size:12px;gap:15px}.area-intro{font-size:13px}.area-map figcaption{padding-inline:27px;font-size:9px;flex-wrap:wrap;gap:5px}.area-selector{gap:15px}.area-selector button{font-size:16px}.area-selected h2{font-size:27px}.area-desktop-break{display:none}.area-base>.section-wrap,.area-preparation,.area-faq,.area-contact>.section-wrap{gap:6%;grid-template-columns:1fr 1.1fr}.area-checklist dt{font-size:20px}.area-contact h2{font-size:31px}.area-base h2{font-size:32px}}
@media(max-width:760px){.area-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:117px;padding-bottom:39px}.area-hero-copy{display:contents}.area-hero-copy>.area-eyebrow{order:0}.area-hero h1{order:1;font-size:clamp(33px,8vw,52px);line-height:1.55;margin:16px 0 0}.area-eyebrow{font-size:12px}.area-map{order:2;margin:-1px -24px 9px}.area-map figcaption{font-size:9px;padding:0 24px 12px}.area-intro{order:3;font-size:13px;line-height:2}.area-intro br:first-child{display:none}.area-hero .text-link{order:4;margin-top:18px;font-size:12px}.area-selector{order:5;grid-template-columns:repeat(3,1fr);gap:0 22px;margin-top:27px;border:0}.area-selector button{font-size:17px;padding:15px 0;border-bottom:1px solid #c8d8dd;min-height:55px}.area-selector button>span{font-size:18px}.area-selected{order:6;display:block;padding-top:27px}.area-selected h2{font-size:27px;margin-bottom:12px}.area-selected p{font-size:12px;line-height:2}.area-inline-link{font-size:12px;margin-top:12px}.area-map-note{order:7;font-size:9px;margin-top:22px}.area-map-note a{display:block;margin-left:0;margin-top:5px}.area-desktop-break{display:none}.area-base{padding-block:48px}.area-base>.section-wrap,.area-preparation,.area-faq,.area-contact>.section-wrap{display:block}.area-base h2{font-size:clamp(29px,7.2vw,41px);margin-top:14px}.area-base-copy{margin-top:25px}.area-base-copy>p{font-size:13px}.area-base address{margin-top:22px}.area-related{gap:25px;margin-top:18px;flex-wrap:wrap}.area-related a{gap:12px;font-size:12px}.area-preparation{padding-block:51px 38px}.area-preparation h2{font-size:34px;margin:13px 0 18px}.area-section-intro{font-size:12px}.area-checklist{margin-top:30px}.area-checklist dt{font-size:21px}.area-checklist dd{font-size:12px}.area-checklist>div{padding-bottom:21px;margin-bottom:21px}.area-faq{padding-bottom:51px}.area-faq h2{font-size:25px;padding:0;margin-bottom:22px}.area-faq summary{font-size:13px;padding-block:20px;gap:12px}.area-faq details p{font-size:12px}.area-contact{padding-block:49px}.area-contact h2{font-size:clamp(29px,7vw,40px);margin:13px 0 19px}.area-contact h2+p{font-size:12px}.area-contact-actions{padding-top:29px}.area-phone small{font-size:12px}.area-phone>span{font-size:clamp(30px,8.5vw,45px)}.area-hours{font-size:11px}.area-line{font-size:16px}.area-services-link{font-size:12px}}
@media(min-width:601px) and (max-width:760px){.area-map{max-width:580px;align-self:center;width:100%;margin:0}.area-hero h1{font-size:50px}}
@media(prefers-reduced-motion:reduce){.area-page *{transition:none!important;animation:none!important}}

/* Area photography: a broad city view, a closer look at the site, and an arrival. */
.area-photo{position:relative;overflow:hidden;isolation:isolate;background:#a7bac4;margin:0}
.area-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);transform:scale(1)}
.area-photo.is-pending>img{transform:scale(1.035)}
.area-photo-credit{position:absolute;bottom:10px;right:15px;z-index:3;color:#edf5f8;font-size:9px;line-height:1.6;letter-spacing:.015em;text-shadow:0 1px 4px #092633;padding:3px 6px;background:#102d3d80}
.area-base.area-base-visual{padding-block:0;background:#143b4b}
.area-base-panorama{height:clamp(470px,41vw,650px)}
.area-base-panorama>img{object-position:50% 58%}
.area-base-panorama:after,.area-visit-photo:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#092c40eb 0%,#0b30495c 45%,#0a2c3e10 78%)}
.area-base-panorama .area-base-heading{position:absolute;left:0;right:0;bottom:53px;z-index:2}
.area-base-panorama .area-eyebrow{color:#d7ebf1}
.area-base-panorama h2{font-size:clamp(37px,4.4vw,66px);line-height:1.55;letter-spacing:-.045em;margin-top:16px;color:#fff}
.area-base-panorama h2 span{color:#e4f0f3}
.area-base>.area-base-body{grid-template-columns:1.1fr 1fr;gap:10%;padding-block:39px 43px;align-items:center}
.area-base-body .area-base-copy{margin:0}
.area-base-body .area-base-copy>p{max-width:38em}
.area-base-body address{margin:0;padding-left:25px;border-left:1px solid #ffffff30}
.area-base-body .area-related{margin-top:17px}
.area-preparation{grid-template-columns:1.1fr 1fr;column-gap:10%;row-gap:36px;padding-block:86px 85px;align-items:center}
.area-preparation-heading{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:end}
.area-preparation-heading h2{margin-bottom:0}
.area-preparation-heading .area-section-intro{padding-bottom:9px}
.area-check-photo{height:clamp(360px,31vw,445px)}
.area-check-photo>img{object-position:57% 50%}
.area-preparation .area-checklist{margin:0}
.area-faq{align-items:center;padding-bottom:85px;column-gap:10%;grid-template-columns:1.1fr 1fr}
.area-visit-photo{height:330px}
.area-visit-photo>img{object-position:48% 50%}
.area-visit-photo:after{background:linear-gradient(0deg,#0a293de0,transparent 73%)}
.area-faq .area-visit-photo h2{position:absolute;z-index:2;bottom:35px;left:30px;margin:0;padding:0;color:#fff;font-size:36px;line-height:1.4;letter-spacing:-.04em}
.area-faq-list{min-width:0}
@media(min-width:761px) and (max-width:1100px){.area-preparation,.area-faq,.area-base>.area-base-body,.area-preparation-heading{column-gap:6%;grid-template-columns:1fr 1.1fr}.area-check-photo{height:390px}.area-preparation .area-checklist dt{font-size:19px}.area-preparation .area-checklist dd{font-size:12px}.area-visit-photo{height:315px}.area-faq .area-visit-photo h2{font-size:31px;left:25px}}
@media(max-width:760px){.area-base.area-base-visual{padding:0}.area-base-panorama{height:440px}.area-base-panorama>img{object-position:42% 50%}.area-base-panorama .area-base-heading{bottom:45px}.area-base-panorama h2{font-size:clamp(29px,7.2vw,42px);line-height:1.6;margin-top:12px}.area-photo-credit{font-size:8px;right:10px;bottom:9px}.area-base>.area-base-body{display:block;padding-block:29px 32px}.area-base-body .area-related{margin-top:15px;gap:25px}.area-base-body address{padding:20px 0 0;border-left:0;border-top:1px solid #ffffff30;margin-top:20px}.area-base-body address strong{font-size:19px}.area-preparation{display:block;padding-block:49px 49px}.area-preparation-heading{display:block}.area-preparation-heading h2{font-size:33px;margin-bottom:16px}.area-preparation-heading .area-section-intro{padding-bottom:0}.area-check-photo{height:auto;aspect-ratio:1.22;margin-top:25px}.area-check-photo>img{position:absolute;inset:0;object-position:65% 50%}.area-preparation .area-checklist{margin-top:27px}.area-faq{display:block;padding-bottom:49px}.area-visit-photo{height:270px;margin-bottom:24px}.area-faq .area-visit-photo h2{font-size:31px;bottom:32px;left:23px}.area-visit-photo>img{object-position:47% 50%}}
@media(min-width:601px) and (max-width:760px){.area-check-photo{aspect-ratio:1.5}.area-visit-photo{height:330px}}
.motion-paused .area-photo>img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.area-photo>img{transform:none!important;transition:none!important}}
