:root{--green:#2f7d5a;--green-dark:#235f44;--green-light:#e8f3ec;--accent:#e8833a;--text:#2b3a33;--muted:#5f6f67;--bg:#fff;--bg-alt:#f6faf7;--line:#d9e5dd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:17px;line-height:1.85}img{max-width:100%;height:auto;display:block}.container{max-width:1040px;margin:0 auto;padding:0 20px}h1,h2,h3{margin:0 0 .6em;line-height:1.4}h2{color:var(--green-dark);border-left:6px solid var(--green);margin-bottom:1.2em;padding-left:14px;font-size:1.7rem}h3{font-size:1.1rem}p{margin:0 0 .8em}a{color:var(--green-dark)}.muted{color:var(--muted)}.note{color:var(--muted);font-size:.92rem}.btn{background:var(--green);color:#fff;border-radius:999px;padding:14px 28px;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.btn:hover{background:var(--green-dark)}.btn-small{padding:9px 18px;font-size:.95rem}.btn-ghost{color:var(--green-dark);border:2px solid var(--green);background:0 0}.btn-ghost:hover{background:var(--green-light)}.btn-tel{padding:16px 32px;font-size:1.3rem}.btn-accent{background:var(--accent)}.btn-accent:hover{background:#cf6f2a}.header{border-bottom:1px solid var(--line);z-index:10;background:#fffffff5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:68px;display:flex}.logo{color:var(--green-dark);white-space:nowrap;font-size:1.15rem;font-weight:700;text-decoration:none}.nav{align-items:center;gap:4px 22px;display:flex}.nav a{color:var(--text);border-bottom:3px solid #0000;padding:6px 0;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--green-dark);border-bottom-color:var(--green)}.nav-toggle{display:none}.nav-toggle summary{cursor:pointer;color:var(--green-dark);border:2px solid var(--green);border-radius:8px;padding:8px 14px;font-weight:700;list-style:none}.nav-toggle summary::-webkit-details-marker{display:none}.page-head{background:linear-gradient(160deg, var(--green-light) 0%, #fff 80%);padding:56px 0 44px}.page-head h1{color:var(--green-dark);margin:0 0 .3em;font-size:2rem}.page-head p{color:var(--muted);margin:0}.hero{background:linear-gradient(160deg, var(--green-light) 0%, #fff 70%);padding:64px 0}.hero-inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;display:grid}.eyebrow{color:var(--green);letter-spacing:.08em;margin-bottom:.4em;font-weight:700}.hero h1{color:var(--green-dark);font-size:2.3rem}.lead{color:var(--muted);max-width:620px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-photo img{border-radius:20px;box-shadow:0 16px 40px #235f442e}.section{padding:72px 0}.section-alt{background:var(--bg-alt)}.section-tight{padding:48px 0}.more{text-align:center;margin-top:32px}.check-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.check-list li{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 18px 14px 48px;position:relative}.check-list li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:18px}.cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px 24px}.num{color:var(--green);margin-bottom:8px;font-size:1.6rem;font-weight:700;display:inline-block}.card p{color:var(--muted);margin:0;font-size:.97rem}.services{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.service{border-left:4px solid var(--green);background:var(--green-light);border-radius:0 12px 12px 0;padding:22px 24px}.service p{color:var(--muted);margin:0;font-size:.97rem}.steps{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px 24px}.step-num{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-weight:700;display:inline-flex}.steps p{color:var(--muted);margin:0;font-size:.97rem}.media-grid{grid-template-columns:320px 1fr;align-items:start;gap:40px;display:grid}.media-grid img{border-radius:16px}.profile-name{margin:0;font-size:1.6rem}.profile-role{color:var(--green);margin:0 0 1em;font-weight:700}.tags{flex-wrap:wrap;gap:8px;margin:0 0 1em;padding:0;list-style:none;display:flex}.tags li{background:var(--green-light);color:var(--green-dark);border-radius:999px;padding:4px 14px;font-size:.9rem;font-weight:600}.timeline{border-left:3px solid var(--line);margin:0;padding:0;list-style:none}.timeline li{padding:0 0 22px 28px;position:relative}.timeline li:before{content:"";background:var(--green);border:3px solid #fff;border-radius:50%;width:15px;height:15px;position:absolute;top:10px;left:-9px}.timeline time{color:var(--green-dark);font-size:.95rem;font-weight:700;display:block}.price-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;overflow:hidden}.price-table th,.price-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 16px}.price-table th{background:var(--green-light);color:var(--green-dark)}.price-table td.price{white-space:nowrap;color:var(--green-dark);font-weight:700}.table-wrap{overflow-x:auto}.faq{gap:12px;display:grid}.faq details{border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px 20px}.faq summary{cursor:pointer;padding:12px 0;font-weight:700}.faq p{color:var(--muted);margin:0;padding-bottom:12px}.info-grid{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}.info{grid-template-columns:120px 1fr;gap:10px 14px;margin:0;display:grid}.info dt{color:var(--green-dark);font-weight:700}.info dd{margin:0}.map{border:0;border-radius:16px;width:100%;height:360px}.contact-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.contact-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:28px 24px}.contact-card .icon{margin-bottom:8px;font-size:2rem}.contact-card h3{margin-bottom:.4em}.contact-card .btn{margin-top:12px}.form-box{border:2px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:16px;padding:40px 24px}.form-box iframe{border:0;width:100%;min-height:900px}.cta{background:var(--green-dark);color:#fff;text-align:center;padding:64px 0}.cta h2{color:#fff;border:none;margin-bottom:.5em;padding:0;font-size:1.6rem}.cta p{opacity:.92;margin-bottom:1.4em}.cta .actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cta .btn-tel{color:var(--green-dark);background:#fff}.cta .btn-ghost{color:#fff;border-color:#fff}.cta .btn-ghost:hover{background:#ffffff1f}.footer{border-top:1px solid var(--line);background:#fafcfa;padding:40px 0 28px}.footer-inner{grid-template-columns:1fr auto;align-items:start;gap:24px;display:grid}.footer-name{margin:0 0 .3em;font-size:1.1rem;font-weight:700}.footer-info{color:var(--muted);margin:0;font-size:.95rem}.footer-nav{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--text);font-size:.95rem;text-decoration:none}.copyright{text-align:center;color:var(--muted);margin:28px 0 0;font-size:.85rem}@media (width<=760px){body{font-size:16px}.nav{display:none}.nav-toggle{display:block}.nav-toggle[open]{position:relative}.nav-toggle .nav{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:stretch;gap:0;min-width:220px;padding:8px 0;display:flex;position:absolute;top:52px;right:0;box-shadow:0 12px 30px #0000001f}.nav-toggle .nav a{border-bottom:1px solid var(--line);padding:12px 20px}.nav-toggle .nav a:last-child{border-bottom:none}.hero{padding:40px 0}.hero-inner{grid-template-columns:1fr;gap:24px}.hero-photo{order:-1}.hero h1{font-size:1.7rem}.page-head{padding:40px 0 32px}.page-head h1{font-size:1.6rem}.section{padding:52px 0}.cards,.services,.steps,.info-grid,.contact-cards,.footer-inner,.media-grid{grid-template-columns:1fr}.media-grid img{max-width:260px;margin:0 auto}.btn-small{padding:8px 14px;font-size:.9rem}.map{height:280px}}
