:root{--green:#14b37d;--deep:#0d5c49;--lime:#e6f9ec;--sun:#ffd23f;--ink:#1b3a32;--mut:#4f6a61;--line:#d5eee0;--accent:#ff6a3d}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px/1.9 "Noto Sans JP",sans-serif}
img{max-width:100%;display:block}a{color:inherit}
.note{background:var(--sun);text-align:center;font-size:13px;font-weight:700;padding:6px 12px}
.w{max-width:1100px;margin:auto;padding:0 20px}
.top{background:#fff}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{font:900 24px "Zen Maru Gothic",sans-serif;text-decoration:none;color:var(--green)}
nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px;font-weight:700}nav a{text-decoration:none}nav a[aria-current]{color:var(--accent)}
.hero{background:var(--green);color:#fff}
.hero:after{content:"";display:block;height:clamp(260px,52vh,520px);background:url("https://images.unsplash.com/photo-1698877036155-dd730fc2ca5b?w=1800&q=75") center/cover}
.hero .w{width:100%;padding-top:40px;padding-bottom:32px}
.hero h1{font:900 clamp(32px,6vw,62px)/1.3 "Zen Maru Gothic",sans-serif;margin:0 0 8px}.hero p{margin:0;max-width:36em;font-weight:700}
.head{background:var(--green);color:#fff;padding:44px 0}.head h1{font:900 clamp(30px,5vw,44px)/1.3 "Zen Maru Gothic",sans-serif;margin:0}.head p{margin:8px 0 0}
section{padding:60px 0}.alt{background:var(--lime)}
h2{font:900 clamp(25px,4vw,34px)/1.4 "Zen Maru Gothic",sans-serif;color:var(--deep);margin:0 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px}
.pt{background:var(--lime);border-radius:20px;padding:24px}.pt h3{margin:0 0 6px;font:900 20px "Zen Maru Gothic",sans-serif;color:var(--accent)}.pt p{margin:0;color:var(--mut)}
.case{background:#fff;border:2px solid var(--line);border-radius:20px;overflow:hidden}.case img{width:100%;aspect-ratio:10/7;object-fit:cover}.case div{padding:14px 18px 18px}.case h3{margin:0;font-size:18px}.case small{color:var(--mut)}.case p{margin:6px 0 0;font-size:15px}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:2px solid var(--line);border-radius:14px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;vertical-align:top}tr:last-child th,tr:last-child td{border-bottom:0}th{width:30%;background:var(--lime);color:var(--deep)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 30px;border:0;border-radius:99px;font:700 16px "Noto Sans JP",sans-serif;text-decoration:none;cursor:pointer}
.cta{background:var(--sun);text-align:center}.tel{font-size:clamp(30px,6vw,44px);font-weight:700;display:block}
ol.flow{padding:0;margin:0;list-style:none;counter-reset:f}ol.flow li{counter-increment:f;padding:14px 0 14px 50px;border-bottom:2px solid var(--line);position:relative}ol.flow li:before{content:counter(f);position:absolute;left:0;top:14px;width:34px;height:34px;line-height:34px;text-align:center;background:var(--green);color:#fff;font-weight:700;border-radius:50%}
label{display:block;font-weight:700;margin-top:16px}input,select,textarea{width:100%;font:16px "Noto Sans JP",sans-serif;padding:11px;border:2px solid var(--line);border-radius:10px;background:#fff;margin-top:4px}
form{max-width:640px}form .btn{margin-top:20px}#sent{font-weight:700;color:var(--accent)}
footer{background:var(--deep);color:#e6f9ec;padding:26px 0;font-size:14px}
