/* User LP (利用者向け) */
html.lp-user { font-size: 18px; }
.lp-user .hero-title { font-size: clamp(1.9rem, 6vw, 3rem); margin-bottom: 12px; }
.lp-user .hero-subtitle { line-height: 1.8; }
.lp-user .hero-desc { line-height: 2; }
.lp-user .hero-badge { color: rgba(255,255,255,0.35); margin-top: 32px; }
.lp-user .section-label { font-size: 0.68rem; }
.lp-user .section-title { font-size: clamp(1.35rem, 4vw, 1.9rem); line-height: 1.6; }
.lp-user .section-lead { line-height: 2; }
.lp-user .site-logo { font-size: 1.1rem; }
.lp-user .site-logo span { font-size: 0.6rem; }
.lp-user .header-cta { font-size: 0.75rem; padding: 9px 18px; }
.lp-user .fade-in { transform: translateY(24px); }
.lp-user .message-quote { font-size: clamp(1.05rem, 3vw, 1.25rem); line-height: 2; margin-bottom: 28px; }
.lp-user .message-body { line-height: 2; }
.lp-user .message-sig-name { font-size: 1.05rem; }
.lp-user .faq-question { line-height: 1.7; }
.lp-user .faq-answer p { line-height: 2; }
.lp-user .point-list li { line-height: 1.75; }
.lp-user .note-box { line-height: 1.85; }
.lp-user .note-box strong { font-size: 0.95rem; }

.worry-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0;
}
.worry-card {
  background: var(--white); border: 1px solid var(--border); border-radius: 6px;
  padding: 20px 18px; display: flex; align-items: flex-start; gap: 12px;
}
.worry-icon { font-size: 1.4rem; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.worry-text { font-size: 0.88rem; color: var(--text-mid); line-height: 1.75; }

.price-block {
  background: var(--navy); border-radius: 6px; padding: 28px 32px; margin: 32px 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
}
.price-main { border-right: 1px solid rgba(255,255,255,0.12); padding-right: 28px; }
.price-ext { padding-left: 28px; display: flex; align-items: center; }
.price-label { font-size: 0.72rem; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; margin-bottom: 8px; }
.price-num { font-family: var(--serif); font-size: 2.4rem; font-weight: 400; color: var(--gold-light); line-height: 1; }
.price-unit { font-size: 0.85rem; color: rgba(255,255,255,0.7); margin-top: 6px; }
.price-ext-label { font-size: 0.72rem; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; margin-bottom: 6px; }
.price-ext-num { font-family: var(--serif); font-size: 1.4rem; color: var(--gold-light); }
.price-ext-unit { font-size: 0.8rem; color: rgba(255,255,255,0.6); margin-top: 4px; }

.point-list { list-style: none; margin: 24px 0; }
.point-list li {
  padding: 14px 0 14px 32px; position: relative; border-bottom: 1px solid var(--border);
  font-size: 0.95rem; color: var(--text); line-height: 1.75;
}
.point-list li::before {
  content: '✓'; position: absolute; left: 0; top: 14px; color: var(--gold); font-weight: 500;
}

.lp-user .note-box {
  background: var(--beige); border: 1px solid var(--beige-dark); color: var(--text-mid);
}
.lp-user .note-box strong { color: var(--navy); }

@media (max-width: 600px) {
  html.lp-user { font-size: 17px; }
  .worry-grid { grid-template-columns: 1fr; }
  .price-block { grid-template-columns: 1fr; }
  .price-main { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.12); padding-right: 0; padding-bottom: 20px; margin-bottom: 20px; }
  .price-ext { padding-left: 0; }
}