:root{--ink:#24362d;--text:#39443c;--paper:#fcfcfa;--tint:#f0f2ec;--line:#ccd1c8;--muted:#626d62;--serif:"Noto Serif JP","游明朝","Yu Mincho",serif;--sans:"Noto Sans JP","メイリオ",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:2;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{color:var(--ink);font-size:clamp(30px,3.4vw,49px);line-height:1.85;letter-spacing:.15em}.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}.skip-link{position:fixed;left:20px;top:-100px;background:var(--paper);padding:8px 20px;z-index:100}.skip-link:focus{top:15px}.site-header{position:absolute;top:0;left:0;width:100%;padding:35px 4.5%;display:flex;align-items:center;justify-content:space-between;color:#fff;z-index:30;transition:background .3s,padding .3s,color .3s}.site-header.scrolled{position:fixed;background:rgba(252,252,250,.97);color:var(--ink);padding:16px 4.5%;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;line-height:1.3;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:31px;font-weight:500;letter-spacing:.17em}.brand-place{font-size:12px;letter-spacing:.26em;margin-top:10px}.desktop-nav{display:flex;gap:34px;align-items:center;font-size:14px;letter-spacing:.08em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";height:1px;background:currentColor;position:absolute;bottom:-6px;left:0;width:0;transition:width .25s}.desktop-nav a:hover:after{width:100%}.nav-contact{margin-left:16px;border-left:1px solid #ffffff65;padding-left:30px}.scrolled .nav-contact{border-color:var(--line)}.nav-contact span{padding-left:12px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{min-height:720px;height:94svh;max-height:1120px;position:relative;overflow:hidden;background:#304337;color:white}.hero-image{position:absolute;height:100%;width:100%;object-fit:cover;object-position:55% 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,27,18,.63),rgba(12,27,18,.14) 65%),linear-gradient(180deg,rgba(10,22,13,.25),transparent 25%,transparent 75%,rgba(10,22,13,.32))}.hero-copy{position:absolute;top:32%;left:10%;}.hero-eyebrow{font-size:14px;letter-spacing:.22em;margin-bottom:30px}.hero h1{font-size:clamp(48px,5.6vw,82px);letter-spacing:.19em;line-height:1.65;text-shadow:0 2px 20px #16331b22}.hero-sub{font-size:15px;line-height:2.15;letter-spacing:.13em;margin-top:24px}.hero-scroll{position:absolute;bottom:44px;left:4.5%;display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.15em}.scroll-line{height:1px;width:68px;background:#ffffff80;position:relative}.scroll-line:after{content:"";position:absolute;right:0;bottom:0;width:7px;height:1px;background:white;transform:rotate(40deg);transform-origin:right}.hero-caption{position:absolute;bottom:35px;right:3.3%;font-size:12px;letter-spacing:.13em;color:#f2f5ef}.quick-links{display:grid;grid-template-columns:1.1fr 1fr 1.2fr .8fr;padding:0 8%;align-items:center;min-height:100px;border-bottom:1px solid var(--line);gap:36px;font-size:14px}.quick-links p{font-family:var(--serif);font-size:18px;letter-spacing:.08em}.quick-links a{display:flex;justify-content:space-between;gap:12px;padding:10px 0}.quick-links a:hover{color:#77836b}.section-shell{padding:112px 10%}.section-label{display:flex;align-items:center;gap:15px;font-size:14px;letter-spacing:.17em;margin-bottom:55px;color:var(--ink)}.short-rule{display:inline-block;width:32px;height:1px;background:currentColor}.about{padding-top:140px;padding-bottom:120px}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.about h2{font-size:clamp(31px,3.3vw,49px);line-height:2.05;letter-spacing:.2em}.about-copy{font-size:16px;line-height:2.4;letter-spacing:.075em;padding-top:7px}.about-copy p+p{margin-top:27px}.about-foot{display:flex;justify-content:space-between;align-items:center;margin-top:70px;padding-top:28px;border-top:1px solid var(--line);gap:30px}.about-foot>span{font-size:13px;letter-spacing:.1em;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;padding:12px 0;border-bottom:1px solid var(--ink);font-size:14px;letter-spacing:.05em}.text-link span{font-size:22px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.property{background:var(--tint)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:55px}.section-heading>p{font-size:15px;line-height:2.2;letter-spacing:.035em;padding-bottom:8px}.property-list{border-top:1px solid #adb7a8}.property-list>a{display:grid;grid-template-columns:.7fr 1.8fr 2fr 40px;align-items:center;gap:20px;border-bottom:1px solid #bac3b5;padding:30px 17px;transition:background .25s,padding .25s}.property-list>a:hover{background:#e6eae0;padding-left:28px}.property-kicker{font-size:13px;letter-spacing:.13em}.property-name{font-family:var(--serif);font-size:29px;letter-spacing:.1em}.property-detail{font-size:14px;color:#596552;letter-spacing:.035em}.link-arrow{font-size:28px;justify-self:end;line-height:1.5}.property-note{font-size:13px;margin-top:28px;line-height:2;color:#596552;letter-spacing:.03em}.service{padding-top:130px;padding-bottom:135px}.service-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:9%}.service-intro{margin:25px 0 24px;font-size:15px;letter-spacing:.07em;line-height:2.3}.service-items article{padding:30px 0 35px;border-top:1px solid var(--line)}.service-items article:first-child{padding-top:23px}.service-items article:last-child{padding-bottom:0}.service-caption{font-size:13px;letter-spacing:.1em;color:var(--muted)}.service-items h3{font-size:25px;letter-spacing:.075em;margin:14px 0}.service-items p{font-size:15px;line-height:2.2;color:#576153}.company{border-top:1px solid var(--line);padding-bottom:130px}.company-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:8%;margin-top:65px}.visit-panel{background:#eef0e9;padding:45px 35px;align-self:start}.visit-place{font-size:13px;letter-spacing:.16em}.visit-name{font-family:var(--serif);font-size:31px;letter-spacing:.17em;margin:20px 0 25px}.visit-panel>p:not(.visit-place):not(.visit-name){font-size:15px;line-height:2.15;letter-spacing:.05em}.outline-link{border:1px solid #a3ae9c;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;gap:14px;font-size:14px;margin:30px 0;transition:background .2s}.outline-link:hover{background:#e0e5da}.access-note{font-size:13px;color:#54634e;line-height:2.1}.access-note p+p{margin-top:18px}.company-details{margin:0}.company-details>div{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}.company-details>div:first-child{padding-top:0}.company-details dt{color:var(--muted);font-size:13px}.company-details dd{margin:0;overflow-wrap:anywhere}.company-details dd a:hover{text-decoration:underline}.contact{background:#e8ece2;padding-top:95px;padding-bottom:110px}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}.contact-layout h2{font-size:clamp(30px,3.1vw,44px)}.contact-layout>div>p{font-size:15px;line-height:2.2;letter-spacing:.07em;margin-top:24px}.phone-label{font-size:14px;letter-spacing:.13em}.contact-phone{font-family:var(--serif);font-size:clamp(29px,3.5vw,49px);letter-spacing:.015em;white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;line-height:1.6}.contact-phone span{font-family:var(--sans);font-size:25px}.contact-actions>p{font-size:13px!important;margin-top:9px!important;letter-spacing:0!important}.contact-web{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #a9b59f;border-bottom:1px solid #a9b59f;margin-top:35px;padding:23px 0;font-size:16px;line-height:1.8}.contact-web small{display:block;font-size:12px;margin-top:6px;color:#5b6654}.contact-web>span:nth-child(2){font-size:23px}.contact-web:hover>span:first-child{text-decoration:underline;text-underline-offset:5px}.site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px 30px;padding:50px 5% 25px;font-size:12px;color:#5b6654}.footer-brand{font-family:var(--serif);font-size:23px;letter-spacing:.15em;color:var(--ink)}.back-top{justify-self:end;font-size:12px;letter-spacing:.1em}.back-top span{margin-left:15px}.site-footer small{grid-column:1/-1;text-align:right;font-size:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
@media(min-width:1600px){.section-shell{padding-left:max(10%,calc((100% - 1300px)/2));padding-right:max(10%,calc((100% - 1300px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:20px;font-size:13px}.nav-contact{margin-left:0;padding-left:20px}.brand-name{font-size:27px}.section-shell{padding-left:7%;padding-right:7%}.hero-copy{left:9%}.quick-links{padding:0 6%;gap:25px}.quick-links p{font-size:16px}.about-layout{gap:6%}.service-layout{gap:6%}.property-list>a{grid-template-columns:.55fr 1.4fr 1.8fr 30px}.property-name{font-size:26px}.company-grid{gap:5%}.company-details>div{grid-template-columns:80px 1fr;gap:13px}.visit-panel{padding:36px 27px}}
@media(max-width:800px){html{scroll-padding-top:85px}.site-header{padding:24px 6%}.site-header.scrolled{padding:15px 6%}.brand-name{font-size:25px}.brand-place{font-size:11px;margin-top:6px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:none;color:inherit;border:0;width:44px;height:44px;padding:8px;z-index:50}.menu-toggle span{height:1px;width:28px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header.menu-active{position:fixed;color:var(--ink);background:var(--paper)}.mobile-nav{position:fixed;z-index:25;inset:0;background:var(--paper);padding:135px 9% 45px;overflow-y:auto;display:flex;flex-direction:column}.mobile-nav>a:not(.mobile-phone){font-family:var(--serif);font-size:22px;letter-spacing:.12em;border-bottom:1px solid var(--line);padding:15px 0}.mobile-nav .mobile-phone{font-family:var(--serif);font-size:29px;margin-top:26px}.mobile-nav p{font-size:12px;color:var(--muted)}.hero{height:90svh;min-height:680px;max-height:950px}.hero-copy{top:30%;left:8%}.hero h1{font-size:clamp(43px,7.7vw,65px)}.hero-eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:24px}.hero-sub{font-size:14px}.hero-scroll{left:8%;bottom:33px}.hero-caption{font-size:11px;bottom:31px;right:5%}.quick-links{grid-template-columns:repeat(3,1fr);gap:0;padding:19px 5% 24px;min-height:0}.quick-links>p{grid-column:1/-1;margin-bottom:10px;font-size:15px}.quick-links>a{font-size:12px;padding:9px 14px;border-right:1px solid var(--line);gap:8px;line-height:1.9}.quick-links>a:first-of-type{padding-left:0}.quick-links>a:last-child{border:0;padding-right:0}.section-shell{padding:85px 7%}.section-label{margin-bottom:37px;font-size:13px}.about-layout{grid-template-columns:1fr;gap:30px}.about h2{font-size:35px;line-height:1.85}.about-copy{padding:0 0 0 14%;font-size:15px;line-height:2.4}.about-foot{margin-top:43px;align-items:flex-start;flex-direction:column;gap:16px}.section-heading{align-items:flex-start;flex-direction:column;gap:23px;margin-bottom:35px}.section-heading p{font-size:14px;line-height:2.2}.property-list>a{grid-template-columns:52px 1fr 26px;gap:12px;padding:23px 0}.property-list>a:hover{padding-left:10px}.property-kicker{font-size:12px;grid-row:1/3}.property-name{font-size:25px;line-height:1.5}.property-detail{grid-column:2;font-size:12px;margin-top:-6px}.link-arrow{grid-column:3;grid-row:1/3;font-size:24px}.property-note{font-size:12px;line-height:2}.service-layout{grid-template-columns:1fr;gap:40px}.service-items{margin-left:12%}.service-items h3{font-size:24px}.service-items p{font-size:14px}.company-grid{grid-template-columns:1fr;gap:45px;margin-top:35px}.visit-panel{padding:34px}.company-details>div{grid-template-columns:88px 1fr;gap:14px;padding:17px 0}.company-details dd{font-size:13px}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-actions{padding-left:5%}.contact-phone{font-size:clamp(29px,7vw,44px)}.contact-layout>div>p{font-size:14px}.contact-web{font-size:14px}.contact-web small{font-size:11px}.site-footer{grid-template-columns:1fr auto;padding:35px 7% 22px;gap:13px}.site-footer>span{grid-column:1/-1;grid-row:2}.site-footer small{margin-top:18px}.footer-brand{font-size:22px}.back-top{font-size:11px}}
@media(max-width:400px){.hero h1{font-size:43px}.hero-eyebrow{font-size:11px}.hero-sub{font-size:13px}.hero-caption{right:5%;bottom:14px}.hero-scroll{bottom:40px}.about-copy{padding-left:0}.quick-links a{font-size:11px;padding-left:9px;padding-right:9px}.section-shell{padding:73px 7%}.about h2,h2{font-size:29px}.company-details>div{grid-template-columns:76px 1fr;gap:9px}.visit-panel{padding:27px}.contact-actions{padding-left:0}.contact-phone{font-size:31px}.back-top{font-size:10px}.site-footer{column-gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
