:root{--ink:#292c29;--paper:#f7f6f2;--line:#d7d7cd;--sage:#7c8170;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}button{cursor:pointer}header{height:100px;padding:0 4%;display:flex;align-items:center;gap:38px;background:var(--paper);position:relative;z-index:15}.brand{display:block;width:200px;flex-shrink:0}.brand img{object-fit:contain;width:100%;height:auto}.desktop{display:flex;align-items:center;justify-content:flex-end;gap:30px;flex:1}.desktop a{font-size:12px;letter-spacing:.08em;white-space:nowrap}.desktop a:hover{color:var(--sage)}.header-contact{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--ink);padding:17px 21px}.header-contact:hover{background:var(--ink);color:var(--paper)}#menu-toggle{display:none}.hero{position:relative;height:calc(100svh - 160px);min-height:570px;max-height:940px;margin:0 24px;overflow:hidden;color:white;background:#3f423a}.hero-img{width:100%;height:100%;object-position:center 53%;animation:arrive 1.5s ease-out}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.05) 80%),linear-gradient(0deg,rgba(0,0,0,.30),transparent 45%)}.hero-copy{position:absolute;left:7%;top:20%}.eyebrow{font-size:10px;letter-spacing:.2em;line-height:1.7;font-weight:500}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.7vw,76px);letter-spacing:.17em;line-height:1.65;margin:35px 0 20px;text-shadow:0 2px 24px #0003}.hero-sub{font-size:13px;letter-spacing:.16em}.hero-link{position:absolute;right:6%;bottom:65px;font-size:12px;letter-spacing:.1em;display:flex;align-items:center;gap:45px}.hero-link span{border:1px solid #fff8;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:23px}.hero-index{position:absolute;left:7%;bottom:52px;display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.1em}.hero-index i{height:1px;width:75px;background:#fff9}.hero-foot{padding:22px 6%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em}.hero-foot p{margin:0}.hero-foot p span{margin-left:22px;color:#777}.hero-foot>a{font-size:9px;letter-spacing:.15em}.hero-foot>a span{margin-left:25px}.section{padding:110px 8%}.section-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;font-size:10px;letter-spacing:.14em}.section-label span:last-child{font-size:11px;letter-spacing:.07em}h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.1vw,48px);letter-spacing:.12em;line-height:1.8}.concept-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:75px 6% 10px}.concept-inner h2{margin:0}.concept-text{padding-top:8px;font-size:13px;line-height:2.4;letter-spacing:.065em}.concept-text p{margin:0 0 27px}.text-link{font-size:12px;letter-spacing:.06em;border-bottom:1px solid #aaa;display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:35px}.text-link span{font-size:21px}.text-link:hover{border-color:var(--ink);color:var(--sage)}.works{padding-top:65px;background:#eeeee7}.works-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.muted{color:#666c5d}.works-heading h2{margin:12px 0 0}.small-description{font-size:12px;line-height:2.2;letter-spacing:.07em;margin-bottom:14px}.work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px 7%}.work-item{border:0;background:none;padding:0;text-align:left;min-width:0}.image-wrap{position:relative;overflow:hidden}.image-wrap img{width:100%;height:400px;transition:transform .7s}.offset{margin-top:150px}.offset img{height:340px}.third{width:86%;grid-column:1}.third img{height:350px}.work-item:hover img{transform:scale(1.035)}.round-arrow{position:absolute;right:20px;bottom:20px;border-radius:50%;width:43px;height:43px;background:#f7f6f2ee;display:grid;place-items:center;font-size:21px}.work-caption{padding-top:23px}.work-caption>span:first-child{font-size:9px;letter-spacing:.15em;color:#6c6d62}.work-caption h3{font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:.1em;margin:12px 0}.photo-label{font-size:10px;color:#626759}.works-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:65px}.works-bottom p{font-size:12px;letter-spacing:.04em}.outline-link{border:1px solid #aaa;padding:22px 26px;display:flex;align-items:center;gap:70px;font-size:12px}.outline-link:hover{background:var(--ink);color:var(--paper)}.full-photo{height:620px;position:relative;overflow:hidden;color:white}.full-photo:after{content:'';position:absolute;inset:0;background:#0003}.full-photo img{height:100%;width:100%;object-position:center}.full-photo>p{position:absolute;z-index:1;left:8%;top:90px;font-size:clamp(35px,4.8vw,76px);font-family:Georgia,serif;line-height:1.2;font-weight:400;letter-spacing:-.02em}.full-photo>span{position:absolute;z-index:1;left:8%;bottom:90px;font-size:13px;letter-spacing:.15em}.quality-top{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:35px}.quality-top>p{font-size:12px;line-height:2.4;letter-spacing:.06em}.quality-list{margin:35px 0 0 34%}.quality-list>a{border-top:1px solid var(--line);padding:30px 0;display:flex;gap:35px;align-items:flex-start}.quality-list>a:last-child{border-bottom:1px solid var(--line)}.number{font-family:Georgia,serif;font-size:14px;color:#777;padding-top:6px}.quality-list h3{font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:.06em;margin:0 0 12px}.quality-list p{font-size:11px;line-height:1.8;color:#666;margin:0}.arrow{margin-left:auto;font-size:22px}.quality-list>a:hover{color:var(--sage)}.visit{display:grid;grid-template-columns:1fr 1fr;background:#eeeee7}.visit-photo{min-height:620px}.visit-photo img{height:100%;width:100%;object-position:center}.visit-copy{padding:85px 14%}.visit-copy h2{font-size:34px;margin:27px 0}.visit-copy>p:not(.eyebrow){font-size:12px;line-height:2.3;margin-bottom:30px}.contact{background:#555e50;color:#faf9f4;text-align:center;padding-top:100px;padding-bottom:105px}.contact h2{font-size:43px;margin:28px 0}.contact>p:not(.eyebrow){font-size:12px;line-height:2.2;letter-spacing:.08em}.contact-links{display:flex;max-width:760px;margin:45px auto 0;gap:25px}.contact-links a{border:1px solid #a9b09e;flex:1;display:flex;justify-content:space-between;align-items:center;padding:24px;font-size:12px}.contact-links a:hover{background:var(--paper);color:var(--ink)}footer{padding:70px 8% 22px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{font-size:10px;line-height:2.2;color:#696c63;margin-top:25px}.phone{font-family:Georgia,serif;font-size:25px;letter-spacing:.03em}.footer-top .phone+p{margin-top:10px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:25px 60px;align-content:start;padding-top:20px;font-size:11px}.footer-bottom{margin-top:45px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.1em}.footer-bottom small{font-size:9px;color:#777}.draft-note{font-size:9px;color:#85887b;text-align:center;margin:30px 0 0}.skip{position:absolute;top:-80px;left:20px;padding:15px;background:white;z-index:100}.skip:focus{top:8px}dialog{border:0;padding:0;background:var(--paper);width:min(1100px,94vw);max-height:94svh;color:var(--ink)}dialog::backdrop{background:#111c}dialog>img{width:100%;max-height:73svh;object-fit:contain;background:#222}#close-gallery{display:block;margin-left:auto;border:0;background:none;padding:15px 22px;font-size:12px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 25px;font-size:12px}.gallery-bottom a{white-space:nowrap}.reveal{transition:opacity .8s,transform .8s}.js-ready .reveal:not(.seen){opacity:0;transform:translateY(22px)}@keyframes arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1700px){.section{padding-left:max(8%,calc((100vw - 1420px)/2));padding-right:max(8%,calc((100vw - 1420px)/2))}}
@media(max-width:1100px){header{gap:22px;height:85px}.brand{width:165px}.desktop{gap:18px}.desktop a{font-size:10px}.header-contact{padding:14px;font-size:10px;gap:15px}.hero{margin:0 16px;min-height:550px}.section{padding:85px 7%}.concept-inner{padding:60px 0 0;gap:8%}.work-grid{gap:55px 6%}.image-wrap img{height:320px}.offset img{height:280px}.third img{height:300px}.quality-list{margin-left:20%}.visit-copy{padding:65px 12%}.visit-copy h2{font-size:29px}}
@media(max-width:760px){html{scroll-padding-top:25px}header{height:80px;padding:0 6%;gap:16px}.brand{width:150px}.desktop,.header-contact{display:none}#menu-toggle{display:flex;margin-left:auto;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;background:none;border:0;padding:7px}#menu-toggle span{height:1px;background:var(--ink);width:28px;transition:transform .25s}#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)}#mobile-menu{position:absolute;z-index:12;inset:80px 0 auto;background:var(--paper);border-bottom:1px solid var(--line);padding:30px 8% 45px}#mobile-menu[hidden]{display:none}#mobile-menu nav{display:grid;gap:0}#mobile-menu a{padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.hero{height:calc(100svh - 155px);min-height:530px;max-height:780px;margin:0 10px}.hero-img{object-position:62% center}.hero-copy{top:18%;left:8%}.hero .eyebrow{font-size:8px;letter-spacing:.16em}.hero h1{font-size:41px;margin-top:30px;letter-spacing:.12em;line-height:1.85}.hero-sub{font-size:10px;letter-spacing:.08em}.hero-link{right:8%;bottom:73px;gap:20px;font-size:10px}.hero-link span{width:43px;height:43px}.hero-index{left:8%;bottom:30px;font-size:8px}.hero-index i{width:40px}.hero-foot{padding:20px 7% 5px;font-size:9px}.hero-foot p span{display:block;margin:7px 0 0;font-size:8px}.hero-foot>a{display:none}.section{padding:75px 8%}.section-label{font-size:8px;letter-spacing:.09em;padding-top:18px}.section-label span:last-child{font-size:9px}.concept-inner{display:block;padding:38px 0 0}.concept-inner h2{font-size:33px;line-height:1.8}.concept-text{font-size:12px;line-height:2.5;padding-top:30px}.concept-text p{margin-bottom:23px}.text-link{font-size:11px}.works-heading{display:block;margin-bottom:35px}.works-heading h2{font-size:33px}.small-description{font-size:11px;margin-top:20px}.work-grid{display:block}.work-item{display:block;width:100%;margin:0 0 42px}.image-wrap img,.offset img,.third img{height:auto;aspect-ratio:1.22;object-fit:cover}.work-item.offset{width:88%;margin-left:auto}.work-item.third{width:90%}.work-caption{padding-top:17px}.work-caption h3{font-size:16px}.photo-label{font-size:9px}.works-bottom{display:block;margin-top:25px}.works-bottom p{font-size:10px;line-height:2}.outline-link{margin-top:24px;font-size:11px;justify-content:space-between;padding:20px}.full-photo{height:430px}.full-photo>p{top:80px;font-size:42px}.full-photo>span{font-size:11px;bottom:60px}.quality-top{display:block;padding-top:25px}.quality-top h2{font-size:32px}.quality-top>p{font-size:11px}.quality-list{margin:30px 0 0}.quality-list>a{gap:18px;padding:27px 0}.quality-list h3{font-size:16px;line-height:1.8}.quality-list p{font-size:10px}.quality-list .arrow{font-size:18px}.visit{display:block}.visit-photo{min-height:0;height:340px}.visit-copy{padding:50px 8% 65px}.visit-copy h2{font-size:31px}.visit-copy>p:not(.eyebrow){font-size:11px}.contact{padding-top:70px;padding-bottom:70px}.contact h2{font-size:31px;letter-spacing:.08em}.contact>p:not(.eyebrow){font-size:11px}.contact-links{display:grid;gap:15px;margin-top:35px}.contact-links a{font-size:11px;padding:22px}footer{padding:55px 8% 20px}.footer-top{display:block}.footer-nav{gap:23px;padding-top:30px}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:8px}.footer-bottom a{font-size:8px}.gallery-bottom{display:block;padding:12px 18px}.gallery-bottom p{line-height:1.8}.gallery-bottom a{display:block;padding-bottom:10px}dialog>img{max-height:65svh}.draft-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal:not(.seen){opacity:1;transform:none}}

.guide-funnel{padding:75px 7%;margin:50px auto 80px;background:#eeeee7;display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;max-width:1440px}.guide-funnel h2,.guide-request-intro h2{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:400;line-height:1.8;letter-spacing:.06em}.guide-funnel p,.guide-request-intro p{font-size:13px;line-height:2.2}.guide-funnel figure,.guide-request-intro figure{margin:0}.guide-funnel figure img{width:100%;max-height:420px;object-fit:contain}.funnel-primary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 25px;background:#606758;color:white;font-size:13px;line-height:1.7;margin:25px 0 16px;max-width:450px}.funnel-secondary{display:block;font-size:12px;line-height:2;margin:18px 0}.guide-funnel .funnel-note,.funnel-note{font-size:10px;line-height:1.8;color:#666}.guide-funnel-compact{display:block;padding:50px 7%}.guide-request-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:80px}.guide-request-intro img{width:100%;aspect-ratio:4/3;object-fit:cover}.guide-request-form{padding-top:35px;border-top:1px solid var(--line)}@media(max-width:760px){.guide-funnel,.guide-request-intro{grid-template-columns:1fr;gap:30px;padding:40px 7%}.guide-funnel p,.guide-request-intro p{font-size:12px}.guide-funnel figure img{max-height:300px}.guide-request-intro{padding:0}.funnel-primary{font-size:12px}.guide-funnel{margin-top:25px;margin-bottom:45px}}
.home-private{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center;background:#e8ebe3;padding:95px 7%;margin:30px 0 80px}.home-private figure{margin:0;aspect-ratio:4/3}.home-private img{width:100%;height:100%;object-fit:cover}.home-private h2{font-size:38px;line-height:1.9;font-weight:400}.home-private p{font-size:12px;line-height:2.3}.home-private>div>p:first-child{font-size:10px;letter-spacing:.14em}.home-private a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #9da590;padding:20px 0;font-size:12px}.desktop{gap:22px}@media(max-width:760px){.home-private{grid-template-columns:1fr;padding:45px 7%;gap:25px;margin-bottom:45px}.home-private h2{font-size:30px}.home-private p{font-size:11px}.home-private a{font-size:11px}}

.guide-preview{min-width:0}.guide-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.guide-funnel .guide-preview-grid figure{margin:0;min-width:0}.guide-funnel .guide-preview-grid img{width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover}.guide-preview-grid figcaption{font-size:9px;line-height:1.7;margin-top:6px;color:#666}.guide-preview>p{font-size:11px;text-align:center;margin:18px 0 0}.guide-funnel:has(.guide-preview){grid-template-columns:1fr 1.2fr;gap:40px}@media(max-width:760px){.guide-funnel:has(.guide-preview){grid-template-columns:1fr}.guide-preview-grid{gap:13px 9px}.guide-preview-grid figcaption{font-size:9px}}
