/* 料金ページ（/price/）専用
 * ページ本体はサイト既存の部品（page-fv / service-support / service-compare / service-about / service-merit / top-case / cta / service-flow / faq）で組む。
 * ここに書くのは既存部品に無いもの（表・シミュレーター・図版の余白）だけ。色と書体は page/styles.css の :root 変数を使い、新しい色を足さない。
 * 2026-10-02 作成
 */

/* 図版 */
.prc-figure { margin: 2.4rem 0; }
.prc-figure img { width: 100%; height: auto; border-radius: 1rem; }
.prc-note { font-size: 1.4rem; color: #767676; }

/* MERIT（回収していただきたい）：既存の3列カードを2列で使う */
.service-merit .prc-merit-lead { color: #fff; font-size: 1.6rem; line-height: 2; max-width: 88rem; margin: 3.2rem auto 0; }
.service-merit .prc-merit-lead.-center { text-align: center; margin-top: 4rem; }
.service-merit .service-merit__headList.prc-merit-two { max-width: 88rem; margin-left: auto; margin-right: auto; }
.service-merit .service-merit__headList.prc-merit-two > li { flex: 1; }

/* 料金プランの注記 */
.price-box .annotation { margin-top: 2.4rem; }

/* 支援範囲の違い：見出しセルにロゴが無いので高さだけ揃える */
.service-compare .service-compare__wrapper section > div h3 { line-height: 1.5; }

/* シミュレーター */
.prc-sim { background: #fff; border-radius: 1rem; padding: 4rem; box-shadow: 0 0 2rem rgba(0, 0, 0, .06); }
.prc-sim__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.6rem; }
.prc-sim__grid label { display: block; font-size: 1.5rem; font-weight: 700; color: var(--text-color-01); }
.prc-sim__grid small { display: block; font-size: 1.2rem; font-weight: 400; color: #767676; }
.prc-sim__grid input { width: 100%; margin-top: .8rem; padding: 1rem 1.2rem; border: 1px solid #ddd; border-radius: .6rem; background: var(--bg-color); font-family: var(--ff-en); font-size: 2.2rem; }
.prc-sim__btn { display: block; width: 100%; max-width: 40rem; margin: 3.2rem auto; padding: 1.6rem; border: 0; border-radius: 10rem; background: var(--gradation); color: #fff; font-size: 2rem; font-weight: 700; cursor: pointer; transition: opacity .3s; }
.prc-sim__btn:hover { opacity: .7; }
.prc-sim__result { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; margin: 0 0 2.4rem; }
.prc-sim__result div { border: 1px solid #eee; border-radius: 1rem; padding: 1.6rem 2rem; text-align: center; }
.prc-sim__result div.-main { border-color: var(--accent-color); }
.prc-sim__result dt { font-size: 1.5rem; font-weight: 700; color: #767676; }
.prc-sim__result dd { margin: .4rem 0 0; font-family: var(--ff-en); font-size: 3rem; font-weight: 700; color: var(--text-color-01); }
.prc-sim__result div.-main dd { color: var(--accent-color); }

/* 単発の料金表（FAQの開閉部品の中に表を入れる） */
.prc-single { margin-top: 4rem; }
.prc-single .p-qa-box__content { padding: 0 0 2rem; }
.prc-single .p-qa-box__q::before { display: none; }
.prc-table-wrap { overflow-x: auto; }
.prc-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 1.5rem; line-height: 1.6; }
.prc-table th, .prc-table td { padding: 1.4rem 1.6rem; border-bottom: 1px solid #e5e5e5; text-align: left; font-weight: 400; vertical-align: middle; }
.prc-table thead th { background: var(--bg-color); font-weight: 700; font-size: 1.4rem; white-space: nowrap; }
.prc-table tbody th { font-weight: 700; }
.prc-table td { white-space: nowrap; }
.prc-table td:last-child { white-space: normal; }
.prc-table .-price { text-align: right; font-family: var(--ff-en); font-weight: 700; color: var(--text-color-01); }
.prc-pack td:last-child { white-space: nowrap; }
.prc-pack tfoot th, .prc-pack tfoot td { font-weight: 700; background: var(--bg-color); }
.prc-pack tfoot tr.-main th, .prc-pack tfoot tr.-main td { background: var(--accent-color); color: #fff; }
.prc-pack-wrap { margin-top: 4rem; }
.prc-pack-diff { text-align: center; font-size: 1.8rem; font-weight: 700; margin-top: 2.4rem; }
.prc-pack-diff strong { color: var(--accent-color); font-family: var(--ff-en); font-size: 3.2rem; margin: 0 .4rem; }

/* 代表から */
.service-about__content section.prc-last { display: grid; grid-template-columns: 1fr 28rem; gap: 4rem; align-items: start; }
.prc-last figure { margin: 0; }
.prc-last figure img { width: 100%; height: auto; border-radius: 1rem; }
.prc-last__sign { text-align: right; font-weight: 700; }

@media screen and (max-width: 1023px) {
  .prc-sim__grid { grid-template-columns: repeat(3, 1fr); }
  .prc-sim__result { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 600px) {
  .service-merit .prc-merit-lead { font-size: 1.4rem; }
  .prc-sim { padding: 2.4rem 1.6rem; }
  .prc-sim__grid { grid-template-columns: 1fr 1fr; }
  .prc-sim__result dd { font-size: 2.2rem; }
  .prc-table { font-size: 1.3rem; min-width: 64rem; }
  .prc-pack { min-width: 52rem; }
  .service-about__content section.prc-last { grid-template-columns: 1fr; }
  .prc-last figure { max-width: 24rem; margin: 0 auto; }
}
