:root{--ivory:#f6f5ef;--green:#123c34;--lime:#daf279;--ink:#102823;--line:#bac1b9;--serif:"Noto Serif JP","Yu Mincho","YuMincho",serif;--sans:"Noto Sans JP",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:2;width:100%;height:76px;display:flex;align-items:center;padding:0 clamp(24px,5.5vw,80px)}.brand{font:25px/1 var(--serif);letter-spacing:-.04em;white-space:nowrap}.brand span{display:block;margin:6px 0 0 18px;font:9px/1 var(--sans);letter-spacing:.08em}.site-header nav{display:flex;gap:30px;margin-left:auto;margin-right:35px;font-size:12px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-width:212px;padding:12px 27px;border-radius:999px;font-size:15px;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px}.button--dark{min-width:0;padding:9px 23px;background:var(--green);color:#fff;font-size:12px}.button--lime{background:var(--lime)}.hero{position:relative;display:grid;grid-template-columns:minmax(520px,1fr) 1.05fr;min-height:570px;padding:110px clamp(24px,5.5vw,80px) 65px;overflow:hidden}.hero-copy{position:relative;z-index:1;max-width:660px}.eyebrow{margin:0 0 18px;font:700 10px/1.2 var(--sans);letter-spacing:.32em}.hero h1,h2{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:.01em;line-height:1.32}.hero h1{font-size:clamp(46px,4.1vw,58px)}.hero-lead{margin:14px 0 21px;font-size:16px;font-weight:700}.hero-art{position:absolute;top:0;right:-1%;width:56%;height:100%;background:url("design-concept-20260913.png") no-repeat 100% -60px/auto 2480px}.topic-bar{display:flex;align-items:center;justify-content:center;gap:27px;min-height:48px;background:var(--green);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em}.topic-bar i{color:#b8cdc7;font-style:normal}.wrap{max-width:1440px;margin:auto;padding-right:clamp(24px,5.5vw,80px);padding-left:clamp(24px,5.5vw,80px)}.services{padding-top:75px;padding-bottom:72px}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.split-heading h2{font-size:clamp(36px,3.2vw,46px)}.split-heading>p{margin:0 0 7px;font-size:15px;line-height:1.7}.service-list{margin-top:36px;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:85px minmax(320px,1fr) minmax(220px,330px) 25px;gap:16px;align-items:center;min-height:126px;border-bottom:1px solid var(--line);transition:background .2s}.service-row:hover{background:#eff1e8}.service-row b{color:#cfe860;font:45px/.8 var(--serif);font-weight:400}.service-row strong{display:block;font:22px/1.35 var(--serif);font-weight:500}.service-row small{display:block;margin-top:6px;font-size:16px;line-height:1.55}.service-row em{font-size:16px;font-style:normal;text-align:right;font-weight:700;white-space:nowrap}.service-row i,.special-card i{font-size:20px;font-style:normal;text-align:right}.process{padding:74px 0 78px;background:var(--green);color:#fff}.process .eyebrow{color:#d7ece4}.process .split-heading>p{color:#e0ebe7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;margin:46px 0 0;list-style:none}.steps li{display:grid;grid-template-columns:65px 1fr 18px;gap:17px;align-items:start}.steps b{display:grid;place-items:center;width:62px;height:62px;border:1px solid #ccdf60;border-radius:50%;color:#e8fa8b;font:26px var(--serif);font-weight:400}.steps h3{margin:8px 0 8px;font:22px/1.2 var(--serif);font-weight:400}.steps p{margin:0;color:#dbe8e4;font-size:16px;line-height:1.65}.steps i{margin-top:18px;color:#ccdf60;font-style:normal}.specialty{display:grid;grid-template-columns:30% 1fr;gap:30px;padding-top:76px;padding-bottom:76px}.specialty h2{font-size:clamp(34px,3vw,44px)}.specialty-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.special-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:#fff}.special-card img{display:block;width:100%;height:clamp(150px,13vw,190px);object-fit:cover}.special-card>div{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:18px}.special-card h3{margin:0;font:20px/1.35 var(--serif);font-weight:500}.special-card p{margin:7px 0 0;font-size:15px;line-height:1.55}.special-card i{grid-column:2;grid-row:1/3;align-self:center}.consult{position:relative;min-height:340px;overflow:hidden;background:#f4f2ec}.consult-inner{position:relative;display:flex;align-items:center;min-height:340px}.consult h2{font-size:clamp(40px,3.5vw,50px)}.consult p:not(.eyebrow){margin:4px 0 18px;font-size:16px}.consult-art{position:absolute;inset:0 -8% 0 auto;width:54%;background:url("design-concept-20260913.png") no-repeat 100% 100%/auto 500%;opacity:.8}.consult-inner>div:first-child{position:relative;z-index:1}.site-footer{display:flex;align-items:center;gap:40px;min-height:72px;padding:12px clamp(24px,5.5vw,80px);border-top:1px solid #c6c6be}.site-footer .brand{font-size:20px}.site-footer .brand span{display:inline;margin:0 0 0 12px}.site-footer>div{display:flex;gap:27px;margin-left:auto;font-size:12px}.site-footer small{font-size:11px;white-space:nowrap}@media(max-width:800px){.site-header{height:64px;padding:0 24px}.site-header nav,.header-cta{display:none}.brand{font-size:21px}.hero{display:block;min-height:650px;padding:95px 24px 32px}.hero h1{font-size:43px}.hero-art{top:auto;right:-7%;bottom:0;width:100%;height:330px;background-position:100% 100%;background-size:auto 1820px;opacity:.88}.topic-bar{gap:13px;font-size:10px}.wrap{padding-left:24px;padding-right:24px}.services{padding-top:50px;padding-bottom:50px}.split-heading{display:block}.split-heading>p{margin-top:14px;font-size:14px}.service-list{margin-top:25px}.service-row{grid-template-columns:52px 1fr 20px;gap:9px;min-height:0;padding:20px 0}.service-row b{font-size:34px}.service-row strong{font-size:19px}.service-row small{font-size:14px}.service-row em{grid-column:2;text-align:left;font-size:14px}.service-row i{grid-column:3;grid-row:1/3}.process{padding:50px 0}.steps{grid-template-columns:1fr;gap:24px;margin-top:30px}.steps li{grid-template-columns:56px 1fr}.steps b{width:54px;height:54px;font-size:22px}.steps h3{margin:3px 0 6px}.steps p{font-size:14px}.steps i{display:none}.specialty{grid-template-columns:1fr;padding-top:52px;padding-bottom:52px}.specialty-cards{gap:16px}.special-card img{height:150px}.special-card p{font-size:14px}.consult,.consult-inner{min-height:270px}.consult-art{width:100%;background-size:auto 360%;opacity:.35}.site-footer{display:block;padding:20px 24px}.site-footer>div{margin:17px 0;gap:18px}.site-footer small{font-size:10px}}@media(max-width:430px){.hero{min-height:620px}.hero h1{font-size:38px}.hero-art{height:300px;background-size:auto 1650px}.topic-bar{gap:9px;letter-spacing:0}.service-row strong{font-size:18px}.specialty-cards{grid-template-columns:1fr}.special-card img{height:135px}.consult,.consult-inner{min-height:250px}.site-footer>div{flex-wrap:wrap}}


/* Review pass: preserve the source artwork's crop and readable body scale. */
body{font-size:16px}.site-header{height:100px}.brand{font-size:28px}.brand span{font-size:12px;line-height:1.5;margin-left:0;letter-spacing:.03em}.site-header nav{font-size:14px;gap:24px}.header-cta{font-size:14px;padding:12px 24px}.hero{min-height:750px;padding-top:160px;padding-bottom:72px;grid-template-columns:55% 45%}.hero-copy{max-width:none}.hero h1{font-size:clamp(36px,3.65vw,54px);line-height:1.45;letter-spacing:0;margin:24px 0}.keep{white-space:nowrap}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.22em}.hero-lead{font-size:16px;line-height:1.9;max-width:580px;margin-bottom:28px}.hero-note{font-size:16px;line-height:1.9;margin-top:24px}.hero-art{width:48%;height:570px;top:112px;right:0;background-size:200% auto;background-position:right -50px}.button{font-size:16px;min-height:54px}.topic-bar{min-height:64px;font-size:14px}.wrap{max-width:1440px}.services{padding-top:72px;padding-bottom:72px}.split-heading{align-items:start}.split-heading h2{font-size:40px;line-height:1.5;max-width:860px}.split-heading>p{font-size:16px;line-height:1.9;max-width:300px;margin:0}.service-list{margin-top:36px}.service-row{grid-template-columns:68px minmax(0,1fr) 295px 28px;gap:24px;min-height:136px;padding:24px 0}.service-row b{font-size:46px;color:#789033}.service-row strong{font-size:24px;line-height:1.55}.service-row small{font-size:16px;line-height:1.85;margin-top:6px;max-width:660px}.service-row em{font-size:16px;white-space:normal}.process{padding:72px 0}.steps{margin-top:40px;gap:28px}.steps li{grid-template-columns:64px 1fr;gap:18px;position:relative}.steps b{width:64px;height:64px}.steps h3{font-size:24px;line-height:1.5;margin:4px 0 12px}.steps p{font-size:16px;line-height:1.85}.steps i{display:none}.specialty{padding-top:72px;padding-bottom:72px;grid-template-columns:26% minmax(0,1fr);gap:40px}.specialty h2{font-size:38px;line-height:1.5}.special-card img{height:auto;aspect-ratio:2.15;object-fit:cover;width:100%;max-width:100%}.special-card>div{padding:24px}.special-card h3{font-size:22px;line-height:1.6}.special-card p{font-size:16px;line-height:1.85;margin-top:12px}.specialty-cards{gap:24px;min-width:0}.consult,.consult-inner{min-height:390px}.consult-inner{padding-top:64px;padding-bottom:64px}.consult h2{font-size:48px;line-height:1.5}.consult p:not(.eyebrow){font-size:16px;line-height:1.9;margin-bottom:26px}.consult-art{width:45%;inset:0 0 0 auto;opacity:.55;background-size:auto 840%;background-position:right 99%}.site-footer{padding-top:32px;padding-bottom:32px;gap:24px;flex-wrap:wrap}.site-footer>div{font-size:14px;gap:24px}.site-footer small{font-size:12px}.site-footer .brand span{font-size:12px;display:block;margin:8px 0 0}a:focus-visible{outline:3px solid #4e701b;outline-offset:5px}
@media(max-width:1100px){.site-header nav{gap:14px;margin-right:20px}.split-heading{display:block}.split-heading>p{margin-top:20px;max-width:700px}.service-row{grid-template-columns:55px minmax(0,1fr) 240px 20px;gap:18px}.service-row strong{font-size:21px}.specialty{grid-template-columns:1fr}.specialty h2 br{display:none}.steps{gap:20px}.steps li{grid-template-columns:1fr}.site-footer small{width:100%}}
@media(max-width:800px){.site-header{height:92px;padding:0 24px}.site-header nav{display:none}.header-cta{display:inline-flex;font-size:13px;min-height:44px;gap:12px;padding:10px 16px}.hero{display:block;min-height:0;padding:130px 24px 40px}.hero-copy{width:100%;max-width:680px}.hero h1{font-size:42px;line-height:1.5}.hero-art{position:relative;top:auto;bottom:auto;right:auto;width:min(100%,540px);height:405px;margin:26px auto 0;background-size:200% auto;background-position:right -45px;opacity:1}.hero-note{font-size:16px}.hero-lead{max-width:620px}.topic-bar{gap:22px;font-size:14px;flex-wrap:wrap;padding:16px}.wrap{padding-left:24px;padding-right:24px}.services,.specialty{padding-top:52px;padding-bottom:52px}.split-heading h2,.specialty h2{font-size:32px}.service-row{grid-template-columns:45px minmax(0,1fr) 20px;gap:8px 16px;min-height:0;padding:26px 0}.service-row b{font-size:34px;align-self:start;margin-top:6px}.service-row strong{font-size:22px}.service-row small{font-size:16px}.service-row em{grid-column:2;text-align:left;font-size:16px}.service-row i{grid-column:3;grid-row:1/3}.process{padding:52px 0}.steps{grid-template-columns:1fr;gap:30px}.steps li{grid-template-columns:62px 1fr}.steps h3{font-size:24px}.steps p{font-size:16px}.special-card>div{padding:22px}.special-card h3{font-size:22px}.special-card p{font-size:16px}.consult,.consult-inner{min-height:350px}.consult-art{width:42%;opacity:.2;background-size:auto 790%}.consult h2{font-size:38px}.site-footer{display:block;padding:30px 24px}.site-footer>div{font-size:14px;margin:26px 0;gap:24px}.site-footer small{font-size:12px;white-space:normal}.brand{font-size:25px}}
@media(max-width:430px){.header-cta{display:none}.hero{padding-top:116px}.hero h1{font-size:34px;line-height:1.55;margin:22px 0}.hero-art{height:270px;background-position:right -35px}.hero-lead{font-size:16px}.topic-bar{gap:14px;font-size:12px}.split-heading h2,.specialty h2{font-size:30px}.service-row{grid-template-columns:34px minmax(0,1fr) 16px;gap:8px 12px}.service-row strong{font-size:21px}.service-row em{line-height:1.8}.specialty-cards{grid-template-columns:1fr;gap:28px}.special-card img{height:auto;aspect-ratio:2.15}.consult h2{font-size:32px}.consult-art{display:none}.site-footer>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-art{top:130px;height:550px;background-position:right -80px}
@media(max-width:800px){.hero-art{top:auto;height:405px;background-position:right -60px}}
@media(max-width:430px){.hero-art{height:270px;background-position:right -42px}}
.consult-art{display:none}
@media(max-width:430px){.special-card h3{font-size:20px}}

/* Publish integration: only the contact and FAQ retained from the production page. */
.contact{padding:80px 0;background:#fff}.contact-inner{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,90px);align-items:start}.contact-copy{position:sticky;top:115px}.contact-copy .section-title{margin:0;font:500 42px/1.5 var(--serif)}.contact-copy>p:not(.eyebrow){color:#52645e}.contact-panel{padding:clamp(22px,3vw,38px);border:1px solid #d8ddd6;background:#fcfcf8;box-shadow:0 18px 45px rgba(16,40,35,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{margin-top:18px}.form-grid .form-field{margin-top:0}.contact label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.required{margin-left:6px;color:#557423;font-size:11px}.contact input,.contact select,.contact textarea{width:100%;border:1px solid #bfc7bd;border-radius:4px;background:#fff;padding:12px 13px;color:var(--ink)}.contact textarea{min-height:105px;resize:vertical}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:3px solid rgba(218,242,121,.75);border-color:#557423}.form-note{margin:8px 0 0;color:#52645e;font-size:13px;line-height:1.8}.form-submit{width:100%;margin-top:24px}.toast{position:fixed;z-index:5;right:20px;bottom:20px;max-width:calc(100% - 40px);padding:14px 18px;background:var(--green);color:#fff;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.faq{padding-top:72px;padding-bottom:72px}.faq-head{margin-bottom:28px}.faq .section-title{margin:0;font:500 40px/1.5 var(--serif)}.faq-list{border-top:1px solid var(--line)}details.faq-item{border-bottom:1px solid var(--line)}details.faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:19px 0;cursor:pointer;font-weight:700;list-style:none}details.faq-item summary::-webkit-details-marker{display:none}details.faq-item summary::after{content:'＋';margin-left:18px;font-size:22px}details.faq-item[open] summary::after{content:'−'}details.faq-item p{margin:0;padding:0 36px 20px 0;color:#52645e}.site-footer .form-note{margin-top:12px}@media(max-width:900px){.contact-inner{grid-template-columns:1fr}.contact-copy{position:static}}@media(max-width:560px){.contact{padding:52px 0}.contact-panel{padding:22px}.contact-copy .section-title,.faq .section-title{font-size:33px}.form-grid{grid-template-columns:1fr}.faq{padding-top:52px;padding-bottom:52px}}

/* Production form and footer layout verification. */
button,input,select,textarea{font:inherit}button{cursor:pointer}.required{font-size:12px}.form-submit{border:0}.contact select{white-space:normal}.form-note a{text-decoration:underline;text-underline-offset:3px}.site-footer{display:block}.site-footer>.footer-grid{display:grid;grid-template-columns:1.3fr 1.5fr .8fr 1.3fr;gap:32px;margin:0;font-size:14px}.footer-title{font-weight:700;margin:0 0 14px}.footer-links{display:grid;gap:10px}.site-footer>.footer-copy{display:block;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:12px}.compat-anchor{display:block;position:relative;scroll-margin-top:20px}.contact select{min-width:0}
@media(max-width:900px){.site-footer>.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.site-footer>.footer-grid{grid-template-columns:1fr}.contact-panel{padding:20px}.form-submit{padding-inline:16px;gap:12px;flex-wrap:wrap}.contact input,.contact select,.contact textarea{font-size:16px}}
@media(max-width:430px){.hero-art{height:auto;aspect-ratio:1.3;background-position:right -42px}}
