@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#f6f3eb;--ink:#243a32;--muted:#68716a;--accent:#8c7853;--line:#d7d7ca;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #bd884a;outline-offset:6px}a:hover{opacity:.78}.skip{position:fixed;top:-80px;background:white;padding:20px;z-index:100}.skip:focus{top:0}.property-bar{height:36px;background:var(--ink);color:#e8e9de;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;font-size:10px;letter-spacing:.13em}.property-bar>div{display:flex;gap:20px}.property-bar a{opacity:.65}.property-bar a.active{opacity:1}.divider{opacity:.3}.concept-label{font-size:8px;letter-spacing:.2em}.header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid #243a3210}.brand{display:flex;gap:13px;align-items:center}.crest{font-family:var(--serif);border:1px solid currentColor;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:23px}.brand-jp{font-family:var(--serif);font-size:27px;letter-spacing:.15em;display:block}.brand small{display:block;font-size:8px;letter-spacing:.22em;margin-top:3px}.header nav{display:flex;align-items:center;gap:33px;font-size:12px;letter-spacing:.06em}.nav-book{background:var(--ink);color:white;padding:20px 25px;margin-left:12px;min-width:192px;display:flex;gap:22px;justify-content:space-between}.menu-button{display:none}.hero{height:min(720px,73vw);min-height:510px;position:relative;color:white;margin:0 22px}.hero-img{height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,15,.58),rgba(12,22,15,.06) 75%),linear-gradient(0deg,#09100b70,transparent 30%)}.hero-copy{position:absolute;left:8%;top:16%}.eyebrow{font-size:12px;letter-spacing:.27em;margin-bottom:27px}.hero h1{font-size:clamp(42px,4.6vw,72px);line-height:1.7;letter-spacing:.15em;text-shadow:0 2px 30px #0003}.hero-sub{margin-top:24px;font-size:13px;line-height:2.2;letter-spacing:.12em}.hero-bottom{position:absolute;bottom:29px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.22em}.hero-bottom i{margin:0 12px;font-style:normal}.hero-bottom b{margin-left:18px}.hero-side{position:absolute;right:25px;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em}.reservation-band{max-width:1220px;margin:auto;padding:34px 45px;display:flex;justify-content:space-between;gap:28px;align-items:center;border-bottom:1px solid var(--line)}.mini-label{font-size:10px;letter-spacing:.2em;color:var(--accent);font-weight:500}.reservation-band h2{font-size:20px;margin-top:9px}.reservation-band p{font-size:11px;color:var(--muted);line-height:2}.button{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:22px 30px;font-size:12px;letter-spacing:.06em}.solid{background:var(--ink);color:white}.section{max-width:1200px;margin:auto;padding:100px 45px}.intro{position:relative;display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:30px;align-items:center;padding-top:120px;padding-bottom:120px;overflow:hidden}.intro-label p{font-family:var(--serif);font-size:12px;letter-spacing:.03em;line-height:2}.small-rule{width:38px;height:1px;background:var(--accent);display:block;margin:25px 0}.intro h2{font-size:34px;line-height:1.9;letter-spacing:.14em}.intro-text{font-size:13px;line-height:2.8;z-index:1}.watermark{position:absolute;font-family:var(--serif);font-size:250px;color:var(--ink);opacity:.025;right:15px;top:30px}.experience{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center;padding-top:35px;padding-bottom:90px}.feature-image{position:relative}.feature-image img{aspect-ratio:1.23}.image-caption{position:absolute;bottom:17px;left:20px;color:white;font-size:8px;letter-spacing:.2em;text-shadow:0 1px 4px black}.section-label{font-size:10px;color:var(--accent);letter-spacing:.13em;margin-bottom:27px}.section-label>span{font-family:var(--serif);font-size:20px;border-right:1px solid var(--line);padding-right:16px;margin-right:15px}.feature-copy h2,.dining h2,.access h2{font-size:36px;line-height:1.8;letter-spacing:.1em}.feature-copy>p:not(.section-label){line-height:2.3;font-size:13px;margin:25px 0 30px;max-width:320px}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px;max-width:270px;gap:30px}.text-link span{font-size:18px}.reverse{grid-template-columns:1fr 1.25fr}.reverse .feature-image{order:2}.reverse .feature-copy{padding-left:25px}.dining{position:relative;height:580px;color:white;margin:10px 22px 0}.dining>img{height:100%;object-position:center 60%}.dining-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#091911e6 0%,#152618b0 38%,#10181005 85%)}.dining-copy{position:absolute;top:65px;left:max(8%,calc((100% - 1035px)/2));width:350px}.dining .section-label{color:#d5c6a4}.dining-copy>p:not(.section-label){font-size:13px;line-height:2.3;margin:22px 0}.dining .text-link{border-color:#ffffff50}.dining small{display:block;font-size:9px;line-height:1.7;opacity:.65;margin-top:27px}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading h2,.faq h2{font-size:32px;margin-top:19px;letter-spacing:.1em}.section-heading>p{font-size:12px;color:var(--muted);line-height:2.1}.stay-links{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:40px}.stay-links>a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:flex;align-items:center;gap:24px}.stay-links>a>span:first-child{font-family:var(--serif);font-size:24px;color:var(--accent)}.stay-links>a>span:last-child{margin-left:auto;font-size:20px}.stay-links h3{font-size:19px}.stay-links p{font-size:11px;color:var(--muted);margin-top:12px}.access{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.access h2{margin-top:25px;font-size:30px}.access p:not(.mini-label){font-size:12px;line-height:2.2;margin-top:25px}.access address{font-style:normal;font-size:12px;line-height:2.3;margin:25px 0 6px}.access-card{background:#e7e8df;position:relative;align-self:center;padding:28px 30px 16px}.map-label{font-size:9px;letter-spacing:.2em;color:var(--muted)}.map-illustration{height:270px;position:relative;overflow:hidden;background:repeating-linear-gradient(30deg,transparent 0 49px,#9bab8e1a 50px 51px),repeating-linear-gradient(-35deg,transparent 0 66px,#9bab8e1a 67px 68px)}.river{position:absolute;width:78px;height:450px;border-left:8px solid #afc4c4;transform:rotate(27deg);left:55%;top:-85px;border-radius:50%}.map-place{position:absolute;font-size:11px;color:var(--muted)}.nagano{top:40px;left:61%}.karuizawa{bottom:25px;right:0}.map-destination{position:absolute;top:123px;left:9%;font-family:var(--serif);font-size:19px}.map-destination>span{font-size:26px;margin-right:7px}.map-destination small{display:block;margin:8px 0 0 37px;font-size:12px}.map-river{position:absolute;top:40px;left:41%;font-size:9px;color:#658586;transform:rotate(26deg)}.access-card>a{display:flex;justify-content:space-between;border-top:1px solid #c7cec0;padding:16px 0 8px;font-size:11px}.access-card>small{font-size:9px;color:var(--muted)}.faq{padding-top:15px;padding-bottom:100px;max-width:950px}.faq h2{margin-bottom:38px}.faq details{border-top:1px solid var(--line)}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{padding:24px 0;display:flex;justify-content:space-between;cursor:pointer;font-size:13px;gap:20px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:12px;line-height:2.2;padding:0 25px 25px 0;color:var(--muted)}.faq details a{text-decoration:underline}.faq>.text-link{margin-top:20px;margin-left:auto}.closing{background:var(--ink);color:var(--paper);padding:80px 25px;text-align:center}.closing .mini-label{color:#c9b58c}.closing h2{font-size:30px;letter-spacing:.09em;margin:27px 0 32px}.light{background:var(--paper);color:var(--ink);max-width:350px;margin:auto}.closing-phone{font-size:10px;margin-top:25px;letter-spacing:.05em}.closing-phone a{font-family:var(--serif);font-size:19px;margin-left:16px}.sister{padding:44px max(8%,calc((100% - 1110px)/2));display:flex;align-items:center;gap:60px;background:#e9e7df}.sister small{font-size:8px;letter-spacing:.2em;color:var(--accent)}.sister p{font-size:11px;margin-top:10px}.sister strong{font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:.14em}.sister>span:last-child{margin-left:auto;font-size:23px}footer{padding:60px max(6%,calc((100% - 1110px)/2)) 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top p{font-size:10px;line-height:2.2}.footer-top>a:last-child{font-size:11px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;font-size:8px;letter-spacing:.1em;color:var(--muted);display:flex;justify-content:space-between}.mobile-book{display:none}body[data-hotel=takano]{--paper:#f2eee5;--ink:#302f28;--muted:#777367;--accent:#9a8352;--line:#d4cdbd}body[data-hotel=takano] .hero-copy{left:auto;right:12%;top:14%;text-align:right}body[data-hotel=takano] .hero-shade{background:linear-gradient(270deg,#13190c99,transparent 85%),linear-gradient(0deg,#0005,transparent 45%)}body[data-hotel=takano] .hero h1{font-size:clamp(42px,4.3vw,68px)}body[data-hotel=takano] .crest{border-radius:0;border-color:var(--accent);color:var(--accent)}
@media(min-width:1600px){.hero{max-height:800px;height:75vh}.hero-copy{left:12%;top:22%}}@media(max-width:1000px){.header nav{gap:20px}.nav-book{min-width:0;padding:18px}.reservation-band{padding:28px}.reservation-band>p{display:none}.intro{grid-template-columns:1fr 1fr}.intro-label{grid-column:1/-1}.intro-label .small-rule{display:none}.intro-label p{margin-top:15px}.section{padding-left:35px;padding-right:35px}.experience{gap:6%}.feature-copy h2{font-size:30px}.access{gap:40px}.stay-links h3{font-size:16px}}@media(max-width:720px){html{scroll-padding-top:85px}.property-bar{justify-content:center;height:32px}.property-bar>span{display:none}.property-bar>div{gap:24px;font-size:10px}.header{height:80px;padding:0 22px}.brand-jp{font-size:23px}.brand small{font-size:7px}.crest{width:37px;height:37px;font-size:20px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:30px;box-shadow:0 20px 30px #0002}.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a{padding:19px 10px;border-bottom:1px solid var(--line)}.header nav .nav-book{padding:20px;margin:20px 0 0}.menu-button{display:flex;width:40px;height:40px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px;padding:7px;color:var(--ink)}.menu-button span{height:1px;background:currentColor;width:100%;transition:transform .2s}.menu-open .menu-button span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-button span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{margin:0 10px;height:calc(79svh - 80px);min-height:500px;max-height:690px}.hero-img{object-position:59% center}.hero-copy{left:8%;top:16%}.hero h1{font-size:39px;line-height:1.85;letter-spacing:.08em}.eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:24px}.hero-sub{font-size:11px;line-height:2.2;margin-top:30px}.hero-side{display:none}.hero-bottom{left:8%;right:8%;bottom:22px;font-size:7px;letter-spacing:.1em}.hero-bottom>a{font-size:0}.hero-bottom b{font-size:18px}.reservation-band{padding:25px 23px;gap:20px}.reservation-band h2{font-size:16px}.reservation-band .mini-label{font-size:8px}.reservation-band .button{font-size:10px;padding:16px;gap:15px;max-width:150px;line-height:1.7}.section{padding:65px 26px}.intro{display:block;padding-top:70px;padding-bottom:75px}.intro-label{margin-bottom:32px}.intro-label p{font-size:11px}.intro h2{font-size:30px;line-height:1.9;margin-bottom:25px}.intro-text{font-size:12px;line-height:2.7}.watermark{font-size:200px;right:-15px;top:130px}.experience{display:flex;flex-direction:column;gap:30px;align-items:stretch;padding-top:0;padding-bottom:65px}.feature-image img{aspect-ratio:1.16}.feature-copy{padding:0 8px}.feature-copy h2{font-size:29px}.section-label{margin-bottom:15px}.section-label>span{font-size:17px}.feature-copy>p:not(.section-label){font-size:12px;line-height:2.3;margin-top:17px;max-width:none}.reverse .feature-image{order:0}.reverse .feature-copy{padding-left:8px}.text-link{max-width:none}.dining{height:580px;margin:0}.dining>img{object-position:62% center}.dining-overlay{background:linear-gradient(90deg,#102217e8,#10221766)}.dining-copy{top:60px;left:34px;width:calc(100% - 68px)}.dining h2{font-size:30px}.dining-copy>p:not(.section-label){max-width:300px;font-size:12px}.dining .text-link{max-width:280px}.section-heading{display:block}.section-heading h2,.faq h2{font-size:27px}.section-heading>p{margin-top:18px;font-size:11px}.stay-links{grid-template-columns:1fr;gap:0;margin-top:28px}.stay-links>a+ a{border-top:0}.stay-links h3{font-size:17px}.access{display:block}.access h2{font-size:27px}.access-card{margin-top:35px;padding:24px}.map-illustration{height:240px}.map-destination{font-size:17px;left:3%}.faq{padding-top:5px}.faq summary{font-size:12px;line-height:1.9}.closing{padding:65px 25px}.closing h2{font-size:23px;line-height:1.8}.closing .mini-label{font-size:8px}.closing-phone{font-size:9px}.closing-phone a{font-size:17px;margin-left:6px}.sister{padding:32px 26px;gap:22px;flex-wrap:wrap}.sister>span:first-child{width:100%}.sister strong{font-size:25px}.sister p{font-size:10px}.footer-top{align-items:flex-start;flex-direction:column;gap:25px}footer{padding:45px 26px 95px}.footer-bottom{font-size:7px;gap:15px;line-height:2}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;padding:20px 27px;justify-content:space-between;background:var(--ink);color:white;z-index:40;font-size:12px;border-top:1px solid #ffffff25;padding-bottom:max(20px,env(safe-area-inset-bottom))}body[data-hotel=takano] .hero-copy{right:8%;top:15%}body[data-hotel=takano] .hero h1{font-size:38px}body[data-hotel=takano] .hero-img{object-position:45% center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
