:root{--paper:#f8f7f3;--ink:#29342e;--muted:#69716b;--line:#d7dbd2;--green:#344b40;--tint:#eeefe8;--serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.035em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:6px}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b2763e;outline-offset:6px}button{font:inherit;color:inherit}figure,p,h1,h2,h3,dl,dd{margin:0}img{max-width:100%;height:auto;display:block;object-fit:cover}figure img{width:100%;height:auto}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65;letter-spacing:.1em}h1{font-size:clamp(30px,3.25vw,48px)}h2{font-size:clamp(25px,2.6vw,36px)}h3{font-size:30px}p+p{margin-top:1em}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.8;margin-bottom:16px;color:var(--muted)}.skip{position:fixed;top:-90px;left:12px;z-index:100;padding:10px 24px;background:var(--ink);color:white}.skip:focus{top:10px}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 42px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:24px}.brand img{width:180px;height:auto;object-fit:contain}.brand span{font-size:10px;letter-spacing:.12em;color:var(--muted)}.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:12px}.header-contact{font-size:12px;padding:9px 18px;border:1px solid var(--green);min-height:44px}.header-contact span{margin-left:22px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span{display:block;background:var(--ink);height:1px;width:24px;margin:7px 0}.mobile-nav{position:absolute;z-index:30;top:74px;left:0;width:100%;padding:16px 24px 24px;background:var(--paper);box-shadow:0 10px 16px #29342e12}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.hero-heading{padding-block:60px 48px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.hero-heading .eyebrow{margin-bottom:14px}.hero-note{font-size:14px;line-height:2.3;padding-bottom:8px}.hero-photo{margin:0 32px}.hero-photo>img{width:100%;height:min(59vw,690px);object-position:50% 65%}.hero-photo figcaption{display:flex;justify-content:space-between;align-items:center;padding:15px 0;color:var(--muted);font-size:11px;letter-spacing:.1em}.hero-photo figcaption a{color:var(--ink)}.hero-photo figcaption a span{margin-left:32px}.breadcrumb{display:flex;gap:14px;color:var(--muted);font-size:10px;padding-block:12px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:100px 120px}.intro>div{max-width:550px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding-bottom:38px;border-bottom:1px solid var(--line)}.case-index{display:flex;gap:25px;font-size:12px;padding-bottom:9px}.case-index a{white-space:nowrap}.project{padding-top:55px;margin-bottom:100px;scroll-margin-top:30px}.project-head{display:grid;grid-template-columns:70px 1fr 1fr;align-items:center;gap:20px;margin-bottom:28px}.project-number{font-family:Georgia,serif;font-size:40px;color:#8c978e;align-self:start;line-height:1.7}.location{color:var(--muted);font-size:11px;margin-bottom:3px}.project-concept{font-family:var(--serif);font-size:23px;letter-spacing:.08em;line-height:1.8;justify-self:end;min-width:290px}.sakura-pair{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.sakura-pair img{aspect-ratio:1.5;object-fit:cover}.sakura-pair figure:last-child{padding-top:88px}.sakura-pair figure:last-child img{aspect-ratio:1.32}.project figcaption{color:var(--muted);font-size:10px;padding-top:10px;line-height:1.8}.project-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:34px}.project-story{font-size:14px}.text-link{display:inline-flex;justify-content:space-between;gap:42px;align-items:center;border-bottom:1px solid var(--ink);padding:9px 0 7px;font-size:12px;min-height:44px}.project-story .text-link{margin-top:20px}.text-link:hover{text-decoration:none;opacity:.7}.performance{align-self:start;padding-top:7px}.performance dl{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:14px}.performance dl>div+div{border-left:1px solid var(--line);padding-left:25px}.performance dt{font-size:11px;white-space:nowrap}.performance dt small{font-size:9px;margin-left:5px}.performance dd{font-family:Georgia,serif;font-size:34px;line-height:1.6;letter-spacing:0}.performance>p{font-size:10px;color:var(--muted);padding-top:9px}.katagami-pair{display:grid;grid-template-columns:2.23fr 1fr;gap:20px;align-items:start}.katagami-pair figure:first-child img{aspect-ratio:1.5}.katagami-pair figure:last-child img{aspect-ratio:.672}.nigorikawa-main img{aspect-ratio:1.8;object-position:50% 50%}.nigorikawa-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;margin-top:38px;align-items:start}.nigorikawa-bottom img{aspect-ratio:1.5}.features{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:24px 0 0;padding:0}.features li{font-size:10px;border:1px solid var(--line);padding:2px 9px}.spec-note{font-size:10px;color:var(--muted);padding:24px 0 0;line-height:1.9}.approach{margin-top:100px;padding-block:90px;background:var(--tint)}.approach .section-heading{border:0;padding-bottom:45px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.principles article{border-top:1px solid #bdc5b9;padding-top:20px}.principle-num{font-size:10px;color:var(--muted);letter-spacing:.12em}.principles h3{font-size:22px;margin-block:14px}.principles p{font-size:13px}.renovation{padding-block:100px}.renovation .section-heading{border:0;padding-bottom:40px}.reno-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.reno-images{width:100%;max-width:460px;margin-inline:auto}.reno-images img{width:100%;height:auto;object-fit:contain}.reno-images figcaption{font-size:10px;color:var(--muted);padding-top:10px;line-height:1.8}.reno-story{padding-block:20px}.reno-lead{font-family:var(--serif);font-size:22px;line-height:1.8;margin-top:25px;letter-spacing:.07em}.reno-story>p:not(.reno-lead):not(.location){font-size:14px;margin-top:20px}.reno-spec{display:flex;gap:38px;border-block:1px solid var(--line);padding-block:14px;margin-block:24px}.reno-spec>div{display:flex;gap:15px;align-items:baseline}.reno-spec dt{font-size:11px}.reno-spec dd{font-family:Georgia,serif;font-size:25px}.reno-spec small{font-family:var(--sans);font-size:10px}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding-bottom:110px}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{font-size:13px;list-style:none;cursor:pointer;padding:24px 30px 24px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;font-size:21px;top:17px;font-weight:300}details[open] summary:after{content:'−'}details p{font-size:13px;padding:0 25px 24px 0;color:var(--muted);line-height:2}.contact{background:var(--green);color:#fafbf6;padding:85px 0}.contact .eyebrow{color:#d7dfd3}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact h2{font-size:30px}.contact p:not(.eyebrow){font-size:13px;margin-top:23px}.contact .contact-note{font-size:11px!important;color:#d7dfd3}.contact-actions{max-width:390px;justify-self:end;width:100%}.button{display:flex;justify-content:space-between;align-items:center;padding:21px 23px;background:var(--paper);color:var(--ink);font-size:13px;gap:20px}.button:hover{background:white;text-decoration:none}.contact-actions>p{font-size:10px!important;margin-top:28px!important}.phone{font-family:Georgia,serif;font-size:28px;line-height:1.8;letter-spacing:.04em}.site-footer{padding:55px 0 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}.footer-main img{width:180px;height:auto}.footer-main p{font-size:10px;line-height:2;margin-top:22px;color:var(--muted)}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;font-size:11px;align-content:start;padding-top:12px}.site-footer>small{flex-basis:100%;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.mobile-only{display:none}
@media(min-width:1600px){.hero-photo{max-width:1680px;margin-inline:auto}.hero-photo>img{height:760px}}
@media(max-width:1100px){.brand span{display:none}.site-header{gap:24px;padding-inline:30px}.desktop-nav{gap:20px}.wrap{width:calc(100% - 64px)}.intro{gap:50px}.project-bottom{gap:40px}.project-concept{min-width:240px}.principles{gap:30px}.reno-layout{gap:40px}.reno-story{padding-top:0}.contact h2{font-size:27px}}
@media(max-width:760px){html{scroll-padding-top:28px}.wrap{width:calc(100% - 40px)}.site-header{height:74px;padding:0 20px;gap:16px}.brand img{width:144px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:block;margin-left:auto}.hero-heading{display:block;padding:37px 0 28px}.hero-heading h1{font-size:clamp(25px,7vw,30px);letter-spacing:.05em}.hero-heading .eyebrow{font-size:10px;margin-bottom:12px}.hero-note{font-size:12px;line-height:2;margin-top:20px;padding:0}.hero-photo{margin-inline:0}.hero-photo>img{height:auto;aspect-ratio:1.25;object-position:50% 65%}.hero-photo figcaption{font-size:9px;padding:12px 20px}.hero-photo figcaption a span{margin-left:12px}.breadcrumb{font-size:9px;padding-block:15px}.intro{display:block;padding:55px 0 68px}.intro h2{font-size:27px;margin-bottom:28px}.intro>div{font-size:13px;line-height:2.1}.section-heading{display:block;padding-bottom:25px}.section-heading .eyebrow{font-size:10px;margin-bottom:10px}.section-heading h2{font-size:26px}.case-index{gap:30px;padding:22px 0 0;font-size:11px}.project{padding-top:32px;margin-bottom:65px}.project-head{grid-template-columns:40px 1fr;gap:10px;margin-bottom:23px}.project-number{font-size:29px}.project-head h3{font-size:29px}.location{font-size:10px}.project-concept{grid-column:2;justify-self:start;font-size:18px;line-height:1.7;margin-top:9px}.project-concept br{display:none}.sakura-pair{grid-template-columns:1fr;gap:22px}.sakura-pair figure:last-child{padding-top:0;width:74%;margin-left:auto}.sakura-pair figure:last-child img{aspect-ratio:1.5}.project figcaption{font-size:9px;padding-top:7px}.project-bottom{grid-template-columns:1fr;gap:28px;margin-top:25px}.project-story{font-size:13px}.project-story .text-link{margin-top:14px}.performance dl>div+div{padding-left:22px}.performance dd{font-size:30px}.performance dt{font-size:10px}.performance>p{font-size:9px}.katagami-pair{grid-template-columns:1fr;gap:22px}.katagami-pair figure:last-child{width:57%;margin-left:auto}.katagami-pair figure:last-child img{aspect-ratio:.78}.nigorikawa-main img{aspect-ratio:1.3;object-position:43% 50%}.nigorikawa-bottom{grid-template-columns:1fr;gap:25px;margin-top:25px}.nigorikawa-bottom .project-story{grid-column:1/-1}.nigorikawa-bottom figure img{aspect-ratio:1.5}.features{margin-top:17px}.spec-note{font-size:9px}.approach{margin-top:65px;padding:55px 0}.approach .section-heading{padding-bottom:30px}.approach .text-link{margin-top:18px}.principles{grid-template-columns:1fr;gap:28px}.principles h3{font-size:22px;margin-block:10px}.principles p{font-size:13px}.renovation{padding:65px 0}.reno-layout{display:block}.reno-images{padding-bottom:0}.reno-story{padding-top:28px}.reno-story h3{font-size:29px}.reno-story .reno-lead{font-size:21px;margin-top:18px}.reno-story>p:not(.reno-lead):not(.location){font-size:13px}.reno-spec{gap:22px}.reno-spec>div{gap:10px}.faq{display:block;padding-bottom:65px}.faq h2{font-size:27px}.faq>div:first-child{margin-bottom:28px}.faq .eyebrow{margin-bottom:10px}summary{font-size:12px;padding-block:22px;line-height:1.9}details p{font-size:12px}.contact{padding:55px 0}.contact-inner{display:block}.contact h2{font-size:24px;letter-spacing:.05em}.contact p:not(.eyebrow){font-size:12px}.contact .eyebrow{font-size:10px}.contact-actions{max-width:none;margin-top:30px}.button{font-size:12px;padding:19px}.phone{font-size:28px}.site-footer{padding-top:40px;display:block}.site-footer nav{margin-top:28px;grid-template-columns:1fr 1fr;gap:14px;font-size:10px}.site-footer>small{display:block;margin-top:32px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
