@charset "UTF-8";
/* Design tokens: shared by the future WordPress theme. */
:root{--paper:#f7f6f1;--white:#fffefa;--ink:#283d35;--muted:#5d6b60;--green:#304d3e;--sage:#e9ede4;--line:#d5dace;--sand:#e9e0d2;--accent:#8b6849;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 var(--sans);letter-spacing:.035em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p,ul,ol,dl,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65;letter-spacing:.075em}h1{font-size:clamp(30px,4vw,48px)}h2{font-size:clamp(25px,3vw,36px)}h3{font-size:23px}p{margin-bottom:1.3em}ul,ol{padding-left:1.5em}::selection{background:var(--sand)}
.l-wrap{width:min(var(--wrap),calc(100% - 88px));margin-inline:auto}.l-narrow{max-width:820px}.l-section{padding-block:86px}.l-section--soft{background:var(--sage)}.l-section--white{background:var(--white)}.l-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.l-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.l-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.u-small{font-size:14px}.u-muted{color:var(--muted)}.u-center{text-align:center}.u-spaced{margin-top:32px}.u-no-margin{margin:0}.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c-skip{position:absolute;top:-100px;left:20px;z-index:20;padding:10px 20px;background:var(--white)}.c-skip:focus{top:12px}.c-preview-note{margin:0;padding:7px 18px;text-align:center;background:var(--green);color:#fff;font-size:12px;letter-spacing:.06em}.c-site-header{background:var(--paper);border-bottom:1px solid var(--line)}.c-header-inner{min-height:105px;display:flex;align-items:center;gap:24px}.c-brand{text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:12px}.c-brand__mark{width:39px;height:48px}.c-brand__name{font-family:var(--serif);font-size:27px;letter-spacing:.12em;line-height:1.4}.c-brand__name small{font-family:var(--sans);display:block;font-size:10px;letter-spacing:.07em}.c-brand__name em{font-family:var(--sans);font-size:10px;font-style:normal;letter-spacing:0}.c-site-nav{margin-left:auto}.c-site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:20px}.c-site-nav a{text-decoration:none;font-size:13px;white-space:nowrap}.c-site-nav a[aria-current=page]{border-bottom:1px solid var(--green);padding-bottom:6px}.c-site-nav .c-nav-secondary{display:none}.c-menu-toggle{display:none}.c-header-cta{font-size:13px!important;padding:13px 17px!important;min-height:48px}.c-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:13px 27px;background:var(--green);color:white;text-decoration:none;border:1px solid var(--green);font-size:14px;letter-spacing:.08em;transition:background .2s,color .2s}.c-button::after{content:"↗";font-size:19px}.c-button:hover{background:#223c2e;color:#fff}.c-button--outline{background:transparent;color:var(--green)}.c-button--outline:hover{background:var(--sage);color:var(--green)}.c-link{display:inline-block;border-bottom:1px solid var(--line);text-decoration:none;padding:8px 0}.c-link::after{content:" →";margin-left:18px}.c-eyebrow{font:12px/1.5 var(--sans);letter-spacing:.17em;color:var(--accent);margin-bottom:18px}.c-section-heading{margin-bottom:32px}.c-section-heading h2{margin-bottom:14px}.c-section-heading p:last-child{max-width:650px;margin-bottom:0}.c-sample{font:12px/1.7 var(--sans);color:#725638;background:#eee5d6;padding:4px 10px;display:inline-block;border:1px solid #dccdb6;letter-spacing:.04em}.c-notice{border-left:3px solid #a38c69;padding:18px 24px;background:#efe9dd;font-size:14px}.c-notice p:last-child{margin-bottom:0}.c-page-heading{padding:44px 0 58px;background:var(--sage);border-bottom:1px solid var(--line)}.c-page-heading h1{margin:20px 0}.c-page-heading__lead{max-width:730px;color:var(--muted);margin-bottom:0}.c-breadcrumb{font-size:12px;margin-bottom:26px}.c-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px 12px;padding:0;margin:0}.c-breadcrumb li:not(:last-child)::after{content:"/";margin-left:12px;color:var(--muted)}.c-breadcrumb a{text-decoration:none}.c-card{border-top:1px solid var(--line);padding-top:25px;min-width:0}.c-card__number{font:italic 28px/1.4 var(--serif);color:var(--accent);margin-bottom:20px}.c-card h3{margin-bottom:15px}.c-card p{color:var(--muted);font-size:15px}.c-card img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:24px}.c-card__meta{font-size:12px!important;letter-spacing:.08em}.c-card--panel{padding:32px;border:1px solid var(--line);background:var(--white)}.c-card--panel h3{font-size:22px}.c-card--panel .c-link{margin-top:10px}.c-quiet-list{list-style:none;padding:0}.c-quiet-list li{padding:15px 0;border-bottom:1px solid var(--line)}.c-quiet-list li::before{content:"—";margin-right:14px;color:var(--accent)}
.p-home-hero{position:relative;padding:44px 0 0;overflow:hidden}.p-home-hero__grid{display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:35px}.p-home-hero__copy{padding:10px 0 25px}.p-home-hero h1{font-size:clamp(34px,4.3vw,56px);line-height:1.7;letter-spacing:.09em;margin:22px 0}.p-home-hero__lead{font-size:15px;line-height:2.1;max-width:400px;color:var(--muted);margin-bottom:26px}.p-home-hero__visual{position:relative;align-self:stretch;display:flex;align-items:center}.p-home-hero__visual img{width:100%;border-radius:48% 48% 0 0;aspect-ratio:5/5.2;object-fit:cover}.p-home-hero__caption{position:absolute;right:12px;bottom:10px;font-size:10px;letter-spacing:.06em;background:#f7f6f1dd;padding:2px 8px}.p-home-hero__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 0;font-size:12px;color:var(--muted)}.p-home-concept{text-align:center;max-width:700px;margin:auto}.p-home-concept h2{line-height:1.9}.p-home-concept p{line-height:2.3;color:var(--muted)}.p-home-concept .c-eyebrow{color:var(--accent)}.c-figure img{width:100%}.c-figure figcaption{font-size:12px;color:var(--muted);margin-top:10px}.c-quote{margin:0;border-left:1px solid var(--accent);padding:8px 0 8px 24px}.c-quote p{font-family:var(--serif);font-size:24px}.c-data-list{margin:0}.c-data-list>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.c-data-list dt{font-size:14px;color:var(--muted)}.c-data-list dd{margin:0;overflow-wrap:anywhere}.c-table-wrap{overflow-x:auto}.c-table{width:100%;border-collapse:collapse;background:var(--white);text-align:left}.c-table caption{text-align:left;margin-bottom:15px;font-size:14px}.c-table th,.c-table td{border-bottom:1px solid var(--line);padding:20px}.c-table th{font-weight:500;background:var(--sage)}.c-steps{list-style:none;padding:0;counter-reset:step}.c-steps li{position:relative;padding:0 0 32px 74px;margin-bottom:28px;border-bottom:1px solid var(--line);counter-increment:step}.c-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font:italic 30px/1.5 var(--serif);color:var(--accent)}.c-steps h3{font-size:23px;margin-bottom:12px}.c-steps p{margin:0;color:var(--muted)}.c-faq{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:22px}.c-faq summary{cursor:pointer;padding:10px 2px;font-size:17px}.c-faq p{padding:14px 0 0;margin:0;color:var(--muted)}.c-faq summary::marker{color:var(--accent)}.c-toc{padding:24px 28px;background:var(--sage);border:1px solid var(--line)}.c-toc ul{margin-bottom:0}.c-article h2{font-size:29px;margin-top:54px}.c-article h3{margin-top:32px}.c-article p{line-height:2.15}.c-article .c-notice{margin-block:28px}.c-backlinks{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}.c-form{margin-top:30px}.c-form fieldset{margin:0;padding:28px;border:1px solid var(--line)}.c-form legend{padding:0 10px;font-size:15px}.c-form label{display:block;margin-bottom:22px}.c-form label span{display:block;margin-bottom:7px}.c-form input:not([type=checkbox]),.c-form textarea,.c-form select{display:block;width:100%;padding:12px;background:#f0f0e9;border:1px solid #aeb7a8;border-radius:0;color:#56614f;opacity:1;-webkit-text-fill-color:#56614f}.c-form textarea{resize:vertical;min-height:150px}.c-form input[type=checkbox]{margin-right:10px}.c-form button:disabled{cursor:not-allowed;background:#657466;border-color:#657466;color:#fff;opacity:1}.c-form .c-checkbox{display:flex;align-items:baseline;gap:5px}.c-status-list{padding:22px;background:var(--white)}.c-status-list dt{font-weight:600}.c-status-list dd{margin:0 0 18px;font-size:14px}.c-reservation{background:var(--green);color:#fff;padding:66px 0}.c-reservation__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.c-reservation .c-eyebrow{color:#d8c5a6}.c-reservation h2{margin-bottom:15px;font-size:31px}.c-reservation p:last-child{margin:0;color:#e0e6db;font-size:14px}.c-reservation .c-button{background:var(--paper);border-color:var(--paper);color:var(--green)}.c-site-footer{padding:62px 0 24px;background:#eeeee6}.c-footer-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.c-footer-info{font-size:13px;color:var(--muted);margin-top:22px}.c-footer-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}.c-footer-nav a{font-size:13px;text-decoration:none}.c-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
@media(min-width:1500px){.p-home-hero{padding-top:60px}.p-home-hero__grid{gap:80px}}
@media(max-width:1100px){.l-wrap{width:calc(100% - 56px)}.c-header-inner{gap:18px}.c-site-nav ul{gap:13px}.c-site-nav a{font-size:12px}.c-brand__name{font-size:24px}.c-header-cta{padding:12px!important}.l-split{gap:40px}.c-brand__mark{width:30px}}
@media(max-width:900px){.c-header-inner{flex-wrap:wrap;padding-block:20px;min-height:90px}.c-site-nav{width:100%;margin:0;order:3}.c-site-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.c-site-nav a{display:block;white-space:normal;padding:13px 0;font-size:14px;border-bottom:1px solid var(--line)}.c-site-nav .c-nav-secondary{display:block}.c-header-cta{margin-left:auto}.c-menu-toggle:not([hidden]){display:block;border:1px solid var(--line);padding:10px 13px;background:transparent;color:var(--ink);min-height:48px;font-size:12px}.has-js .c-site-nav[data-open=false]{display:none}.c-site-nav a[aria-current=page]{padding-bottom:13px}.l-grid{gap:24px}.l-split{gap:32px}.c-footer-nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}.p-home-hero h1{font-size:38px}.c-card--panel{padding:23px}.c-card h3{font-size:21px}}
@media(max-width:650px){.l-wrap{width:calc(100% - 40px)}.l-section{padding-block:58px}.l-grid,.l-grid--two,.l-split{grid-template-columns:1fr;gap:30px}.c-preview-note{font-size:10px;padding:6px 10px}.c-header-inner{gap:10px;padding-block:14px}.c-brand{gap:7px}.c-brand__name{font-size:23px}.c-brand__name small{font-size:9px}.c-brand__mark{width:27px;height:38px}.c-header-cta{font-size:11px!important;gap:10px;padding:9px 10px!important;min-height:43px}.c-header-cta::after{display:none}.c-menu-toggle:not([hidden]){padding:8px 9px;font-size:11px;min-height:43px}.p-home-hero{padding-top:34px}.p-home-hero__grid{grid-template-columns:1fr;gap:18px}.p-home-hero__copy{padding:0}.p-home-hero h1{font-size:36px;line-height:1.65;margin-block:16px}.p-home-hero__lead{font-size:14px;margin-bottom:20px;max-width:100%}.p-home-hero__visual{margin-left:45px;margin-top:5px}.p-home-hero__visual img{aspect-ratio:5/3.7;border-radius:46% 46% 0 0;object-position:50% 55%}.p-home-hero__foot{font-size:11px;align-items:flex-start;gap:10px}.p-home-hero__foot span:last-child{text-align:right;max-width:140px}.c-page-heading{padding:24px 0 38px}.c-page-heading h1{font-size:31px}.c-page-heading__lead{font-size:14px}.c-eyebrow{font-size:11px;margin-bottom:14px}.c-card{padding-top:22px}.c-card__number{margin-bottom:12px}.c-card--panel{padding:25px}.c-card h3{font-size:23px}.c-data-list>div{grid-template-columns:90px 1fr;gap:14px}.c-data-list dd{font-size:14px}.c-table th,.c-table td{padding:13px 10px;font-size:13px}.c-steps li{padding-left:52px}.c-notice{padding:16px 18px}.c-reservation{padding-block:46px}.c-reservation__inner{grid-template-columns:1fr;gap:27px}.c-reservation h2{font-size:27px}.c-reservation .c-button{width:100%}.c-site-footer{padding-top:42px}.c-footer-top{grid-template-columns:1fr;gap:30px}.c-footer-nav ul{gap:12px 15px}.c-footer-bottom{margin-top:32px}.c-form fieldset{padding:18px}.c-article h2{font-size:25px}.c-toc{padding:20px}.c-backlinks{display:block}.c-backlinks a{display:block;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;color:#111}.c-preview-note{background:white;color:#111}.c-menu-toggle,.c-header-cta,.c-reservation,.c-footer-nav{display:none!important}.c-site-nav{display:block!important}.l-wrap{width:100%}.l-section{padding-block:30px}a{color:inherit}.c-card,.c-faq{break-inside:avoid}.c-page-heading{padding:20px 0}}
/* Final typography and figure sizing, shared across templates. */
figure{margin:0}.p-home-hero h1{font-size:clamp(32px,3.5vw,46px);letter-spacing:.04em}.p-home-hero__phrase{display:inline-block}
/* Homepage manuscript, October 2026. */
.home-specialty{font-size:14px;color:var(--muted)}.home-hero-lead{max-width:470px;font-size:16px}.home-hero-lead strong{font-weight:500;color:var(--green)}.home-waiting{font-size:12px;margin:16px 0;color:var(--muted)}.home-facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0;margin:0;border-bottom:1px solid var(--line);text-align:center;font-size:14px}.home-facts li+li{border-left:1px solid var(--line)}.home-section-nav{background:var(--white);border-bottom:1px solid var(--line)}.home-section-nav .l-wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;padding-block:20px}.home-section-nav a{font-size:13px;text-decoration:none}.home-section h2{max-width:900px;text-wrap:balance}.home-concerns{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:0}.home-concerns li{position:relative;padding:22px 0 22px 30px;border-bottom:1px solid #c9d1c4;font-size:15px}.home-concerns li::before{content:"✓";position:absolute;left:0;color:var(--accent)}.home-prose{font-size:16px;line-height:2.2}.home-prose strong{font-weight:600}.home-director-intro{padding:30px 36px;border-left:3px solid var(--accent);background:var(--sage);margin-bottom:42px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;font-size:13px}.home-director-intro p{margin:0}.home-director-label strong{display:inline-block;font-family:var(--serif);font-size:25px;margin:8px 0;font-weight:500}.home-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.home-feature{padding:36px;background:var(--white);border:1px solid var(--line)}.home-feature h3{font-size:23px}.home-feature p:not(.c-card__number){font-size:15px;color:var(--muted)}.home-feature p:last-child{margin-bottom:0}.home-goal-heading{margin:48px 0 24px}.home-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px}.home-goal{padding:24px 0;border-top:1px solid var(--line)}.home-goal h4{font-size:17px;font-weight:500;margin:0 0 12px}.home-goal p{font-size:14px;color:var(--muted);margin:0}.home-disclaimer{font-size:13px;color:var(--muted);border-left:2px solid var(--accent);padding-left:18px;margin-top:30px}.home-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}.home-booking-card{background:var(--white);padding:34px;border-top:3px solid var(--green)}.home-booking-card h3{font-size:25px}.home-booking-card h4{font-size:17px;font-weight:500;margin:28px 0 14px}.home-booking-card p{font-size:15px}.home-booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0 0}.home-booking-actions .c-button{width:100%;justify-content:center;cursor:not-allowed;opacity:.75}.home-booking-actions .c-button::after{display:none}.home-booking-actions p{font-size:12px;margin:9px 0;color:var(--muted)}.home-flow{list-style:none;margin:40px 0 0;padding:0}.home-flow li{padding:30px 0;border-top:1px solid var(--line)}.home-flow h3{font-size:23px}.home-flow p:last-child{margin:0}.home-footer-info{margin-top:40px;padding-top:35px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}.home-footer-info>p{font-size:14px;margin:0}.home-footer-info>.u-small{grid-column:2}.home-footer .home-booking-actions{max-width:820px}.p-home h4{line-height:1.8}.p-home p,.p-home h1,.p-home h2,.p-home h3,.p-home h4{overflow-wrap:anywhere}
@media(max-width:650px){.home-facts{grid-template-columns:1fr 1fr;gap:15px 0;font-size:12px}.home-facts li:nth-child(3){border-left:0}.home-concerns,.home-features,.home-goals,.home-booking-grid,.home-booking-actions,.home-director-intro,.home-footer-info{grid-template-columns:1fr}.home-feature,.home-booking-card{padding:25px}.home-director-intro{padding:25px;gap:20px}.home-section-nav .l-wrap{justify-content:flex-start;gap:12px 24px}.home-section-nav a{font-size:12px}.home-section h2{font-size:26px}.home-prose{font-size:15px}.home-footer-info>.u-small{grid-column:auto}.home-hero-lead{font-size:15px}.home-booking-actions{gap:16px}.home-feature h3{font-size:22px}.home-concerns li{padding-block:18px}.home-goals{gap:0}.p-home .p-home-hero h1{font-size:32px}}
@media(max-width:900px){.p-home-hero h1{font-size:36px}}
@media(max-width:650px){.p-home-hero h1{font-size:34px}.c-header-inner{gap:8px}.c-brand__name{font-size:21px}.c-brand__name small{font-size:8px}.c-brand__mark{width:24px}.c-header-cta{padding-inline:9px!important}.c-menu-toggle:not([hidden]){padding-inline:8px}}
