@charset "UTF-8";
:root{--paper:#faf8f5;--ink:#3c3733;--muted:#72675f;--rose:#805247;--line:#d9cfc5;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.95 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--rose)}a:focus-visible{outline:3px solid var(--rose);outline-offset:6px;border-radius:2px}::selection{background:#e9cfc4;color:#3c3733}.container{width:min(1160px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-120px;background:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:16px}.site-header{background:var(--paper)}.header-inner{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.brand{text-decoration:none;display:inline-block;line-height:1}.wordmark{font-family:Georgia,serif;font-size:46px;font-weight:400;letter-spacing:-2.5px}.logo-dot{color:var(--rose)}nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.045em}nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-contact{border:1px solid var(--line);padding:3px 22px;border-radius:40px;gap:18px}.nav-contact:hover{background:#efe7e0}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:36px;align-items:center;padding-top:46px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.2em;line-height:1.7;font-weight:500;margin:0 0 26px;color:var(--rose)}.hero-eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.14em}.tiny-flower{display:block;flex:0 0 27px;width:27px;height:27px;color:var(--rose)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.1vw,67px);line-height:1.65;letter-spacing:.09em;margin:24px 0 20px}.title-line{position:relative;white-space:nowrap}.title-line:after{content:"";height:9px;position:absolute;bottom:8px;left:0;right:0;background:#eed5c8;z-index:-1}.hero-description{font-size:14px;line-height:2.25;letter-spacing:.08em;margin:24px 0 30px}.button{border:1px solid #a78c7d;border-radius:40px;padding:13px 26px;display:inline-flex;gap:48px;align-items:center;text-decoration:none;font-size:12px;min-height:48px;transition:background .2s}.button:hover{background:#eadcd2}.button span{font-size:20px;line-height:1}.hero-note{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:37px}.hero-visual{position:relative;align-self:stretch;min-height:580px;overflow:hidden;border-radius:220px 220px 4px 4px;margin-top:10px;background:#eadbd3}.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}.visual-label{position:absolute;bottom:27px;left:29px;font-family:Georgia,serif;font-size:13px;letter-spacing:.04em;color:#644c42}.visual-seal{position:absolute;right:27px;bottom:26px;border:1px solid #957567;border-radius:50%;width:78px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;font:24px Georgia,serif;color:#644c42;transform:rotate(-12deg)}.visual-seal span{font:7px var(--sans);letter-spacing:.09em;margin-top:5px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:40px;font:11px Georgia,serif;color:var(--muted)}.hero-bottom a{font:9px var(--sans);text-decoration:none;letter-spacing:.12em;padding:5px 0}.hero-bottom a span{margin-left:28px}.section{padding:108px 0;scroll-margin-top:30px}h2{font-family:var(--serif);font-size:34px;line-height:1.8;letter-spacing:.07em;font-weight:400;margin:0}h3{font-weight:400}.about{background:#f0ebe4}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:38px;line-height:1.95}.about-copy{padding-top:33px;font-size:13px;line-height:2.2}.about-copy p{margin:0 0 20px}.about-copy .about-intro{font-family:var(--serif);font-size:21px;line-height:1.9;margin-bottom:30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading>p{font-size:12px;line-height:2;color:var(--muted);margin-bottom:5px}.services-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:30px 40px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.service-number{font:15px Georgia,serif;color:var(--muted)}.service-icon{width:96px;height:96px;color:#947369;background:#f2e7df;border-radius:50%;padding:12px}.service:nth-child(2) .service-icon,.service:nth-child(3) .service-icon{background:#f0e1de}.service .eyebrow{margin-bottom:7px;font-size:9px}.service h3{font-family:var(--serif);font-size:27px;letter-spacing:.04em;line-height:1.5;margin:0 0 23px}.service-lead{font-size:14px;margin:0 0 10px}.service-body{font-size:12px;line-height:2;color:var(--muted);max-width:39em;margin:0 0 24px}.service-tags{font-size:10px;letter-spacing:.04em;margin:0;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.section-note{font-size:11px;color:var(--muted);margin-top:23px;line-height:1.9}.approach{padding-top:30px}.approach .section-heading h2{font-size:28px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:0}.steps li{border-top:1px solid var(--line);padding-top:22px}.steps span{font:13px Georgia,serif;color:var(--rose)}.steps h3{font-family:var(--serif);font-size:22px;margin:15px 0 10px}.steps p{font-size:12px;color:var(--muted);margin:0}.information{background:#f1ece5}.information-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.info-note{font-size:12px;line-height:2.1;color:var(--muted);margin-top:25px}.business-table{margin:0}.business-table>div{display:grid;grid-template-columns:125px 1fr;gap:15px;border-bottom:1px solid #d4c8bc;padding:20px 0;font-size:13px}.business-table>div:first-child{padding-top:4px}.business-table dt{color:var(--muted)}.business-table dd{margin:0}.muted{color:var(--muted)}.business-table a{text-decoration:none}.contact{background:#edddd7;padding:100px 0 90px;text-align:center;position:relative;overflow:hidden}.contact:before,.contact:after{content:"";border:1px solid #dac2b8;width:600px;height:600px;border-radius:50%;position:absolute;pointer-events:none}.contact:before{left:-460px;top:-250px}.contact:after{right:-460px;bottom:-300px}.contact-inner{position:relative}.contact h2{font-size:32px}.contact p:not(.eyebrow):not(.contact-note){font-size:13px;margin:23px 0 20px}.contact-email{font:clamp(25px,4vw,46px)/1.6 Georgia,serif;letter-spacing:-.01em;text-decoration:none;display:inline-block;border-bottom:1px solid #ad9285;padding:6px 0 15px}.contact-email span{font:25px var(--sans);margin-left:24px}.contact .contact-note{font-size:10px;color:#665a52;line-height:2.2;margin-top:26px}.footer-inner{display:flex;align-items:center;gap:24px;min-height:130px;flex-wrap:wrap}.footer-inner .wordmark{font-size:36px}.footer-inner p{font-size:10px;color:var(--muted);margin-right:auto}.footer-inner>a:not(.brand){font-size:10px}.footer-inner small{font-size:9px;color:var(--muted)}.policy{max-width:820px;padding-top:50px;padding-bottom:100px}.back-link{font-size:12px;display:inline-block;margin-bottom:55px}.policy h1,.not-found h1{font-family:var(--serif);font-size:clamp(25px,4vw,38px);line-height:1.8;font-weight:400;letter-spacing:.05em}.policy .eyebrow{margin-bottom:14px}.policy-date{color:var(--muted);font-size:12px;margin-bottom:35px}.policy>p:not(.eyebrow):not(.policy-date),.policy section p{font-size:14px;line-height:2.15;overflow-wrap:anywhere}.policy section{margin-top:45px}.policy h2{font-family:var(--sans);font-size:19px;letter-spacing:0;line-height:1.8;margin-bottom:14px}.not-found{min-height:65vh;padding-block:90px}.not-found .button{margin-top:25px}
@media(min-width:1500px){.hero-visual{min-height:610px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}nav{gap:20px;font-size:11px}.hero{gap:24px}.hero-visual{min-height:530px}.hero h1{font-size:48px}.hero-note{font-size:8px;letter-spacing:.06em}.about-grid,.information-grid{gap:40px}.service{padding:28px}.service h3{font-size:24px}.section-heading h2{font-size:30px}.contact h2{font-size:30px}}
@media(max-width:700px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header-inner{height:auto;min-height:100px;padding-block:20px;gap:18px;flex-wrap:wrap}.wordmark{font-size:39px}nav{width:100%;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:0}.header-inner .brand{margin-bottom:-5px}nav a{min-height:40px}.nav-contact{padding:0 13px;gap:9px}.hero{grid-template-columns:1fr;gap:25px;padding-top:36px}.hero-copy{padding:0 6px}.hero-eyebrow{font-size:9px;gap:10px;margin-bottom:16px}.hero h1{font-size:clamp(39px,10.6vw,62px);line-height:1.6;margin:16px 0}.hero-description{font-size:13px;line-height:2.15;margin:22px 0}.hero .button{padding:12px 24px}.hero-note{font-size:8px;margin:24px 0 5px;letter-spacing:.1em}.hero-visual{min-height:0;height:auto;aspect-ratio:1.12;border-radius:170px 170px 3px 3px;margin-top:6px}.hero-visual img{object-position:center 48%}.visual-label{font-size:11px;left:23px;bottom:22px}.visual-seal{width:62px;height:62px;font-size:20px;right:23px;bottom:20px}.visual-seal span{font-size:6px}.hero-bottom{padding-top:23px;padding-bottom:30px;font-size:10px}.hero-bottom a{font-size:8px;letter-spacing:.04em}.hero-bottom a span{margin-left:8px}.section{padding:65px 0}.eyebrow{margin-bottom:20px}.about-grid,.information-grid{grid-template-columns:1fr;gap:20px}.about h2{font-size:30px;line-height:1.85}.about-copy{padding-top:12px;font-size:13px}.about-copy .about-intro{font-size:21px;margin-bottom:24px}.section-heading{display:block;margin-bottom:32px}.section-heading h2,h2{font-size:28px}.section-heading>p{font-size:12px;margin-top:20px}.services-grid{grid-template-columns:1fr}.service{padding:25px 25px 28px}.service-top{margin-bottom:0}.service-icon{width:76px;height:76px;padding:8px}.service h3{font-size:25px;margin-bottom:20px}.service-lead{font-size:13px}.service-body{font-size:12px}.section-note{font-size:10px}.approach{padding-top:0}.approach .section-heading h2{font-size:25px;line-height:1.8}.steps{grid-template-columns:1fr;gap:24px}.steps li{display:grid;grid-template-columns:28px 1fr;gap:8px 14px;padding-top:21px}.steps span{padding-top:9px}.steps h3{margin:0;font-size:20px}.steps p{grid-column:2}.information-grid{gap:28px}.info-note{margin-top:17px}.business-table>div{grid-template-columns:100px 1fr;gap:10px;font-size:12px;padding:17px 0}.contact{padding:66px 0}.contact h2{font-size:clamp(22px,5.7vw,30px);letter-spacing:.01em}.contact-email{font-size:clamp(23px,7.2vw,36px)}.contact-email span{margin-left:9px;font-size:21px}.contact .contact-note{font-size:10px;text-wrap:pretty}.footer-inner{gap:18px 20px;min-height:160px;padding-block:30px}.footer-inner .brand{width:65px}.footer-inner p{width:calc(100% - 85px);margin:0}.footer-inner>a:not(.brand){margin-right:auto}.policy{padding-top:30px;padding-bottom:65px}.back-link{margin-bottom:35px}.policy h1{font-size:26px}.policy h2{font-size:17px}.policy>p:not(.eyebrow):not(.policy-date),.policy section p{font-size:13px}.not-found{padding-block:65px}.not-found p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{nav,.hero-bottom,.skip-link,.visual-seal{display:none}.container{width:100%}.section,.contact{padding:25px 0}.hero-visual{min-height:0;height:300px}.site-header .header-inner{height:70px}.service,.steps li{break-inside:avoid}a{color:inherit}.policy{max-width:none}.footer-inner{min-height:60px}}
@media(max-width:360px){nav{gap:5px;font-size:9px}.nav-contact{padding-inline:10px;gap:6px}.service h3{font-size:21px;letter-spacing:.02em}.hero-bottom{flex-wrap:wrap;row-gap:10px}.business-table>div{grid-template-columns:83px 1fr}.business-table dd{overflow-wrap:anywhere}}

/* Selected work: replace the status with a real link when ready. */
.works-jump{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:12px}.works{padding-top:20px}.work-card{display:grid;grid-template-columns:1fr 1.15fr;border:1px solid var(--line)}.work-art{background:#eee1d9;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;color:#967366;padding:28px}.work-art svg{display:block;max-width:100%;height:auto}.work-art>span{font:9px var(--sans);letter-spacing:.2em;color:var(--rose)}.work-copy{align-self:center;padding:46px 48px}.work-copy .eyebrow{margin-bottom:14px}.work-copy h3{font:400 34px/1.6 var(--serif);letter-spacing:.08em;margin:0 0 20px}.work-description{font-size:13px;line-height:2.1;color:var(--muted);margin:0 0 26px}.work-status{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:0;padding:8px 0}.work-status>span{width:6px;height:6px;background:var(--rose);border-radius:50%;flex:none}.work-link{margin-top:2px;overflow-wrap:anywhere}
@media(max-width:700px){.works{padding-top:0}.work-card{grid-template-columns:1fr}.work-art{min-height:230px;padding:22px}.work-art svg{width:190px;height:158px}.work-copy{padding:30px 25px 34px}.work-copy h3{font-size:28px}.work-description{font-size:12px}.works-jump{font-size:11px}}
