@charset "UTF-8";
/* ============================================================
   精密根管治療ページ（leave_teeth.php）2026-10 リニューアル
   このページだけで使うスタイル。すべて .rc の中に限定
   ============================================================ */
.rc {
  --rc-teal: #0abab5;
  --rc-teal2: #5fd0cb;
  --rc-pink: #e8659f;
  --rc-pinkbtn: #e96bb3;
  --rc-text: #4a4a4a;
  --rc-bg: #ecfaf9;
  --rc-line: #b9ece8;
  color: var(--rc-text);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: .06em;
}
.rc *, .rc *::before, .rc *::after { box-sizing: border-box; }
.rc img { display: block; max-width: 100%; height: auto; }
.rc p, .rc h1, .rc h2, .rc h3, .rc h4, .rc ul, .rc ol, .rc li { margin: 0; padding: 0; }
.rc ul, .rc ol { list-style: none; }
.rc a { text-decoration: none; }
.rc .rc-pk { color: var(--rc-pink); }
.rc .rc-tl { color: var(--rc-teal); }
.rc .rc-c { text-align: center; }
.rc .rc-pc { display: none; }
.rc .rc-dots { --rc-ls: .12em; display: inline-block; padding-top: .5em; background: radial-gradient(circle at .5em 50%, var(--rc-pink) .1em, transparent calc(.1em + .7px)) 0 0 / calc(1em + var(--rc-ls)) .2em repeat-x; }
.rc .rc-in { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.rc .rc-txt { font-size: 14px; line-height: 2; }
.rc .rc-txt + .rc-txt { margin-top: 16px; }
.rc .rc-h2 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 22px; line-height: 1.6; letter-spacing: .08em; text-align: center; margin-bottom: 28px; color: #444; }
.rc .rc-ul { color: var(--rc-teal); background: linear-gradient(transparent 92%, var(--rc-teal2) 92%, var(--rc-teal2) 97%, transparent 97%); }

/* ---------- FV ---------- */
.rc-fv { position: relative; background: linear-gradient(180deg, #f4fbfc 0%, #eef9f9 100%); }
.rc-fv .rc-fv__img { width: 100%; height: 240px; object-fit: cover; object-position: 40% 30%; }
.rc-fv .rc-fv__inner { position: relative; padding: 52px 22px 26px; }
.rc-fv .rc-fv__lead { font-family: "Shippori Mincho", serif; color: var(--rc-teal); font-size: 18px; letter-spacing: .12em; }
.rc-fv .rc-fv__catch { font-family: "Shippori Mincho", serif; color: var(--rc-teal); font-size: 29px; letter-spacing: .12em; line-height: 1.5; margin-top: 8px; }
.rc-fv .rc-fv__catch small { font-size: 20px; }
.rc-fv .rc-fv__desc { font-family: "Shippori Mincho", serif; font-size: 15px; line-height: 1.8; margin-top: 10px; color: #444; }
.rc-fv .rc-fv__title { display: flex; align-items: center; margin-top: 12px; color: var(--rc-teal); font-family: "Shippori Mincho", serif; font-weight: 400; line-height: 1; }
.rc-fv .rc-fv__v { writing-mode: vertical-rl; font-size: 20px; letter-spacing: .05em; margin-right: 6px; }
.rc-fv .rc-fv__k { font-size: 54px; letter-spacing: .08em; }
.rc-fv .rc-fv__bubble { position: absolute; right: 14px; top: -64px; width: 104px; height: 104px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(230,246,251,.9) 65%, rgba(214,239,248,.75) 100%); box-shadow: 0 0 0 6px rgba(255,255,255,.55), 0 6px 18px rgba(127,207,212,.2); }
.rc-fv .rc-fv__bubble p { font-size: 13px; font-weight: 700; line-height: 1.55; letter-spacing: .08em; color: #444; }
.rc-fv .rc-fv__bubble b { color: var(--rc-pink); font-weight: 700; }

/* ---------- お悩み ---------- */
.rc-worry { background: var(--rc-bg); padding: 30px 0 56px; }
.rc-worry .rc-h2--worry { font-size: 19px; margin-bottom: 4px; }
.rc-worry .rc-chev { display: block; width: 14px; height: 14px; margin: 0 auto 22px; border-right: 2px solid var(--rc-teal2); border-bottom: 2px solid var(--rc-teal2); transform: rotate(45deg); box-shadow: 4px 4px 0 -2px var(--rc-bg), 6px 6px 0 0 var(--rc-teal2); }
.rc-worry .rc-flw { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin: 0 6px 26px; }
.rc-worry .rc-flw li { aspect-ratio: 1 / 1; background: url("assets/images/leave_teeth_rc/flower.png") center / contain no-repeat; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; line-height: 1.75; }
.rc-worry .rc-btn3 { display: flex; flex-direction: column; gap: 10px; margin: 24px 0; }
.rc-worry .rc-btn3 li { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 62px; border-radius: 10px; background: var(--rc-teal); color: #fff; font-weight: 700; font-size: 15.5px; line-height: 1.5; box-shadow: 0 0 0 2px #c8f1ee; }
.rc-worry .rc-txt:first-of-type { text-align: left; }

/* ---------- 相談バナー ---------- */
.rc-cta { position: relative; overflow: hidden; background: linear-gradient(160deg, #e9fbf9 0%, #c6efe9 45%, #def5f8 100%); }
.rc-cta .rc-cta__bg { display: none; }
.rc-cta .rc-cta__sp { width: 100%; height: 190px; object-fit: cover; object-position: 0 40%; -webkit-mask-image: linear-gradient(180deg, #000 75%, transparent 100%); mask-image: linear-gradient(180deg, #000 75%, transparent 100%); }
.rc-cta .rc-cta__in { position: relative; z-index: 1; padding: 16px 20px 40px; }
.rc .rc-cta .rc-dots { --rc-ls: .08em; }
.rc-cta .rc-cta__t { font-family: "Shippori Mincho", serif; font-size: 20px; line-height: 1.75; letter-spacing: .08em; color: #444; }
.rc-cta .rc-cta__s { font-size: 13px; line-height: 1.8; margin-top: 10px; }
.rc-cta .rc-cta__bt { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.rc-cta .rc-cta__bt a { height: 56px; border-radius: 28px; display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; font-size: 16px; letter-spacing: .1em; }
.rc-cta .rc-cta__tel { background: #fff; border: 1px solid var(--rc-teal); color: var(--rc-teal); }
.rc-cta .rc-cta__web { background: var(--rc-teal); color: #fff; }
.rc .rc-ic { width: 26px; height: 26px; border-radius: 50%; display: inline-block; background-position: center; background-repeat: no-repeat; background-size: 15px; }
.rc .rc-ic--tel { background-color: var(--rc-teal); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E"); }
.rc .rc-ic--mail { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230abab5' stroke-width='2' d='M4 6h16v12H4z M4 7l8 6 8-6'/%3E%3C/svg%3E"); }

/* ---------- Point ---------- */
.rc-point { background: #fff; padding: 60px 0 56px; }
.rc-point .rc-pt + .rc-pt { margin-top: 48px; }
.rc-point .rc-pt > img { width: 230px; margin: 0 auto 18px; }
.rc-point .rc-pt h3 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 18px; line-height: 1.6; letter-spacing: .05em; margin-bottom: 12px; color: #444; }
.rc-point .rc-pt__n { display: block; color: var(--rc-teal); font-size: 23px; letter-spacing: .04em; line-height: 1.3; }
.rc-point .rc-pt__body p { font-size: 13.5px; line-height: 1.9; }
.rc-point .rc-pt__body p + p { margin-top: 14px; }
.rc-point .rc-note { font-size: 12.5px; }

/* ---------- 医院の特色 ---------- */
.rc-feat { background: var(--rc-bg); padding: 56px 0; }
.rc-feat .rc-feat__lab { font-family: "Shippori Mincho", serif; color: var(--rc-teal); text-align: center; font-size: 18px; letter-spacing: .1em; }
.rc-feat .rc-feat__lab::after { content: ""; display: block; width: 120px; height: 1px; margin: 10px auto 0; background: linear-gradient(90deg, transparent, var(--rc-teal2), transparent); }
.rc-feat .rc-feat__sub { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 21px; line-height: 1.6; text-align: center; margin: 20px 0 18px; letter-spacing: .06em; color: #444; }
.rc-feat .rc-feat__sub b { color: var(--rc-teal); font-weight: 400; font-size: 32px; margin-right: 4px; }
.rc-feat .rc-feat__intro { font-family: "Shippori Mincho", serif; font-size: 14.5px; line-height: 2; margin-bottom: 26px; }
.rc-feat .rc-card { background: #fff; padding: 22px 18px 26px; }
.rc-feat .rc-fi + .rc-fi { margin-top: 24px; padding-top: 24px; border-top: 3px solid transparent; border-image: linear-gradient(90deg, var(--rc-teal) 0%, var(--rc-teal) 60%, #fff 100%) 1; }
.rc-feat .rc-fi > img { width: 100%; border-radius: 22px; }
.rc-feat .rc-fi__hd { display: flex; align-items: center; gap: 12px; margin: 16px 0 10px; }
.rc-feat .rc-fi__no { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--rc-teal); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; letter-spacing: 0; }
.rc-feat .rc-fi h3 { font-family: "Shippori Mincho", serif; font-weight: 400; color: var(--rc-teal); font-size: 18.5px; line-height: 1.5; }
.rc-feat .rc-fi p { font-size: 13.5px; line-height: 2; }
.rc-feat .rc-fi sub { font-size: .65em; }

/* ---------- 保険・自由診療の説明 ---------- */
.rc-ins { background: #fff; padding: 56px 0 50px; }
.rc-ins p { font-size: 13.5px; line-height: 1.95; }
.rc-ins p + p, .rc-ins ul + p { margin-top: 12px; }
.rc-ins .rc-ins__list { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 6px 0; font-size: 13.5px; }
.rc-ins .rc-ins__list li::before { content: "✦"; color: #6ee0cf; margin-right: 6px; }

/* ---------- 歯を残すための治療 ---------- */
.rc-keep { background: var(--rc-bg); padding: 56px 0; }
.rc-keep .rc-case { display: grid; grid-template-columns: 86px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: #fff; border-radius: 16px; padding: 16px 16px 16px 14px; }
.rc-keep .rc-case img { width: 86px; grid-row: 1 / 3; }
.rc-keep .rc-case__lab { font-family: "Shippori Mincho", serif; color: var(--rc-teal); font-size: 22px; letter-spacing: .1em; line-height: 1; align-self: end; }
.rc-keep .rc-case p { font-family: "Shippori Mincho", serif; font-size: 13px; line-height: 1.8; letter-spacing: .02em; margin-top: 6px; align-self: start; }
.rc-keep .rc-cmp { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 19px; text-align: center; margin: 36px 0 18px; letter-spacing: .06em; color: #444; }
.rc-keep .rc-cmpw { display: flex; flex-direction: column; gap: 28px; }
.rc-keep .rc-tab { height: 50px; border-radius: 10px; color: #fff; display: flex; align-items: center; justify-content: center; font-family: "Shippori Mincho", serif; font-size: 19px; letter-spacing: .15em; margin-bottom: 12px; }
.rc-keep .rc-col--ins .rc-tab { background: var(--rc-teal); }
.rc-keep .rc-col--free .rc-tab { background: var(--rc-pinkbtn); }
.rc-keep .rc-it { background: #fff; border-radius: 12px; padding: 16px 16px 18px; }
.rc-keep .rc-it + .rc-it { margin-top: 10px; }
.rc-keep .rc-it h4 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 15.5px; line-height: 1.55; display: flex; gap: 8px; margin-bottom: 8px; color: #444; }
.rc-keep .rc-it h4 i { font-style: normal; font-size: 24px; line-height: 1.05; flex: none; }
.rc-keep .rc-col--ins h4 i { color: var(--rc-teal); }
.rc-keep .rc-col--free h4 i { color: var(--rc-pink); }
.rc-keep .rc-it p { font-size: 12.5px; line-height: 1.85; }

/* ---------- 料金 ---------- */
.rc-price { background: linear-gradient(180deg, #eefbfa, #f7fdfd); padding: 20px 0 56px; }
.rc-price .rc-h2--plain { font-size: 21px; }
.rc-price .rc-pr { width: 100%; border-collapse: separate; border-spacing: 0 5px; }
.rc-price .rc-pr th { width: 118px; background: var(--rc-teal); color: #fff; font-weight: 700; font-size: 13.5px; text-align: center; padding: 8px 6px; height: 56px; border-radius: 0; }
.rc-price .rc-pr td { background: #fff; border: 1px solid var(--rc-line); font-size: 13.5px; padding: 8px 12px; line-height: 1.6; }
.rc-price .rc-pr tr:first-child th { border-top-left-radius: 12px; }
.rc-price .rc-pr tr:first-child td { border-top-right-radius: 12px; }
.rc-price .rc-pr tr:last-child th { border-bottom-left-radius: 12px; }
.rc-price .rc-pr tr:last-child td { border-bottom-right-radius: 12px; }
.rc-price .rc-pr__nt { font-size: 12px; margin-top: 8px; }

/* ---------- よくある質問 ---------- */
.rc-faq { background: #fff; padding: 56px 0; }
.rc-faq .rc-qa + .rc-qa { margin-top: 28px; }
.rc-faq .rc-q, .rc-faq .rc-a { display: flex; gap: 10px; align-items: flex-start; }
.rc-faq .rc-m { flex: none; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "Shippori Mincho", serif; font-size: 22px; color: var(--rc-teal); line-height: 1; }
.rc-faq .rc-q .rc-m { background: #e4eeee; }
.rc-faq .rc-a .rc-m { background: #bdf1ee; }
.rc-faq .rc-q { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 15.5px; line-height: 1.65; color: #444; padding-top: 0; }
.rc-faq .rc-a { margin-top: 12px; }
.rc-faq .rc-a p { font-family: "Shippori Mincho", serif; font-size: 13.5px; line-height: 1.85; padding-top: 4px; }

/* ---------- 治療の流れ ---------- */
.rc-flow { background: linear-gradient(180deg, #eefbfa, #f2fbfd); padding: 56px 0 60px; }
.rc-flow .rc-flow__wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.rc-flow .rc-flow__ph { width: 150px; }
.rc-flow .rc-flow__ph--r { order: 1; }
.rc-flow .rc-flow__ph--l { order: 0; }
.rc-flow .rc-flow__txt { order: 2; width: 100%; margin-top: 10px; }
.rc-flow .rc-flow__txt p { font-size: 13.5px; line-height: 2; }
.rc-flow .rc-flow__txt p + p { margin-top: 14px; }
.rc-flow .rc-flow__bt { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 19px; text-align: center; margin: 36px 0 18px; letter-spacing: .08em; color: #444; }
.rc-flow .rc-st { display: flex; flex-direction: column; }
.rc-flow .rc-st li { position: relative; background: var(--rc-teal); color: #fff; border-radius: 12px; display: flex; align-items: center; gap: 14px; padding: 14px 18px; min-height: 58px; }
.rc-flow .rc-st li + li { margin-top: 32px; }
.rc-flow .rc-st li + li::before { content: ""; position: absolute; left: 50%; top: -22px; margin-left: -12px; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 12px solid #7ee3d4; }
.rc-flow .rc-st b { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 20px; letter-spacing: .04em; }
.rc-flow .rc-st span { font-family: "Shippori Mincho", serif; font-size: 17px; letter-spacing: .12em; line-height: 1.4; }
.rc-flow .rc-st small { display: block; font-size: 11.5px; letter-spacing: .08em; margin-top: 3px; }

/* ============================================================
   PC（768px以上）
   ============================================================ */
@media screen and (min-width: 768px) {
  .rc .rc-pc { display: inline; }
  .rc .rc-sp { display: none; }
  .rc .rc-in { padding: 0 40px; }
  .rc .rc-txt { font-size: 15px; line-height: 2.1; letter-spacing: .1em; }
  .rc .rc-h2 { font-size: 30px; margin-bottom: 44px; }

  /* お悩み */
  .rc-worry { padding: 40px 0 90px; }
  .rc-worry .rc-h2--worry { font-size: 28px; margin-bottom: 6px; }
  .rc-worry .rc-chev { margin-bottom: 40px; }
  .rc-worry .rc-flw { grid-template-columns: repeat(4, 205px); justify-content: center; gap: 32px; margin: 0 0 44px; }
  .rc-worry .rc-flw li { font-size: 14.5px; }
  .rc-worry .rc-txt:first-of-type { text-align: center; }
  .rc-worry .rc-btn3 { flex-direction: row; justify-content: center; gap: 30px; margin: 50px 0 54px; }
  .rc-worry .rc-btn3 li { width: 380px; min-height: 92px; font-size: 19px; }

  /* 相談バナー */
  .rc-cta { background: none; }
  .rc-cta .rc-cta__sp { display: none; }
  .rc-cta .rc-cta__bg { display: block; position: absolute; inset: 0; background: url("assets/images/leave_teeth_rc/cta_pc.jpg") center / cover no-repeat; }
  .rc-cta .rc-cta__in { min-height: clamp(380px, 28.6vw, 550px); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 40px 20px; }
  .rc-cta .rc-cta__t { font-size: clamp(26px, 2.1vw, 40px); text-align: center; }
  .rc-cta .rc-cta__s { font-size: clamp(14px, 1.05vw, 20px); text-align: center; margin-top: 18px; }
  .rc-cta .rc-cta__bt { flex-direction: row; gap: 40px; margin-top: 30px; }
  .rc-cta .rc-cta__bt a { width: 312px; height: 72px; border-radius: 36px; font-size: 18px; }
  .rc .rc-ic { width: 32px; height: 32px; background-size: 18px; }

  /* Point */
  .rc-point { padding: 110px 0 100px; }
  .rc-point .rc-in { max-width: 1280px; }
  .rc-point .rc-pt { display: flex; align-items: flex-start; gap: 50px; max-width: 1100px; margin: 0 auto; }
  .rc-point .rc-pt + .rc-pt { margin-top: 70px; }
  .rc-point .rc-pt > img { flex: none; width: 330px; margin: 0; }
  .rc-point .rc-pt h3 { font-size: 27px; margin: 10px 0 24px; }
  .rc-point .rc-pt__n { display: inline; font-size: 32px; margin-right: .5em; }
  .rc-point .rc-pt__body p { font-size: 15px; line-height: 1.75; letter-spacing: .1em; }
  .rc-point .rc-pt__body p + p { margin-top: 24px; }
  .rc-point .rc-note { font-size: 14px; }

  /* 医院の特色 */
  .rc-feat { padding: 100px 0 120px; }
  .rc-feat .rc-feat__lab { font-size: 27px; }
  .rc-feat .rc-feat__lab::after { width: 190px; margin-top: 18px; }
  .rc-feat .rc-feat__sub { font-size: 32px; margin: 50px 0 50px; }
  .rc-feat .rc-feat__sub b { font-size: 46px; margin: 0 .2em; }
  .rc-feat .rc-feat__intro { font-size: 21px; text-align: center; line-height: 2.2; margin-bottom: 80px; }
  .rc-feat .rc-card { padding: 60px 60px 60px 75px; }
  .rc-feat .rc-fi { display: flex; align-items: flex-start; gap: 40px; }
  .rc-feat .rc-fi + .rc-fi { margin-top: 30px; padding-top: 30px; border-top-width: 6px; }
  .rc-feat .rc-fi > img { flex: none; width: 483px; border-radius: 40px; }
  .rc-feat .rc-fi__hd { margin: 30px 0 30px; gap: 30px; }
  .rc-feat .rc-fi__no { width: 68px; height: 68px; font-size: 24px; }
  .rc-feat .rc-fi h3 { font-size: 26px; }
  .rc-feat .rc-fi p { font-size: 14.5px; line-height: 2.5; }

  /* 保険・自由診療の説明 */
  .rc-ins { padding: 90px 0 90px; }
  .rc-ins p, .rc-ins .rc-ins__list { font-size: 15px; letter-spacing: .1em; }

  /* 歯を残すための治療 */
  .rc-keep { padding: 100px 0 90px; }
  .rc-keep .rc-case { position: relative; grid-template-columns: 170px 1fr; grid-template-rows: auto; margin-left: 0; padding: 30px 40px 30px 0; border-radius: 20px; max-width: 1200px; margin: 0 0 0 auto; width: calc(100% - 60px); }
  .rc-keep .rc-case img { width: 195px; grid-row: auto; margin-left: -60px; margin-top: -40px; margin-bottom: -40px; }
  .rc-keep .rc-case__lab { display: none; }
  .rc-keep .rc-case p { font-size: 19px; line-height: 1.6; margin: 0; }
  .rc-keep .rc-case p::before { content: "Case"; float: left; font-size: 38px; color: var(--rc-teal); letter-spacing: .1em; margin: 0 50px 0 0; line-height: 1.9; }
  .rc-keep .rc-cmp { font-size: 30px; margin: 80px 0 30px; }
  .rc-keep .rc-cmpw { flex-direction: row; gap: 24px; }
  .rc-keep .rc-col { flex: 1 1 0; display: flex; flex-direction: column; }
  .rc-keep .rc-tab { height: 68px; font-size: 26px; border-radius: 14px; margin-bottom: 20px; }
  .rc-keep .rc-it { padding: 28px 30px 30px; border-radius: 16px; flex: 1 1 auto; }
  .rc-keep .rc-it + .rc-it { margin-top: 18px; }
  .rc-keep .rc-it h4 { font-size: 22px; gap: 12px; margin-bottom: 12px; }
  .rc-keep .rc-it h4 i { font-size: 34px; }
  .rc-keep .rc-it p { font-size: 14px; line-height: 2; }

  /* 料金 */
  .rc-price { padding: 40px 0 90px; }
  .rc-price .rc-h2--plain { font-size: 26px; }
  .rc-price .rc-pr { max-width: 960px; margin: 0 auto; border-spacing: 0 6px; }
  .rc-price .rc-pr th { width: 320px; height: 70px; font-size: 16px; }
  .rc-price .rc-pr td { font-size: 16px; padding: 10px 24px; }
  .rc-price .rc-pr__nt { max-width: 960px; margin: 10px auto 0; font-size: 14px; }

  /* よくある質問 */
  .rc-faq { padding: 90px 0 120px; }
  .rc-faq .rc-qa + .rc-qa { margin-top: 44px; }
  .rc-faq .rc-m { width: 48px; height: 48px; font-size: 30px; }
  .rc-faq .rc-q, .rc-faq .rc-a { gap: 12px; align-items: center; }
  .rc-faq .rc-q { font-size: 20px; }
  .rc-faq .rc-a { margin-top: 16px; }
  .rc-faq .rc-a p { font-size: 15px; padding: 0; }

  /* 治療の流れ */
  .rc-flow { padding: 100px 0 120px; }
  .rc-flow .rc-in { max-width: 1440px; }
  .rc-flow .rc-flow__wrap { flex-wrap: nowrap; align-items: flex-start; gap: 20px; }
  .rc-flow .rc-flow__ph { width: 330px; flex: none; }
  .rc-flow .rc-flow__ph--l { order: 0; margin-top: 60px; }
  .rc-flow .rc-flow__txt { order: 1; width: auto; flex: 1 1 auto; margin: 0; text-align: center; }
  .rc-flow .rc-flow__ph--r { order: 2; margin-top: 150px; }
  .rc-flow .rc-flow__txt p { font-size: 15px; letter-spacing: .1em; }
  .rc-flow .rc-flow__bt { font-size: 26px; margin: 40px 0 50px; }
  .rc-flow .rc-st { flex-direction: row; justify-content: center; gap: 64px; }
  .rc-flow .rc-st li { flex-direction: column; justify-content: flex-start; gap: 22px; width: 80px; min-height: 390px; padding: 28px 0; border-radius: 16px; }
  .rc-flow .rc-st li + li { margin-top: 0; }
  .rc-flow .rc-st li + li::before { left: -40px; top: 50%; margin: -12px 0 0; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 14px solid #7ee3d4; border-right: 0; }
  .rc-flow .rc-st b { font-size: 26px; }
  .rc-flow .rc-st span { writing-mode: vertical-rl; font-size: 21px; letter-spacing: .1em; }
  .rc-flow .rc-st small { font-size: 12px; margin: 0 6px 0 0; padding-right: 8px; border-right: 1px solid rgba(255,255,255,.8); }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .rc-worry .rc-flw { grid-template-columns: repeat(4, minmax(0, 205px)); gap: 20px; }
  .rc-worry .rc-btn3 li { width: auto; flex: 1 1 0; font-size: 17px; }
  .rc-point .rc-pt > img { width: 260px; }
  .rc-point .rc-pt h3 { font-size: 23px; }
  .rc-feat .rc-card { padding: 40px; }
  .rc-feat .rc-fi > img { width: 42%; }
  .rc-feat .rc-fi__hd { margin: 10px 0 16px; gap: 18px; }
  .rc-feat .rc-fi p { line-height: 2.1; }
  .rc-flow .rc-flow__ph { width: 220px; }
  .rc-flow .rc-st { gap: 36px; }
  .rc-flow .rc-st li + li::before { left: -27px; }
}
@media screen and (min-width: 1024px) {
  /* FV：写真を背景にして、左に文字（デザイン1920px幅を基準に、画面幅に合わせて拡大縮小） */
  .rc-fv { overflow: hidden; }
  .rc-fv .rc-fv__img { height: auto; aspect-ratio: 1920 / 700; object-fit: cover; object-position: right center; }
  .rc-fv .rc-fv__inner { position: absolute; inset: 0; padding: 0; max-width: none; }
  .rc-fv .rc-fv__copy { position: absolute; left: 17.5%; top: 17%; }
  .rc-fv .rc-fv__lead { font-size: min(1.62vw, 31px); }
  .rc-fv .rc-fv__catch { font-size: min(2.6vw, 50px); margin-top: .1em; }
  .rc-fv .rc-fv__catch small { font-size: .7em; }
  .rc-fv .rc-fv__desc { font-size: min(1.17vw, 22.5px); line-height: 1.75; margin-top: .9em; }
  .rc-fv .rc-fv__title { margin-top: .4em; }
  .rc-fv .rc-fv__v { font-size: min(1.6vw, 31px); margin-right: .25em; }
  .rc-fv .rc-fv__k { font-size: min(4.4vw, 84px); }
  .rc-fv .rc-fv__bubble { left: 40.7%; right: auto; top: 3.5%; width: min(11.4vw, 218px); height: min(11.4vw, 218px); box-shadow: none; background: radial-gradient(circle, rgba(255,255,255,.85) 0%, rgba(232,246,251,.8) 60%, rgba(214,239,248,.55) 100%); }
  .rc-fv .rc-fv__bubble p { font-size: min(1.12vw, 21px); }
  /* PCではサイトのヘッダー（高さ136px・透明）がページの上に重なるため、その分下げる */
  .rc-fv { padding-top: 136px; background: #fff; }
  .rc-fv .rc-fv__inner { top: 136px; }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .rc-fv .rc-fv__img { height: 420px; object-position: 45% 30%; }
  .rc-fv .rc-fv__inner { max-width: 720px; margin: 0 auto; padding: 60px 40px 30px; }
  .rc-fv .rc-fv__bubble { right: 40px; top: -70px; width: 130px; height: 130px; }
  .rc-fv .rc-fv__bubble p { font-size: 15px; }
  .rc-fv .rc-fv__lead { font-size: 22px; }
  .rc-fv .rc-fv__catch { font-size: 36px; }
  .rc-fv .rc-fv__desc { font-size: 17px; }
  .rc-fv .rc-fv__k { font-size: 66px; }
  .rc-fv .rc-fv__v { font-size: 24px; }
}
