:root{--green:#005d3d;
--green2:#0a7d51;
--ink:#17332a;
--muted:#66756f;
--line:#dce7e1;
--cream:#fbfaf6;
--gold:#c99a39;
--orange:#e87728;
--blue:#277aaa;
--white:#fff;
--shadow:0 18px 55px rgba(19,63,47,.12);
font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
color:var(--ink);
background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;
line-height:1.75;
background:var(--cream)}a{color:inherit;
text-decoration:none}img{display:block;
width:100%;
height:auto}button,input,select{font:inherit}h1,h2,h3,p{overflow-wrap:anywhere}.site-header{position:fixed;
z-index:50;
inset:0 0 auto;
display:flex;
align-items:center;
justify-content:space-between;
height:82px;
padding:0 clamp(20px,5vw,72px);
background:rgba(255,255,255,.95);
border-bottom:1px solid rgba(0,93,61,.09);
backdrop-filter:blur(16px);
transition:.25s}.site-header.scrolled{height:68px;
box-shadow:0 8px 28px rgba(20,58,43,.1)}.brand{display:flex;
align-items:center;
gap:12px;
line-height:1}.brand-mark{position:relative;
width:45px;
height:44px}.brand-mark i{position:absolute;
display:block;
background:linear-gradient(145deg,#38ad5d,var(--green));
border-radius:90% 10% 80% 20%}.brand-mark i:nth-child(1){width:19px;
height:30px;
left:13px;
top:1px;
transform:rotate(-10deg)}.brand-mark i:nth-child(2){width:22px;
height:30px;
left:0;
top:14px;
transform:rotate(-46deg)}.brand-mark i:nth-child(3){width:22px;
height:30px;
right:0;
top:14px;
transform:rotate(46deg)}.brand>span:last-child{display:grid;
grid-template-columns:auto auto;
align-items:baseline;
column-gap:7px}.brand strong{font-family:Georgia,serif;
font-size:30px;
color:var(--green)}.brand b{font-size:16px}.brand small{grid-column:1/3;
color:#6d7a74;
font-size:10px;
letter-spacing:.14em;
margin-top:6px}.site-header nav{display:flex;
align-items:center;
gap:28px;
font-size:14px;
font-weight:700}.header-cta{padding:10px 21px;
border-radius:999px;
color:#fff;
background:var(--green)}.menu{display:none}.hero{display:grid;
grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);
min-height:760px;
padding:132px 0 54px clamp(22px,6.5vw,105px);
background:linear-gradient(115deg,#f9fbf4 0,#fff 46%,#edf7f0 100%);
overflow:hidden}.hero-copy{align-self:center;
max-width:690px;
padding-right:clamp(28px,4vw,64px)}.eyebrow,.overline{display:inline-flex;
align-items:center;
gap:10px;
margin:0 0 18px;
color:var(--green2);
font-size:14px;
font-weight:900;
letter-spacing:.08em}.eyebrow:before,.overline:before{content:"";
width:32px;
height:2px;
background:var(--gold)}h1{margin:0;
font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
font-size:clamp(46px,5.6vw,78px);
font-weight:600;
letter-spacing:.01em;
line-height:1.23}h1 em{color:var(--green2);
font-style:normal}h2{margin:0;
font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
font-size:clamp(32px,4vw,54px);
font-weight:600;
line-height:1.35}.lead{margin:24px 0 0;
color:#455c53;
font-size:17px;
line-height:2}.hero-actions{display:flex;
gap:12px;
margin-top:34px}.button{display:flex;
flex:1;
max-width:270px;
align-items:center;
justify-content:center;
flex-direction:column;
min-height:76px;
border-radius:8px;
color:#fff;
transition:.2s;
box-shadow:0 12px 30px rgba(0,60,40,.14)}.button:hover{transform:translateY(-3px)}.button span{font-size:17px;
font-weight:900}.button small{font-size:11px;
opacity:.8}.button-dark{background:var(--green)}.button-gold{background:linear-gradient(135deg,#c48c22,#d8aa4d)}.trust-row{display:flex;
gap:18px;
flex-wrap:wrap;
margin-top:26px;
color:#486259;
font-size:12px;
font-weight:700}.trust-row span:before{content:"✓";
color:var(--green2);
margin-right:5px}.hero-visual{position:relative;
align-self:stretch;
min-height:550px;
clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.hero-visual img{height:100%;
object-fit:cover;
object-position:61% center}.hero-note{position:absolute;
left:6%;
bottom:36px;
display:flex;
flex-direction:column;
padding:18px 25px;
background:rgba(255,255,255,.92);
border-left:5px solid var(--gold);
box-shadow:var(--shadow);
backdrop-filter:blur(12px)}.hero-note span,.hero-note small{color:#64776f;
font-size:11px}.hero-note strong{font-family:"Yu Mincho",serif;
font-size:22px}.choice{position:relative;
z-index:5;
display:grid;
grid-template-columns:auto 1fr 1fr;
gap:12px;
align-items:center;
max-width:1180px;
margin:-27px auto 0;
padding:16px 18px;
background:#fff;
border:1px solid var(--line);
border-radius:12px;
box-shadow:var(--shadow)}.choice>p{margin:0 10px;
font-weight:900}.choice>a{display:grid;
grid-template-columns:42px 1fr auto;
align-items:center;
gap:11px;
padding:12px 16px;
background:#f1f8f4;
border-radius:8px}.choice>a:last-child{background:#fff7ec}.choice-icon{display:grid;
place-items:center;
width:40px;
height:40px;
background:#fff;
border-radius:50%;
font-size:20px}.choice b{font-size:14px}.choice small{color:var(--green2);
font-size:11px;
font-weight:900}.services,.flow{padding:110px clamp(22px,6vw,96px)}.section-heading{text-align:center;
max-width:760px;
margin:0 auto 50px}.section-heading>span{color:var(--gold);
font-family:Georgia,serif;
font-size:12px;
font-weight:700;
letter-spacing:.22em}.section-heading p{color:var(--muted);
font-size:15px}.service-groups{display:grid;
grid-template-columns:1fr 1fr;
gap:22px;
max-width:1280px;
margin:auto}.group{padding:22px;
border-radius:16px;
background:#edf6f1}.group:last-child{background:#fff4e8}.group-label{display:flex;
align-items:baseline;
gap:12px;
margin:0 0 16px 6px}.group-label span{color:var(--green2);
font-size:10px;
font-weight:900;
letter-spacing:.14em}.group-label strong{font-size:18px}.group-label.family span{color:var(--orange)}.card-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:13px}.service-card{position:relative;
min-height:340px;
padding:24px 22px 22px;
background:#fff;
border-radius:10px;
box-shadow:0 8px 22px rgba(32,59,48,.08);
overflow:hidden;
transition:.22s}.service-card:before{content:"";
position:absolute;
inset:0 0 auto;
height:6px;
background:var(--accent)}.service-card:hover{transform:translateY(-6px);
box-shadow:0 18px 36px rgba(32,59,48,.14)}.service-card.green{--accent:#0b8758}.service-card.teal{--accent:#138b87}.service-card.orange{--accent:#ed7b2e}.service-card.blue{--accent:#347ea6}.number{display:block;
color:var(--accent);
font-family:Georgia,serif;
font-size:42px;
line-height:1}.tag{position:absolute;
right:18px;
top:21px;
padding:4px 9px;
border-radius:999px;
background:color-mix(in srgb,var(--accent) 12%,white);
color:var(--accent);
font-size:10px;
font-weight:900}.service-card h3{margin:20px 0 14px;
font-family:"Yu Mincho",serif;
font-size:28px;
line-height:1.35}.service-card p{color:#5d6d67;
font-size:14px;
line-height:1.8}.card-link{position:absolute;
left:22px;
bottom:23px;
color:var(--accent);
font-size:13px;
font-weight:900;
border-bottom:1px solid currentColor}.bridge{display:grid;
grid-template-columns:1.05fr .95fr;
min-height:700px;
background:#eaf3ee}.bridge-image{min-height:600px}.bridge-image img{height:100%;
object-fit:cover}.bridge-copy{align-self:center;
padding:70px clamp(34px,6vw,96px)}.bridge-copy>p{color:#536b61;
line-height:2}.bridge-copy ul{list-style:none;
margin:30px 0 0;
padding:0}.bridge-copy li{display:grid;
grid-template-columns:160px 1fr;
gap:20px;
padding:14px 0;
border-top:1px solid #cbded3}.bridge-copy li:last-child{border-bottom:1px solid #cbded3}.bridge-copy b{color:var(--green)}.bridge-copy span{color:#667970;
font-size:14px}.flow{background:#fff}.steps{display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
max-width:1120px;
margin:auto}.steps article{position:relative;
padding:30px;
background:var(--cream);
border:1px solid var(--line);
border-radius:10px}.steps article:not(:last-child):after{content:"";
position:absolute;
right:-28px;
top:50%;
width:38px;
border-top:2px dotted var(--gold);
z-index:2}.steps article>span{font-family:Georgia,serif;
color:var(--gold);
font-size:34px}.steps h3{margin:12px 0 6px;
font-size:20px}.steps p{margin:0;
color:var(--muted);
font-size:14px}.contact{display:grid;
grid-template-columns:.88fr 1.12fr;
gap:clamp(40px,8vw,110px);
padding:100px clamp(22px,8vw,125px);
color:#fff;
background:radial-gradient(circle at 0 0,#0d7c55 0,transparent 37%),linear-gradient(135deg,#00462f,#003725)}.contact>div{align-self:center}.contact h2{color:#fff}.contact>div>p{color:#d5e9df}.phone{margin-top:30px;
padding-top:20px;
border-top:1px solid rgba(255,255,255,.25)}.phone>*{display:block}.phone strong{font-family:Georgia,serif;
font-size:34px;
letter-spacing:.05em}.phone span{font-size:12px;
color:#b9d4c7}.contact form{display:grid;
gap:15px;
padding:30px;
background:#fff;
color:var(--ink);
border-radius:12px;
box-shadow:0 28px 70px rgba(0,0,0,.22)}.contact label span{display:block;
margin-bottom:5px;
font-size:12px;
font-weight:900}.contact input,.contact select{width:100%;
height:52px;
padding:0 14px;
border:1px solid #cbd9d2;
border-radius:6px;
background:#fff}.contact button{height:56px;
border:0;
border-radius:6px;
background:var(--gold);
color:#fff;
font-weight:900;
cursor:pointer}.form-note,.form-result{margin:0;
color:#77827e;
font-size:11px}.form-result{color:var(--green);
font-weight:900}footer{display:grid;
grid-template-columns:1.3fr 1fr .7fr auto;
gap:35px;
align-items:start;
padding:50px clamp(22px,6vw,96px);
background:#002f20;
color:#d4e7dc;
font-size:12px}footer p{margin:3px 0}footer a{display:block;
margin-bottom:7px}.footer-brand strong{display:block;
font-family:Georgia,serif;
font-size:32px}.footer-brand span{font-weight:900}.footer-brand small{display:block;
color:#8fb5a2}.reveal{opacity:0;
transform:translateY(20px);
transition:.65s}.reveal.visible{opacity:1;
transform:none}@media(max-width:1000px){.site-header nav{gap:15px}.site-header nav>a:not(.header-cta){display:none}.hero{grid-template-columns:1fr;
padding-left:0;
padding-bottom:0}.hero-copy{padding:20px 7vw 55px}.hero-visual{min-height:470px;
clip-path:none}.choice{margin:0;
border-radius:0;
grid-template-columns:1fr 1fr}.choice>p{grid-column:1/3;
text-align:center}.service-groups{grid-template-columns:1fr}.bridge{grid-template-columns:1fr}.bridge-image{min-height:480px}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.site-header{height:68px;
padding:0 18px}.brand strong{font-size:24px}.brand b{font-size:13px}.brand small{display:none}.header-cta{display:none!important}.menu{display:flex;
width:42px;
height:42px;
border:0;
background:none;
flex-direction:column;
justify-content:center;
gap:6px}.menu span{display:block;
width:24px;
border-top:2px solid var(--green)}.site-header nav.open{position:absolute;
display:grid;
left:0;
right:0;
top:68px;
padding:18px;
background:#fff;
box-shadow:0 18px 30px rgba(0,0,0,.12)}.site-header nav.open>a{display:block!important}.hero{display:block;
min-height:auto;
padding-top:90px}.hero-copy{padding:20px 22px 44px}.eyebrow{font-size:12px}h1{font-size:42px}.lead{font-size:15px}.hero-actions{display:grid}.button{max-width:none}.hero-visual{min-height:360px}.hero-note{left:18px;
right:18px;
bottom:18px}.choice{grid-template-columns:1fr;
padding:16px}.choice>p{grid-column:1}.choice>a{grid-template-columns:38px 1fr}.choice small{display:none}.services,.flow{padding:78px 18px}.section-heading{margin-bottom:34px}.group{padding:15px}.card-grid{grid-template-columns:1fr}.service-card{min-height:300px}.bridge-image{min-height:370px}.bridge-copy{padding:65px 22px}.bridge-copy li{grid-template-columns:1fr;
gap:2px}.steps{grid-template-columns:1fr}.steps article:not(:last-child):after{display:none}.contact{padding:70px 20px}.contact form{padding:22px}.phone strong{font-size:29px}footer{grid-template-columns:1fr;
gap:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;
transform:none;
transition:none}.button,.service-card{transition:none}}
