/* ========================================
   BME LP ページ基本設定
======================================== */

body.bme-lp-page {
    margin: 0;
    padding: 0;
    background: #FBFAF7;
    overflow-x: hidden;
}

.bme-lp {
  --bme-ink: #26323B;
  --bme-ink2: #5A6A72;
  --bme-paper: #FBFAF7;
  --bme-card: #FFFFFF;
  --bme-teal: #33bdb4;
  --bme-teal-d: #23928a;
  --bme-teal-l: #E4F7F5;
  --bme-bone: #E8DFD0;
  --bme-bone-l: #F4EEE3;
  --bme-heat: #C9551E;
  --bme-line: #D8D3C8;
  --bme-r: 14px;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
  color: var(--bme-ink);
  background: var(--bme-paper);
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: .02em;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 4px 64px;
  box-sizing: border-box;
  overflow-x: hidden;
}
.bme-lp *, .bme-lp *::before, .bme-lp *::after { box-sizing: border-box; }
.bme-lp img { max-width: 100%; height: auto; }
.bme-lp a { color: var(--bme-teal); }

.bme-lp h1, .bme-lp h2, .bme-lp h3 {
  font-family: 'Zen Old Mincho', 'Yu Mincho', 'Noto Serif JP', serif;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}
.bme-lp h2 { font-size: 26px; margin-bottom: 20px; }
.bme-lp h3 { font-size: 20px; margin: 0 0 12px; color: var(--bme-teal); }
@media (max-width: 640px) {
  .bme-lp h1 { font-size: 30px !important; }
  .bme-lp h2 { font-size: 22px; }
  .bme-lp { font-size: 16px; }
}

.bme-lp section { padding: 52px 20px; margin: 0; }
.bme-lp .bme-eyebrow {
  display: inline-block;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 12px;
  letter-spacing: .22em;
  color: var(--bme-teal);
  border: 1px solid var(--bme-teal);
  border-radius: 999px;
  padding: 3px 14px;
  margin-bottom: 16px;
  background: var(--bme-card);
}
.bme-lp .bme-note { font-size: 12.5px; color: var(--bme-ink2); line-height: 1.7; }
.bme-lp .bme-img-ph {
  border: 2px dashed #B9B0A0;
  border-radius: var(--bme-r);
  background: repeating-linear-gradient(45deg, #F4EEE3, #F4EEE3 12px, #EFE7D7 12px, #EFE7D7 24px);
  color: #7A7264;
  display: flex; align-items: center; justify-content: center;
  text-align: center; font-size: 14px; line-height: 1.7;
  padding: 18px; min-height: 120px;
}
/* ---- 概念図(画像+キャプション) ---- */
.bme-lp .bme-diagram { margin: 18px 0; text-align: center; }
.bme-lp .bme-diagram img { width: 100%; height: auto; border-radius: var(--bme-r); display: block; }
.bme-lp .bme-diagram figcaption {
  font-size: 13px; color: var(--bme-ink2); line-height: 1.7;
  margin-top: 8px; text-align: center;
}
.bme-lp .bme-video-ph {
  border: 2px dashed var(--bme-teal);
  border-radius: var(--bme-r);
  background: var(--bme-teal-l);
  color: var(--bme-teal);
  display: flex; align-items: center; justify-content: center;
  text-align: center; font-size: 14px;
  padding: 22px 18px; min-height: 110px;
}

.bme-lp .bme-btn {
  display: inline-block;
  background: var(--bme-heat);
  color: #FFF; text-decoration: none;
  font-weight: 700; font-size: 18px;
  padding: 18px 44px; border-radius: 999px; border: none;
  box-shadow: 0 6px 16px rgba(201, 85, 30, .28);
  transition: transform .15s ease, box-shadow .15s ease;
}
.bme-lp .bme-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(201, 85, 30, .34); }
.bme-lp .bme-cta-note { font-size: 13px; color: var(--bme-ink2); margin-top: 10px; }
@media (prefers-reduced-motion: reduce) {
  .bme-lp .bme-btn { transition: none; }
  .bme-lp .bme-btn:hover { transform: none; }
}

.bme-lp .bme-fv {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: stretch;
  background: var(--bme-paper);
  border-radius: var(--bme-r);
  overflow: hidden;
  margin: 0 8px;
}
.bme-lp .bme-fv-media {
  position: relative;
  min-height: 620px;
  background-image: url('images/hero-knee.png');
  background-size: cover;
  background-position: 70% center;
  background-repeat: no-repeat;
}
.bme-lp .bme-fv-media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(20,50,48,.24) 0%, rgba(20,50,48,0) 26%), linear-gradient(200deg, rgba(51,189,180,.12) 0%, rgba(51,189,180,0) 40%);
  pointer-events: none;
}
.bme-lp .bme-fv-media-text {
  display: none;
}
.bme-lp .bme-fv-text {
  display: flex;
  align-items: center;
  padding: 64px min(6vw, 64px);
}
.bme-lp .bme-fv-inner { position: relative; max-width: 520px; }
.bme-lp .bme-fv h1 { font-size: 42px; margin: 0 0 20px; }
.bme-lp .bme-fv h1 span {
  color: var(--bme-teal);
  text-decoration: underline;
  text-decoration-color: var(--bme-teal-l);
  text-decoration-thickness: 10px;
  text-underline-offset: 8px;
}
.bme-lp .bme-fv .bme-lead { font-size: 17px; margin: 0 0 28px; color: var(--bme-ink2); }
.bme-lp .bme-fvprice {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  background: var(--bme-teal-l);
  border: 1px solid var(--bme-teal);
  color: var(--bme-ink);
  border-radius: 10px;
  padding: 10px 18px;
  margin-top: 16px;
  line-height: 1.5;
}
.bme-lp .bme-fvprice .bme-fvprice-main {
  font-family: 'Zen Old Mincho', serif;
  font-size: 24px;
  font-weight: 700;
  color: var(--bme-teal-d);
}
.bme-lp .bme-fvprice .bme-fvprice-tax {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 13px;
  font-weight: 500;
  margin-left: 2px;
}
.bme-lp .bme-fvprice .bme-fvprice-sub {
  font-size: 13px;
  font-weight: 500;
  color: var(--bme-ink2);
}
.bme-lp .bme-fv-badges {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, var(--bme-teal) 0%, var(--bme-teal-d) 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding: 0;
}
.bme-lp .bme-fv-badge {
  color: #FFF; text-align: center; font-size: 14px; font-weight: 700;
  padding: 16px 14px; line-height: 1.5;
}
.bme-lp .bme-fv-badge b { display: block; font-size: 12px; font-weight: 500; letter-spacing: .08em; opacity: .85; margin-bottom: 4px; }
@media (max-width: 860px) {
  .bme-lp { padding-left: 0; padding-right: 0; }
  .bme-lp .bme-fv { grid-template-columns: 1fr; margin: 0; border-radius: 0; }
  .bme-lp .bme-fv-media {
    min-height: 380px;
    order: 1;
    background-position: 60% 30%;
    display: flex;
    align-items: flex-start;
  }
  .bme-lp .bme-fv-media::after {
    background: linear-gradient(100deg, rgba(20,50,48,.62) 0%, rgba(20,50,48,.28) 45%, rgba(20,50,48,0) 70%);
  }
  .bme-lp .bme-fv-media-text {
    display: block;
    position: relative;
    z-index: 1;
    padding: 24px 20px;
    max-width: 78%;
  }
  .bme-lp .bme-fv-media-text .bme-eyebrow {
    background: rgba(255,255,255,.92);
  }
  .bme-lp .bme-fv-media-text h1 {
    color: #FFF;
    font-size: 26px;
    margin: 0;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
  }
  .bme-lp .bme-fv-media-text h1 span {
    color: #EFFFFD;
    text-decoration-color: var(--bme-teal-l);
  }
  .bme-lp .bme-fv-text { order: 2; padding: 28px 20px 28px; }
  .bme-lp .bme-fv-text .bme-eyebrow, .bme-lp .bme-fv-text h1 { display: none; }
  .bme-lp .bme-fv-badges { grid-template-columns: 1fr; order: 3; }
  .bme-lp .bme-fv-badge { padding: 12px 16px; text-align: left; display: flex; align-items: baseline; gap: 8px; }
  .bme-lp .bme-fv-badge b { margin-bottom: 0; }
}

/* ---- BME再生療法 概要ブロック(冒頭) ---- */
.bme-lp .bme-intro {
  background: linear-gradient(160deg, var(--bme-teal-l) 0%, #FFF 70%);
  border: 1px solid var(--bme-teal-l);
  border-radius: var(--bme-r);
  margin: 8px 8px 0;
  padding: 32px 28px;
  text-align: center;
}
.bme-lp .bme-intro-lead {
  font-family: 'Zen Old Mincho', 'Yu Mincho', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--bme-teal-d);
  margin: 0 0 18px;
  line-height: 1.6;
}
.bme-lp .bme-intro-name {
  display: inline-block;
  background: var(--bme-teal);
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  border-radius: 999px;
  padding: 6px 18px;
  margin: 0 0 16px;
}
.bme-lp .bme-intro-name small { font-weight: 500; opacity: .9; margin-left: 4px; }
.bme-lp .bme-intro-body {
  font-size: 16px;
  line-height: 1.9;
  color: var(--bme-ink);
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
}
@media (max-width: 640px) {
  .bme-lp .bme-intro { padding: 24px 18px; }
  .bme-lp .bme-intro-lead { font-size: 19px; }
}

.bme-lp .bme-toc {
  background: var(--bme-card); border: 1px solid var(--bme-line);
  border-radius: var(--bme-r); padding: 20px 24px;
  margin: 0 8px 8px; font-size: 14.5px;
}
.bme-lp .bme-toc b { color: var(--bme-teal); display: block; margin-bottom: 8px; font-size: 15px; }
.bme-lp .bme-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 24px; }
@media (max-width: 640px) { .bme-lp .bme-toc ol { columns: 1; } }
.bme-lp .bme-toc a { text-decoration: none; color: var(--bme-ink); }
.bme-lp .bme-toc a:hover { color: var(--bme-teal); text-decoration: underline; }

.bme-lp .bme-empathy { background: var(--bme-bone-l); border-radius: var(--bme-r); margin: 0 8px; }
.bme-lp .bme-empathy ul { list-style: none; margin: 0; padding: 0; }
.bme-lp .bme-empathy li {
  background: var(--bme-card); border-radius: 10px;
  padding: 14px 18px; margin: 10px 0;
  border-left: 4px solid var(--bme-heat);
  font-weight: 500;
}
.bme-lp .bme-hitline b, .bme-lp .bme-future b { color: var(--bme-teal); }

.bme-lp .bme-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 24px; }
@media (max-width: 720px) { .bme-lp .bme-cards { grid-template-columns: 1fr; } }
.bme-lp .bme-card {
  background: var(--bme-card); border: 1px solid var(--bme-line);
  border-top: 5px solid var(--bme-teal);
  border-radius: var(--bme-r); padding: 22px 18px;
}
.bme-lp .bme-card.bme-card-surgery { border-top-color: var(--bme-bone); }
.bme-lp .bme-card .bme-tag { font-size: 12px; letter-spacing: .18em; color: var(--bme-ink2); display: block; margin-bottom: 8px; }
.bme-lp .bme-card h3 { font-size: 19px; }
.bme-lp .bme-card p { margin: 8px 0 0; font-size: 15px; line-height: 1.8; }

.bme-lp .bme-band { border-left: 6px solid var(--bme-teal); padding-left: 16px; margin-bottom: 20px; }
.bme-lp .bme-band.bme-band-bone { border-left-color: var(--bme-bone); }
.bme-lp .bme-band.bme-band-heat { border-left-color: var(--bme-heat); }

.bme-lp .bme-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
@media (max-width: 640px) { .bme-lp .bme-points { grid-template-columns: 1fr; } }
.bme-lp .bme-point {
  background: var(--bme-card); border: 1px solid var(--bme-line);
  border-top: 4px solid var(--bme-teal);
  border-radius: 12px; padding: 16px;
}
.bme-lp .bme-point .bme-pt { font-size: 12px; letter-spacing: .18em; color: var(--bme-heat); font-weight: 700; display: block; margin-bottom: 6px; }
.bme-lp .bme-point h4 { margin: 0 0 6px; font-size: 16.5px; font-family: 'Zen Old Mincho', 'Yu Mincho', serif; }
.bme-lp .bme-point .bme-fac { display: inline-block; background: var(--bme-teal-l); color: var(--bme-teal); font-size: 12px; font-weight: 700; border-radius: 999px; padding: 2px 10px; margin-bottom: 6px; }
.bme-lp .bme-point p { margin: 0; font-size: 14.5px; }

.bme-lp .bme-origins { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 16px 0; }
@media (max-width: 720px) { .bme-lp .bme-origins { grid-template-columns: 1fr; } }
.bme-lp .bme-origin { border: 1px solid var(--bme-line); border-radius: 10px; padding: 12px; font-size: 13.5px; background: var(--bme-card); line-height: 1.7; }
.bme-lp .bme-origin b { display: block; font-size: 14px; margin-bottom: 4px; }
.bme-lp .bme-origin.bme-origin-main { border: 2px solid var(--bme-teal); background: var(--bme-teal-l); }

.bme-lp .bme-grades { margin: 26px 0 8px; }
.bme-lp .bme-grade-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; align-items: stretch; }
@media (max-width: 640px) { .bme-lp .bme-grade-track { grid-template-columns: repeat(2, 1fr); } }
.bme-lp .bme-grade { display: flex; flex-direction: column; background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: 12px; padding: 14px 12px; }
.bme-lp .bme-grade b { display: block; font-family: 'Zen Old Mincho', serif; font-size: 18px; color: var(--bme-teal); margin-bottom: 6px; }
.bme-lp .bme-grade small { display: block; font-size: 13px; color: var(--bme-ink2); line-height: 1.7; }
.bme-lp .bme-grade .bme-gfit { align-self: center; margin-top: auto; padding: 2px 10px; font-size: 12px; font-weight: 700; border-radius: 999px; text-align: center; line-height: 1.5; }
.bme-lp .bme-g-save { background: var(--bme-teal-l); color: var(--bme-teal); }
.bme-lp .bme-g-regen { background: #FCEADF; color: var(--bme-heat); }
.bme-lp .bme-g-surg { background: var(--bme-bone); color: #6B5B3E; }
.bme-lp .bme-grade-arrow { text-align: center; color: var(--bme-ink2); font-size: 13px; margin: 10px 0 0; }

.bme-lp .bme-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--bme-r); border: 1px solid var(--bme-line); background: var(--bme-card); }
.bme-lp table { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 14.5px; }
.bme-lp th, .bme-lp td { border: 1px solid #E6E1D6; padding: 12px 10px; text-align: center; vertical-align: middle; line-height: 1.6; }
.bme-lp thead th { background: var(--bme-teal); color: #FFF; font-weight: 700; font-size: 14px; }
.bme-lp thead th.bme-col-bme { background: var(--bme-heat); }
.bme-lp tbody th { background: var(--bme-bone-l); font-weight: 700; text-align: left; white-space: nowrap; font-size: 13.5px; }
.bme-lp td.bme-hl { background: #FCEADF; font-weight: 700; }

.bme-lp .bme-doctor {
  display: grid; grid-template-columns: 220px 1fr; gap: 22px; align-items: start;
  background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: var(--bme-r); padding: 24px;
}
@media (max-width: 640px) { .bme-lp .bme-doctor { grid-template-columns: 1fr; } }
.bme-lp .bme-doctor .bme-img-ph { min-height: 200px; }
.bme-lp .bme-doctor-photo {
  width: 100%;
  aspect-ratio: 326 / 318;
  border-radius: var(--bme-r);
  background-image: url('images/doctor-nagamine.png');
  background-repeat: no-repeat;
  background-size: 314.11% 241.51%;
  background-position: 87.54% 11.56%;
}
.bme-lp .bme-doctor ul { margin: 8px 0 0; padding-left: 18px; font-size: 14.5px; color: var(--bme-ink2); }
.bme-lp .bme-voices { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 18px; }
@media (max-width: 640px) { .bme-lp .bme-voices { grid-template-columns: 1fr; } }
.bme-lp .bme-voice { background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: var(--bme-r); padding: 20px; }
.bme-lp .bme-voice .bme-who { font-weight: 700; color: var(--bme-teal); font-size: 15px; margin-bottom: 8px; display: block; }
.bme-lp .bme-voice p { margin: 0; font-size: 15px; }

/* ---- 体験談(画像版) ---- */
.bme-lp .bme-voice-img { padding: 20px; overflow: hidden; text-align: center; }
.bme-lp .bme-voice-img img { display: inline-block; width: 100%; max-width: 420px; height: auto; }
@media (max-width: 640px) {
  .bme-lp .bme-voice-img { padding: 0; }
  .bme-lp .bme-voice-img img { max-width: 100%; }
}

.bme-lp .bme-price { background: linear-gradient(135deg, var(--bme-teal) 0%, var(--bme-teal-d) 100%); color: #FFF; border-radius: var(--bme-r); padding: 30px 24px; text-align: center; }
.bme-lp .bme-price .bme-yen { font-family: 'Zen Old Mincho', serif; font-size: 40px; font-weight: 700; }
.bme-lp .bme-price .bme-yen .bme-yen-tax { font-size: 18px; font-weight: 400; }
.bme-lp .bme-price .bme-yen small { font-size: 15px; font-weight: 400; display: block; opacity: .85; }
.bme-lp .bme-steps { counter-reset: bme-step; margin: 24px 0 0; padding: 0; list-style: none; }
.bme-lp .bme-steps li {
  counter-increment: bme-step;
  background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: 12px;
  padding: 14px 16px 14px 58px; margin: 8px 0; position: relative; font-size: 15px;
}
.bme-lp .bme-steps li::before {
  content: counter(bme-step);
  position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--bme-teal); color: #FFF;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Zen Old Mincho', serif; font-weight: 700; font-size: 15px;
}
.bme-lp .bme-steps li b { display: block; font-size: 15.5px; }
.bme-lp .bme-steps li span { color: var(--bme-ink2); font-size: 14px; }

.bme-lp details {
  background: var(--bme-card); border: 1px solid var(--bme-line);
  border-radius: 10px; margin: 8px 0; overflow: hidden;
}
.bme-lp summary {
  cursor: pointer; padding: 15px 18px; font-weight: 700; font-size: 15.5px;
  list-style: none; position: relative; padding-right: 44px; line-height: 1.6;
}
.bme-lp summary::-webkit-details-marker { display: none; }
.bme-lp summary::after {
  content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
  font-size: 22px; color: var(--bme-teal); font-weight: 400;
}
.bme-lp details[open] summary::after { content: '−'; }
.bme-lp details .bme-a { padding: 0 18px 16px; font-size: 15px; }
.bme-lp details .bme-a::before { content: 'A.'; color: var(--bme-heat); font-weight: 700; margin-right: 6px; }

.bme-lp .bme-final { background: var(--bme-bone-l); border-radius: var(--bme-r); text-align: center; margin: 0 8px; }
.bme-lp .bme-clinics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; text-align: left; }
@media (max-width: 640px) { .bme-lp .bme-clinics { grid-template-columns: 1fr; } }
.bme-lp .bme-clinic { background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: var(--bme-r); padding: 18px; font-size: 14.5px; }
.bme-lp .bme-clinic b { color: var(--bme-teal); font-size: 16px; display: block; margin-bottom: 6px; }
.bme-lp .bme-clinic a { word-break: break-all; }
.bme-lp .bme-future { background: var(--bme-card); border: 1px dashed var(--bme-teal); border-radius: var(--bme-r); padding: 16px 20px; margin: 0 0 18px; font-size: 15.5px; text-align: left; }
.bme-lp .bme-disclaimer {
  font-size: 12.5px; color: var(--bme-ink2); line-height: 1.8;
  border-top: 1px solid var(--bme-line); padding: 26px 20px 0; margin-top: 8px;
}

/* ---- 動画リンク(既存LPへ) ---- */
.bme-lp .bme-videos { background: var(--bme-card); border: 1px solid var(--bme-line); border-radius: var(--bme-r); padding: 20px; margin: 18px 0; }
.bme-lp .bme-videos b.bme-vt { display: block; font-size: 15.5px; color: var(--bme-teal); margin-bottom: 4px; }
.bme-lp .bme-videos p.bme-vd { font-size: 13.5px; color: var(--bme-ink2); margin: 0 0 12px; }
.bme-lp .bme-vlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bme-lp .bme-vlist a {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--bme-line); border-radius: 10px;
  padding: 11px 14px; text-decoration: none; color: var(--bme-ink);
  font-size: 14.5px; font-weight: 500; line-height: 1.5;
  transition: border-color .15s ease, background .15s ease;
}
.bme-lp .bme-vlist a:hover { border-color: var(--bme-teal); background: var(--bme-teal-l); }
.bme-lp .bme-vlist .bme-play {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  background: var(--bme-heat); color: #FFF; font-size: 11px;
  display: flex; align-items: center; justify-content: center;
}
.bme-lp .bme-vlist .bme-ep { color: var(--bme-teal); font-weight: 700; flex: 0 0 auto; }
@media (prefers-reduced-motion: reduce) { .bme-lp .bme-vlist a { transition: none; } }

/* ---- APPROACH02→実績の橋掛け ---- */
.bme-lp .bme-bridge {
  background: var(--bme-teal-l);
  border-left: 4px solid var(--bme-teal);
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 15px;
  margin-top: 20px;
}
.bme-lp .bme-bridge a { font-weight: 700; }
.bme-lp .bme-trustlink a { color: var(--bme-teal); font-weight: 700; }

/* ---- 医師メッセージ(A02内) ---- */
.bme-lp .bme-quote {
  display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: start;
  background: var(--bme-card); border: 1px solid var(--bme-line);
  border-left: 5px solid var(--bme-teal);
  border-radius: 12px; padding: 18px; margin: 22px 0;
}
@media (max-width: 640px) { .bme-lp .bme-quote { grid-template-columns: 72px 1fr; } }
.bme-lp .bme-quote .bme-q-ph {
  width: 100%; aspect-ratio: 1 / 1; border-radius: 10px;
  background-image: url('images/doctor-nagamine.png');
  background-repeat: no-repeat;
  background-size: 314.11% 241.51%;
  background-position: 87.54% 11.56%;
}
.bme-lp .bme-quote .bme-q-body b.bme-q-name { display: block; color: var(--bme-teal); font-size: 14px; margin-top: 6px; }
.bme-lp .bme-quote .bme-q-body p { margin: 0; font-size: 15px; }
/* ---- 理由ラベル・結論ボックス ---- */
.bme-lp .bme-rlab {
  display: inline-block; background: var(--bme-heat); color: #FFF;
  font-size: 12px; font-weight: 700; letter-spacing: .1em;
  border-radius: 999px; padding: 3px 14px; margin-bottom: 10px;
}
.bme-lp .bme-concl {
  background: linear-gradient(135deg, var(--bme-teal) 0%, var(--bme-teal-d) 100%);
  color: #FFF; border-radius: var(--bme-r); padding: 24px 22px; margin: 26px 0 8px;
}
.bme-lp .bme-concl b.bme-c-t { font-family: 'Zen Old Mincho', serif; font-size: 20px; display: block; margin-bottom: 10px; }
.bme-lp .bme-concl p { margin: 0 0 8px; font-size: 15.5px; }
.bme-lp .bme-concl .bme-note { color: rgba(255,255,255,.75); }
.bme-lp .bme-concl ul { margin: 0 0 10px; padding-left: 20px; font-size: 15px; }

/* ---- APPROACH2(当院の治療)カード強調 ---- */
.bme-lp .bme-card.bme-card-mine {
  border: 2px solid var(--bme-heat);
  background: linear-gradient(160deg, #FFF9F4 0%, #FDEDE2 100%);
  box-shadow: 0 8px 24px rgba(201, 85, 30, .16);
  position: relative;
}
.bme-lp .bme-card.bme-card-mine::after {
  content: '当院で行っている治療です';
  position: absolute; top: -12px; right: 12px;
  background: var(--bme-heat); color: #FFF;
  font-size: 11.5px; font-weight: 700; letter-spacing: .05em;
  padding: 4px 14px; border-radius: 999px;
}
.bme-lp .bme-card.bme-card-mine h3 { color: var(--bme-heat); }
.bme-lp .bme-card.bme-card-mine .bme-mine-note { display: block; margin-top: 10px; font-size: 13.5px; font-weight: 700; color: var(--bme-heat); }
/* 他カードは減色(コントラスト付け) */
.bme-lp .bme-card.bme-card-dim { opacity: .82; }
@media (max-width: 720px) {
  .bme-lp .bme-card.bme-card-mine::after { top: -14px; right: 8px; font-size: 11px; }
}

/* ---- CTAボタン群(電話+メール) ---- */
.bme-lp .bme-cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; }
.bme-lp .bme-cta-row .bme-cta-note { width: 100%; text-align: center; margin-top: 0; }
.bme-lp .bme-btn-mail {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--bme-card); color: var(--bme-teal);
  border: 2px solid var(--bme-teal);
  text-decoration: none; font-weight: 700; font-size: 16px;
  padding: 14px 30px; border-radius: 999px;
  transition: background .15s ease, color .15s ease;
}
.bme-lp .bme-btn-mail:hover { background: var(--bme-teal); color: #FFF; }
@media (prefers-reduced-motion: reduce) { .bme-lp .bme-btn-mail { transition: none; } }
.bme-lp .bme-btn-mail .bme-mail-ic { font-size: 15px; }

/* ---- 下部CTAボタン: PCは1行・スマホは3行 ---- */
.bme-lp .bme-cta-final-tel { white-space: nowrap; }
.bme-lp .bme-cta-final-tel .bme-cta-final-br { display: none; }
@media (max-width: 640px) {
  .bme-lp .bme-cta-final-tel { white-space: normal; text-align: center; line-height: 1.6; }
  .bme-lp .bme-cta-final-tel .bme-cta-final-br { display: inline; }
}


/* ========================================
   BME LP 体験談：テキストカード
======================================== */

.bme-lp .bme-voice.bme-voice-text {
    display: block;
    box-sizing: border-box;
    min-width: 0;
    height: auto;
    padding: 30px 32px;
    margin: 0;
    background: #FFFFFF;
    border: 1px solid #E6EBE8;
    border-left: 5px solid #2DB9AF;
    border-radius: 12px;
    box-shadow: 0 5px 22px rgba(30, 65, 62, 0.055);
    color: #303C42;
    text-align: left;
    overflow-wrap: anywhere;
}

/* プロフィール部分 */

.bme-lp .bme-voice-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.bme-lp .bme-voice-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #E2F5F2;
    color: #15988F;
}

.bme-lp .bme-voice-avatar svg {
    display: block;
    width: 31px;
    height: 31px;
}

.bme-lp .bme-voice-heading {
    min-width: 0;
}

.bme-lp .bme-voice-label {
    display: block;
    margin-bottom: 4px;
    color: #168F86;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.07em;
}

.bme-lp .bme-voice-profile {
    font-size: 15px;
    font-weight: 700;
    color: #33454B;
}

/* 体験談タイトル */

.bme-lp .bme-voice.bme-voice-text .bme-voice-title {
    margin: 0 0 22px;
    padding: 0 0 18px;
    border-bottom: 1px solid #E3EAE7;
    color: #087F79;
    font-family: "Zen Old Mincho", serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.015em;
    text-align: left;
}

/* 本文 */

.bme-lp .bme-voice.bme-voice-text .bme-voice-body {
    font-size: 15px;
    line-height: 2.05;
    letter-spacing: 0.015em;
    color: #303C42;
}

.bme-lp .bme-voice.bme-voice-text .bme-voice-body p {
    margin: 0 0 18px;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    text-align: left;
}

.bme-lp .bme-voice.bme-voice-text .bme-voice-body p:last-child {
    margin-bottom: 0;
}

/* 最後のメッセージを強調 */

.bme-lp .bme-voice.bme-voice-text .bme-voice-body .bme-voice-highlight {
    margin-top: 24px;
    padding: 18px 20px;
    background: #EAF7F5;
    border-radius: 8px;
    color: #087F79;
    font-weight: 700;
    line-height: 1.9;
}

/* ========================================
   スマートフォン
======================================== */

@media screen and (max-width: 767px) {

    .bme-lp .bme-voice.bme-voice-text {
        padding: 23px 19px;
        border-left-width: 4px;
        border-radius: 10px;
    }

    .bme-lp .bme-voice-header {
        gap: 12px;
        margin-bottom: 17px;
    }

    .bme-lp .bme-voice-avatar {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .bme-lp .bme-voice-avatar svg {
        width: 27px;
        height: 27px;
    }

    .bme-lp .bme-voice.bme-voice-text .bme-voice-title {
        font-size: 18px;
        line-height: 1.75;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }

    .bme-lp .bme-voice.bme-voice-text .bme-voice-body {
        font-size: 14px;
        line-height: 2;
    }

    .bme-lp .bme-voice.bme-voice-text .bme-voice-body p {
        margin-bottom: 17px;
    }

    .bme-lp .bme-voice.bme-voice-text .bme-voice-body .bme-voice-highlight {
        margin-top: 20px;
        padding: 15px 16px;
    }

}
