:root{--bg:#fff;--fg:#1a1a1a;--muted:#6b7280;--primary:#2f6b37;--primary-700:#24532a;--border:#e5e7eb;--card:#f8fafc}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{margin:0;padding:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;padding:0;font-family:'Noto Sans JP',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Apple Color Emoji','Segoe UI Emoji';color:var(--fg);background:var(--bg);line-height:1.7;overflow-x:hidden}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;background:var(--bg);z-index:20;border-bottom:1px solid var(--border)}
.brand{font-weight:700;font-size:20px}
.nav a{margin-left:8px;color:var(--fg);text-decoration:none;display:inline-block;padding:10px 8px;border-radius:8px}
.nav .btn{margin-left:24px}
.hero{padding:64px 0;text-align:center}
.hero h1{font-size:40px;margin:0 0 12px}
.hero p{color:var(--muted);margin:0 0 24px}
.area-badge{display:inline-block;margin:0 0 20px;padding:8px 12px;border-radius:999px;background:#f1f5f9;border:1px solid var(--border);font-weight:700}
.deal-badge{display:inline-block;margin:0 0 24px;padding:10px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}
.btn{display:inline-block;padding:12px 18px;border-radius:10px;border:1px solid var(--border);background:#fff;min-height:44px}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.primary.lg{padding:14px 22px;font-size:18px}
.btn.primary:hover{background:var(--primary-700)}
.section{padding:48px 0}
h2{font-size:28px;margin:0 0 16px}
/* アンカーのスクロール余白（固定ヘッダ対策） */
section{scroll-margin-top:70px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
.steps{padding-left:20px;color:var(--muted)}
.price-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;padding:16px}
.price{font-size:32px;font-weight:700}
.sub{color:var(--muted)}
.form{display:flex;flex-direction:column;gap:16px}
label{display:flex;flex-direction:column;gap:8px;font-weight:600}
input,textarea{padding:14px;border:1px solid var(--border);border-radius:10px;font:inherit;min-height:44px}
.check{flex-direction:row;align-items:center;gap:8px;font-weight:400}
.status{min-height:20px;color:var(--muted)}
footer{padding:24px 0;border-top:1px solid var(--border);color:var(--muted)}
@media(max-width:780px){
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .hero{padding:40px 0}
  .hero h1{font-size:30px}
  .area-badge{display:block;margin:12px auto 20px}
  .deal-badge{display:block;margin:0 auto 24px}
  .btn{width:100%}
  .nav{gap:8px}
  .nav a{margin-left:12px}
  .price-card{flex-direction:column;align-items:flex-start}
  .section{padding:36px 0}
}

@media(max-width:480px){
  .container{padding:0 16px}
  h2{font-size:22px}
  .hero h1{font-size:24px;margin-top:4px}
  .price{font-size:28px}
}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(16px);background:rgba(47,107,55,.98);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* モバイル固定CTA */
.mobile-cta{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));display:none;gap:12px;justify-content:center;padding:0 16px;z-index:30}
.mobile-cta .btn{flex:1;text-align:center}
@media(max-width:780px){.mobile-cta{display:flex}}


