*{box-sizing:border-box}
:root{--ink:#253c34;--muted:#626e66;--paper:#f8f6f0;--accent:#385347;--line:#d9ddd3;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:2;letter-spacing:.035em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
button{cursor:pointer}
img{display:block;width:100%;height:auto}
button,a,summary{touch-action:manipulation}
:focus-visible{outline:3px solid #bb721e;outline-offset:5px}
::selection{background:#d8e4d5;color:#1e392d}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:8px 20px;background:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{height:106px;padding:0 clamp(24px,4.8vw,76px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}
.brand{width:230px;flex-shrink:0}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600;letter-spacing:.08em}
.desktop-nav a:not(.contact-link){border-bottom:1px solid transparent;padding:8px 0}
.desktop-nav a:hover{border-bottom-color:currentColor}
.contact-link{padding:12px 25px;background:var(--accent);color:white;border-radius:2px}
.contact-link:hover{filter:brightness(1.13)}
.mobile-menu{display:none}
.hero{position:relative}
.hero-heading{position:relative;z-index:1}
.eyebrow{font-family:Georgia,serif;line-height:1;font-size:17px;letter-spacing:.12em;margin:0}
.hero-category{font-size:11px;margin:8px 0 0;letter-spacing:.13em}
h1{font-weight:500;line-height:1.48;letter-spacing:.09em;margin:0;font-family:var(--serif)}
.facility-type,.facility-title{display:block}
.facility-type{font-family:var(--sans);font-size:18px;letter-spacing:.12em;margin-bottom:14px;font-weight:500}
.hero-address{font-size:12px;letter-spacing:.045em;line-height:1.8}
.hero-address:before{content:"";display:inline-block;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;margin-right:9px}
.section-shell{max-width:1280px;margin-inline:auto;padding-inline:clamp(24px,4.8vw,72px)}
.section-title{font-weight:500;font-family:var(--serif);font-size:32px;line-height:1.8;letter-spacing:.05em;margin:0}
.section-title em{display:block;font-size:13px;font-style:normal;font-family:Georgia,serif;letter-spacing:.11em;line-height:1.8;margin-top:11px;color:var(--muted)}
.wp-block-paragraph{font-size:15px;line-height:2.35;margin:24px 0 0;overflow-wrap:anywhere}
.video-frame{aspect-ratio:16/9;overflow:hidden;background:#ebe9e1}
.video-frame iframe{border:0;display:block;width:100%;height:100%}
.section-heading{display:flex;gap:26px;align-items:flex-start}
.section-number{font-family:Georgia,serif;font-size:14px;letter-spacing:.04em;line-height:2.4;border-top:1px solid currentColor;padding-top:4px;width:35px;flex-shrink:0;margin-top:13px}
.photo-grid{display:grid;gap:36px 32px;margin-top:54px}
figure{margin:0;min-width:0}
.photo-button{border:0;padding:0;background:transparent;display:block;width:100%;overflow:hidden}
.photo-button img{width:100%;aspect-ratio:635/440;object-fit:cover;transition:transform .4s ease}
.photo-button:hover img{transform:scale(1.025)}
figcaption{padding:14px 0;font-size:14px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
figcaption span{font-family:Georgia,serif;font-size:11px;color:var(--muted)}
.environment-copy{max-width:730px}
.recruit-copy,.residents-copy{max-width:750px}
.link.external{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:54px;padding:12px 26px;border:1px solid var(--accent);color:var(--accent);font-size:14px;line-height:1.8;transition:background .2s,color .2s}
.link.external:after{content:"↗";font-size:18px;font-family:var(--sans)}
.link.external:hover{background:var(--accent);color:#fff}
.recruit-image{margin-top:50px;width:100%;height:auto}
.back-link{padding-block:34px 76px;text-align:center;font-size:13px}
.back-link a{padding:12px 30px;border-bottom:1px solid var(--line)}
.site-footer{padding:72px clamp(24px,4.8vw,76px) 28px;border-top:1px solid var(--line)}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1136px;margin:auto}
.footer-identity img{width:230px;margin-bottom:26px}
.footer-identity p{font-size:12px;margin:6px 0;line-height:1.9}
.footer-identity>a:not(:first-child){font-size:13px}
.footer-map{display:inline-block;margin-left:20px;text-decoration:underline;text-underline-offset:5px}
.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;font-size:12px;align-content:start}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.copyright{font-size:10px;max-width:1136px;margin:60px auto 0;letter-spacing:.06em;color:var(--muted)}
.photo-dialog{width:min(960px,calc(100% - 32px));border:0;padding:24px;background:var(--paper);color:var(--ink);max-height:92vh;overflow:auto}
.photo-dialog::backdrop{background:rgba(15,29,23,.8)}
.dialog-close{display:block;margin:0 0 16px auto;border:1px solid var(--line);background:transparent;color:inherit;padding:6px 16px;font-size:13px}
.photo-dialog img{max-height:70vh;object-fit:contain}
.photo-dialog p{margin:16px 0 0;font-size:14px}
@media(max-width:900px){.desktop-nav{gap:18px;font-size:12px}.brand{width:190px}.site-header{height:88px}.contact-link{padding:10px 16px}.section-title{font-size:27px}}
@media(max-width:680px){html{scroll-padding-top:24px}.site-header{height:83px;padding-inline:24px}.brand{width:180px}.desktop-nav{display:none}.mobile-menu{display:block;font-size:12px}.mobile-menu summary{cursor:pointer;list-style:none;border-bottom:1px solid var(--ink);padding:6px 0}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] nav{position:absolute;top:82px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;display:grid;gap:15px;box-shadow:0 10px 18px #0000000a}.section-title{font-size:23px;line-height:1.85}.wp-block-paragraph{font-size:14px;line-height:2.25}.section-heading{gap:17px}.section-number{width:23px;margin-top:8px}.photo-grid{gap:26px 18px;margin-top:32px}figcaption{font-size:12px;gap:10px;padding:10px 0}.footer-top{grid-template-columns:1fr;gap:38px}.footer-nav{gap:15px 18px;font-size:11px}.site-footer{padding-top:48px}.copyright{margin-top:38px}.recruit-image{margin-top:32px}.link.external{gap:35px}.photo-dialog{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
