:root{--ink:#17211b;--deep:#155c35;--green:#2f6b4f;--line:#06c755;--paper:#f7faf7;--white:#fff;--muted:#5b665f;--border:#d6e3da;--warm:#fff8ea;--alert:#8d2d12}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;line-height:1.8;overflow-x:clip}
a{color:var(--deep);text-underline-offset:3px}
.wrap{width:min(1080px,calc(100% - 40px));margin-inline:auto}
.site-header{background:var(--deep);color:#fff;border-bottom:4px solid var(--ink)}
.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{color:#fff;font-size:20px;font-weight:900;text-decoration:none}.brand small{display:block;font-size:10px;line-height:1.2;opacity:.82}
.header-actions{display:flex;gap:8px}.header-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:2px solid #fff;border-radius:6px;color:#fff;font-weight:900;text-decoration:none}.header-actions .line{background:var(--line);border-color:var(--line)}
.breadcrumb{padding:18px 0 0;font-size:13px;color:var(--muted)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.breadcrumb li+li:before{content:"›";margin-right:6px;color:#8a958e}
.hero{padding:56px 0 70px;background:linear-gradient(135deg,#fff 0%,#eef8f1 100%);border-bottom:1px solid var(--border)}
.eyebrow{display:inline-block;margin-bottom:14px;padding:4px 10px;background:#ffe16a;border:2px solid var(--ink);font-size:13px;font-weight:900}
h1{max-width:850px;margin:0;font-size:clamp(32px,5vw,52px);line-height:1.25;letter-spacing:-.025em}.hero-lead{max-width:760px;margin:20px 0 0;color:var(--muted);font-size:18px;font-weight:700}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 22px;border:2px solid var(--ink);border-radius:6px;font-weight:900;text-decoration:none}.btn-line{background:var(--line);color:#fff}.btn-tel{background:#fff;color:var(--deep)}.btn-deep{background:var(--deep);color:#fff}
section{padding:76px 0}.section-white{background:#fff}.section-green{background:var(--deep);color:#fff}.section-warm{background:var(--warm)}
.section-head{max-width:760px;margin:0 0 34px}.section-head .kicker{display:block;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.14em}.section-green .kicker{color:#b8efc8}.section-head h2{margin:8px 0 0;font-size:clamp(26px,4vw,38px);line-height:1.35}.section-head p{margin:12px 0 0;color:var(--muted)}.section-green .section-head p{color:rgba(255,255,255,.8)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{padding:24px;background:#fff;border:2px solid var(--border);border-radius:8px}.card h3{margin:0 0 8px;color:var(--deep);font-size:20px;line-height:1.4}.card p{margin:0;color:var(--muted)}.card p+p{margin-top:8px}.card strong{color:var(--ink)}
.number-card{position:relative;padding:25px 22px 22px 68px;background:#fff;border:2px solid var(--border)}.number-card b{position:absolute;left:18px;top:21px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffe16a;border:2px solid var(--ink)}.number-card strong{display:block;margin-bottom:5px;color:var(--deep);font-size:18px}.number-card p{margin:0;color:var(--muted)}
.notice{padding:20px;background:var(--warm);border-left:5px solid #d0a72e}.notice h3{margin:0 0 8px;font-size:20px}.notice p{margin:0}.notice p+p{margin-top:8px}
.check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.check-list li{position:relative;padding:15px 16px 15px 50px;background:#fff;border:2px solid var(--border);color:var(--ink);font-weight:700}.check-list li:before{content:"✓";position:absolute;left:15px;top:16px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#ffe16a;color:var(--ink);font-weight:1000}
.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}.profile figure{margin:0}.profile img{display:block;width:100%;height:auto;border:4px solid var(--ink);border-radius:8px}.profile figcaption{margin-top:7px;color:var(--muted);font-size:12px}.profile-copy{padding:26px;background:#fff;border:2px solid var(--border)}.profile-copy h2{margin:0 0 12px;font-size:30px}.profile-copy p{margin:0}.profile-copy p+p{margin-top:12px}
.form-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:start}.consult-form{padding:28px;background:#fff;border:2px solid var(--border);border-radius:8px}.field{margin-bottom:20px}.field label,.field legend{display:block;margin-bottom:7px;font-weight:900}.required{margin-left:6px;padding:2px 5px;background:var(--alert);color:#fff;border-radius:3px;font-size:11px}.optional{margin-left:6px;color:var(--muted);font-size:11px}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:11px 12px;border:2px solid #aab8ae;border-radius:5px;background:#fff;color:var(--ink);font:inherit}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(6,199,85,.25);border-color:var(--line)}
.radio-row{display:flex;flex-wrap:wrap;gap:10px}.radio-row label{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 12px;border:2px solid var(--border);border-radius:5px;font-weight:700}.radio-row input{width:18px;min-height:auto;height:18px}
.form-submit{width:100%;min-height:58px;border:2px solid var(--ink);border-radius:6px;background:var(--line);color:#fff;font:inherit;font-weight:1000;cursor:pointer}.form-note{margin:12px 0 0;color:var(--muted);font-size:13px}.form-status{margin:12px 0 0;padding:12px;background:#eef8f1;border:1px solid #bad7c4;font-weight:700}.form-status[hidden]{display:none}
.form-result{margin-top:18px;padding:18px;background:#eef8f1;border:2px solid #bad7c4}.form-result[hidden]{display:none}.form-result h3{margin:0 0 8px;color:var(--deep)}.form-result p{margin:0 0 10px;color:var(--muted)}.form-result textarea{width:100%;min-height:230px;padding:12px;border:2px solid #aab8ae;background:#fff;font:inherit;line-height:1.65;resize:vertical}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.copy-button{min-height:52px;border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--deep);font:inherit;font-weight:900;cursor:pointer}.result-actions .btn{min-height:52px;padding:10px 14px}
.side-stack{display:grid;gap:14px}.side-card{padding:20px;background:#fff;border:2px solid var(--border)}.side-card h2,.side-card h3{margin:0 0 8px;font-size:20px}.side-card p{margin:0;color:var(--muted)}.side-card .btn{width:100%;margin-top:13px}
.faq details{max-width:850px;margin:0 0 12px;background:#fff;border:2px solid var(--border)}.faq summary{cursor:pointer;padding:17px 48px 17px 18px;font-weight:900;position:relative}.faq summary:after{content:"＋";position:absolute;right:18px;top:13px;color:var(--green);font-size:24px}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 18px 18px;color:var(--muted)}
.cta-band{text-align:center}.cta-band h2{margin:0;font-size:clamp(27px,4vw,40px)}.cta-band p{max-width:700px;margin:13px auto 0;color:rgba(255,255,255,.82)}.cta-band .cta-row{justify-content:center}
.page-links{padding:36px 0;background:#eef8f1;border-top:1px solid var(--border)}.page-links strong{display:block;margin-bottom:12px;color:var(--deep)}.page-links nav{display:flex;flex-wrap:wrap;gap:8px 16px}.page-links a{font-weight:800}
footer{padding:28px 0 94px;background:var(--ink);color:#fff;text-align:center;font-size:13px}.mobile-cta{display:none}
@media(max-width:780px){.grid-3{grid-template-columns:1fr}.profile,.form-layout{grid-template-columns:1fr}.profile figure{max-width:560px}.grid-2{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1080px)}.header-inner{min-height:58px}.brand{font-size:17px}.brand small{display:none}.header-actions .tel{display:none}.header-actions a{min-height:40px;padding:7px 10px;font-size:12px}.hero{padding:40px 0 54px}h1{font-size:32px}.hero-lead{font-size:16px}.cta-row{display:grid;grid-template-columns:1fr}.btn{width:100%}section{padding:58px 0}.consult-form{padding:20px 16px}.radio-row,.result-actions{display:grid;grid-template-columns:1fr}.mobile-cta{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border-top:2px solid var(--ink);padding-bottom:env(safe-area-inset-bottom)}.mobile-cta a{display:grid;place-items:center;min-height:54px;font-weight:1000;text-decoration:none}.mobile-cta .tel{color:var(--deep)}.mobile-cta .line{background:var(--line);color:#fff}footer{padding-bottom:112px}}
