:root{--ivory:#faf9f6;--ink:#2c2926;--taupe:#a79688;--line:#d8d0c7;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--roman:"Times New Roman",Georgia,serif;--sans:"Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--serif);line-height:2;letter-spacing:.07em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.notice{height:30px;background:#eeeae4;text-align:center;font:9px/30px var(--sans);letter-spacing:.13em;color:#7f776f}.site-header{height:94px;padding:0 4.2vw;display:flex;align-items:center;justify-content:space-between;background:rgba(250,249,246,.97);border-bottom:1px solid var(--line);position:relative;z-index:10}.site-header.overlay{position:absolute;top:30px;left:0;right:0;background:transparent;color:#fff;border:0}.brand{display:flex;align-items:center;gap:16px;font:24px/1 var(--roman);letter-spacing:.27em}.mark{width:34px;height:48px;display:inline-block;position:relative;border:1px solid currentColor;border-bottom:0;border-radius:18px 18px 0 0;transform:scale(.78)}.mark:before{content:"";position:absolute;inset:7px 7px 0;border:1px solid currentColor;border-bottom:0;border-radius:11px 11px 0 0}.mark:after{content:"";position:absolute;bottom:0;right:7px;height:26px;border-left:7px solid currentColor;opacity:.72}.nav{display:flex;gap:43px;font:13px/1 var(--roman);letter-spacing:.16em}.nav a{padding:10px 0;border-bottom:1px solid transparent}.nav a.active,.nav a:hover{border-color:currentColor}.menu-button{display:none;border:0;background:none;color:inherit;font:11px var(--roman);letter-spacing:.16em}.hero{height:calc(100svh - 30px);min-height:720px;position:relative;background:url('assets/hero-refined.png') center/cover no-repeat;color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,25,21,.28),rgba(30,25,21,0) 64%)}.hero-copy{position:absolute;z-index:1;left:11.7vw;top:50%;transform:translateY(-37%);max-width:590px}.hero-name{font:52px/1 var(--roman);letter-spacing:.27em;margin-bottom:22px}.hero h1{font:400 28px/1.7 var(--serif);letter-spacing:.11em;margin:0 0 44px}.hero p{font-size:14px;line-height:2.15;letter-spacing:.1em;margin:0 0 30px}.scroll{position:absolute;z-index:1;bottom:28px;left:50%;font:11px var(--roman);letter-spacing:.25em}.scroll:after{content:"";display:block;height:58px;border-left:1px solid rgba(255,255,255,.7);margin:10px auto 0}.page-intro{padding:86px 12.5vw 70px;display:grid;grid-template-columns:1fr 1.15fr;gap:13vw;align-items:center}.page-title{font:38px/1 var(--roman);letter-spacing:.25em;margin:0 0 28px}.jp-sub{color:var(--taupe);font-size:14px;letter-spacing:.18em}.jp-sub:before{content:"";display:inline-block;width:42px;border-top:1px solid var(--line);margin:0 18px 5px 0}.intro-copy{font-size:13px;line-height:2.2}.works-list{padding-bottom:55px}.work-row{display:grid;grid-template-columns:56% 44%;min-height:268px}.work-row:nth-child(even){grid-template-columns:44% 56%}.work-row:nth-child(even) .work-photo{order:2}.work-photo{min-height:268px}.work-copy{padding:52px 9vw 40px 6.3vw;align-self:center}.work-row:nth-child(even) .work-copy{padding-left:9vw;padding-right:6vw}.work-num{display:inline-block;color:#aa9888;font:27px/1 var(--roman);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}.work-copy h2{font-size:17px;letter-spacing:.08em;margin:0 0 9px}.work-copy p{font-size:12px;line-height:2;margin:0}.portfolio-cta,.contact-strip{margin:0 5vw 55px;background:#eee9e3;padding:28px 5vw;display:grid;grid-template-columns:115px 1fr 220px;align-items:center;gap:30px}.portfolio-cta .mark{color:#9c897a}.portfolio-cta strong{color:#9c897a;font-size:14px;font-weight:400}.portfolio-cta p{font-size:12px;margin:3px 0}.cta-button{height:64px;display:flex;align-items:center;justify-content:center;gap:28px;border-left:1px solid var(--line);font:12px var(--roman);letter-spacing:.16em}.company-hero{height:550px;background:url('assets/company-refined.png') center/cover no-repeat;display:flex;align-items:center;padding-left:6vw;color:#fff}.company-hero h1{font:48px/1 var(--roman);letter-spacing:.25em;margin:0 0 24px}.company-main{padding:70px 4.5vw 50px;display:grid;grid-template-columns:1.12fr .88fr;gap:6vw}.company-row{display:grid;grid-template-columns:170px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.company-row dt{font-weight:500}.company-row dd{margin:0}.profile-label{color:#aa9888;font-size:14px}.profile h2{font-size:22px;font-weight:400;letter-spacing:.12em}.profile h2 small{font:10px var(--roman);margin-left:15px}.profile p{font-size:12px;line-height:2.05}.profile-photo{height:290px;margin-top:30px;background:url('assets/works-interior.png') center/cover}.contact-hero{min-height:550px;background:url('assets/contact-refined.png') center/cover no-repeat;display:flex;align-items:center;padding:70px 8.5vw}.contact-lead{max-width:440px}.contact-lead h1{font:42px/1 var(--roman);letter-spacing:.22em;margin:0 0 24px}.contact-lead h2{font-size:23px;font-weight:400;line-height:1.7;margin:55px 0 25px}.contact-lead p{font-size:12px;line-height:2.25}.contact-form{max-width:850px;margin:0 auto;padding:72px 35px 90px}.field{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:start;margin-bottom:30px}.field label{font-size:13px;padding-top:13px}.required{font:9px var(--sans);border:1px solid #b8a99e;color:#89796f;padding:2px 5px;margin-left:25px}.field input,.field textarea{width:100%;border:1px solid var(--line);background:transparent;padding:15px 18px;font:14px var(--serif);color:var(--ink);border-radius:0}.field textarea{height:170px;resize:vertical}.field input:focus,.field textarea:focus{outline:1px solid #9d8c80}.privacy-note{margin-left:250px;font-size:11px}.submit{display:block;margin:38px 0 0 250px;width:285px;height:60px;background:#aa9789;color:#fff;border:0;font:14px var(--serif);letter-spacing:.16em;cursor:pointer}.submit:hover{background:#8f7d70}.legal{max-width:850px;margin:auto;padding:85px 35px 120px}.page-head{padding:80px 8vw 10px}.page-head h1{font:40px/1.25 var(--roman);letter-spacing:.18em}.page-kicker{font:11px var(--roman);letter-spacing:.18em}.legal section{margin-bottom:42px}.legal h2{font-size:16px}.legal p{font-size:12px}.center-page{min-height:calc(100vh - 230px);display:grid;place-items:center;text-align:center;padding:90px 25px}.center-page h1{font:46px var(--roman);letter-spacing:.2em}.link{display:inline-block;border-bottom:1px solid currentColor;font:11px var(--roman);letter-spacing:.16em;margin-top:22px}.footer{border-top:1px solid var(--line);padding:23px 3.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;background:var(--ivory)}.footer .brand{font-size:17px}.footer .mark{display:none}.footer-nav{display:flex;gap:28px;font:10px var(--roman);letter-spacing:.13em}.footer small{text-align:right;font:9px var(--roman);letter-spacing:.05em}.contact-strip{margin-top:25px}.contact-strip .brand{font-size:17px}.contact-strip address{font-style:normal;font-size:11px}.contact-strip .cta-button{background:#ad9c8f;color:#fff;border:0}
@media(max-width:760px){.notice{height:27px;font-size:8px;line-height:27px}.site-header{height:72px;padding:0 20px}.site-header.overlay{top:27px}.brand{font-size:18px;gap:8px}.mark{width:27px;height:38px}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px;background:rgba(250,249,246,.98);color:var(--ink);flex-direction:column;gap:18px}.nav.open{display:flex}.menu-button{display:block}.hero{height:calc(100svh - 27px);min-height:650px;background-position:55% center}.hero-copy{left:24px;right:24px;top:auto;bottom:70px;transform:none}.hero-name{font-size:34px}.hero h1{font-size:21px;margin-bottom:25px}.hero p{font-size:11px;max-width:335px}.scroll{display:none}.page-intro{padding:65px 24px 55px;grid-template-columns:1fr;gap:35px}.page-title{font-size:32px}.work-row,.work-row:nth-child(even){display:flex;flex-direction:column;min-height:0}.work-row:nth-child(even) .work-photo{order:0}.work-photo{height:250px;min-height:0}.work-copy,.work-row:nth-child(even) .work-copy{padding:38px 28px 50px}.portfolio-cta,.contact-strip{margin:0 20px 40px;grid-template-columns:1fr;text-align:center}.portfolio-cta .mark{margin:auto}.cta-button{border-left:0;border-top:1px solid var(--line)}.company-hero{height:420px;padding:50px 25px;background-position:62% center}.company-hero h1{font-size:34px}.company-main{padding:55px 24px;grid-template-columns:1fr;gap:60px}.company-row{grid-template-columns:105px 1fr;gap:15px;font-size:11px}.profile-photo{height:240px}.contact-hero{min-height:560px;padding:60px 25px;background-position:58% center}.contact-lead{max-width:300px}.contact-lead h1{font-size:33px}.contact-lead h2{font-size:19px;margin-top:45px}.contact-form{padding:60px 24px 80px}.field{grid-template-columns:1fr;gap:7px}.field label{padding:0}.required{margin-left:15px}.privacy-note{margin-left:0}.submit{margin:35px auto 0;width:100%}.footer{grid-template-columns:1fr;text-align:center}.footer .brand{justify-content:center}.footer-nav{justify-content:center;flex-wrap:wrap}.footer small{text-align:center}.contact-strip{margin-top:20px}.page-head{padding:60px 24px 0}.legal{padding:55px 24px 90px}}
