:root{--ink:#243d36;--green:#173f35;--green-light:#eaf0ec;--gold:#95753b;--muted:#5b6a62;--line:#d9e2db;--paper:#fff;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ac7931;outline-offset:5px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}a,button{touch-action:manipulation}.skip-link{position:fixed;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.topline{background:var(--green);color:white;display:flex;justify-content:space-between;padding:5px max(5vw,24px);font-size:.8125rem;letter-spacing:.08em}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:35px;background:rgba(255,255,255,.97);padding:20px 5vw;border-bottom:1px solid var(--line)}.brand{margin-right:auto}.brand img{width:220px;max-width:100%}.desktop-nav{display:flex;gap:30px;font-size:.875rem;white-space:nowrap}.desktop-nav a:hover,.text-link:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;min-height:54px;padding:13px 30px;font-size:.9375rem;letter-spacing:.06em;border:1px solid var(--green);transition:background .2s,color .2s}.button:hover{background:#2d5c4e}.header-cta{min-height:46px;padding:10px 25px;font-size:.875rem}.menu-button{display:none}.mobile-menu[hidden]{display:none}.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px;padding:42px 3vw 40px 7vw;gap:30px;align-items:center}.hero-copy{padding:30px 0 10px}.eyebrow{font-size:.875rem;letter-spacing:.09em;display:flex;align-items:center;gap:12px}.eyebrow span{display:inline-block;width:25px;height:1px;background:var(--gold)}h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.15rem,3.45vw,3.6rem);line-height:1.8;letter-spacing:.03em;margin:24px 0 22px}.hero-description{color:var(--muted);line-height:2.2;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.text-link{font-size:.875rem;padding:7px 0;border-bottom:1px solid var(--gold)}.hero-location{font-size:.75rem;letter-spacing:.12em;margin-top:48px;color:var(--muted)}.hero-location span{padding-left:22px}.hero-visual{position:relative;align-self:stretch;min-height:570px;overflow:hidden;border-radius:180px 0 0 0}.hero-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,32,23,.55))}.hero-visual figcaption{position:absolute;z-index:1;bottom:36px;right:32px;color:white;font-family:var(--serif);font-size:1.0625rem;letter-spacing:.16em;writing-mode:vertical-rl}.mobile-menu{position:absolute;left:0;right:0;top:100%;padding:15px 6vw 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #173f350c}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
@media(min-width:1600px){.hero{padding-left:90px;padding-right:40px}.header{padding-left:max(5vw,calc((100vw - 1420px)/2));padding-right:max(5vw,calc((100vw - 1420px)/2))}}
@media(max-width:1050px){.desktop-nav{gap:18px}.header{gap:22px;padding:16px 4vw}.brand img{width:190px}.hero{padding-left:5vw;gap:15px;min-height:610px}.hero-visual{min-height:520px;border-top-left-radius:140px}.hero-actions{gap:18px}.hero-actions .button{padding:13px 22px}.eyebrow{font-size:.8125rem}}
@media(max-width:800px){html{scroll-padding-top:92px}.topline{padding:4px 6vw;font-size:.75rem}.header{padding:16px 6vw;gap:20px}.brand img{width:184px}.desktop-nav,.header-cta{display:none}.menu-button{display:block;border:1px solid var(--line);background:white;color:var(--ink);padding:8px 12px;min-height:44px;font-size:.875rem}.hero{display:flex;flex-direction:column;align-items:stretch;padding:32px 6vw 0;gap:32px}.hero-copy{padding:5px 0 0}h1{font-size:clamp(2rem,6vw,3.25rem);margin-top:18px;line-height:1.8}.eyebrow{font-size:.8125rem;letter-spacing:.03em}.hero-description{font-size:.9375rem;line-height:2.1}.hero-actions{gap:25px;margin-top:25px;flex-wrap:wrap}.hero-location{margin-top:25px;font-size:.75rem}.hero-visual{min-height:340px;height:340px;margin-right:-6vw;border-radius:115px 0 0 0}.hero-visual figcaption{font-size:.9375rem;right:23px;bottom:25px}}
.wrap{width:min(1140px,88%);margin-left:auto;margin-right:auto}.section{padding-top:112px;padding-bottom:112px}.section-label{font-size:.75rem;color:var(--gold);letter-spacing:.14em;font-weight:600;display:flex;gap:18px;align-items:center;margin-bottom:22px}.section-label span{font-size:.875rem;letter-spacing:.06em;color:var(--muted);font-weight:400}h2{font-family:var(--serif);font-size:clamp(1.85rem,2.5vw,2.65rem);line-height:1.7;font-weight:500;letter-spacing:.06em}h3{font-weight:500;line-height:1.75;font-size:1.1875rem}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:27px 0;gap:0}.quick-links a{padding:8px 30px;display:flex;align-items:center;gap:20px;border-right:1px solid var(--line);font-size:.9375rem}.quick-links a:first-child{padding-left:0}.quick-links a:last-child{border:0}.quick-links a:hover{color:var(--gold)}.quick-links span{color:var(--gold);font-size:.8125rem;font-family:Georgia,serif}.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:9%}.about-text p{margin-bottom:25px;color:var(--muted);line-height:2.2}.about-text .lead{font-family:var(--serif);font-size:1.375rem;color:var(--ink);margin-bottom:28px;line-height:1.9}.about-text .text-link{display:inline-block;margin-top:5px}.care-section{background:var(--green-light)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{color:var(--muted);font-size:.9375rem}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:55px}.care-item{border-top:1px solid #adbbb2;padding-top:23px}.care-number{font-family:Georgia,serif;color:var(--gold);font-size:1.25rem;margin-bottom:19px}.care-number span{font-size:.75rem;letter-spacing:.13em;margin-left:15px}.care-item h3{font-family:var(--serif);font-size:1.55rem;margin-bottom:17px}.care-item>p:not(.care-number){color:var(--muted);margin-bottom:18px}.care-item .care-detail{font-size:.875rem}.care-item .text-link{display:inline-block;margin-top:5px}.care-note{background:#fff9;padding:25px 30px;margin-top:48px;border-left:2px solid #a28b5d;display:grid;grid-template-columns:190px 1fr;gap:26px}.care-note h3{font-size:.9375rem}.care-note p{font-size:.875rem;color:var(--muted);line-height:2}.director{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.nameplate{border-left:1px solid var(--gold);padding:20px 0 20px 32px;margin-top:32px}.role{font-size:.875rem;color:var(--muted)}.nameplate h2{font-size:2.25rem;margin:10px 0 5px;letter-spacing:.14em}.roman-name{font-size:.8125rem;color:var(--gold);letter-spacing:.1em;font-family:Georgia,serif}.director-text h3{font-size:1.625rem;font-family:var(--serif);line-height:1.9;margin-bottom:26px}.director-text p{color:var(--muted);margin-bottom:20px;line-height:2.2}.flow-section{background:#f6f7f5}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;gap:38px;margin:50px 0 40px}.flow-grid li{border-top:1px solid var(--line);padding-top:18px}.step{font-family:Georgia,serif;font-size:1.625rem;color:var(--gold)}.flow-grid h3{margin:17px 0 13px}.flow-grid p{font-size:.9375rem;color:var(--muted)}.fee-note{padding:23px 0 0;border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;flex-wrap:wrap}.fee-note h3{font-size:.9375rem}.fee-note p{font-size:.875rem;color:var(--muted)}.fee-note .text-link{margin-left:auto}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faqs details{border-top:1px solid var(--line);padding:20px 0}.faqs details:last-child{border-bottom:1px solid var(--line)}.faqs summary{list-style:none;cursor:pointer;position:relative;padding-right:30px;font-size:.9375rem;min-height:30px}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:"＋";position:absolute;right:0;color:var(--gold);top:0}.faqs details[open] summary:after{content:"−"}.faqs p{font-size:.9375rem;color:var(--muted);padding:17px 20px 0 0;line-height:2}.access-section{background:#f4f6f3}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.access-caption{font-size:1.0625rem;margin-top:30px;margin-bottom:10px}.access-grid>div>p:not(.section-label){color:var(--muted)}.access-grid .text-link{display:inline-block;margin-top:23px}.hours-panel{align-self:center;border-top:2px solid var(--green);padding:32px 0}.hours-panel h3{font-family:var(--serif);font-size:1.5rem}.hours-panel dl{margin:25px 0}.hours-panel dl div{display:grid;grid-template-columns:130px 1fr;padding:17px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.hours-panel dd{margin:0}.hours-panel dt{color:var(--muted)}.hours-panel p{font-size:.875rem;line-height:2}.contact-section{background:var(--green);color:white;text-align:center;padding:80px 0 85px}.contact-section .section-label{justify-content:center;color:#d1bb8c}.contact-section .section-label span{color:#e0e8e1}.contact-section h2{font-size:clamp(1.7rem,2.8vw,2.65rem)}.contact-description{color:#dee6e0;font-size:.9375rem;margin-top:23px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;max-width:840px;margin:43px auto 0;gap:50px}.contact-grid>div{display:flex;flex-direction:column;justify-content:center;align-items:center}.contact-grid>div+div{border-left:1px solid #527468;padding-left:50px}.contact-label{font-size:.875rem}.phone{font-family:Georgia,serif;font-size:2.35rem;letter-spacing:.025em;line-height:1.6}.contact-small{font-size:.8125rem;color:#dee6e0}.button-light{background:white;color:var(--green);width:100%;margin-bottom:12px}.button-light:hover{background:#e5ece5;color:var(--green)}.email-address{overflow-wrap:anywhere}.footer{display:flex;gap:40px;align-items:center;flex-wrap:wrap;padding-top:40px;padding-bottom:40px}.footer-brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.1em}.footer div span{display:block;font-size:.75rem;color:var(--muted);letter-spacing:.1em}.footer>.text-link{margin-left:auto}.footer small{font-size:.75rem;color:var(--muted)}.mobile-contact{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1050px){.care-grid{gap:40px}.care-note{grid-template-columns:1fr;gap:10px}.faq-section{gap:40px}.fee-note .text-link{margin-left:0}.contact-grid{gap:25px}.contact-grid>div+div{padding-left:25px}}
@media(max-width:800px){.section{padding-top:72px;padding-bottom:72px}.quick-links{padding:18px 0}.quick-links a{padding:3px 12px;gap:6px;flex-direction:column;align-items:start;font-size:.8125rem}.quick-links span{font-size:.75rem}.section-label{display:block;margin-bottom:18px;font-size:.75rem}.section-label span{display:block;margin-top:7px;font-size:.875rem}.about,.director,.faq-section,.access-grid{grid-template-columns:1fr;gap:30px}h2{font-size:1.875rem}.about-text .lead{font-size:1.2rem}.section-heading{display:block}.section-heading>p{margin-top:20px}.care-grid{grid-template-columns:1fr;gap:36px;margin-top:30px}.care-item h3{font-size:1.4rem}.care-note{padding:23px;margin-top:35px}.director-text h3{font-size:1.4rem}.nameplate{margin-top:20px;padding-top:6px;padding-bottom:6px}.flow-grid{grid-template-columns:1fr;gap:27px;margin-top:30px}.flow-grid li{display:grid;grid-template-columns:42px 1fr;gap:4px 14px}.flow-grid h3{margin:3px 0 10px}.flow-grid p{grid-column:2}.fee-note{display:block}.fee-note p{margin:12px 0}.faq-section{gap:25px}.hours-panel{padding-bottom:0}.hours-panel dl div{grid-template-columns:115px 1fr}.contact-section{padding:62px 0}.contact-grid{grid-template-columns:1fr;gap:25px;max-width:390px;margin-top:30px}.contact-grid>div+div{border-left:0;border-top:1px solid #527468;padding-left:0;padding-top:28px}.phone{font-size:2.25rem}.contact-section .section-label span{color:#e0e8e1}.footer{padding-bottom:110px;gap:23px}.footer>.text-link{font-size:.8125rem}.footer small{width:100%}.mobile-contact{position:fixed;z-index:25;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:white;border-top:1px solid var(--line);padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px #173f350a}.mobile-contact a{background:var(--green);color:white;text-align:center;padding:9px;min-height:46px;font-size:.875rem}.mobile-contact a:first-child{background:white;color:var(--green);border:1px solid var(--green)}}
@media(max-width:370px){h1{font-size:1.75rem}.eyebrow{font-size:.75rem}.brand img{width:155px}.hero-actions{gap:20px}.hero-actions .button{padding:13px 19px}.hero-actions .text-link{font-size:.8125rem}.hero-location span{padding-left:10px}}
.voice-section{background:#fff;border-bottom:1px solid var(--line)}.voice-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.voice-method{font-size:1rem;letter-spacing:.08em;color:var(--gold);margin-top:25px}.voice-intro-text p{color:var(--muted);line-height:2.2}.voice-intro-text p+p{margin-top:20px}.voice-intro-text p:first-child{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}.voice-body{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;margin-top:50px;padding-top:36px;border-top:1px solid var(--line)}.voice-body h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:18px}.voice-concerns ul{margin:0 0 22px;padding-left:1.25em}.voice-concerns li{padding:7px 0;color:var(--ink)}.voice-concerns li::marker{color:var(--gold)}.voice-concerns>p,.voice-description p{color:var(--muted);font-size:1rem;line-height:2}.voice-description p+p{margin-top:17px}.voice-risk{background:#f3f5f1;padding:26px 30px;border-left:2px solid var(--gold);margin-top:40px}.voice-risk h3{font-size:1rem;margin-bottom:12px}.voice-risk p{font-size:.9375rem;line-height:2;color:var(--muted)}.voice-risk p+p{margin-top:7px}.voice-contact{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.voice-contact p{font-size:.9375rem;color:var(--muted)}.email-contact{max-width:560px;margin:35px auto 0}.email-contact>.button{max-width:390px;min-height:60px;margin:0 auto 18px}.email-contact-address{display:block;font-size:1rem;overflow-wrap:anywhere;margin-bottom:15px;text-decoration:underline;text-underline-offset:4px}.mobile-break{display:none}
@media(max-width:1050px){.desktop-nav{gap:14px}.header{gap:18px}.header-cta{padding:10px 18px}}
@media(max-width:960px){.desktop-nav,.header-cta{display:none}.menu-button{display:block;border:1px solid var(--line);background:white;color:var(--ink);padding:8px 12px;min-height:44px;font-size:.875rem}}
@media(max-width:800px){.voice-intro,.voice-body{grid-template-columns:1fr;gap:30px}.voice-body{margin-top:35px;padding-top:27px}.voice-intro-text p:first-child{font-size:1.0625rem}.voice-method{margin-top:17px;font-size:.9375rem}.voice-risk{margin-top:30px;padding:22px}.voice-contact{flex-direction:column;align-items:stretch;gap:18px}.voice-contact .button{font-size:.875rem;padding:13px 15px}.mobile-contact{grid-template-columns:1fr}.mobile-contact a:first-child{background:var(--green);color:white;border-color:var(--green)}.mobile-break{display:initial}.email-contact .contact-small{line-height:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.footer-brand img{width:220px;height:auto}
