/* Kaiji's original type, green, and supplied photography. */
.home .home-hero{height:min(690px,calc(100svh - 96px));min-height:560px;overflow:hidden;background:#293e34}
.home .hero-slides,.home .hero-slide{position:absolute;inset:0;z-index:-3}
.home .hero-slide{display:block;opacity:0;transition:opacity 1.45s ease;z-index:0;pointer-events:none}
.home .hero-slide.is-active{opacity:1;z-index:1}
.home .hero-photo{z-index:auto;inset:0;object-position:center 45%;height:100%;width:100%}
.home .hero-slide[data-slide="1"] img{object-position:62% 55%}
.home .hero-slide[data-slide="3"] img{object-position:65% 46%}
/* Localized neutral shade preserves the photograph’s original colour. */
.home .hero-shade{z-index:-1;background:radial-gradient(ellipse 95% 110% at 0% 100%,rgba(35,33,28,0.593),rgba(35,33,28,0.35) 40%,rgba(35,33,28,0.061) 70%,transparent 100%)}
.home .hero-content{padding:60px 4.5% 64px;justify-content:flex-end;position:relative;z-index:1;pointer-events:none}
.home .hero-logo{width:clamp(210px,18vw,240px);height:auto;margin:0 0 22px;filter:drop-shadow(0 2px 12px #23211c22)}
.home .hero h1{font-size:clamp(1.5rem,2.1vw,1.75rem);line-height:1.85;letter-spacing:.055em;margin:0;text-shadow:0 1px 12px #23211c44;white-space:normal}
.home .hero-playback{position:absolute;z-index:3;right:24px;bottom:18px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:white}
.home .hero-playback[hidden]{display:none}
.home .hero-pause-icon{width:9px;height:12px;border-left:2px solid white;border-right:2px solid white;filter:drop-shadow(0 1px 3px #172b25)}
.home .hero-playback[aria-pressed="true"] .hero-pause-icon{height:0;width:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid white;border-right:0;margin-left:3px}
.home .concept{margin-top:100px;margin-bottom:100px}
.home .concept h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.home .concept .collage{margin-top:-126px}
.home-stay-collage{position:relative;padding:0 0 60px 28px}
.home-stay-collage>img:first-child{aspect-ratio:1.3;object-fit:cover}
.home-stay-collage>img:last-child{position:absolute;bottom:0;left:0;width:51%;aspect-ratio:1.35;object-fit:cover;border:8px solid #fff}
.home .concept .doodle{left:auto;right:0;bottom:-15px;width:64px}
.home .suitcase-doodle{left:-10px;top:-32px}
/* Each brand introduces its atmosphere and contains its own properties. */
.home .lodgings{margin-top:110px;margin-bottom:90px}
.home .lodgings>.lead{margin:0 0 28px}
.home .lodging-title{margin-bottom:20px}
.home .brand-groups{grid-template-columns:1fr;margin-top:38px;gap:64px}
.home .brand-panel{border:0;background:#eff4ef}
.home #enzan_stay{background:#f5f2e9}
.home .home-brand-feature{display:grid;grid-template-columns:.95fr 1.15fr;align-items:stretch}
.home .home-brand-heading{display:flex;flex-direction:column;justify-content:center;gap:34px;padding:38px;min-width:0}
.home .home-brand-identity{position:relative;padding-left:84px;min-height:75px;color:var(--green)}
.home .home-brand-identity .brand-mark{width:64px;max-height:76px;left:0;top:0;transform:none}
.home .home-brand-identity h3{font-size:clamp(1.5rem,2.25vw,1.875rem);line-height:1.4;margin:4px 0 6px;letter-spacing:.02em}
.home .home-brand-identity>p{font-family:ZenOld,serif;font-size:1rem;margin:0}
.home .brand-story h4{font-size:1.375rem;line-height:1.7;margin:0 0 16px}
.home .brand-story>p{font-size:1rem;line-height:1.95;margin:0;max-width:none}
.home .brand-story>p br{display:initial}
.home .home-brand-scene{height:100%;min-height:360px;object-fit:cover;object-position:center 42%}
.home #enzan_stay .home-brand-scene{object-position:center}
.home .home-brand-collection{padding:26px 30px 32px}
.home .home-collection-label{font-size:.9375rem;letter-spacing:.035em;color:var(--green);margin:0 0 20px}
.home .home-properties{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.home .property-row{display:flex;flex-direction:column;gap:0;padding:0;border:0;min-width:0}
.home .property-photo{display:block;position:relative;width:100%;overflow:hidden}
.home .property-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .6s}
.home .property-photo-cue{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:28px;padding:10px 17px;background:rgba(255,255,255,.96);color:var(--green);font-family:ZenOld,serif;font-size:1rem;line-height:1.5;min-height:44px}
.home .property-photo:hover img{transform:scale(1.025)}
.home .property-photo:hover .property-photo-cue{text-decoration:underline;text-underline-offset:5px}
.home .property-caption{position:relative;padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.home .property-row h4{order:-1;font-size:1.65rem;margin:0;line-height:1.5}
.home .stay-kind{background:none;padding:0;font-size:.875rem;line-height:1.7;margin:0}
.home .shared-note{width:100%;font-size:.875rem;line-height:1.8;margin:0}
.home #enzan_stay .home-properties{display:block}
.home #enzan_stay .property-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.home #enzan_stay .property-caption{padding:0 24px;display:block}
.home #enzan_stay .property-row h4{font-size:1.75rem;margin:10px 0}
.home .photo-strip{padding-top:54px;margin-bottom:72px;gap:12px}
.home .photo-strip img{height:250px}
.home .instagram-band{margin-top:88px;padding:70px 0}
.home .home-news{margin-top:72px;margin-bottom:115px}
@media(max-width:1100px){
 .home .hero-logo{width:220px}
 .home .concept .collage{margin-top:-90px}.home .photo-strip img{height:200px}
 .home .home-brand-heading{padding:28px;gap:26px}.home .home-brand-identity{padding-left:0;min-height:0}.home .home-brand-identity .brand-mark{position:static;width:58px;height:58px;margin-bottom:16px}.home .home-brand-identity h3{font-size:1.65rem}
 .home .home-properties{gap:24px}.home .property-row h4{font-size:1.4rem}
}
@media(max-width:760px){
 .home .home-hero{min-height:550px}.home .hero-content{padding-bottom:56px}
 .home .home-brand-feature{grid-template-columns:1fr}.home .home-brand-heading{padding:28px;gap:24px}.home .home-brand-identity{padding-left:80px;min-height:68px}.home .home-brand-identity .brand-mark{position:absolute;width:60px;height:60px;margin:0}.home .home-brand-identity h3{font-size:1.625rem}
 .home .home-brand-scene{height:auto;min-height:0;aspect-ratio:1.75;object-fit:cover}
 .home .brand-story h4{font-size:1.25rem}.home .home-brand-collection{padding:24px}.home .home-properties{gap:28px}.home .property-photo-cue{right:12px;bottom:12px;padding:10px 13px;font-size:.9375rem;gap:16px}
 .home #enzan_stay .property-caption{padding:0}
 .home .brand-story>p br{display:none}
}
@media(max-width:640px){
 .home .home-hero{height:calc(100svh - 72px);min-height:530px;max-height:650px}
 .home .hero-photo{object-position:56% center}
 .home .hero-slide[data-slide="2"] img{object-position:62% center}
 .home .hero-slide[data-slide="3"] img{object-position:61% center}
 .home .hero-shade{background:radial-gradient(ellipse 150% 95% at 0% 100%,rgba(35,33,28,0.608),rgba(35,33,28,0.38) 42%,rgba(35,33,28,0.046) 78%,transparent 100%)}
 .home .hero-content{padding:40px 24px 42px;justify-content:flex-end}
 .home .hero-logo{width:174px;margin-bottom:21px}
 .home .hero h1{font-size:1.1875rem;line-height:1.9;letter-spacing:.025em;margin:0}
 
 
 
 .home .hero-playback{right:12px;top:12px;bottom:auto;left:auto}
 .home .concept{margin-top:64px;margin-bottom:72px}
 .home .concept .collage{margin-top:12px}
 .home .concept h2{font-size:1.8rem;margin-bottom:26px}
 .home .story{font-size:1.0625rem;line-height:2}
 .home-stay-collage{padding-left:22px;padding-bottom:48px}
 .home-stay-collage>img:last-child{border-width:6px;width:54%}
 .home .concept .doodle{width:48px;bottom:-4px;top:auto}
 .home .lodgings{margin-top:84px;margin-bottom:78px;width:calc(100% - 40px)}
 .home .lodging-title,.home .lodgings>.lead{padding-inline:4px}
 .home .brand-groups{margin-top:32px;gap:42px}
 .home .home-brand-heading{padding:24px 20px 26px;gap:22px}
 .home .home-brand-identity{padding-left:74px;min-height:65px}
 .home .home-brand-identity .brand-mark{width:54px;height:60px}
 .home .home-brand-identity h3{font-size:1.3rem;margin-top:2px}
 .home .home-brand-identity>p{font-size:.9375rem}
 .home .brand-story h4{font-size:1.25rem;margin-bottom:12px}
 .home .home-brand-scene{aspect-ratio:1.4}
 .home .home-brand-collection{padding:22px 14px 24px}
 .home .home-collection-label{font-size:.875rem;margin-bottom:18px}
 .home .home-properties{grid-template-columns:1fr;gap:34px}
 .home .property-photo img{aspect-ratio:1.35}
 .home .property-caption{padding:16px 4px 0;gap:6px 14px}
 .home .property-row h4{font-size:1.5rem}
 .home .property-photo-cue{right:12px;bottom:12px;font-size:1rem;padding:10px 15px;gap:24px}
 .home #enzan_stay .property-row{display:flex;gap:0}
 .home #enzan_stay .property-caption{padding:16px 4px 0;width:100%}
 .home #enzan_stay .property-row h4{font-size:1.5rem;margin:4px 0 6px}
 .home .photo-strip{grid-template-columns:1fr 1fr;gap:8px;padding-top:36px;margin-bottom:56px}
 .home .photo-strip img{height:auto;aspect-ratio:1.3}
 .home .instagram-band{padding:48px 0 56px;margin-top:66px}
 .home .home-news{margin-top:55px;margin-bottom:95px}
}
@media(max-width:360px){.home .hero-content{padding-inline:20px}.home .hero-logo{width:164px}.home .hero h1{font-size:1.0625rem}.home .home-brand-identity{padding-left:64px}.home .home-brand-identity .brand-mark{width:46px;height:54px}.home .home-brand-identity h3{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.home .hero-slide,.home .hero-entry,.home .property-photo img{transition:none}.home .property-photo:hover img{transform:none}}
/* Atmosphere photographs sit inside the brand frame. */
.home .home-brand-scene-frame{min-width:0;margin:30px 30px 0 0;overflow:hidden}
.home .home-brand-scene-frame .home-brand-scene{height:100%;min-height:330px}
.home .stay-kind{display:inline-block;background:#e1eadd;color:#264c3d;padding:3px 10px;line-height:1.7}
.home .property-row:has(a[href="/hotels/hikawa/"]) .stay-kind{background:#eae8dc}
@media(max-width:760px){.home .home-brand-scene-frame{margin:0 24px}.home .home-brand-scene-frame .home-brand-scene{height:auto;min-height:0}}
@media(max-width:640px){.home .home-brand-scene-frame{margin:0 20px}.home .stay-kind{font-size:.8125rem}}

/* Final hero: the photograph and identity share a quiet lower-left corner. */
.home .home-hero{height:min(720px,calc(100svh - 96px));min-height:580px}
.home .hero-content{padding:56px 5.5% 62px;justify-content:flex-end}
.home .hero-logo{width:clamp(200px,17.5vw,232px);margin-bottom:24px}
.home .hero h1{font-size:clamp(21px,1.9vw,25px);line-height:1.95;letter-spacing:.075em;text-shadow:0 1px 12px #23211c44}
.home .hero-shade{background:radial-gradient(ellipse 72% 86% at 0% 100%,rgba(35,33,28,0.608),rgba(35,33,28,0.342) 43%,rgba(35,33,28,0.03) 75%,transparent 100%)}
.home .hero-playback{right:24px;bottom:20px;top:auto}
@media(max-width:760px){.home .home-hero{min-height:540px}.home .hero-content{padding:40px 28px 48px}.home .hero-logo{width:190px}.home .hero h1{font-size:21px}}
@media(max-width:640px){
 .home .home-hero{height:calc(100svh - 72px);max-height:680px;min-height:500px}
 .home .hero-content{padding:36px 26px 46px}
 .home .hero-logo{width:174px;margin-bottom:20px}
 .home .hero h1{font-size:19px;line-height:2;letter-spacing:.04em}
 .home .hero-shade{background:radial-gradient(ellipse 145% 78% at 0% 100%,rgba(35,33,28,0.623),rgba(35,33,28,0.334) 46%,rgba(35,33,28,0.019) 82%,transparent 100%)}
 .home .hero-playback{right:12px;bottom:12px;top:auto}
}
@media(max-width:360px){.home .hero-content{padding-inline:22px}.home .hero h1{font-size:17px}.home .hero-logo{width:162px}}
