:root{--forest:#153b32;--ink:#191e1b;--paper:#f3f0e8;--gold:#c5af7d;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#101f1b;color:var(--paper);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3{font-family:var(--serif);font-weight:400;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;line-break:strict}p{margin:0 0 1em}.skip-link{position:fixed;top:12px;left:12px;padding:10px 20px;background:var(--paper);color:var(--ink);z-index:100;left:-10000px}.skip-link:focus{left:12px}.brand-rail{width:calc(100% - 720px);max-width:600px;min-width:320px;position:fixed;inset:0 auto 0 0;padding:6vh 48px 30px;display:flex;flex-direction:column;align-items:flex-start;overflow:auto}.brand{display:inline-flex;flex-direction:column;align-items:center}.brand-ja{font:36px/1.4 var(--serif);letter-spacing:.18em}.brand-en{font:13px/2.8 Georgia,serif;letter-spacing:.48em;padding-left:.48em;color:var(--gold)}.rail-location{font-size:12px;letter-spacing:.15em;color:#c7cdc4;margin:20px 0}.rail-concept{font:26px/1.9 var(--serif);letter-spacing:.15em;margin:22px 0 30px}.brand-rail nav{width:100%;max-width:310px;margin-bottom:30px}.brand-rail nav a{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #c5af7d2d;letter-spacing:.1em;font-size:14px;transition:color .2s}.brand-rail nav a span{font:12px/1.8 Georgia,serif;color:var(--gold)}.brand-rail nav a:hover,.brand-rail nav a[aria-current]{color:var(--gold)}.button{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 20px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:3px;letter-spacing:.03em;text-align:center;font-size:16px;transition:background .2s,color .2s}.button:hover{background:#dbc89e}.rail-booking{width:100%;max-width:310px;font-size:14px}.rail-note{font-size:12px;color:#c3c8c0;margin:16px 0 6px}.page-column{width:720px;max-width:100%;margin-left:auto;margin-right:0;background:var(--paper);color:var(--ink)}.mobile-header{display:none}.art-section{position:relative;isolation:isolate;scroll-margin-top:24px}.section-art{width:100%;height:auto;display:block}.section-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.image-cta{position:absolute;left:7%;width:86%;border-radius:30px;display:flex;align-items:center;justify-content:center;min-height:44px}.cta-1{top:83.7%;height:7.4%}.cta-12{top:80.8%;height:7.5%}.image-cta span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.image-cta:hover{box-shadow:0 0 0 3px #e8d6a966}.image-cta:focus-visible{outline:4px solid #fff;outline-offset:3px;box-shadow:0 0 0 8px var(--forest)}.footer{background:#112c25;color:var(--paper);text-align:center;padding:74px 28px 110px}.footer-brand{font:32px/1.5 var(--serif);letter-spacing:.2em}.footer-brand span{display:block;font:12px/3 Georgia,serif;letter-spacing:.45em;color:var(--gold);margin-bottom:20px}.footer>p{font-size:14px}.footer .demo-notice{font-size:12px;color:#c5cbbf;line-height:2;margin:25px 0}.back-top{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid var(--gold);font-size:13px}.booking-dock{position:fixed;bottom:0;right:0;width:720px;max-width:100%;background:#122b25f5;z-index:20;padding:10px 24px max(10px,env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .25s;visibility:hidden}.booking-dock.visible{transform:none;visibility:visible}.booking-dock .button{min-height:48px}.image-failed .section-art{display:none}.image-failed .section-copy{position:static;width:auto;height:auto;margin:0;clip-path:none;white-space:normal;overflow:visible;padding:56px 36px 28px}.image-failed{border-bottom:1px solid #c5af7d77;padding-bottom:30px}.image-failed .section-copy h1,.image-failed .section-copy h2{font-size:28px;line-height:1.7;margin:0 0 28px}.image-failed .image-cta{position:static;width:calc(100% - 72px);margin:0 36px;background:var(--forest);color:var(--paper);border-radius:3px;padding:14px}.image-failed .image-cta span{position:static;width:auto;height:auto;clip-path:none;white-space:normal}.booking-body{background:var(--paper);color:var(--ink)}.booking-header{border-bottom:1px solid #c5af7d66;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-header .brand-ja{font-size:26px}.booking-header .brand-en{font-size:10px;color:#766243}.booking-header>a:last-child{font-size:14px;min-height:44px;display:flex;align-items:center}.booking-main{max-width:860px;margin:auto;padding:64px 36px 90px}.eyebrow{color:#6c5a39;font:12px/2 Georgia,serif;letter-spacing:.3em}.booking-main h1{font-size:36px;line-height:1.6;margin:12px 0 20px}.booking-main .lead{color:#4c554f;margin-bottom:32px}.booking-notice{border-left:2px solid var(--gold);padding:10px 20px;font-size:14px;color:#4c554f;background:#eae6da;margin-bottom:36px}.booking-form{padding:32px;border:1px solid #b8b6a5;background:#fbfaf5}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:15px;margin-bottom:8px}input,select{min-height:52px;width:100%;max-width:100%;background:#fff;color:var(--ink);border:1px solid #a7aea6;border-radius:2px;padding:10px 12px}input[type=date]{min-width:0}select{appearance:auto}.field-note{font-size:13px;color:#5b645d;grid-column:1/-1;margin:0}.booking-form .button{margin-top:26px;width:100%}.form-error{color:#932b29;font-size:15px;margin:20px 0 0}.form-error:empty{display:none}.result{border:1px solid var(--gold);padding:30px;background:#e8ede6;margin-top:32px}.result h2{font-size:26px;line-height:1.6;margin-top:0}.result dl{display:grid;grid-template-columns:100px 1fr;gap:12px;margin:24px 0}.result dt{color:#56604f}.result dd{margin:0}.result .button{background:var(--forest);color:var(--paper);margin-top:20px}.booking-footer{text-align:center;border-top:1px solid #c5af7d66;padding:24px;font-size:13px;color:#5b645d}[hidden]{display:none!important}
@media(min-width:1320px){.page-column,.booking-dock{margin-right:calc((100vw - 1320px)/2)}.brand-rail{left:calc((100vw - 1320px)/2);width:600px;padding-left:90px;padding-right:80px}}
@media(max-height:800px) and (min-width:1060px){.brand-rail{padding-top:24px}.rail-concept{font-size:22px;margin:10px 0 15px}.rail-location{margin:10px 0}.brand-rail nav{margin-bottom:16px}.brand-rail nav a{padding:7px 0}}
@media(max-width:1059px){.brand-rail{display:none}.page-column{margin:0 auto}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:10px 22px;background:#112c25;color:var(--paper)}.mobile-header>a{font:20px/1.5 var(--serif);letter-spacing:.16em;min-height:44px;display:flex;align-items:center}.booking-dock{right:50%;transform:translate(50%,110%)}.booking-dock.visible{transform:translate(50%,0)}}
@media(max-width:600px){html{scroll-padding-top:12px}.booking-dock{padding:9px 16px max(9px,env(safe-area-inset-bottom))}.booking-dock .button{font-size:15px}.booking-main{padding:38px 20px 60px}.booking-main h1{font-size:29px}.booking-form{padding:24px 18px}.fields{grid-template-columns:1fr;gap:20px}.booking-header{padding:14px 20px}.booking-header .brand-ja{font-size:22px}.booking-header>a:last-child{font-size:12px}.booking-notice{padding:12px 15px}.result{padding:24px 20px}.result h2{font-size:23px}.image-failed .section-copy{padding:36px 24px 20px}.image-failed .image-cta{width:calc(100% - 48px);margin:0 24px;font-size:14px}.footer{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
