:root{--ink:#1d2b2a;--muted:#65716e;--paper:#f3f5f1;--white:#fff;--green:#214943;--lime:#c9d94f;--line:#d7ded9;--max:1180px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.85}a{text-decoration:none;color:inherit}a:hover{color:#687b19}img{display:block;max-width:100%}header{background:rgba(243,245,241,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{max-width:var(--max);margin:auto;padding:14px 28px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand-mark{background:var(--green);color:#fff;width:36px;height:36px;display:grid;place-items:center;font-weight:800}.brand b{display:block;letter-spacing:.16em}.brand small{display:block;font-size:.58rem;letter-spacing:.16em;color:var(--muted)}nav{display:flex;gap:22px;align-items:center;font-size:.84rem}nav a{color:#40504d}.nav-cta{border:1px solid var(--green);padding:7px 14px;color:var(--green)}.menu-button{display:none;background:none;border:1px solid var(--line);padding:8px 12px;color:var(--green)}main{min-height:65vh}.hero{max-width:var(--max);margin:auto;padding:76px 28px 92px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.hero-copy h1,.page-title h1{font-size:clamp(2.5rem,6vw,5.8rem);line-height:1.15;letter-spacing:-.03em;margin:14px 0 22px}.hero-copy h1 em{font-style:normal;color:var(--green);background:linear-gradient(transparent 72%,var(--lime) 0)}.hero-copy>p:not(.kicker),.page-title>p:not(.kicker){max-width:610px;color:var(--muted);font-size:1.05rem}.hero-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-image small,.case-body aside small{display:block;margin-top:8px;color:var(--muted);font-size:.68rem}.kicker{font-size:.72rem;color:var(--green);font-weight:800;letter-spacing:.2em}.button{display:inline-flex;background:var(--green);color:white;padding:12px 20px;margin-top:18px}.button:hover{background:#6b7e17;color:white}.intro,.section,.service-detail,.case-grid,.article-list,.profile,.form-wrap,.legal,.case-body{max-width:var(--max);margin:auto;padding:85px 28px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}h2{line-height:1.3}.intro h2,.section-head h2{font-size:clamp(1.8rem,3vw,3.3rem);margin:12px 0}.intro>p{color:var(--muted);font-size:1.08rem;margin:38px 0 0}.section{border-top:1px solid var(--line)}.section-head{margin-bottom:40px}.section-head.inline{display:flex;justify-content:space-between;align-items:end}.section-head.inline>a{color:var(--green);font-size:.85rem}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-cards a{background:var(--white);padding:26px;border-top:4px solid var(--green);min-height:260px}.service-cards span,.number{font-family:Georgia,serif;color:#829117}.service-cards h3{font-size:1.25rem;margin:24px 0 12px}.service-cards p,.case-list span{color:var(--muted);font-size:.88rem}.dark-band{background:var(--green);color:white;padding:70px max(28px,calc((100% - 1124px)/2));display:flex;justify-content:space-between;gap:50px;align-items:end}.dark-band h2{font-size:clamp(1.8rem,3.5vw,3.4rem);margin:12px 0}.dark-band .kicker{color:var(--lime)}.dark-band>p{color:#dce8dc;max-width:350px}.case-list{border-top:1px solid var(--line)}.case-list a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.page-title{padding:76px 28px 62px;max-width:var(--max);margin:auto;border-bottom:1px solid var(--line)}.page-title h1{font-size:clamp(2.3rem,5vw,5rem)}.service-detail{padding-top:35px}.service-detail article{display:grid;grid-template-columns:90px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:48px 0}.service-detail h2{font-size:2rem;margin:0 0 12px}.service-detail p{max-width:680px;color:var(--muted)}.service-detail ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.service-detail li{background:white;border:1px solid var(--line);padding:6px 12px;font-size:.82rem}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-grid a{background:#fff;padding:26px;min-height:280px;border-left:4px solid var(--green)}.tag{color:#74831e;font-size:.72rem;font-weight:800}.case-grid h2{font-size:1.4rem}.case-grid p{color:var(--muted);font-size:.9rem}.case-grid b{color:var(--green);font-size:.85rem}.case-body{display:grid;grid-template-columns:1.1fr .65fr;gap:70px}.case-body h2,.legal h2{border-left:3px solid var(--lime);padding-left:14px;margin-top:38px}.case-body p,.legal p{color:#485754}.case-body aside{position:sticky;top:100px;height:max-content}.case-body aside img{width:100%;aspect-ratio:4/3;object-fit:cover}.article-list article{padding:30px 0;border-top:1px solid var(--line);max-width:780px}.article-list time{color:#74831e;font-size:.78rem}.article-list h2{font-size:1.5rem}.article-list p{color:var(--muted)}.article-list a{color:var(--green);font-size:.84rem}.profile{display:grid;grid-template-columns:1fr 1fr;gap:70px}.profile dl{margin:0;border-top:1px solid var(--line)}.profile dt{font-size:.75rem;color:var(--muted);padding-top:16px}.profile dd{margin:0 0 16px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:16px}.profile h2{font-size:1rem;letter-spacing:.15em;color:var(--green)}.profile>div>p{font-size:1.5rem}.source{font-size:.75rem!important;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:14px;margin-top:40px}.form-wrap{max-width:820px}.form-wrap form{max-width:680px}.form-wrap label{display:grid;gap:7px;margin:18px 0;font-weight:700;font-size:.9rem}.form-wrap label span{color:#b24d42}.form-wrap input,.form-wrap textarea,.form-wrap select{font:inherit;border:1px solid var(--line);background:#fff;padding:12px}.form-wrap textarea{min-height:180px}.consent{display:flex!important;grid-template-columns:auto 1fr;align-items:center;font-weight:400;color:var(--muted)}.contact-note{border:1px solid var(--line);padding:18px;color:var(--muted);font-size:.85rem;margin-top:28px}.thanks{text-align:center;padding:120px 28px 170px}.thanks h1{font-size:3rem}.thanks p{max-width:560px;margin:0 auto;color:var(--muted)}.legal{max-width:880px}.legal h1{font-size:2.8rem;margin:10px 0}.updated{font-size:.8rem;color:var(--muted)}.legal table{border-collapse:collapse;width:100%;margin:20px 0}.legal th,.legal td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.legal th{width:30%;background:#e6ece6}.legal p{margin:0 0 17px}footer{background:#e5ebe5;border-top:1px solid var(--line)}.footer-grid{max-width:var(--max);margin:auto;padding:42px 28px 28px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px}.footer-grid p{font-size:.8rem;color:var(--muted)}.links{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;font-size:.78rem;margin-top:10px}.ad-note,.copyright{border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.7rem;padding:11px 28px}.cookie{position:fixed;z-index:50;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;background:#fff;border:1px solid var(--green);box-shadow:0 14px 40px #1d2b2a33;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:18px}.cookie[hidden]{display:none}.cookie h2{font-size:1rem;margin:0 0 4px}.cookie p{color:var(--muted);font-size:.78rem;margin:0}.cookie p a{text-decoration:underline;color:var(--green)}.cookie-actions{display:flex;gap:8px;align-items:center}.cookie button{border:1px solid var(--green);background:white;color:var(--green);padding:8px 12px;font:inherit;font-size:.77rem;white-space:nowrap}.cookie button.primary{background:var(--green);color:white}@media(max-width:820px){nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--paper);padding:18px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-button{display:block}.hero,.intro,.profile,.case-body{grid-template-columns:1fr;gap:35px}.service-cards,.case-grid{grid-template-columns:1fr}.dark-band{display:block}.dark-band>p{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.cookie{left:10px;right:10px;bottom:10px;display:block}.cookie-actions{margin-top:12px}.cookie button{flex:1}.service-detail article{grid-template-columns:45px 1fr;gap:12px}.hero{padding-top:48px}.page-title h1{font-size:2.5rem}.links{grid-template-columns:1fr 1fr}}
