*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);letter-spacing:.02em;font-feature-settings:"palt" 0;text-rendering:optimizelegibility;margin:0;line-height:1.85}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:.04em;text-wrap:balance;margin:0;line-height:1.5}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:3px;border-radius:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nw{white-space:nowrap}.skip-link{z-index:100;background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-sm);padding:8px 16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}.container{width:min(100% - 32px, var(--container));margin-inline:auto}.container--narrow{width:min(100% - 32px,760px);margin-inline:auto}.section{padding-block:var(--space-section)}.section--tint{background:var(--color-surface)}.stack>*+*{margin-top:var(--stack,1em)}.section-head{gap:12px;margin-bottom:40px;display:grid}.section-head--center{text-align:center;justify-items:center}.section-head__en{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent-strong)}.section-head__title{font-size:var(--text-2xl)}.section-head__lead{max-width:36em;color:var(--color-muted)}@media (width>=768px){.section-head{margin-bottom:56px}}.btn{border-radius:var(--radius-pill);min-height:52px;font-family:var(--font-body);font-size:var(--text-md);letter-spacing:.06em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:12px 28px;font-weight:500;line-height:1.4;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn--primary{background:var(--color-accent-strong);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-ink)}.btn--ghost{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.btn--ghost:hover{background:var(--color-ink);color:var(--color-bg)}.btn--block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn__arrow{flex:none;width:1em;height:1em}.link-more{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:6px;align-items:center;gap:8px;font-weight:500;text-decoration-thickness:1px;display:inline-flex}.link-more:hover{text-decoration-color:currentColor}.demo-banner{z-index:60;background:var(--color-ink);color:var(--color-bg);font-size:var(--text-xs);line-height:1.6;position:relative}.demo-banner__inner{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;padding:8px 16px;display:flex}.demo-banner a{color:inherit;text-underline-offset:3px}.site-header{z-index:50;background:color-mix(in srgb, var(--color-bg) 92%, transparent);border-bottom:1px solid var(--color-line);position:sticky;top:0}@supports (backdrop-filter:blur(8px)){@media (width>=1024px){.site-header{backdrop-filter:blur(8px)}}}.site-header__inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{flex-direction:column;line-height:1.2;text-decoration:none;display:inline-flex}.brand__name{font-family:var(--font-heading);font-size:var(--text-lg);letter-spacing:.08em}.brand__sub{letter-spacing:.12em;color:var(--color-muted);font-size:11px}.gnav__list{align-items:center;gap:28px;list-style:none;display:flex}.gnav__link{font-size:var(--text-sm);letter-spacing:.08em;border-bottom:1px solid #0000;padding-block:8px;text-decoration:none}.gnav__link:hover,.gnav__link[aria-current=page]{border-bottom-color:var(--color-accent)}.gnav__cta{min-height:44px;font-size:var(--text-sm);padding:8px 20px}.menu-btn{display:none}@media (width<=1023px){.menu-btn{width:48px;height:48px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin-right:-8px;padding:0;display:inline-flex}.menu-btn__bars{width:22px;height:14px;position:relative}.menu-btn__bars:before,.menu-btn__bars:after,.menu-btn__bars span{content:"";background:currentColor;width:100%;height:1.5px;transition:transform .2s,opacity .2s;position:absolute;left:0}.menu-btn__bars:before{top:0}.menu-btn__bars span{top:6px}.menu-btn__bars:after{bottom:0}[data-menu-open] .menu-btn__bars:before{transform:translateY(6px)rotate(45deg)}[data-menu-open] .menu-btn__bars span{opacity:0}[data-menu-open] .menu-btn__bars:after{transform:translateY(-6.5px)rotate(-45deg)}.gnav{inset:var(--menu-top,var(--header-h)) 0 0 0;z-index:49;background:var(--color-bg);padding:24px 16px 48px;display:none;position:fixed;overflow-y:auto}[data-menu-open] .gnav{display:block}.gnav__list{flex-direction:column;align-items:stretch;gap:0}.gnav__link{font-size:var(--text-lg);border-bottom:1px solid var(--color-line);padding:16px 4px;display:block}.gnav__item--cta{margin-top:24px}.gnav__cta{width:100%;min-height:56px;font-size:var(--text-md)}}.page-hero{border-bottom:1px solid var(--color-line);padding-block:56px 40px}.page-hero__en{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent-strong)}.page-hero__title{font-size:var(--text-3xl);margin-top:8px}.page-hero__lead{max-width:36em;color:var(--color-muted);margin-top:16px}@media (width>=768px){.page-hero{padding-block:88px 56px}}.card{background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:28px 24px}.grid{gap:var(--grid-gap,24px);display:grid}@media (width>=768px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.table th,.table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:16px 12px}.table th{white-space:nowrap;font-weight:500}.table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table caption{caption-side:bottom;text-align:left;font-size:var(--text-sm);color:var(--color-muted);padding-top:12px}.note{font-size:var(--text-sm);color:var(--color-muted)}.photo{border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.faq{border-top:1px solid var(--color-line)}.faq__item{border-bottom:1px solid var(--color-line)}.faq__q{cursor:pointer;align-items:flex-start;gap:16px;padding:20px 4px;font-weight:500;list-style:none;display:flex}.faq__q::-webkit-details-marker{display:none}.faq__q:before{content:"Q";font-family:var(--font-heading);color:var(--color-accent-strong);flex:none}.faq__q:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:10px;height:10px;margin:8px 4px 0 auto;transition:transform .2s;transform:rotate(45deg)}.faq__item[open] .faq__q:after{transform:rotate(-135deg)}.faq__a{color:var(--color-ink-soft);gap:16px;padding:0 4px 24px;display:flex}.faq__a:before{content:"A";font-family:var(--font-heading);color:var(--color-muted);flex:none}.news-list{border-top:1px solid var(--color-line);list-style:none}.news-list__item{border-bottom:1px solid var(--color-line)}.news-list__link{gap:4px;padding:20px 4px;text-decoration:none;display:grid}.news-list__link:hover .news-list__title{text-underline-offset:4px;text-decoration:underline}.news-list__date{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}@media (width>=768px){.news-list__link{grid-template-columns:9em 1fr;align-items:baseline;gap:24px}}.cta-band{background:var(--color-accent-deep);color:var(--color-on-accent);text-align:center;padding-block:72px;position:relative;overflow:hidden}.cta-band__title{font-size:var(--text-2xl)}.cta-band__lead{opacity:.9;margin-top:16px}.cta-band__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.cta-band .btn--primary{background:var(--color-bg);color:var(--color-ink)}.cta-band .btn--primary:hover{background:var(--color-surface)}.cta-band .btn--ghost{color:inherit;border-color:currentColor}.cta-band .btn--ghost:hover{background:var(--color-bg);color:var(--color-ink)}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-line);font-size:var(--text-sm);padding-block:56px 32px}.site-footer__grid{gap:32px;display:grid}.site-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;list-style:none;display:grid}.site-footer__nav a{text-decoration:none}.site-footer__nav a:hover{text-underline-offset:4px;text-decoration:underline}.site-footer__bottom{border-top:1px solid var(--color-line);color:var(--color-muted);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:24px;display:flex}@media (width>=768px){.site-footer__grid{grid-template-columns:1.2fr 1fr}}.form{gap:28px;display:grid}.field{gap:8px;display:grid}.field__label{flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;display:flex}.req,.opt{border-radius:var(--radius-pill);letter-spacing:.08em;padding:1px 8px;font-size:11px;font-weight:500;line-height:1.7;display:inline-block}.req{background:var(--color-accent-strong);color:var(--color-on-accent)}.opt{background:var(--color-line);color:var(--color-ink-soft)}.field__hint{font-size:var(--text-sm);color:var(--color-muted)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);width:100%;min-height:52px;color:var(--color-ink);font:inherit;background:#fff;padding:12px 14px;line-height:1.6}.field textarea{resize:vertical;min-height:160px}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}.field [aria-invalid=true]{border-color:var(--color-danger);outline-color:var(--color-danger)}.field__error{font-size:var(--text-sm);color:var(--color-danger);font-weight:500}.check{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.check input{width:20px;height:20px;accent-color:var(--color-accent-strong);margin-top:5px}.form-alert{border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);background:#fff;padding:16px 20px;font-weight:500}.form-alert:focus{outline:2px solid var(--color-danger);outline-offset:2px}.hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.turnstile{gap:8px;display:grid}.turnstile__widget{min-height:65px}.turnstile__status{font-size:var(--text-sm);color:var(--color-muted)}[data-turnstile=ok] .turnstile__status{color:var(--color-ink)}[data-turnstile=error] .turnstile__status,[data-turnstile=load-error] .turnstile__status{color:var(--color-danger);font-weight:500}.turnstile__retry{min-height:44px;font:inherit;font-size:var(--text-sm);text-underline-offset:4px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:500;text-decoration:underline}.turnstile__retry[hidden]{display:none}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite form-spin;display:none}.btn[aria-busy=true]{opacity:1;cursor:progress}.btn[aria-busy=true] .btn__spinner{display:inline-block}.submit-status{font-size:var(--text-sm);margin-top:12px;font-weight:500}.submit-status:empty{display:none}@keyframes form-spin{to{transform:rotate(360deg)}}.prose>*+*{margin-top:1.2em}.prose h2{font-size:var(--text-xl);margin-top:2.4em}.prose ul,.prose ol{padding-left:1.4em}.prose a{text-underline-offset:4px}.map-placeholder{border:1px dashed var(--color-input-border);border-radius:var(--radius-lg);background:repeating-linear-gradient(0deg, transparent 0 39px, var(--color-line) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, var(--color-line) 39px 40px), var(--color-bg);text-align:center;place-items:center;min-height:280px;padding:24px;display:grid}.map-placeholder p{background:var(--color-bg);border-radius:var(--radius-sm);padding:12px 20px}.slot-box{border:1px dashed var(--color-accent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-bg));padding:24px}@media (width<=767px){.price-table tr{border-bottom:1px solid var(--color-line);grid-template-columns:1fr auto;display:grid}.price-table th,.price-table td{border-bottom:0}.price-table th{padding-bottom:4px}.price-table td.num{grid-area:1/2;padding-bottom:4px}.price-table td.note{grid-column:1/-1;padding-top:0}}.check .req{margin-left:8px}@media (width>=768px){.price-table{table-layout:fixed}.price-table th{width:32%}.price-table td.num{width:24%}}:root{--color-bg:#f7f3ee;--color-surface:#efe7dc;--color-line:#e0d5c7;--color-ink:#2e2925;--color-ink-soft:#4a423c;--color-muted:#6b6057;--color-accent:#c78a6e;--color-accent-strong:#9a4e34;--color-accent-deep:#7d4430;--color-on-accent:#fff;--color-input-border:#968676;--color-danger:#b3261e;--font-heading:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--heading-weight:500;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-3xl:clamp(1.75rem, 1.35rem + 1.8vw, 2.5rem);--text-hero:clamp(2rem, 1.1rem + 4vw, 3.5rem);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--container:1120px;--space-section:clamp(72px, 9vw, 128px);--header-h:64px}@media (width>=1024px){:root{--header-h:76px}}
