*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;color:#222;line-height:1.8;background:#fff;-webkit-text-size-adjust:100%}
a{color:inherit}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
.demo{background:#222;color:#fff;font-size:13px;text-align:center;padding:8px 12px}
.demo a{color:#ffd27a}
.hd{border-bottom:1px solid #eee;background:#fff}
.hd .w{display:flex;justify-content:space-between;align-items:center;height:64px}
.brand{font-weight:800;font-size:19px;text-decoration:none;color:var(--c)}
.tel{font-weight:700;text-decoration:none;color:var(--c);font-size:15px}
.hero{background:var(--hero);color:#fff;padding:84px 0}
.hero h1{font-size:clamp(26px,4.6vw,42px);line-height:1.4}
.hero p{margin:16px 0 28px;opacity:.92;max-width:600px}
.btn{display:inline-block;background:var(--a);color:#fff;font-weight:700;text-decoration:none;padding:13px 30px;border-radius:999px}
.btn.line{background:#06c755}
section{display:block;padding:68px 0}
section.alt{background:var(--soft)}
h2{font-size:clamp(22px,3.2vw,28px);text-align:center;margin-bottom:36px;color:var(--c)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:820px){.g3,.g2{grid-template-columns:1fr}}
.cd{background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:24px}
.cd h3{color:var(--c);margin-bottom:6px;font-size:18px}
.cd p{color:#555;font-size:15px}
.ph{height:150px;border-radius:10px;margin-bottom:14px;background:var(--ph);display:flex;align-items:flex-end;padding:10px;color:#fff;font-size:13px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border-bottom:1px solid #e6e6e6;padding:14px 16px;text-align:left;font-size:15px}
th{width:34%;background:var(--soft);color:var(--c)}
.cta{background:var(--c);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta p{margin-bottom:24px;opacity:.9}
.ft{text-align:center;font-size:13px;color:#888;padding:24px}
