:root{
  --lp-max: 1200px;
  --lp-pad: clamp(16px, 3vw, 32px);
  --lp-primary: #3b82f6;
  --lp-accent: #f7c948;
  --lp-muted: #f7f7f9;
  --lp-accent-bg: #eaf4ff;
}
/* Base */
.lp-wrap{font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', sans-serif; color:#222;}
.lp-container{max-width: var(--lp-max); margin: 0 auto; padding: 0 var(--lp-pad);}
.center{text-align:center}
.muted{color:#666}
.strong{font-weight:700}
.catch{font-size: clamp(22px, 3.5vw, 28px); font-weight:700;}


/* QRカード */
.line-qr-card{display:grid; grid-template-columns: 360px 1fr; gap:28px; align-items:center}
.line-qr-card__media{display:flex; align-items:center; justify-content:center}
.line-qr{width:280px; height:auto; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.12); background:#fff}
.line-steps{counter-reset: step; padding-left:0; margin:0}
.line-steps li{list-style:none; margin:0 0 12px; line-height:1.8}
.line-steps li::before{counter-increment: step; content: counter(step) "."; display:inline-block; width:1.6em; font-weight:700; color:#333}
@media (max-width:960px){ .line-qr-card{grid-template-columns:1fr} }



/* Hero */
.lp-hero{
  position: relative; min-height: 62vh; display:flex; align-items:center;
  background: var(--bg, none) center / cover no-repeat; color:#fff;
}
.lp-hero::after{content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,0) 100%);
}
.lp-hero__inner{position:relative; z-index: 1; max-width: var(--lp-max); width:100%; margin:0 auto; padding: min(12vw, 120px) var(--lp-pad)}
.lp-hero h1{font-size: clamp(28px, 5vw, 56px); line-height: 1.25; margin: 0 0 .4em}
.lp-hero .sub{font-size: clamp(16px, 2.2vw, 22px); opacity:.96}

/* Sections */
.lp-section{padding: 84px 0; background: #fff;}
.lp-section--muted{background: var(--lp-muted)}
.lp-section--accent{background: var(--lp-accent-bg)}
.lp-section h2{font-size: clamp(22px, 3.6vw, 32px); font-weight: 800; margin: 0 0 .8em}
.lead{font-size: clamp(16px, 2.4vw, 20px); line-height: 1.9}

/* Grids & Cards */
.lp-grid{display:grid; gap: 24px}
.lp-grid--two{grid-template-columns: repeat(2, minmax(0,1fr))}
.lp-grid--three{grid-template-columns: repeat(3, minmax(0,1fr))}
@media (max-width: 960px){.lp-grid--two{grid-template-columns:1fr}.lp-grid--three{grid-template-columns:1fr}}
.lp-card{background:#fff; border-radius:16px; padding:24px; box-shadow:0 12px 30px rgba(0,0,0,.08)}

/* Profile */
.lp-profile{display:grid; grid-template-columns: 240px 1fr; gap: 28px; align-items: center}
.lp-profile__image{display:flex; align-items:center; justify-content:center}
.lp-avatar{width: 240px; height: 240px; border-radius: 999px; background: linear-gradient(135deg,#e0e0e0,#fafafa); box-shadow: 0 16px 40px rgba(0,0,0,.12)}
.lp-profile__name{font-size: 1.4rem; font-weight: 800; margin: .3em 0}
@media (max-width: 780px){.lp-profile{grid-template-columns:1fr; text-align:center}.lp-avatar{margin:0 auto}}

/* CTA */
.lp-cta{background:#ffe7a3; text-align:center; padding: 84px var(--lp-pad)}
.lp-btn{display:inline-block; padding:.9em 1.6em; border-radius:9999px; font-weight:700; text-decoration:none}
.lp-btn--primary{background: var(--lp-accent); color:#222}
.lp-btn--accent{background: var(--lp-primary); color:#fff}

/* Lists */
.lp-list{padding-left: 1.2em; line-height:1.9}
.lp-list li{list-style: disc}

/* PS */
.lp-ps{background:#111; color:#fff; padding: 48px 0}
