:root{--paper:#f6f5f0;--ink:#29362d;--line:#d5d8ce;--accent:#86734f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9b7440;outline-offset:5px}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{display:flex;gap:13px;align-items:center;font-family:serif;font-size:25px;letter-spacing:.14em;line-height:1.4}.brand small{display:block;font:10px/2 sans-serif;letter-spacing:.18em}.mark{border:1px solid var(--ink);font-size:31px;padding:0 7px}nav{display:flex;gap:34px;align-items:center;font-size:14px}.nav-contact{border:1px solid var(--ink);padding:12px 22px}.hero{display:grid;grid-template-columns:41% 59%;min-height:680px}.hero-copy{padding:54px 12% 22px}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;margin:0 0 30px}h1,h2,h3{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:400;margin:0;line-height:1.65}h1{font-size:clamp(46px,4.4vw,75px);letter-spacing:.13em;line-height:1.55}h1 span{color:var(--accent)}.lead{font-size:14px;line-height:2.1;margin:25px 0 28px}.underlink{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid var(--ink);padding:0 0 10px;font-size:14px}.underlink span{font-size:22px}.hero-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:55px;font-size:10px;letter-spacing:.08em}.hero-photo{position:relative;min-height:680px;overflow:hidden;background:#b7b19f}.hero-photo img{height:100%;width:100%;position:absolute;object-fit:cover}.photo-label{position:absolute;bottom:27px;left:30px;color:white;font-size:11px;letter-spacing:.16em;text-shadow:0 1px 8px #000;background:#25302755;padding:10px 15px}.photo-label span{font-size:12px;letter-spacing:.05em}.section{padding:110px 8%}h2{font-size:clamp(28px,2.6vw,41px);letter-spacing:.06em}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:130px;padding-bottom:130px}.about-text{max-width:470px}.about-text p{margin:0 0 25px;line-height:2.2}.signature{font-family:serif;font-size:24px;letter-spacing:.2em;display:block;text-align:right}.works{background:#e8ebe3}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head>p{font-size:14px;max-width:250px}.work-feature{display:grid;grid-template-columns:62% 38%;background:var(--paper)}.work-image img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block}.work-text{padding:40px}.number{font-family:serif;font-size:23px;color:var(--accent)}.work-text .eyebrow{margin:25px 0 15px;font-size:11px}.work-text h3{font-size:28px}.work-text p{font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);font-size:12px;padding:3px 9px}.caption{color:#697165;font-size:12px!important}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.service-grid article{border-top:1px solid var(--line);padding-top:25px}.service-grid h3{font-size:24px;margin:25px 0 16px}.service-grid p{font-size:15px}.service-en{display:block;font-size:11px;letter-spacing:.15em;margin-top:35px}.flow{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.flow>div>p:last-child{font-size:15px;margin-top:25px}ol{padding:0;margin:0;list-style:none}.flow li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}.flow li:first-child{padding-top:0}.flow li>span{color:var(--accent);font-family:serif;font-size:22px}.flow h3{font-size:21px}.flow li p{font-size:14px;margin:6px 0 0}.faq{padding-top:20px;max-width:1000px;margin:auto}.faq h2{margin-bottom:35px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:16px}details p{font-size:15px;margin-bottom:0}.contact{text-align:center;padding:100px 20px;background:#2d3a30;color:#f7f5eb}.contact .eyebrow{color:#c9c9ad}.contact h2{font-size:36px}.contact>p:not(.eyebrow){font-size:14px;line-height:2}.contact-button{background:#eeeadd;color:#29362d;border:0;padding:17px 44px;cursor:pointer;margin-top:20px}.contact-button:hover{background:#dbd4be}.contact-note{opacity:.7;font-size:12px!important}footer{padding:48px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{font-size:13px}footer>small{font-size:10px;letter-spacing:.1em}dialog{border:none;padding:40px;max-width:560px;width:calc(100% - 32px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17241dd0}dialog h2{font-size:28px}dialog p{font-size:14px}dialog .eyebrow{margin-bottom:12px}.close{position:absolute;top:8px;right:15px;background:none;border:0;font-size:30px;cursor:pointer}label{display:block;margin-top:20px;font-size:14px}select,textarea{width:100%;display:block;border:1px solid #abb3a6;background:white;padding:10px;color:var(--ink);margin-top:6px}textarea{resize:vertical}.form-note{font-size:12px!important}#result{color:#405b33}a:hover{opacity:.7}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:800px){header{height:85px;padding:0 6%}.brand{font-size:21px}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:12px;padding:8px 12px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 8% 35px}.hero-copy .eyebrow{margin-bottom:22px}h1{font-size:49px;line-height:1.55}h1 br:nth-child(2){display:none}.lead{margin:20px 0}.hero-bottom{display:none}.hero-photo{min-height:420px}.section{padding:70px 7%}.about,.flow{grid-template-columns:1fr;gap:35px}.about-text{max-width:none}.section-head{display:block}.section-head>p{max-width:none}.work-feature{grid-template-columns:1fr}.work-image img{min-height:280px;height:320px}.work-text{padding:25px}.work-text .eyebrow{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.service-grid h3{margin-top:12px}.service-en{margin-top:18px}.faq{padding-top:20px}.contact{padding:70px 6%}.contact h2{font-size:28px}footer{flex-wrap:wrap;padding:35px 7%}footer p{width:100%;order:2;margin:0}dialog{padding:30px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
