/* page-first-visit.css v2 — アンカー guntû。罫と余白だけで組む。色・角丸・影は足さない */

/* ---- 見出し帯の全幅写真（1400で断ち落とし・テキストは1200） ---- */
.p-fv-visual img{ height:480px; object-fit:cover; object-position:center 52%; }

/* ---- ① ご来院から、お帰りまで ---- */
.p-fv-flow{ padding:var(--s-12) 0 var(--s-10); }
.p-fv-flow__head{ display:grid; grid-template-columns:1fr auto; gap:0 80px; align-items:end; margin-bottom:var(--s-6); }
.p-fv-flow__lead{ max-width:640px; margin-top:26px; }
.p-fv-flow__total{ text-align:right; font-size:14px; line-height:1.6; letter-spacing:.08em; white-space:nowrap; }
.p-fv-flow__total strong{ font-family:var(--font-num); font-size:34px; font-weight:400; letter-spacing:.02em; margin:0 5px; }

/* ---- ② 所要時間と料金 ---- */
.p-fv-outline{ padding:var(--s-10) 0 var(--s-12); }
.p-fv-outline__grid{ display:grid; grid-template-columns:300px 1fr; gap:0 72px; align-items:start; }

/* ---- ③ 持ち物・服装 ---- */
.p-fv-bring{ padding:var(--s-12) 0 var(--s-8); }
.p-fv-bring__body{ display:grid; grid-template-columns:1fr 340px; gap:0 72px; align-items:start; margin-top:var(--s-6); }
.p-fv-bring__photo img{ width:100%; height:430px; object-fit:cover; object-position:center 40%; }

/* ---- ④ 院内のご案内（左＝説明／1px縦罫／右＝線画） ---- */
.p-fv-room{ padding:var(--s-8) 0 var(--s-12); }
.p-fv-room__body{ display:grid; grid-template-columns:1fr 640px; gap:0 80px; align-items:start; margin-top:var(--s-6); }
.p-fv-room__text{ padding-right:80px; border-right:1px solid var(--rule); }
.p-fv-room__text p{ font-size:14px; line-height:30px; }
.p-fv-room__text p + p{ margin-top:24px; }
.p-fv-room__draw{ padding-top:6px; }

/* ---- ⑤ よくあるご質問 ---- */
.p-fv-faq{ padding:var(--s-10) 0 var(--s-14); }
.p-fv-faq__grid{ display:grid; grid-template-columns:300px 1fr; gap:0 72px; align-items:start; }
.p-fv-q{ display:inline-block; margin-right:14px; font-family:var(--font); font-size:15px; letter-spacing:.08em; color:var(--ink-mid); }

/* ---- タブレット ---- */
@media (max-width:1023px){
  .p-fv-visual img{ height:360px; }
  .p-fv-flow__head{ grid-template-columns:1fr; gap:28px 0; align-items:start; }
  .p-fv-flow__total{ text-align:left; padding-top:24px; border-top:1px solid var(--rule); }
  .p-fv-outline__grid,
  .p-fv-faq__grid{ grid-template-columns:1fr; gap:36px 0; }
  .p-fv-bring__body{ grid-template-columns:1fr; gap:44px 0; }
  .p-fv-bring__photo img{ height:320px; object-position:center 34%; }
  .p-fv-room__body{ grid-template-columns:1fr; gap:40px 0; }
  .p-fv-room__text{ padding-right:0; padding-bottom:40px; border-right:0; border-bottom:1px solid var(--rule); }
  .p-fv-room__draw{ padding-top:0; }
}

/* ---- スマートフォン ---- */
@media (max-width:767px){
  .p-fv-visual img{ height:240px; }
  .p-fv-flow__lead{ margin-top:20px; }
  .p-fv-flow__total strong{ font-size:28px; }
  .p-fv-bring__photo img{ height:260px; }
  .p-fv-q{ margin-right:10px; font-size:14px; }
  /* 線画は画面幅に合わせて縮むので、SPだけ図中の文字を大きくする */
  .p-fv-room__draw .c-draw text{ font-size:16px; }
}
