.visit-page{--visit-space:clamp(132px,10vw,176px)}
.visit-hero,.visit-admission,.visit-arrival,.visit-access,.visit-choose{padding-inline:var(--voice-gutter);padding-bottom:var(--visit-space)}
.visit-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:end;margin:42px 0 64px}
.visit-intro h1{font:300 clamp(88px,11.3vw,190px)/.98 var(--body-head);letter-spacing:-.055em}
.visit-intro .voice-jp{margin-top:30px}.visit-intro-copy{font-size:18px;line-height:1.9;margin-top:32px}
.visit-summary{padding-bottom:8px}.visit-summary>div{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:baseline;gap:25px}.visit-summary>div:first-child{display:block}.visit-summary dt{font-size:14px;line-height:1.8}.visit-summary>div:first-child dt{font-size:12px;letter-spacing:.08em;margin-bottom:18px}
.visit-summary dd{font:300 clamp(38px,3.7vw,64px)/1.2 var(--body-head);letter-spacing:-.03em;white-space:nowrap}.visit-summary dd small{display:block;font:400 15px/1.8 var(--body-text);letter-spacing:0;margin-top:14px}.visit-summary .summary-small{font:400 23px/1.5 var(--body-text);letter-spacing:0}
.visit-jumps{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:5vw}.visit-jumps a{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:68px;font-size:16px}.visit-jumps a span{font-size:22px;transition:transform .25s}.visit-jumps a:hover span{transform:translateY(3px)}
.visit-admission{display:grid;grid-template-columns:1fr 1.1fr;column-gap:10vw;align-items:start}
.visit-side-heading h2,.visit-choose h2{font:300 clamp(56px,6.4vw,112px)/1.06 var(--body-head);letter-spacing:-.045em}
.visit-side-heading .voice-kicker{margin-bottom:28px}.visit-side-heading>p{font-size:17px;line-height:1.9;margin-top:32px;max-width:25em}
.visit-tax{font-size:15px;margin-bottom:24px}.visit-rate-row{border-top:1px solid var(--line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.visit-rate-row:last-child{border-bottom:1px solid var(--line)}
.visit-rate-row dt{font-size:17px;line-height:1.8}.visit-rate-row dt>span{display:block;font-size:12px;margin-bottom:10px;letter-spacing:.03em}.visit-rate-row dd{white-space:nowrap;display:flex;align-items:baseline;gap:10px}.visit-price{font:300 clamp(46px,4.3vw,76px)/1.1 var(--body-head);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.visit-rate-row:first-child{display:block}.visit-rate-row:first-child dd{justify-content:flex-end;margin-top:22px}.visit-rate-row:first-child .visit-price{font-size:clamp(92px,9vw,148px)}.visit-unit{font-size:17px}.visit-rate-row:last-child .visit-price{font:400 26px/1.5 var(--body-text);letter-spacing:0}
.visit-note{font-size:14px;line-height:1.9;margin-top:24px}.visit-rate-panel>.rest-action{margin-top:30px}
.visit-arrival-photo.voice-closeup{width:100%;margin:0}.visit-photo-window{aspect-ratio:16/9;overflow:hidden;border-radius:18px}.visit-photo-window img{width:100%;height:100%;display:block;object-fit:cover}.visit-arrival-copy{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin:48px 0 88px}.visit-arrival-copy p{font-size:18px;line-height:2}.visit-arrival-copy p:first-child{font-size:24px}
.visit-flow{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw}.visit-flow h3{font:300 clamp(32px,3.4vw,58px)/1.2 var(--body-head);letter-spacing:-.035em}.visit-flow ol{list-style:none;padding:0;margin:0}.visit-flow li{display:grid;grid-template-columns:44px 1fr;gap:24px;border-top:1px solid var(--line);padding:28px 0}.visit-flow li:last-child{border-bottom:1px solid var(--line)}.visit-flow li>span{font:300 32px/1.4 var(--body-head)}.visit-flow h4{font:400 22px/1.6 var(--body-text)}.visit-flow li p{font-size:16px;line-height:1.9;margin-top:12px}
.visit-choose{padding-top:40px}.visit-choose>.voice-kicker{margin-bottom:30px}.visit-choose h2{font-size:clamp(64px,9vw,160px)}.visit-choose-action{width:50%;margin:46px 0 0 auto}.visit-choose-action>p:first-child{font-size:18px;line-height:1.9;margin-bottom:28px}
@media(max-width:1000px) and (min-width:701px){.visit-intro{gap:5vw}.visit-intro h1{font-size:10.8vw}.visit-summary .summary-small{font-size:20px}.visit-summary dd{font-size:34px}.visit-admission{column-gap:6vw}.visit-rate-row{gap:16px}.visit-price{font-size:40px}.visit-rate-row dt{font-size:16px}}
@media(max-width:700px){
 .visit-page{--visit-space:88px}.visit-intro{display:block;margin:30px 0 32px}.visit-intro h1{font-size:19vw;line-height:1.02}.visit-intro .voice-jp{margin-top:20px}.visit-intro-copy{font-size:16px;margin-top:26px}.visit-summary{margin-top:42px;padding:0}.visit-summary>div{padding:20px 0}.visit-summary dd{font-size:40px}.visit-summary .summary-small{font-size:21px}.visit-summary dt{font-size:14px}.visit-summary dd small{font-size:14px}
 .visit-jumps{display:block}.visit-jumps a{min-height:56px;font-size:15px}.visit-jumps a+a{border-top:1px solid var(--line)}
 .visit-admission{display:block}.visit-side-heading h2{font-size:13vw;line-height:1.09}.visit-side-heading>p{font-size:16px;margin-top:26px}.visit-rate-panel{margin-top:42px}.visit-tax{font-size:14px}.visit-rate-row{padding:26px 0}.visit-rate-row dt{font-size:16px}.visit-price{font-size:42px}.visit-rate-row:first-child .visit-price{font-size:92px}.visit-rate-row:last-child .visit-price{font-size:24px}.visit-note{font-size:14px}
 .visit-photo-window{aspect-ratio:1.15;border-radius:10px}.visit-photo-window img{object-position:75% 50%}.visit-arrival-copy{display:block;margin:30px 0 50px}.visit-arrival-copy p{font-size:16px}.visit-arrival-copy p:first-child{font-size:20px;margin-bottom:24px}.visit-flow{display:block}.visit-flow h3{font-size:34px;margin-bottom:30px}.visit-flow li{gap:18px}.visit-flow h4{font-size:20px}.visit-flow li p{font-size:16px}
 .visit-choose{padding-top:0}.visit-choose h2{font-size:14vw;line-height:1.09}.visit-choose-action{width:100%;margin-top:32px}.visit-choose-action>p:first-child{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.visit-jumps a span{transition:none}}

/* Keep the information page on a small, shared set of type sizes. */
.visit-page{--visit-display:clamp(88px,11.3vw,190px);--visit-heading:clamp(56px,6.4vw,112px)}
.visit-page .voice-jp{width:fit-content;max-width:100%}
.visit-intro h1,.visit-rate-row:first-child .visit-price,.visit-choose h2{font-size:var(--visit-display)}
.visit-side-heading h2{font-size:var(--visit-heading)}
.visit-summary>div{align-items:center}
.visit-summary dd,.visit-price,.visit-flow h3,.visit-flow li>span{font-size:40px}
.visit-summary .summary-small,.visit-rate-row:last-child .visit-price,.visit-arrival-copy p:first-child{font-size:22px}
.visit-rate-row dd{display:block}.visit-unit{margin-left:10px}
.visit-choose h2{font-size:clamp(64px,9vw,160px)}
@media(max-width:700px){
 .visit-page{--visit-display:19vw;--visit-heading:13vw}
 .visit-choose h2{font-size:var(--visit-heading)}
 .visit-summary .summary-small,.visit-rate-row:last-child .visit-price,.visit-arrival-copy p:first-child{font-size:20px}
}

.visit-heading-line{display:block;width:fit-content;max-width:100%}
.visit-page .voice-kicker{width:fit-content}
.visit-page .voice-closeup figcaption{max-width:40em}
.visit-page .visit-note{max-width:36em}
body:has(.visit-page) .site-disclaimer{max-width:60em;margin-inline:auto}
