/* ── Pricing Section ── */
.lp-pricing { position: relative; overflow: hidden; }

/* 無料体験カード */
.lp-pricing-free-card {
  max-width: 600px;
  margin: var(--space-16) auto 0;
  padding: var(--space-14) var(--space-12);
  background: var(--color-white);
  border-radius: 28px;
  box-shadow: 0 12px 60px rgba(232,114,154,0.20);
  border: 2px solid var(--color-accent);
  text-align: center;
  position: relative;
}

.lp-pricing-free-label {
  font-size: var(--text-sm);
  color: var(--color-gray-500);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: var(--space-4);
  margin-bottom: var(--space-3);
}

.lp-pricing-free-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}
.lp-pricing-free-num {
  font-family: var(--font-elegant), serif;
  font-size: clamp(3.5rem, 10vw, 5rem);
  font-weight: var(--weight-bold);
  color: var(--color-accent);
  line-height: 1;
}
.lp-pricing-free-currency {
  font-size: 0.5em;
  vertical-align: middle;
}
.lp-pricing-free-cross {
  font-size: var(--text-sm);
  color: var(--color-gray-400);
  text-decoration: line-through;
}

.lp-pricing-free-includes {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  text-align: left;
  max-width: 340px;
  margin: 0 auto;
}
.lp-pricing-free-includes li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-gray-700);
}

.lp-pricing-free-note {
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  margin-top: var(--space-4);
}

/* プランカード */
.lp-pricing-plans {
  margin-top: var(--space-20);
}
.lp-pricing-plans-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: var(--weight-bold);
  text-align: center;
  color: var(--color-primary);
  margin-bottom: var(--space-8);
}

.lp-pricing-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}

.lp-pricing-plan-card {
  padding: var(--space-10) var(--space-8);
  background: var(--color-white);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(232,114,154,0.10);
  border: 1px solid rgba(232,114,154,0.15);
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
}
.lp-pricing-plan-card-popular {
  border: 2px solid var(--color-accent);
  box-shadow: 0 8px 40px rgba(232,114,154,0.20);
}

.lp-pricing-popular-label {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-accent);
  color: var(--color-white);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  padding: 4px 16px;
  border-radius: 999px;
  white-space: nowrap;
}

.lp-pricing-plan-name {
  font-weight: var(--weight-bold);
  font-size: var(--text-lg);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.lp-pricing-plan-desc {
  font-size: var(--text-xs);
  color: var(--color-gray-500);
  margin-bottom: var(--space-4);
  min-height: 2.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.lp-pricing-plan-price {
  font-family: var(--font-elegant), serif;
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: var(--weight-bold);
  color: var(--color-accent);
  line-height: 1.1;
}
.lp-pricing-plan-price span { font-size: var(--text-sm); color: var(--color-gray-500); }
.lp-pricing-plan-note {
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  margin-top: auto;
  padding-top: var(--space-2);
}

.lp-pricing-plans-note {
  text-align: center;
  font-size: var(--text-xs);
  color: var(--color-gray-400);
  margin-top: var(--space-6);
}

@media (max-width: 768px) {
  .lp-pricing-free-card { margin: var(--space-10) auto 0; padding: var(--space-10) var(--space-7); }
  .lp-pricing-free-price { margin-bottom: var(--space-5); }
  .lp-pricing-plan-grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .lp-pricing-plan-card { padding: var(--space-8) var(--space-6); }
  .lp-pricing-plan-card-popular { }
  .lp-pricing-plans { margin-top: var(--space-12); }
}
