@font-face{font-family:IPAexGothicJP;src:url('/assets/fonts/ipaexg-x1grade.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f5f3ed;--ink:#252921;--muted:#687063;--line:#d5d8cb;--accent:#dceba3;--jp:IPAexGothicJP,"Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,var(--jp);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #63752f;outline-offset:6px}.wrap{max-width:1320px;margin-inline:auto;padding-inline:64px}.header{height:118px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:27px;font-weight:800;letter-spacing:-1.8px;display:inline-flex;align-items:baseline}.brand-dot{display:inline-block;width:7px;height:7px;background:#6c7b43;margin-left:5px}.header nav{display:flex;gap:36px;font-size:13px}.header nav a:hover{color:#64762f}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;padding-top:68px;padding-bottom:76px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 34px;display:flex;align-items:center;gap:10px}.eyebrow span{width:6px;height:6px;background:#768c3b;border-radius:50%}h1{font-size:clamp(56px,6.3vw,91px);line-height:.99;letter-spacing:-5px;margin:0;font-weight:500}h1 span{color:#7e8b59}.hero-ja{font-family:var(--jp);font-size:21px;line-height:1.75;letter-spacing:1px;margin:32px 0}.button{display:inline-flex;gap:30px;background:var(--ink);color:#fff;padding:19px 22px;font-family:var(--jp);font-size:12px}.button:hover{background:#424b31}.hero-art{background:#e8ebdd;position:relative;padding:23px 22px 18px;min-width:0}.hero-art svg{display:block;width:100%;max-height:470px;aspect-ratio:500/560}.art-caption{font-size:8px;letter-spacing:1.4px}.art-bottom{border-top:1px solid #bdc4a9;padding-top:15px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px}.section{padding-top:78px;padding-bottom:82px;border-top:1px solid var(--line)}.section-label{font-size:10px;letter-spacing:1.8px;white-space:nowrap;margin:7px 0 0;display:flex;gap:17px;align-items:baseline}.section-label>span{color:#7d856f;font-size:10px;letter-spacing:0}.about{display:grid;grid-template-columns:1fr 2fr;gap:60px}h2{font-family:var(--jp);font-size:36px;line-height:1.6;letter-spacing:1px;font-weight:400;margin:0}.body-copy{font-family:var(--jp);font-size:13px;line-height:2.2;max-width:610px;margin:24px 0 18px}.english-copy{font-size:13px;line-height:1.7;color:var(--muted)}.section-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:35px}.section-top h2{font-size:20px}.service{display:grid;grid-template-columns:80px 1fr 90px;align-items:center;gap:22px;padding:32px 0;border-top:1px solid var(--line)}.service-no{font-size:11px;color:var(--muted)}h3{font-size:28px;font-weight:400;letter-spacing:-.7px;margin:0 0 10px}.service p{font-family:var(--jp);font-size:12px;line-height:1.8;margin:0;color:#5b6255}.service-tag{font-family:var(--jp);font-size:10px;justify-self:end}.contact{background:#e3e9d6;padding-block:80px}.contact-inner{display:grid;grid-template-columns:1fr 2fr;gap:60px}.contact h2{font-size:40px}.contact p:not(.section-label){font-family:var(--jp);font-size:13px;line-height:1.9;margin-top:20px}.email{font-size:clamp(22px,3vw,40px);display:inline-block;border-bottom:1px solid #778465;padding-bottom:12px;margin-top:20px;letter-spacing:-1px}.email span{display:inline-block;margin-left:28px;font-size:30px}.contact .admin-contact{font-size:10px!important;color:#626c56;margin-top:26px!important}.admin-contact a{text-decoration:underline;text-underline-offset:4px}.footer{display:flex;justify-content:space-between;align-items:center;min-height:135px;gap:25px}.footer p,.footer small{font-size:10px;color:var(--muted)}.footer .wordmark{font-size:22px}.skip{position:absolute;left:20px;top:-80px;padding:10px;background:var(--ink);color:white;z-index:10}.skip:focus{top:10px}
@media(min-width:1440px){.hero{padding-top:82px;padding-bottom:90px}}
@media(max-width:800px){.wrap{padding-inline:28px}.header{height:90px}.header nav{gap:20px;font-size:11px}.wordmark{font-size:23px}.hero{gap:25px;padding-block:50px}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:25px}h1{font-size:62px;letter-spacing:-3px}.hero-ja{font-size:17px}.hero-art{padding:15px 12px}.art-bottom{font-size:6px;letter-spacing:.3px}.art-caption{font-size:6px;letter-spacing:.6px}.about,.contact-inner{grid-template-columns:1fr 2fr;gap:35px}h2{font-size:28px}.contact h2{font-size:31px}.section{padding-block:60px}.service{grid-template-columns:45px 1fr 75px;gap:15px}.contact{padding-block:60px}.footer{min-height:115px}}
@media(max-width:560px){.wrap{padding-inline:24px}.header{height:82px}.header nav{gap:18px}.header nav a:first-child{display:none}.hero{grid-template-columns:1fr;gap:42px;padding-block:42px 48px}h1{font-size:clamp(50px,17.8vw,76px);letter-spacing:-4px}.hero-ja{font-size:19px;margin-block:27px}.hero-art{padding:18px;max-width:100%}.hero-art svg{max-height:310px}.art-caption{font-size:8px}.art-bottom{font-size:7px;letter-spacing:.4px}.about,.contact-inner{grid-template-columns:1fr;gap:28px}.section{padding-block:45px}.section-label{font-size:9px;letter-spacing:1.4px}.section-top{padding-bottom:25px}.section-top h2{font-size:16px}.service{grid-template-columns:28px 1fr;gap:14px;padding-block:27px}.service-tag{display:none}h3{font-size:25px}.service p{font-size:11px}.body-copy{font-size:12px}h2{font-size:29px}.contact{padding-block:45px}.contact h2{font-size:34px}.email{font-size:27px;letter-spacing:-1px;display:flex;justify-content:space-between;align-items:center}.email span{font-size:25px;margin-left:10px}.contact .admin-contact{font-size:9px!important}.footer{flex-wrap:wrap;justify-content:space-between;min-height:140px;gap:10px;padding-block:28px}.footer p{width:100%;order:3;margin:0}.footer small{font-size:9px}.button{font-size:11px;padding:18px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
