/* pricing.css — ページ固有スタイル（共通は common.css） */

.container { width: min(1000px, 100% - 4rem); margin-inline: auto; }

section { padding-block: 100px; }

/* ============================
   正直な理由
============================ */
#honest { background: var(--white); }

.honest-inner { max-width: 680px; }

.honest-title {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 700;
  color: var(--black);
  line-height: 1.35;
  letter-spacing: -.02em;
  margin-block: 1.5rem 2.5rem;
}

.honest-body { display: flex; flex-direction: column; gap: 1.5rem; }

.honest-body p {
  font-size: .95rem;
  color: var(--g700);
  line-height: 2;
  font-weight: 400;
}

/* ============================
   費用が変わる要因
============================ */
#factors { background: var(--off-white); }

.factors-head { margin-block-end: 4rem; }

.factors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-block-start: 1px solid var(--g100);
  border-inline-start: 1px solid var(--g100);
}

.factor-item {
  padding: 2.5rem 2rem;
  border-block-end: 1px solid var(--g100);
  border-inline-end: 1px solid var(--g100);
  background: var(--white);
}

.factor-label {
  font-size: .85rem;
  font-weight: 700;
  color: var(--black);
  margin-block-end: .85rem;
  padding-block-end: .85rem;
  border-block-end: 1px solid var(--g100);
  letter-spacing: .01em;
}

.factor-desc {
  font-size: .82rem;
  color: var(--g500);
  line-height: 1.85;
  font-weight: 400;
}

/* ============================
   CTA
============================ */
#cta { background: var(--black); padding-block: 120px; }

.cta-center { text-align: center; }
.cta-title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 700; color: var(--white); line-height: 1.3; letter-spacing: -.02em; margin-block-end: 1.25rem; }
.cta-desc  { font-size: .92rem; color: rgba(255,255,255,.8); line-height: 1.9; font-weight: 400; margin-block-end: 3rem; }

.btn-cta {
  display: inline-flex; align-items: center; gap: .75rem;
  background: var(--white); color: var(--black); padding: 1.1rem 2.75rem;
  font-size: .9rem; font-weight: 600; letter-spacing: .04em;
  transition: background var(--tr), transform var(--tr);
}
.btn-cta:hover { background: var(--off-white); transform: translateY(-1px); }
.btn-cta svg { transition: transform var(--tr); }
.btn-cta:hover svg { transform: translateX(4px); }

/* ============================
   レスポンシブ
============================ */
@media (max-width: 768px) {
  section { padding-block: 72px; }
  .factors-grid { grid-template-columns: 1fr; }
}
