/* ============================================================
   学習塾RENA｜中学準備講座LP 専用スタイル（ピンク基調）
   ・土台は ../style.css（ヘッダー/フッター/フォーム部品など共通）
   ・このファイルはLP本文をピンクテーマに上書きする
   ============================================================ */
.prep-page{
  --pk-deep:  #8f3a4e;   /* 濃ローズ（見出し・濃背景） */
  --pk:       #d97a90;   /* メインピンク（アクセント） */
  --pk-soft:  #e8a3b3;   /* ライトピンク（濃背景上の差し色） */
  --pk-bg:    #fdf3f5;   /* 桜色の背景 */
  --pk-line:  #f0d3da;   /* ピンク系ボーダー */
}

/* ---- 共通パーツのピンク上書き（LP本文のみ） ---- */
.prep-page main .eyebrow{color:var(--pk)}
.prep-page main .rule{background:var(--pk)}
.prep-page main .sec-title,
.prep-page main .card-title{color:var(--pk-deep)}
.prep-page main .accent-bar{background:var(--pk)}
.prep-page main .card-kicker{color:var(--pk)}
.prep-page main .chip{color:var(--pk-deep);background:var(--pk-bg)}
.prep-page main .chip-plus{color:#8a6420;background:#faf1dc}
.prep-page main .feature-card{border-color:var(--pk-line);box-shadow:0 18px 40px -34px rgba(143,58,78,.45)}

/* ---- ヒーロー ---- */
.prep-page .jh-hero{background:linear-gradient(160deg,#fdf3f5 0%,#fbe9ee 55%,#f8f4ea 100%)}
.prep-page .jh-title{color:var(--pk-deep)}
.prep-page .jh-facts li{border-color:var(--pk-line)}
.prep-page .jh-facts b{color:var(--pk-deep)}
.prep-page .jh-jump a{border-color:var(--pk-line);color:var(--pk-deep)}
.prep-page .jh-jump a i{color:var(--pk)}
.prep-page .jh-jump a:hover{border-color:var(--pk);color:var(--pk)}
.pc-hero-badge{
  display:inline-block;font-weight:900;font-size:13px;letter-spacing:.06em;
  color:#fff;background:var(--pk);border-radius:999px;padding:6px 18px;margin-bottom:14px;
}

/* ---- ヒーロー画像(切り抜き人物をピンクパネルに) ---- */
.pc-hero-media{
  background:linear-gradient(150deg,#f9dfe4 0%,#f2c0ca 60%,#eeb0bd 100%);
  border-radius:var(--radius);aspect-ratio:4/3.2;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
}
.pc-hero-media img{width:auto;height:94%;object-fit:contain;aspect-ratio:auto;border-radius:0;margin-top:auto}

/* ---- セクション背景 ---- */
.pc-about{background:#fff}
.pc-sched{background:var(--pk-bg)}
.pc-price{background:#fff}
.pc-trial{background:var(--pk-deep);color:#fbeef1;position:relative;overflow:hidden}
.pc-trial::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(100% 120% at 88% -10%,rgba(217,122,144,.35),transparent 60%),
    radial-gradient(90% 120% at -8% 110%,rgba(192,134,47,.18),transparent 62%);
}
.pc-entry{background:var(--pk-bg)}
.pc-results{background:#fff}
.pc-voice{background:var(--pk-bg)}
.pc-faq{background:#fff}

/* ---- 講座について ---- */
.pc-about-lead{
  max-width:760px;margin:0 auto;font-size:15px;line-height:2.1;color:var(--ink-soft);
}
.pc-about-lead p+p{margin-top:18px}
.pc-about-lead b{color:var(--pk-deep)}

/* ---- 特典カード ---- */
.pc-bonus{
  position:relative;max-width:920px;margin:26px auto 0;background:var(--pk-bg);
  border:1px solid var(--pk-line);border-radius:var(--radius);padding:34px 28px 26px;text-align:center;
}
.pc-bonus-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;
  padding:5px 16px;border-radius:999px;white-space:nowrap;
}
.pc-bonus-title{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--pk-deep)}
.pc-bonus-text{font-size:13.5px;line-height:2;color:var(--ink-soft);margin-top:10px;max-width:680px;margin-inline:auto}
.pc-bonus-text b{color:var(--pk-deep)}

/* ---- 授業日程（jh-tt のピンク上書き） ---- */
.prep-page .jh-tt-card{border-color:var(--pk-line);box-shadow:0 20px 44px -34px rgba(143,58,78,.5)}
.prep-page .jh-tt-head{background:var(--pk-deep)}
.prep-page .jh-tt-grade small{color:var(--pk-soft)}
.prep-page .jh-tt-meta{color:#ecc7cf}
.prep-page .jh-tt thead th{background:#faeef1;color:#a8798a;border-bottom-color:var(--pk-line)}
.prep-page .jh-tt thead th:nth-child(7){color:#a8798a}
.prep-page .jh-tt tbody td:nth-child(7){background:transparent}
.prep-page .jh-tt th,.prep-page .jh-tt td{border-bottom-color:#f5e3e8}
.prep-page .jh-tt .jh-tt-time{color:var(--pk-deep)}
.prep-page .jh-dot{background:var(--pk);box-shadow:0 0 0 4px #f8e1e7}
.pc-consult{
  max-width:720px;margin:22px auto 0;background:#fff;border:1.5px dashed var(--pk);
  border-radius:12px;padding:16px 20px;text-align:center;
  font-size:13.5px;font-weight:700;color:var(--pk-deep);line-height:1.9;
}

/* ---- 授業料（jh-price のピンク上書き） ---- */
.prep-page .jh-price-card{border-color:var(--pk-line);box-shadow:0 20px 44px -34px rgba(143,58,78,.5)}
.prep-page .jh-price-grade{background:var(--pk-deep);font-size:15px;letter-spacing:.04em}
.prep-page .jh-price-row{grid-template-columns:150px 1fr;border-bottom-color:#f5e3e8}
.prep-page .jh-price-num{color:var(--pk-deep)}
.prep-page .jh-price-notes a{color:var(--pk)}
@media (max-width:480px){
  .prep-page .jh-price-row{grid-template-columns:104px 1fr}
  .prep-page .jh-price-grade{font-size:13px}
}

/* ---- 無料体験（jh-trial のピンク上書き） ---- */
.prep-page .jh-trial-points li::before{background:var(--pk-soft)}
.prep-page .jh-trial-lead{color:#f0d5db}
.prep-page .jh-trial-hours{color:#d8aab5}
.prep-page .jh-trial-box-title{color:#d8aab5}
.prep-page .jh-trial-mail a{color:var(--pk-soft)}
.pc-trial-free{
  display:inline-block;font-family:var(--serif);font-weight:800;color:#fff;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  border-radius:12px;padding:10px 22px;font-size:15px;margin:4px 0 16px;letter-spacing:.04em;
}

/* ---- ボタン（ピンク） ---- */
.pc-btn{background:var(--pk);color:#fff;box-shadow:0 12px 24px -14px rgba(217,122,144,.9)}
.pc-btn:hover{background:#c96580}

/* ---- フォーム（ct-form のピンク上書き） ---- */
.prep-page .ct-form{border-color:var(--pk-line);box-shadow:0 20px 44px -34px rgba(143,58,78,.5);max-width:760px;margin:0 auto}
.prep-page .ct-field label,.prep-page .ct-field-label{color:var(--pk-deep)}
.prep-page .ct-field input:focus,.prep-page .ct-field select:focus,.prep-page .ct-field textarea:focus{border-color:var(--pk)}
.prep-page .ct-choice input:checked+span{background:var(--pk);border-color:var(--pk)}
.prep-page .ct-choice input:focus-visible+span{outline-color:var(--pk)}
.prep-page .ct-choice span{color:var(--pk-deep)}
.pc-field-note{font-size:12px;line-height:1.8;color:var(--ink-mute)}
.prep-page .ct-field[hidden]{display:none}
.prep-page .ct-thanks{max-width:760px;margin:0 auto;border-color:var(--pk-line)}
.prep-page .ct-thanks-mark{background:var(--pk)}
.prep-page .ct-thanks h2{color:var(--pk-deep)}
.prep-page .ct-thanks a[href^="tel:"]{color:var(--pk)}

/* ---- 進学先と入塾時期 ---- */
.pc-res-note{max-width:720px;margin:0 auto 26px;font-size:14px;line-height:2.05;color:var(--ink-soft);text-align:center}
.pc-res-note b{color:var(--pk-deep)}
.pc-res-card{
  max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--pk-line);
  border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 44px -34px rgba(143,58,78,.5);
}
.pc-res{width:100%;border-collapse:collapse}
.pc-res th,.pc-res td{padding:11px 18px;font-size:14px;border-bottom:1px solid #f5e3e8;text-align:left}
.pc-res thead th{
  background:var(--pk-deep);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;
}
.pc-res tbody tr:last-child td{border-bottom:0}
.pc-res td:first-child{font-weight:700;color:var(--pk-deep)}
.pc-res td:last-child{text-align:center;font-weight:700;color:var(--ink-soft);width:9em}
.pc-res .is-elem td:last-child{color:var(--pk)}
.pc-res .pc-app{
  font-style:normal;font-size:10.5px;font-weight:900;letter-spacing:.04em;
  border-radius:5px;padding:2px 7px;margin-left:8px;vertical-align:1px;white-space:nowrap;
}
.pc-res .pc-app.is-tan{color:var(--pk-deep);background:var(--pk-bg);border:1px solid var(--pk-line)}
.pc-res .pc-app.is-hei{color:#6b7280;background:#f1f3f5;border:1px solid #dde1e6}
@media (max-width:480px){
  .pc-res th,.pc-res td{padding:10px 10px;font-size:12.5px}
  .pc-res td:first-child{white-space:nowrap}
  .pc-res td:last-child{width:5em}
  .pc-res thead th{white-space:nowrap;font-size:11.5px;padding:10px 6px}
  .pc-res .pc-app{font-size:9.5px;padding:1.5px 5px;margin-left:6px}
}
.pc-res .pc-res-yr td{
  background:#faeef1;color:var(--pk-deep);font-weight:900;font-size:12.5px;
  letter-spacing:.1em;text-align:center;padding:8px;
}

/* ---- 保護者の声 ---- */
.pc-voice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;max-width:1000px;margin:0 auto}
.pc-voice-card{
  background:#fff;border:1px solid var(--pk-line);border-radius:var(--radius);
  padding:26px 26px 22px;box-shadow:0 18px 40px -34px rgba(143,58,78,.45);
}
.pc-voice-school{
  display:inline-block;font-size:12px;font-weight:900;letter-spacing:.04em;
  color:var(--pk-deep);background:var(--pk-bg);border-radius:999px;padding:5px 14px;margin-bottom:12px;
}
.pc-voice-text{font-size:13.5px;line-height:2;color:var(--ink-soft)}

/* ---- よくある質問 ---- */
.pc-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.pc-faq-item{
  background:#fff;border:1px solid var(--pk-line);border-radius:12px;overflow:hidden;
}
.pc-faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;
  padding:16px 20px;font-size:14.5px;font-weight:700;color:var(--pk-deep);
}
.pc-faq-item summary::-webkit-details-marker{display:none}
.pc-faq-item summary::before{content:"Q.";font-family:var(--serif);font-weight:800;color:var(--pk);flex:none}
.pc-faq-item summary::after{content:"＋";margin-left:auto;color:var(--pk);font-weight:700;flex:none}
.pc-faq-item[open] summary::after{content:"−"}
.pc-faq-a{
  display:flex;gap:12px;align-items:baseline;
  padding:0 20px 18px;font-size:13.5px;line-height:2;color:var(--ink-soft);
}
.pc-faq-a::before{content:"A.";font-family:var(--serif);font-weight:800;color:var(--gold);flex:none}
