:root{--paper:#fff9ed;--ink:#4d4538;--green:#4d694c;--green-hover:#365135;--muted:#686152;--sage:#edf0e2;--sand:#f5ead6;--border:#dcd4c2;--accent:#945c3d;--serif:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:17px/1.95 Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}h1,h2,h3,h4,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:600}a{color:inherit;text-underline-offset:.25em}img{max-width:100%;height:auto;display:block}svg{flex:none;width:1.5rem;height:1.5rem}a,summary{-webkit-tap-highlight-color:#d4e0d3}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{color:var(--ink);background:#d9e3cc}.skip-link{background:var(--paper);z-index:20;padding:.75rem 1.25rem;position:fixed;top:-8rem;left:1rem}.skip-link:focus{top:1rem}.site-header{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1440px;margin:auto;padding:1.5rem 5%;display:flex}.brand{align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-mark{background:var(--sage);border:1px solid #b6bea2;border-radius:42% 50% 46% 48%;place-items:center;width:3rem;height:3rem;display:grid}.brand-mark svg{width:1.75rem;height:1.75rem}.brand small{letter-spacing:.12em;font-size:.75rem;line-height:1.6;display:block}.brand strong{font:600 1.25rem/1.8 var(--serif);letter-spacing:.03em;display:block}.site-header nav{align-items:center;gap:1.5rem;font-size:.875rem;font-weight:600;display:flex}.site-header nav a{padding-block:.5rem;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.site-header .header-contact{background:#f0f1e3;border:1px solid #b7bea6;border-radius:2rem;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.header-contact svg{width:1.25rem}.section-nav{display:none}.hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:2%;max-width:1440px;margin:auto;padding:2rem 5% 3rem;display:grid}.hero-copy{z-index:1;padding:1.5rem 0;position:relative}.eyebrow{letter-spacing:.08em;color:var(--accent);font-size:.875rem;font-weight:600}.location-dot{vertical-align:.15em;background:#b17a55;border-radius:50%;width:.5rem;height:.5rem;margin-right:.625rem;display:inline-block}.hero h1{letter-spacing:.025em;white-space:nowrap;margin:1.75rem 0;font-size:clamp(1.75rem,2.9vw,2.75rem);line-height:1.85}.hero h1 span{padding-bottom:.125rem;box-shadow:inset 0 -.25em #efdabc}.hero-lead{max-width:29rem;color:var(--muted);margin-bottom:2rem;line-height:2.1}.contact-links{width:100%;max-width:24rem}.action{border-radius:2rem;justify-content:center;align-items:center;gap:.75rem;min-height:3.75rem;padding:1rem 1.25rem;font-weight:600;text-decoration:none;display:flex}.action svg:last-child{width:1.25rem;margin-left:auto}.action.primary{background:var(--green);color:#fff}.action.primary:hover{background:var(--green-hover)}.contact-status{color:var(--muted);margin-top:.75rem;font-size:.8125rem;line-height:1.8}.line-guidance{color:var(--muted);margin-top:.75rem;font-size:.875rem;line-height:1.85}.mail-link{justify-content:center;align-items:center;gap:1rem;padding:.875rem .25rem;font-size:.9375rem;display:flex}.mail-link svg{width:1rem}.service-link{border-bottom:1px solid var(--border);align-items:center;gap:2rem;margin-top:1.5rem;padding-block:.5rem;font-size:.9375rem;text-decoration:none;display:inline-flex}.artwork{min-width:0}.artwork img{width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000),linear-gradient(#0000,#000 6% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-visual{align-self:center;min-width:0;position:relative}.hero-visual .artwork{margin:.5rem -1rem 0}.handwritten-note{text-align:center;font:600 1.125rem/1.9 var(--serif);color:var(--accent);letter-spacing:.1em;padding-top:1rem;transform:rotate(-3deg)}.hero-caption{justify-content:center;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.hero-caption svg{width:2rem;height:2rem;color:var(--accent)}.hero-caption p{letter-spacing:.08em;font-size:.875rem}.hero-caption strong{font-weight:600}.service-promise{border-top:1px dashed #c8c7b1;border-bottom:1px dashed #c8c7b1;justify-content:center;align-items:center;gap:0;max-width:1240px;margin:0 auto 1rem;padding:1.5rem 4%;display:flex}.service-promise p{justify-content:center;align-items:center;gap:.75rem;padding-inline:3rem;font-size:.9375rem;display:flex}.service-promise p+p{border-left:1px solid var(--border)}.service-promise svg{width:1.375rem}.section{padding:5.5rem max(6%,50% - 620px)}.section-heading{margin-bottom:2.5rem}h2{letter-spacing:.04em;margin-top:1rem;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.75}.heading-phrase{display:inline-block}.section-heading>p:not(.eyebrow){color:var(--muted);max-width:39rem;margin-top:1.25rem}.concerns{grid-template-columns:1fr 1.1fr;align-items:center;gap:4rem;display:grid}.concerns>div>p:last-child{color:var(--muted);margin-top:1.5rem}.concerns ul{border:1px solid var(--border);background:#fffdf7;border-radius:1rem .5rem;margin:0;padding:1rem 2rem;list-style:none}.concerns li{border-bottom:1px solid var(--border);align-items:baseline;gap:1rem;padding:1rem 0;display:flex}.concerns li>span{color:var(--green);background:var(--sage);border-radius:50%;flex-shrink:0;place-items:center;width:1.5rem;height:1.5rem;font-size:.875rem;display:grid}.concerns li:last-child{border:none}.concerns-art{max-width:21rem;margin:1rem auto -1.5rem}.services{background:var(--sage)}.services .section-heading{text-align:center;max-width:49rem;margin-inline:auto}.services .section-heading>p:not(.eyebrow){margin-inline:auto}.service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.service-list article{background:var(--paper);border:1px solid #d6d9c7;border-radius:.75rem;padding:1rem 1.5rem 1.75rem}.service-top{margin-bottom:.5rem;position:relative}.service-art{width:100%;height:9rem;display:block}.service-top span{color:var(--accent);border-bottom:1px solid #cdb89a;font:.875rem/1.7 Georgia,serif;position:absolute;top:.25rem;left:0}.service-list h3{margin-bottom:.625rem;font-size:1.1875rem}.service-list p{color:var(--muted);font-size:1rem}.service-note{color:var(--muted);border-left:3px solid #8b9e88;margin-top:2rem;padding-left:1rem;font-size:.875rem}.options-block{background:var(--paper);border:1px dashed #b9c2a8;border-radius:.75rem;grid-template-columns:1fr 1.15fr;gap:3rem;margin-top:3rem;padding:2rem;display:grid}.options-block h3{font:600 1.5rem/1.7 var(--serif);margin:.5rem 0}.options-block p{color:var(--muted);font-size:.9375rem}.options-body{align-self:center}.status-label{color:var(--accent);border:1px solid #b9a982;border-radius:.25rem;margin-bottom:.75rem;padding:.125rem .625rem;font-size:.75rem;display:inline-block}.options-body .pending-options{color:var(--ink);margin-bottom:.5rem;font-weight:600;line-height:2}.options-body ul{padding-left:1.25rem}.options-body li+li{margin-top:1rem}.options-body h4{font-size:1rem}.pricing .section-heading{text-align:center}.pricing .section-heading>p{margin-inline:auto}.price-list{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.price-list article{border:1px solid var(--border);background:#fffdf7;border-radius:.75rem;padding:2.5rem}.price-list article+article{background:#f7f0e1;border-style:dashed}.price-list article>p:last-child{color:var(--muted);max-width:30rem;font-size:1rem}.plan-label{color:var(--accent);font-size:.875rem;font-weight:600}.price-list h3{margin:.5rem 0;font-size:1.375rem}.price-list .price{font:600 1.75rem/1.7 var(--serif);padding:1.25rem 0}.pricing-bottom{grid-template-columns:1.2fr 1fr;align-items:start;gap:3rem;margin-top:2rem;display:grid}.pricing-bottom>p{color:var(--muted);font-size:.9375rem}.pricing-bottom .contact-links{margin-left:auto}.flow{background:var(--sand);grid-template-columns:1fr 1.2fr;gap:4rem;display:grid}.flow-list{margin:0;padding:0;list-style:none}.flow-list li{grid-template-columns:3rem 1fr;gap:1.25rem;padding-bottom:2rem;display:grid;position:relative}.flow-list li:last-child{padding-bottom:0}.flow-list li:not(:last-child):after{content:"";border-left:1px solid #b9c4b4;position:absolute;top:3rem;bottom:.25rem;left:1.5rem}.step-number{width:3rem;height:3rem;color:var(--green);background:var(--paper);border:1px solid #a1b09a;border-radius:50%;place-items:center;font:1rem/1 Georgia,serif;display:grid}.flow-art{max-width:27rem;margin:1.5rem auto 0}.flow .section-heading>.art-caption{text-align:center;font-family:var(--serif);color:var(--accent);margin-top:.5rem;font-size:.9375rem}.flow-list h3{padding-top:.25rem;font-size:1.1875rem}.flow-list p{color:var(--muted);margin-top:.375rem;font-size:1rem}.faq{grid-template-columns:1fr 1.75fr;gap:3rem;display:grid}.faq-list{border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;grid-template-columns:1.5rem 1fr 1.25rem;align-items:baseline;gap:.75rem;padding:1.5rem 0;font-size:1rem;font-weight:600;list-style:none;display:grid}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--accent)}.question-mark{color:var(--accent);font:1.125rem/1.6 Georgia,serif}.toggle{align-self:center;width:1rem;height:1rem;position:relative}.toggle:before,.toggle:after{content:"";background:currentColor;width:.875rem;height:1px;position:absolute;top:50%;left:0}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}.faq-answer{color:var(--muted);padding:0 2rem 1.5rem 2.25rem;font-size:1rem}.faq-answer a{color:var(--green);margin-top:.75rem;padding-block:.25rem;display:inline-block}.operator{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:4rem;display:grid}.operator .section-heading>p.small-note{font-size:.875rem}.local-photo{border:1px solid var(--border);border-radius:.5rem;grid-template-columns:7rem 1fr;align-items:center;gap:1rem;margin-top:1.75rem;padding:1rem;display:grid}.local-photo img{object-fit:cover;border-radius:.25rem;width:7rem;height:5.5rem}.local-photo figcaption{font:600 .9375rem/1.8 var(--serif)}.local-photo small{color:var(--muted);margin-top:.5rem;font:.75rem/1.8 sans-serif;display:block}.operator-table{border-top:1px solid var(--border);min-width:0;margin:0}.operator-table>div{border-bottom:1px solid var(--border);grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1rem 0;font-size:.9375rem;display:grid}.operator-table dt{color:var(--muted)}.operator-table dd{overflow-wrap:anywhere;margin:0}.operator-table a{padding-block:.375rem;display:inline-block}.contact-section{color:var(--ink);background:#e5e9d8;grid-template-columns:1.2fr 1fr;align-items:center;gap:4rem;display:grid}.contact-section .eyebrow{color:var(--accent)}.contact-section h2{font-size:clamp(1.75rem,2.7vw,2.375rem)}.contact-section>div>p:not(.eyebrow){color:var(--muted);margin-top:1.5rem}.contact-section .contact-area{font-size:.875rem}.contact-panel{background:var(--paper);color:var(--ink);border:1px solid #cbd0b7;border-radius:.75rem;padding:2rem}.contact-art{max-width:14rem;margin:-1rem auto .5rem}.contact-panel h3{margin-bottom:1.25rem;font-size:1.125rem}.contact-panel .contact-links{max-width:none}.visible-email{overflow-wrap:anywhere;margin-top:.75rem;padding-block:.375rem;font-size:.9375rem;display:inline-block}.contact-panel .small-note{color:var(--muted);margin-top:1.5rem;font-size:.8125rem}.mobile-break{display:none}.site-footer{padding:2.5rem max(6%,50% - 620px)}.footer-top{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.footer-top a{padding-block:.5rem;font-size:.875rem}.footer-top .footer-brand{font:600 1.125rem/1.8 var(--serif);margin-right:auto;text-decoration:none}.site-footer>p,.site-footer>small{color:var(--muted);font-size:.75rem;line-height:1.9}.site-footer>small{margin-top:.5rem;display:block}.mobile-contact{display:none}@media (width>=1600px){.hero h1{font-size:3.25rem}}@media (width<=1150px){.site-header nav{gap:1rem}.site-header nav>a:nth-child(3),.site-header nav>a:nth-child(4){display:none}.brand strong{font-size:1.125rem}.hero{gap:3%}.hero-visual .artwork{margin-inline:-.5rem}.hero h1{font-size:2rem}.service-promise p{padding-inline:2rem}.section{padding-block:4.5rem}.concerns,.flow,.operator,.contact-section{gap:2.5rem}.faq{grid-template-columns:1fr 1.8fr;gap:2rem}.operator-table>div{grid-template-columns:6rem minmax(0,1fr);gap:.75rem}}@media (width<=800px){body{font-size:16px}.site-header{gap:1rem;padding:1rem 5%}.site-header nav>a{display:none}.site-header .header-contact{padding:.5rem .75rem;font-size:.8125rem;display:flex}.header-contact svg{display:none}.brand{gap:.5rem}.brand-mark{width:2.5rem;height:2.5rem}.brand strong{font-size:1rem}.section-nav{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 5%;display:flex}.section-nav a{white-space:nowrap;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem .25rem;font-size:.875rem;font-weight:600;text-decoration:underline;display:flex}.hero{grid-template-columns:minmax(0,1fr);gap:.75rem;padding:1rem 6% 2rem}.hero-copy{display:contents}.hero-copy>.eyebrow{grid-row:1}.hero h1{grid-row:2;margin:0;font-size:clamp(1.5rem,5.5vw,2.5rem);line-height:1.85}.hero-visual{grid-row:3}.hero-lead{grid-row:4;max-width:34rem;margin-bottom:.5rem}.hero-copy>.contact-links{grid-row:5}.hero-copy>.service-link{grid-row:6;justify-self:start}.hero .contact-links{max-width:30rem}.hero-visual{width:100%;max-width:38rem;margin:0 auto}.handwritten-note{padding-top:0;font-size:1rem}.hero-caption{display:none}.service-link{margin-top:.75rem}.service-promise{justify-content:space-between;padding:1rem 6%}.service-promise p{text-align:center;flex-direction:column;gap:.375rem;width:33.333%;padding:0 .5rem;font-size:.8125rem}.service-promise svg{width:1.25rem}.section{padding:3.5rem 6%}h2{font-size:1.875rem}.section-heading{margin-bottom:2rem}.concerns,.flow,.faq,.operator,.contact-section{grid-template-columns:1fr;gap:2rem}.concerns>div>p:last-child{margin-top:1rem}.concerns li{gap:.75rem;padding:.875rem 0}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.service-list article{padding:1rem 1.25rem 1.5rem}.service-list h3{font-size:1.125rem}.service-list p{font-size:1rem}.options-block{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem;padding:1.5rem}.price-list article{padding:1.75rem}.price-list .price{font-size:1.5rem}.pricing-bottom{grid-template-columns:1fr;gap:1.5rem}.pricing-bottom .contact-links{max-width:30rem;margin-left:0}.flow .section-heading,.faq .section-heading,.operator .section-heading{margin-bottom:0}.operator-table>div{grid-template-columns:7rem minmax(0,1fr)}.contact-section h2{font-size:1.875rem}.contact-panel{padding:1.5rem}.site-footer{padding:2rem 6% calc(7rem + env(safe-area-inset-bottom))}.footer-top{flex-wrap:wrap;align-items:start;gap:.75rem 1.5rem}.footer-top .footer-brand{width:100%}.mobile-contact{z-index:10;padding:.75rem 5% calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--paper);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-contact>span{color:var(--muted);flex-shrink:0;font-size:.75rem}.mobile-contact .contact-links{flex:1;width:auto;max-width:21rem}.mobile-contact .action{gap:.5rem;min-height:3rem;padding:.625rem .875rem;font-size:.875rem}.mobile-contact .action svg{width:1.125rem;height:1.125rem}:focus-visible,[id]{scroll-margin-bottom:7rem}}@media (width<=480px){.brand-mark{display:none}.brand small{font-size:.6875rem}.brand strong{font-size:.875rem}.site-header .header-contact{padding:.5rem;font-size:.75rem}.site-header{gap:.5rem}.hero .eyebrow{letter-spacing:.02em;font-size:.75rem}.hero{gap:.75rem}.hero-visual .artwork{margin-inline:0}.hero-caption p{font-size:.8125rem}.handwritten-note{letter-spacing:.03em;font-size:.9375rem}.concerns ul{padding:.5rem 1rem}.concerns-art{max-width:17rem;margin-bottom:0}h2{letter-spacing:.02em;font-size:1.625rem}.section{padding-block:3rem}.service-list{grid-template-columns:1fr;gap:1rem}.service-list article{grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.5rem 1rem;padding:1rem;display:grid}.service-top{margin:0}.service-top .service-art{width:4.5rem;height:4rem}.service-top span{font-size:.75rem;top:-.25rem}.service-list h3{margin:0;font-size:1.0625rem}.service-list article>p{grid-column:1/-1}.options-block{padding:1.25rem}.services .section-heading{text-align:left}.local-photo{grid-template-columns:5rem 1fr;gap:.75rem;padding:.75rem}.local-photo img{width:5rem;height:5rem}.local-photo figcaption{font-size:.8125rem}.pricing .section-heading{text-align:left}.price-list{grid-template-columns:1fr}.price-list article{padding:1.5rem}.price-list article+article{border:1px dashed var(--border)}.price-list .price{padding-block:.75rem}.faq summary{gap:.5rem;font-size:.9375rem}.faq-answer{padding-left:2rem;padding-right:.25rem}.operator-table>div{grid-template-columns:5.75rem minmax(0,1fr);font-size:.875rem}.contact-section h2{font-size:1.625rem}.mobile-break{display:block}.contact-panel{padding:1.25rem}.contact-panel h3{font-size:1rem}.mobile-contact{gap:.5rem;padding-inline:4%}.mobile-contact>span{font-size:.6875rem}.mobile-contact .action{font-size:.8125rem}.mobile-contact .action svg:first-child{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
