:root{--paper:#f7f5ef;--white:#fff;--ink:#243d34;--muted:#616a61;--moss:#5a6e52;--line:#dcded3;--tint:#eeefe6;--gold:#9f854d;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*,*::before,*::after{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}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #aa7636;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;font-feature-settings:"palt"}h1{line-height:1.6}h2{font-size:clamp(26px,2.7vw,38px);line-height:1.7;letter-spacing:.06em}h3{line-height:1.65}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.section-tint{background:var(--tint)}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font:10px/1.6 var(--sans);font-weight:700;letter-spacing:.19em;color:var(--moss);margin-bottom:20px}.eyebrow-ja{font-size:11px;font-weight:400;letter-spacing:.1em;padding-left:16px;border-left:1px solid var(--line)}.label{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--moss)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading>p{font-size:13px;line-height:2;max-width:400px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;padding:12px 25px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:13px;line-height:1.7;transition:background .2s,transform .2s}.button>span[aria-hidden]{font-family:Arial,sans-serif;font-size:19px;font-weight:400}.button:hover{background:#3e5c4c;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--ink);border-color:#a8afa0}.button-outline:hover{background:#e8eadf}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:#e7ebdc}.text-link{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #9ba690;padding:9px 0;font-size:13px;font-weight:500}.text-link:hover{color:var(--moss)}.text-link>span[aria-hidden]{font-size:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;left:20px;z-index:100;padding:10px 20px;background:var(--ink);color:white;transform:translateY(-110%)}.skip-link:focus{transform:translateY(0)}.mobile-only{display:none}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #e7e8e0}.header-inner{width:min(1400px,calc(100% - 80px));height:93px;display:flex;align-items:center;justify-content:space-between;margin:auto;gap:30px}.brand{display:flex;align-items:center;gap:20px}.brand img{width:118px;height:80px;object-fit:contain}.brand-caption{font-size:11px;letter-spacing:.11em;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.site-nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.05em}.site-nav a:not(.nav-contact){position:relative;padding-block:17px}.site-nav a:not(.nav-contact)::after{position:absolute;content:"";width:0;height:1px;left:0;bottom:10px;background:var(--ink);transition:width .2s}.site-nav a[aria-current="page"]::after,.site-nav a:hover::after{width:100%}.site-nav .nav-contact{display:flex;align-items:center;gap:23px;background:var(--ink);color:white;padding:13px 22px}.site-nav .nav-contact:hover{background:var(--moss)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:47% 53%;min-height:640px;max-width:1600px;margin:auto}.hero-copy{position:relative;padding:85px 42px 84px max(48px,calc((100vw - 1160px)/2));display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(30px,3.5vw,51px);letter-spacing:.09em;white-space:nowrap}.hero-description{font-size:13px;line-height:2.1;margin-top:25px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:33px}.hero-actions .button{padding-inline:20px;gap:23px;min-height:51px;font-size:12px}.hero-bottom{display:block;position:absolute;bottom:25px;font-size:9px;letter-spacing:.12em;color:#707b6b}.hero-bottom span{margin-inline:10px}.hero-visual{position:relative;overflow:hidden;border-bottom-left-radius:140px;min-height:640px}.hero-visual img{position:absolute;inset:0;object-position:48% 50%}.hero-visual::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(17,39,25,.48))}.photo-note{position:absolute;bottom:40px;right:45px;z-index:1;color:#fff;font-family:var(--serif);font-size:13px;letter-spacing:.12em}
.business-list{border-top:1px solid var(--line)}.business-row{display:grid;grid-template-columns:55px 1.1fr 1fr 50px;align-items:center;gap:24px;padding:32px 5px;border-bottom:1px solid var(--line);transition:background .2s}.business-row:hover{background:#f0f0e7}.business-number{font-family:Georgia,serif;color:#8d997e;font-size:20px}.business-name h3{font-size:23px;margin-top:5px}.business-row p{font-size:12px;line-height:2}.round-arrow{width:42px;height:42px;border:1px solid #a5ad99;border-radius:100%;display:grid;place-items:center;font-size:20px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.product-image{display:block;aspect-ratio:1.5;overflow:hidden;background:#dfe3d8}.product-image img{transition:transform .5s}.product-image:hover img{transform:scale(1.035)}.product-body{padding:25px 0 0}.product-body h3{font-size:25px;margin-top:10px;letter-spacing:.04em}.product-body h3 span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.06em;margin-top:4px;color:var(--muted)}.product-body p{font-size:13px;margin:16px 0 6px}.support-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.support-visual{height:470px;position:relative;padding:0 25px 25px 0}.support-visual::after{content:"";position:absolute;inset:35px 0 0 35px;background:var(--tint);z-index:-1}.support-visual img{position:relative;object-position:center;border-top-right-radius:90px}.image-caption{display:block;font-size:9px;letter-spacing:.18em;margin-top:11px}.support-copy h2{margin-bottom:20px}.support-copy>p{font-size:13px}.support-tags{display:flex;flex-wrap:wrap;gap:8px 15px;list-style:none;padding:0;margin:23px 0 28px}.support-tags li{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:5px}.about-strip{padding:80px 0;border-top:1px solid var(--line)}.about-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px}.about-strip p:not(.eyebrow){font-size:13px;margin:8px 0 20px}.contact-band{padding:68px 0;background:#2c493d;color:var(--paper)}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band .eyebrow{color:#c6ceb9;margin-bottom:12px}.contact-band h2{font-size:32px}.contact-band p:not(.eyebrow){font-size:12px;color:#d1d8cc;margin-top:14px}.contact-band .button{flex-shrink:0;min-width:220px}
.site-footer{padding-top:60px;background:#f7f5ef}.footer-top{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:50px;padding-bottom:50px}.footer-brand>a{font-family:var(--serif);font-size:27px;letter-spacing:.1em;line-height:1.7}.footer-brand>a span{display:block;font:9px/1.8 var(--sans);letter-spacing:.12em;margin-top:9px}.footer-brand p{font-size:10px;margin-top:16px}.site-footer nav{display:grid;align-content:start;gap:9px;font-size:12px}.site-footer nav a:hover{text-decoration:underline}.site-footer address{font-style:normal;font-size:11px;line-height:2}.site-footer address a{display:block;font-family:Georgia,serif;font-size:23px;margin-top:8px;letter-spacing:.03em}.site-footer address span{display:block;font-size:10px;color:var(--muted)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-block:20px;font-size:10px;color:var(--muted)}.footer-bottom small{margin-right:auto}.footer-bottom>a:last-child{margin-left:30px}
.page-heading{padding-top:30px;padding-bottom:58px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:10px;color:var(--muted)}.breadcrumb-divider{font-size:10px;margin-inline:12px;color:#989d8f}.page-heading .eyebrow{margin-top:50px;margin-bottom:8px}.page-heading h1{font-size:44px;letter-spacing:.1em}.page-heading>p:last-child{font-size:13px;max-width:680px;margin-top:16px}.service-index{display:flex;gap:25px;padding-top:28px}.service-index a{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line);flex:1}.service-index a>span:first-child{font-family:Georgia,serif;color:var(--moss)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;border-bottom:1px solid var(--line)}.service-detail:last-child{border-bottom:0}.service-detail:nth-child(even) .service-detail-photo{order:2}.service-detail-photo{aspect-ratio:1.1}.service-detail-photo img{border-top-right-radius:65px}.service-detail h2{font-size:31px;margin-bottom:14px}.service-detail h3{font-family:var(--sans);font-size:13px;font-weight:700;margin-bottom:20px}.service-detail p:not(.eyebrow){font-size:13px;margin-bottom:17px}.service-detail .button{margin-top:12px}.detail-list{padding:0;list-style:none;margin:22px 0 5px}.detail-list li{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:4px;font-size:12px}.detail-list span{color:var(--muted);font-size:11px}.company-story{display:grid;grid-template-columns:1fr 1fr;gap:70px}.company-story>div>p{font-size:14px;margin-bottom:22px}.company-profile{max-width:940px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:26px 5px;border-top:1px solid #d0d6c8;font-size:14px}.company-table dt{font-weight:600}.company-table dd{margin:0;color:var(--muted)}.company-table dd small{display:block;font-size:11px;margin-top:5px}.company-table>div:last-child{border-bottom:1px solid #d0d6c8}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;align-items:start}.contact-info{position:sticky;top:140px}.contact-info h2{font-size:30px;margin-bottom:25px}.contact-info>p{font-size:12px}.phone-block{padding:28px 0;margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phone-block>a{display:block;font:29px/1.8 Georgia,serif;letter-spacing:.03em;margin-top:8px}.phone-block small{font-size:10px;color:var(--muted)}.form-note{font-size:11px;margin-bottom:25px}.required-mark{display:inline-block;vertical-align:middle;background:#e5e9df;color:#4a6045;font-size:9px;line-height:1.5;font-weight:500;padding:3px 7px;margin-left:8px}.form-note .required-mark{margin-left:0}.optional-mark{font-size:10px;color:var(--muted);margin-left:8px}.form-field{margin-bottom:23px}.form-field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #cbd0c2;border-radius:0;background:#fff;color:var(--ink);padding:13px 14px;font-size:14px;line-height:1.6;min-height:49px}.form-field input::placeholder,.form-field textarea::placeholder{color:#81867e;font-size:12px}.form-field textarea{resize:vertical;min-height:180px}.form-field select{padding-right:26px}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.consent-label{display:flex;align-items:flex-start;gap:10px;font-size:11px;cursor:pointer;margin-bottom:24px}.consent-label input{width:17px;height:17px;flex-shrink:0;accent-color:var(--ink);margin-top:3px}.consent-label a{text-decoration:underline;text-underline-offset:4px}.form-notice{font-size:12px;background:#e9ecdf;padding:15px 18px;margin-bottom:25px;border-left:2px solid var(--moss)}.form-notice[hidden]{display:none}.form-status{font-size:12px;margin-block:15px;white-space:pre-line}.form-status.error{color:#933c2f}.form-status.success{color:#345a31;background:#e8efdf;padding:15px}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.privacy-note{margin-top:40px;border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:120px}.privacy-note h2{font:600 12px/1.8 var(--sans);margin-bottom:10px}.privacy-note p{font-size:10px;line-height:2;margin-bottom:10px}.privacy-note a{text-decoration:underline}.not-found{min-height:60vh}.not-found h1{font-size:32px}.not-found p{margin-block:20px 30px}
@media(min-width:1600px){.hero-copy{padding-left:220px}}
@media(max-width:1100px){.header-inner{width:calc(100% - 50px)}.brand-caption{display:none}.site-nav{gap:25px}.hero{min-height:590px;grid-template-columns:50% 50%}.hero-copy{padding:60px 25px 75px 40px}.hero-visual{min-height:590px;border-bottom-left-radius:95px}.hero h1{font-size:clamp(29px,3.6vw,42px)}.hero .eyebrow-ja{display:none}.hero-actions .button{gap:16px;padding-inline:16px}.wrap{width:calc(100% - 80px)}.support-section{gap:40px}.support-visual{height:400px}.contact-layout{gap:50px}.business-row{grid-template-columns:35px 1.2fr 1fr 40px;gap:15px}.business-name h3{font-size:20px}.service-detail{gap:40px}.service-detail h2{font-size:27px}}
@media(max-width:760px){html{scroll-padding-top:82px}body{font-size:14px}.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.mobile-only{display:block}.header-inner{height:76px;width:calc(100% - 32px)}.brand img{width:95px;height:66px}.brand{gap:0}.site-nav{gap:14px;font-size:10px}.site-nav .nav-contact{padding:8px 12px;gap:8px}.has-js .menu-toggle{display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:center;border:0;background:transparent;padding:10px 4px;min-width:50px;color:var(--ink)}.menu-label{font-size:9px;line-height:1}.menu-lines{width:24px;height:12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-10deg)}.has-js .site-nav{position:absolute;top:76px;left:0;right:0;padding:22px 25px 30px;background:var(--paper);border-bottom:1px solid var(--line);display:none;max-height:calc(100dvh - 76px);overflow:auto;font-size:14px}.has-js .menu-toggle[aria-expanded=true]+.site-nav{display:flex;flex-direction:column;align-items:stretch;gap:6px}.has-js .site-nav a{padding:15px 8px;border-bottom:1px solid var(--line)}.has-js .site-nav a::after{display:none}.has-js .site-nav .nav-contact{margin-top:8px;padding:16px 20px;justify-content:space-between}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:45px 25px 58px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(30px,7.5vw,45px);letter-spacing:.08em}.hero-description{font-size:12px;margin-top:20px}.hero-actions{margin-top:24px;gap:10px}.hero-actions .button{font-size:11px;min-height:48px;gap:23px;padding-inline:17px}.hero-bottom{bottom:17px;font-size:8px}.hero-visual{min-height:0;height:320px;max-height:70vw;border-bottom-left-radius:75px;margin-left:25px}.hero-visual img{object-position:50% 58%}.photo-note{font-size:11px;right:25px;bottom:25px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:12px}.eyebrow{font-size:9px;margin-bottom:14px}h2{font-size:27px;letter-spacing:.04em}.business-row{grid-template-columns:27px 1fr 35px;gap:12px;padding:26px 0}.business-row p{grid-column:2;grid-row:2;font-size:11px;margin-top:-2px}.business-name h3{font-size:21px}.business-number{align-self:start;margin-top:20px;font-size:16px}.business-row .round-arrow{grid-column:3;grid-row:1/3;width:32px;height:32px;font-size:16px}.business-name .label{font-size:9px}.product-grid{grid-template-columns:1fr;gap:40px}.product-image{aspect-ratio:1.4}.product-body{padding-top:20px}.product-body h3{font-size:24px}.product-body p{font-size:12px}.support-section{grid-template-columns:1fr;gap:40px}.support-visual{height:300px;padding:0 18px 18px 0;order:2}.support-visual img{border-top-right-radius:65px}.support-copy h2{font-size:29px}.support-copy>p{font-size:12px}.support-tags{font-size:10px}.about-strip{padding-block:60px}.about-strip-inner{grid-template-columns:1fr;gap:25px}.about-strip h2{font-size:29px}.about-strip p:not(.eyebrow){font-size:12px}.contact-band{padding:48px 0}.contact-band-inner{display:block}.contact-band h2{font-size:29px}.contact-band p:not(.eyebrow){font-size:11px}.contact-band .button{margin-top:27px;min-width:230px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:35px}.footer-brand{grid-column:1/-1}.footer-brand>a{font-size:25px}.site-footer{padding-top:40px}.site-footer nav{font-size:11px}.site-footer address{font-size:10px}.site-footer address a{font-size:20px}.footer-bottom{flex-wrap:wrap;font-size:9px;gap:14px}.footer-bottom small{width:100%}.footer-bottom>a:last-child{margin-left:auto}.page-heading{padding-top:22px;padding-bottom:35px}.page-heading .eyebrow{margin-top:30px}.page-heading h1{font-size:34px}.page-heading>p:last-child{font-size:12px;margin-top:13px}.service-index{flex-direction:column;gap:0;padding-top:18px}.service-index a{font-size:12px;justify-content:flex-start;gap:20px;padding:14px 0}.service-index a>span:last-child{margin-left:auto}.service-detail{grid-template-columns:1fr;gap:25px}.service-detail:nth-child(even) .service-detail-photo{order:0}.service-detail-photo{aspect-ratio:1.35}.service-detail h2{font-size:28px}.service-detail p:not(.eyebrow){font-size:12px}.company-story{grid-template-columns:1fr;gap:25px}.company-story>div>p{font-size:12px}.company-table>div{grid-template-columns:90px 1fr;gap:20px;padding:22px 0;font-size:12px}.company-table dd small{font-size:10px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-info{position:static}.contact-info h2{font-size:28px;margin-bottom:18px}.contact-info>p{font-size:12px}.phone-block{margin:20px 0;padding:20px 0}.phone-block>a{font-size:29px}.contact-info .small-text{display:none}.contact-form-wrap .button{width:100%}.form-field input,.form-field textarea,.form-field select{font-size:16px}.consent-label{font-size:12px}.privacy-note p{font-size:11px}.not-found h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.planning-section{padding:65px 0 85px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.planning-section p:not(.eyebrow){font-size:14px;margin-bottom:20px}.planning-section h2{font-size:30px}
@media(max-width:760px){.hero-description,.section-heading>p,.business-row p,.product-body p,.support-copy>p,.about-strip p:not(.eyebrow),.contact-band p:not(.eyebrow),.page-heading>p:last-child,.service-detail p:not(.eyebrow),.company-story>div>p,.contact-info>p,.planning-section p:not(.eyebrow){font-size:14px}.company-table>div,.form-field label,.consent-label{font-size:14px}.detail-list li{font-size:14px}.detail-list span{font-size:13px}.support-tags li,.site-footer address,.site-footer nav{font-size:12px}.planning-section{grid-template-columns:1fr;gap:25px;padding-block:45px 65px}.privacy-note p{font-size:12px}}
