@charset "utf-8";
/* =====================================================================
   あらかき整骨院Ohana（株式会社ひだまり）
   土台：リネクトのテーマ（css/style.css は配色を一括変換したもの）
   ここ：見た目の上書き（2026-10-18 参考サイトに似すぎたため、構成・見出し・ヘッダー・フッターを独自に変更）
     ・見出し＝小さな英字ラベル（Oswald）＋大きな明朝（Shippori Mincho B1）＋短い金の線
     ・全幅MV＋導線の帯、紺地のフッター
     ・色はネイビー／ゴールド／生成り（先方ギフト券の色）
   ===================================================================== */
:root {
  --hd-navy: #13305e;
  --hd-navy2: #1f4478;
  --hd-gold: #b8955a;
  --hd-gold-l: #d9bb8a;
  --hd-kinari: #f6efe2;
  --hd-kinari2: #fbf7ef;
  --hd-ink: #2b2b2b;
  --hd-line: #e2d6bf;
  --hd-serif: "Shippori Mincho B1", "Noto Serif JP", serif;
  --hd-en: "Playfair Display", serif;
  --hd-num: "Oswald", sans-serif;
  --hd-sans: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
}

body {
  font-family: var(--hd-sans);
  color: var(--hd-ink);
  letter-spacing: 0.1em;
  background: #fefefe;
}

/* ---------- 共通部品 ---------- */
.hd-ttl {
  font-family: var(--hd-serif);
  color: var(--hd-navy);
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.hd-ttl .en {
  display: block;
  font-family: var(--hd-en);
  color: var(--hd-gold);
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere;
  line-height: 1.2;
  margin-bottom: 0.4rem;
}
.hd-ttl.-big .en { font-size: 5.2rem; }
.hd-note { font-size: 1.3rem; color: #6b6b6b; line-height: 1.8; }
.hd-note.-center { text-align: center; }
.hd-empty { font-size: 1.4rem; color: #888; padding: 1rem 0; }
.hd-tag { display: inline-block; background: var(--hd-gold); color: #fff; font-size: 1.2rem; padding: 0.1rem 0.8rem; margin-right: 0.8rem; }

.hd-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18rem;
  padding: 1rem 2.6rem;
  border: 1px solid var(--hd-gold);
  border-radius: 999px;
  color: var(--hd-navy);
  font-size: 1.4rem;
  letter-spacing: 0.12em;
  background: #fff;
  transition: all 0.3s;
}
.hd-pill:hover { background: var(--hd-gold); color: #fff; }
.hd-pill.-fill { background: var(--hd-navy); border-color: var(--hd-navy); color: #fff; }
.hd-pill.-fill:hover { background: var(--hd-gold); border-color: var(--hd-gold); }
.hd-pill.-small { min-width: 0; padding: 0.6rem 1.8rem; font-size: 1.2rem; }
.hd-pill.-off { color: #aaa; border-color: #ddd; background: #f6f6f6; pointer-events: none; }

.hd-more {
  display: block;
  width: fit-content;
  margin: 2.4rem 0 0 auto;
  font-family: var(--hd-en);
  color: var(--hd-gold);
  font-size: 1.4rem;
  letter-spacing: 0.15em;
}
.hd-more::after { content: "⟶"; margin-left: 0.8rem; }
.hd-more.-small { margin-top: 1rem; font-size: 1.3rem; }
.hd-more.-arrow { font-family: var(--hd-sans); }

.hd-tel {
  display: inline-flex;
  align-items: baseline;
  font-family: var(--hd-num);
  font-weight: 300;
  color: var(--hd-navy);
  font-size: 3.4rem;
  letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere;
  line-height: 1.2;
}
.hd-tel small { font-size: 0.55em; margin-right: 0.3rem; }
.hd-tel.-center { display: flex; justify-content: center; }

.hd-btn {
  display: block;
  background: #f1ece2;
  color: var(--hd-navy);
  text-align: center;
  padding: 1.4rem;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  transition: all 0.3s;
}
.hd-btn:hover { background: var(--hd-gold); color: #fff; }


/* ---------- 見出し：小さな英字ラベル（Oswald）＋大きな明朝＋短い金の線 ---------- */
.hd-head { text-align: center; margin-bottom: 5rem; }
.hd-label {
  font-family: var(--hd-num);
  font-weight: 400;
  color: var(--hd-gold);
  font-size: 1.3rem;
  letter-spacing: 0.35em;
  margin-bottom: 1.2rem;
}
.hd-h2 {
  font-family: var(--hd-serif);
  color: var(--hd-navy);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.hd-h2::after {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background: var(--hd-gold);
  margin: 2rem auto 0;
}
.hd-link { display: inline-block; margin-top: 2rem; color: var(--hd-navy); font-size: 1.4rem; border-bottom: 1px solid var(--hd-gold); padding-bottom: 0.4rem; letter-spacing: 0.12em; }
.hd-link::after { content: "→"; margin-left: 1rem; color: var(--hd-gold); }
.hd-pill.-gold { background: var(--hd-gold); border-color: var(--hd-gold); color: #fff; }
.hd-pill.-line { background: transparent; border-color: rgba(255, 255, 255, 0.6); color: #fff; }

/* ---------- ヘッダー（PC）：上に細い紺の帯／ロゴ・英字つきメニュー・2つのボタン ---------- */
.hd-topbar {
  display: flex;
  justify-content: space-between;
  background: var(--hd-navy);
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  padding: 0.6rem 4rem;
}
.hd-topbar p:last-child { color: var(--hd-gold-l); }
.header-wrap .header {
  background: #fff;
  box-shadow: 0 1px 0 var(--hd-line);
  border-radius: 0;
  padding: 1.2rem 4rem;
  align-items: center;
  margin: 0;
  width: 100%;
  max-width: none;
}
.header__logo { width: 22rem; margin-left: 0; }
.header__container { display: flex; align-items: center; gap: 3rem; background: none; }
.header__nav { margin: 0; }
.header__link {
  display: block;
  font-family: var(--hd-serif);
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: var(--hd-navy);
  white-space: nowrap;
  text-align: center;
}
.header__link small {
  display: block;
  font-family: var(--hd-num);
  font-weight: 300;
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: var(--hd-gold);
  text-transform: uppercase;
  margin-top: 0.2rem;
}
.header__link::after { background-color: var(--hd-gold); height: 1px; bottom: -0.8rem; }
.header__item:not(:first-of-type) { margin-left: 0; padding-left: 2.2rem; margin-left: 2.2rem; border-left: 1px solid var(--hd-line); }
.hd-hbtns { display: flex; gap: 0; }
.hd-hbtn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 13rem;
  height: 5.6rem;
  padding: 0 1.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  background: var(--hd-navy);
  transition: opacity 0.3s;
}
.hd-hbtn small { font-family: var(--hd-num); font-size: 1rem; letter-spacing: 0.25em; color: var(--hd-gold-l); }
.hd-hbtn.-line { background: var(--hd-gold); }
.hd-hbtn.-line small { color: #fff; }
.hd-hbtn:hover { opacity: 0.8; }

/* スマホ下部：電話（4院）／LINE の2つ */
.hd-spbar { padding: 0; height: 56px; border-top: 0; }
.hd-spbar a {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 2.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  background: var(--hd-navy);
  position: relative;
}
.hd-spbar a:last-child { background: var(--hd-gold); }
.hd-spbar a::before { top: 50% !important; left: 1.6rem !important; transform: translateY(-50%); width: 2rem !important; height: 2rem !important; padding: 0 !important; }
.hd-spbar a.-tel::before { background-image: url(../img/common/tel-white.svg); }
.hd-spbar a.-line::before { background-image: url(../img/common/line.svg); }

/* =====================================================================
   トップ
   ===================================================================== */
.hd-home { padding-top: 0; }

/* MV：全幅写真＋左に紺のグラデーションとキャッチ */
.hd-fv { position: relative; margin-top: 10.5rem; }
.hd-fv__photo .home-mv__slide img { width: 100%; height: 72rem; object-fit: cover; }
.hd-fv .slick-track img { opacity: 1; transition: all 0.5s; } /* リネクトは .home-mv 配下でだけ表示に切り替えているため */
.hd-fv__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(19, 48, 94, 0.82) 0%, rgba(19, 48, 94, 0.55) 35%, rgba(19, 48, 94, 0) 65%);
  pointer-events: none;
}
.hd-fv__photo { position: relative; }
.hd-fv__text { position: absolute; left: 8%; top: 18rem; z-index: 2; color: #fff; }
.hd-fv__label { font-family: var(--hd-num); font-weight: 300; font-size: 1.4rem; letter-spacing: 0.4em; color: var(--hd-gold-l); }
.hd-fv__catch {
  font-family: var(--hd-serif);
  font-size: 5.6rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.14em;
  margin: 2rem 0 2.4rem;
}
.hd-fv__lead { font-size: 1.6rem; line-height: 2; letter-spacing: 0.12em; border-left: 2px solid var(--hd-gold); padding-left: 1.6rem; }
.hd-fv__bar {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1100px;
  margin: -7rem auto 0;
  background: #fff;
  box-shadow: 0 10px 30px rgba(19, 48, 94, 0.12);
}
.hd-fv__item { display: block; padding: 2.6rem 3rem; border-top: 3px solid var(--hd-gold); transition: background 0.3s; }
.hd-fv__item + .hd-fv__item { border-left: 1px solid var(--hd-line); }
.hd-fv__item:hover { background: var(--hd-kinari2); }
.hd-fv__item .t { display: block; font-size: 1.3rem; color: var(--hd-gold); letter-spacing: 0.15em; }
.hd-fv__item .b { display: block; font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2.2rem; font-weight: 600; margin: 0.6rem 0; }
.hd-fv__item .b em { font-style: normal; font-family: var(--hd-num); font-weight: 400; font-size: 3.4rem; color: var(--hd-gold); margin: 0 0.2rem; }
.hd-fv__item .s { display: block; font-size: 1.15rem; color: #888; }

/* お知らせの帯 */
.hd-newsbar {
  display: grid;
  grid-template-columns: 9rem 1fr auto;
  align-items: center;
  gap: 3rem;
  max-width: 1100px;
  margin: 5rem auto 0;
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--hd-line);
}
.hd-newsbar__label { font-family: var(--hd-num); color: var(--hd-gold); letter-spacing: 0.3em; font-size: 1.4rem; }
.hd-newsbar .c-news__link { display: flex; gap: 2rem; padding: 0.4rem 0; font-size: 1.4rem; }
.hd-newsbar .c-news__time { color: #999; font-size: 1.3rem; padding: 0; }
.hd-newsbar__more { font-size: 1.3rem; color: var(--hd-navy); }
.hd-newsbar__more::after { content: " →"; color: var(--hd-gold); }

/* メッセージ（中央寄せ） */
.hd-message { padding: 12rem 0 10rem; text-align: center; }
.hd-message__catch {
  font-family: var(--hd-serif);
  color: var(--hd-navy);
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.14em;
  margin-bottom: 3.6rem;
}
.hd-message__catch span { color: var(--hd-gold); font-family: var(--hd-en); font-style: italic; }
.hd-message__txt { font-size: 1.5rem; line-height: 2.3; letter-spacing: 0.1em; }
.hd-message__points { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 960px; margin: 7rem auto 0; }
.hd-message .advantage__item { background: none; border-radius: 0; padding: 0 3rem; }
.hd-message .advantage__item + .advantage__item { border-left: 1px solid var(--hd-line); }
.hd-message .advantage__item .icon { width: 8rem; height: 8rem; margin: 0 auto 1.6rem; }
.hd-message .advantage__item h3 { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 1.9rem; margin: 0 0 1rem; }
.hd-message .advantage__item p { font-size: 1.35rem; line-height: 1.9; color: #555; }

/* 症状別メニュー：写真タイル4列 */
.hd-menu { background: var(--hd-kinari2); padding: 10rem 0; text-align: center; }
.hd-menu__grid.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; margin: 0 auto 5rem; max-width: 1200px; }
.hd-menu .product-item { position: relative; display: block; overflow: hidden; }
.hd-menu .product-item figure { border-radius: 0; margin: 0; }
.hd-menu .product-item figure img { width: 100%; aspect-ratio: 32 / 38; object-fit: cover; }
.hd-menu .product-item figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(19, 48, 94, 0) 45%, rgba(19, 48, 94, 0.85) 100%);
}
.hd-menu .product-item_text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: block; padding: 2rem; margin: 0; }
.hd-menu .product-item h4 {
  font-family: var(--hd-serif);
  font-size: 1.9rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: left;
  border-bottom: 1px solid rgba(217, 187, 138, 0.8);
  padding-bottom: 1rem;
}
.hd-menu .product-item h4::after { content: "→"; float: right; color: var(--hd-gold-l); font-family: var(--hd-sans); }

/* 選ばれる理由：番号つきで左右交互（写真は大きく、文章は写真に少し重ねる） */
.hd-reason { padding: 12rem 0 6rem; }
.hd-reason .programList { margin: 0; }
.hd-reason .programItem {
  display: grid !important;
  grid-template-columns: 58% 1fr;
  align-items: center;
  margin: 0 0 8rem;
}
.hd-reason .programItem.right { grid-template-columns: 1fr 58%; }
.hd-reason .programItem.right .program_pic { order: 2; }
.hd-reason .program_pic { width: 100%; max-width: none; margin: 0 !important; float: none; border-radius: 0; }
.hd-reason .program_pic img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; margin: 0; }
.hd-reason .program_body {
  position: relative;
  z-index: 2;
  width: auto;
  background: #fff;
  border-radius: 0;
  padding: 5rem 4.4rem !important;
  margin: 0 0 0 -6rem !important;
  box-shadow: 0 10px 30px rgba(19, 48, 94, 0.08);
}
.hd-reason .programItem.right .program_body { margin: 0 -6rem 0 0 !important; }
.hd-reason .program_body::before { content: none !important; }
.hd-num { font-family: var(--hd-num); font-weight: 300; color: var(--hd-gold); font-size: 5rem; line-height: 1; margin-bottom: 1.6rem; }
.hd-reason h3.program_ttl { margin: 0 0 2rem; padding: 0; }
.hd-reason .program_ttl span { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2.2rem; font-weight: 600; line-height: 1.7; }
.hd-reason .program_text { font-size: 1.45rem; line-height: 2.1; }

/* バナー */
.hd-banners { padding: 2rem 0 4rem; }
.hd-banners .inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 1200px; }
.hd-banners img { width: 100%; border: 1px solid var(--hd-line); transition: opacity 0.3s; }
.hd-banners a:hover img { opacity: 0.8; }

/* 喜びの声 */
.hd-voice { margin-top: 8rem; text-align: center; }
.hd-voice .slider_item img { border-radius: 0; aspect-ratio: 4 / 3; }
.hd-voice .slider_item figure { border-radius: 0; }
.hd-voice .slider_item .slick-slide .item_slide_info { font-family: var(--hd-serif); font-size: 1.6rem; font-weight: 600; }
.hd-voice .hd-pill { margin-top: 2rem; }

/* 4院のご案内：写真カード4列 */
.hd-clinics { padding: 12rem 0 4rem; }
.hd-clinics__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.4rem; max-width: 1200px; margin: 0 auto; }
.hd-clinics__item { display: block; }
.hd-clinics__item figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hd-clinics__item .name { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 1.9rem; font-weight: 600; margin-top: 1.4rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--hd-gold-l); }
.hd-clinics__item .addr { font-size: 1.25rem; color: #666; line-height: 1.8; margin-top: 0.8rem; }
.hd-clinics__item .tel { font-family: var(--hd-num); font-size: 1.8rem; color: var(--hd-navy); margin-top: 0.4rem; }
.hd-clinics__item.-dummy { opacity: 0.45; }

.hd-insta { padding: 10rem 0; text-align: center; }
.hd-insta .inner { text-align: center; }

/* =====================================================================
   ご予約・お問い合わせ（4院）とフッター（紺地）
   ===================================================================== */
.footer_top.hd-contact { background: #f3f0eb; padding: 10rem 0; background-attachment: initial; }
.hd-contact .hd-ttl .en {
  font-family: var(--hd-num);
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
}
.hd-contact .hd-ttl { font-size: 3rem; letter-spacing: 0.12em; }
.hd-contact .hd-ttl::after { content: ""; display: block; width: 4rem; height: 2px; background: var(--hd-gold); margin: 2rem auto 0; }
.hd-contact__lead { text-align: center; font-size: 1.4rem; margin: -1rem 0 4rem; }
.hd-contact__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto; }
.hd-contact__item { display: block; background: #fff; border-top: 3px solid var(--hd-navy); padding: 3rem 2.4rem; text-align: center; }
.hd-contact__item.-dummy { background: #fafafa; border-top-color: #ccc; }
.hd-contact__item.-dummy * { color: #a8a8a8 !important; }
.hd-contact__en { font-family: var(--hd-num); color: var(--hd-gold); font-size: 1.2rem; letter-spacing: 0.25em; text-transform: uppercase; }
.hd-contact__name { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; font-weight: 600; margin: 0.4rem 0 0.2rem; }
.hd-contact__area { font-size: 1.2rem; color: #7b6a52; margin-bottom: 1.4rem; }
.hd-contact__item .hd-tel { font-size: 2.8rem; justify-content: center; display: flex; }
.hd-contact__item .tel span::after, .hd-contact__item .tel::before { content: none !important; }
.hd-contact__note { font-size: 1.2rem; color: var(--hd-gold); margin-top: 0.2rem; }
.hd-contact__addr, .hd-contact__time { font-size: 1.25rem; line-height: 1.8; margin-top: 1.2rem; color: #555; }
.hd-contact__time { margin-top: 0.4rem; }
.hd-contact__btns { display: grid; gap: 0.8rem; margin-top: 2rem; }
.hd-contact__btns .hd-pill { min-width: 0; width: 100%; padding: 0.9rem 1rem; font-size: 1.3rem; }

.hd-footer { background: var(--hd-navy); color: #fff; padding: 8rem 0 0; }
.hd-footer__inner { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 6rem; max-width: 1200px; align-items: start; }
.hd-footer .footer__logo { width: 24rem; margin: 0 0 2rem; }
.hd-footer__txt { font-size: 1.3rem; line-height: 2; color: rgba(255, 255, 255, 0.85); }
.hd-footer__btns { display: flex; gap: 1rem; margin-top: 2.4rem; }
.hd-footer__btns .hd-pill { min-width: 0; padding: 0.9rem 2.2rem; font-size: 1.3rem; }
.hd-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.hd-footer__nav li a { display: block; font-size: 1.35rem; padding: 0.6rem 0; color: #fff; letter-spacing: 0.08em; }
.hd-footer__nav li a::before { content: "― "; color: var(--hd-gold-l); }
.hd-footer__ttl { font-family: var(--hd-serif); color: var(--hd-gold-l); font-size: 1.6rem; margin-bottom: 1rem; }
.hd-hours { width: 100%; font-size: 1.3rem; border-collapse: collapse; margin-bottom: 1.4rem; }
.hd-hours th, .hd-hours td { border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 0.8rem 0.2rem; text-align: center; font-weight: 400; color: #fff; }
.hd-hours td { color: var(--hd-gold-l); }
.hd-hours td:first-child { text-align: left; white-space: nowrap; color: #fff; }
.hd-footer__note { font-size: 1.2rem; line-height: 1.9; color: rgba(255, 255, 255, 0.75); }
.hd-footer .footer__copyright { display: block; text-align: center; font-size: 1.1rem; color: rgba(255, 255, 255, 0.6); padding: 6rem 0 3rem; letter-spacing: 0.1em; background: none; }

/* =====================================================================
   下層ページ（リネクトの製品ページ部品を落ち着いた見た目に）
   ===================================================================== */
.product-lp .breadcrumb, .main.sub .breadcrumb { display: block; padding: 1.6rem 0; font-size: 1.2rem; color: #8a8a8a; }
.breadcrumb__inner span:not(:last-of-type) { color: #8a8a8a; }
.breadcrumb__inner a { color: var(--hd-gold); }
.breadcrumb__inner > span { margin: 0 0.6rem; }

/* 見出し：明朝＋英字（リネクトの丸い背景・グラデーション文字は外す） */
.product-lp .solar-panel-ttl,
.product-lp .solar-panel-ttl02 {
  font-family: var(--hd-serif);
  color: var(--hd-navy);
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 5rem;
}
.product-lp .solar-panel-ttl::before,
.product-lp .solar-panel-ttl02::before { content: none !important; }
.product-lp .solar-panel-ttl .en,
.product-lp .solar-panel-ttl02 .en {
  display: block;
  font-family: var(--hd-num);
  font-weight: 400;
  color: var(--hd-gold);
  -webkit-text-fill-color: var(--hd-gold);
  background: none;
  font-size: 1.3rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  line-height: 1.4;
  margin-bottom: 1.2rem;
}
.product-lp .solar-panel-ttl::after,
.product-lp .solar-panel-ttl02::after {
  content: "" !important;
  display: block;
  position: static;
  transform: none;
  width: 4rem;
  height: 2px;
  background: var(--hd-gold);
  margin: 1.8rem auto 0;
}
.product-lp .solar-panel-ttl.-left::after { margin-left: 0; }
.product-lp .solar-panel-ttl02 span:not(.en) {
  background: none;
  -webkit-text-fill-color: var(--hd-gold);
  color: var(--hd-gold);
}
.product-lp .solar-panel-ttl.-left { text-align: left; }
.product-lp .solar-panel-ttl02.-whcircle { color: var(--hd-navy); }

/* 冒頭：For Patients（文章＋写真） */
.product-lp .solar-panel-chance { margin-top: 8rem; }
.hd-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 6rem; align-items: center; max-width: 1100px; margin: 0 auto; }
.hd-split h3 { font-family: var(--hd-serif); color: var(--hd-gold); font-size: 2.2rem; font-weight: 600; line-height: 1.7; margin-bottom: 2rem; text-align: left; }
.hd-split p { font-size: 1.45rem; line-height: 2.1; text-align: left; }
.hd-split figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* 予約の帯（リネクトの青＋黄色の吹き出し → 生成りの落ち着いた帯） */
.product-lp .sub-cta { background: var(--hd-kinari2); padding: 5rem 0; border-top: 1px solid var(--hd-line); border-bottom: 1px solid var(--hd-line); }
.product-lp .sub-cta02 { background: var(--hd-kinari2); }
.product-lp .sub-cta .mail_text .text02,
.product-lp .sub-cta02.-gradation .mail_text .text02 {
  font-family: var(--hd-serif);
  color: var(--hd-gold);
  -webkit-text-fill-color: var(--hd-gold);
  background: none;
  font-size: 1.8rem;
}
.product-lp .sub-cta .mail_text .text02 span { color: var(--hd-gold); -webkit-text-fill-color: var(--hd-gold); }
.product-lp .sub-cta_txt {
  background: none;
  font-family: var(--hd-serif);
  color: var(--hd-navy);
  font-size: 2.2rem;
  padding: 1rem 2rem 2rem;
}
.product-lp .sub-cta_txt::after, .product-lp .sub-cta_txt::before { content: none !important; }
.product-lp .sub-cta .footer_flex .tel span,
.product-lp .sub-cta .footer_flex .tel { color: var(--hd-navy); font-family: var(--hd-num); font-weight: 300; }
.product-lp .sub-cta .tel_text, .product-lp .sub-cta .tel_text02, .product-lp .sub-cta .tel_text .text02 { color: #555; }
.product-lp .sub-cta .footer_flex .mail {
  background: var(--hd-navy);
  border-radius: 999px;
  color: #fff;
}
.product-lp .sub-cta .footer_flex .mail span { color: #fff; }
.product-lp .sub-cta .footer_flex .mail span::before { filter: brightness(0) invert(1); }

/* お悩みカード・回答 */
.product-lp .solar-panel-faq.bg-blue,
.product-lp .bg-blue { background: #f3f0eb; }
.product-lp .solar-panel-faq-item { border: 1px solid var(--hd-line); border-radius: 0; box-shadow: none; }
.product-lp .solar-panel-faq-item p { font-family: var(--hd-serif); color: var(--hd-navy); }
.product-lp .balloon-005 { font-family: var(--hd-serif); border-color: var(--hd-gold-l); color: var(--hd-navy); }
.product-lp .solar-panel-ans-point div { font-family: var(--hd-serif); color: var(--hd-navy); }
.product-lp .solar-panel-ans-item img { border-radius: 0; }

/* 選ばれる理由の丸：塗り → 金の細い輪 */
.product-lp .circle {
  background: #fff;
  border: 1px solid var(--hd-gold);
  color: var(--hd-navy);
}
.product-lp .circle p, .product-lp .circle span { color: var(--hd-navy); font-family: var(--hd-serif); }
.product-lp .reason-catch { font-family: var(--hd-serif); color: var(--hd-gold); }
.product-lp .reason-point-grid .item_ttl,
.product-lp .project_inner .item_ttl { font-family: var(--hd-serif); color: var(--hd-navy); }
.product-lp .reason-point-grid .img img,
.product-lp .project_inner .img img { border-radius: 0; }

/* 施術の流れ：アイコン枠を細線に */
.product-lp .flow-grid .item .img { border: 1px solid var(--hd-line); border-radius: 0; }
.product-lp .flow-grid .item_ttl { font-family: var(--hd-serif); color: var(--hd-navy); }

/* 料金・FAQ */
.product-lp .solar-product.bg-blue { background: #f3f0eb; }
.product-lp .solar-product-ttl { background: none; color: var(--hd-navy); font-family: var(--hd-serif); border-bottom: 1px solid var(--hd-gold-l); padding-left: 0; }
.product-lp .product-inner { border: 1px solid var(--hd-line); border-radius: 0; }
.product-lp .faq .accordion h3 { background: #fff; border: 0; border-bottom: 1px solid var(--hd-line); border-radius: 0; font-family: var(--hd-serif); color: var(--hd-navy); }

/* 院長あいさつ（下層） */
.product-lp .company { background: none; }
.product-lp .company .company-body h3 { font-family: var(--hd-serif); color: var(--hd-gold); }

/* 比較表（交通事故） */
.tr-compare { width: 100%; }
.tr-compare tr { display: grid; grid-template-columns: 18% 1fr 1fr; gap: 0 2rem; }
.tr-compare th { writing-mode: horizontal-tb; width: auto; white-space: nowrap; font-family: var(--hd-serif); }
.tr-compare td { width: auto; }
.tr-compare tr:first-child td { color: var(--hd-navy); font-family: var(--hd-serif); }
.tr-compare tr td:last-child { color: var(--hd-navy); font-weight: 600; }


/* =====================================================================
   スマホ
   ===================================================================== */
@media screen and (max-width: 767px) {
  .hd-h2, .hd-contact .hd-ttl { font-size: 2.2rem; }
  .product-lp .solar-panel-ttl, .product-lp .solar-panel-ttl02 { font-size: 2rem; }
  .hd-fv { margin-top: 6rem; }
  .hd-fv__photo .home-mv__slide img { height: 62vh; }
  .hd-fv__photo::after { background: linear-gradient(180deg, rgba(19, 48, 94, 0.1) 30%, rgba(19, 48, 94, 0.8) 100%); }
  .hd-fv__text { left: 2rem; right: 2rem; top: 28vh; bottom: auto; }
  .hd-fv__catch { font-size: 3rem; margin: 1rem 0 1.4rem; }
  .hd-fv__lead { font-size: 1.25rem; }
  .hd-fv__bar { grid-template-columns: 1fr; margin: -6rem 1.6rem 0; }
  .hd-fv__item { padding: 1.8rem 2rem; }
  .hd-fv__item + .hd-fv__item { border-left: 0; border-top: 1px solid var(--hd-line); }
  .hd-fv__item .b { font-size: 1.9rem; }
  .hd-newsbar { grid-template-columns: 1fr; gap: 0.6rem; margin: 3rem 1.6rem 0; }
  .hd-message { padding: 8rem 2rem 6rem; }
  .hd-message__catch { font-size: 2.3rem; }
  .hd-message__txt { font-size: 1.35rem; text-align: left; }
  .hd-message__points { grid-template-columns: 1fr; gap: 3rem; margin-top: 4rem; }
  .hd-message .advantage__item + .advantage__item { border-left: 0; border-top: 1px solid var(--hd-line); padding-top: 3rem; }
  .hd-menu { padding: 7rem 1.6rem; }
  .hd-menu__grid.product-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .hd-menu .product-item h4 { font-size: 1.4rem; }
  .hd-menu .product-item_text { padding: 1.2rem; }
  .hd-reason { padding: 8rem 1.6rem 2rem; }
  .hd-reason .programItem, .hd-reason .programItem.right { grid-template-columns: 1fr; margin-bottom: 5rem; }
  .hd-reason .programItem.right .program_pic { order: 0; }
  .hd-reason .program_body, .hd-reason .programItem.right .program_body { margin: -4rem 1.6rem 0 !important; padding: 3rem 2.4rem !important; }
  .hd-num { font-size: 3.6rem; }
  .hd-banners .inner { grid-template-columns: 1fr; gap: 1.6rem; }
  .hd-clinics { padding: 8rem 1.6rem 2rem; }
  .hd-clinics__grid { grid-template-columns: 1fr 1fr; gap: 2rem 1.2rem; }
  .footer_top.hd-contact { padding: 6rem 1.6rem; }
  .hd-contact__grid { grid-template-columns: 1fr; }
  .hd-footer__inner { grid-template-columns: 1fr; gap: 4rem; padding: 0 2rem; }
  .hd-footer .footer__copyright { padding-bottom: 8rem; }
  .hd-split { grid-template-columns: 1fr; gap: 3rem; padding: 0 2rem; }
  .tr-compare tr { grid-template-columns: 1fr 1fr; }
  .tr-compare th { grid-column: 1 / -1; }
}

/* 予約帯の細部 */
.product-lp .sub-cta .tel_text02 { font-size: 1.4rem; }
.product-lp .sub-cta .tel_text .text02 { font-size: 1.2rem; }
.product-lp .sub-cta .footer_flex .tel span { font-size: 3.6rem; }
.product-lp .faq .accordion .js-accordion-title::before { color: var(--hd-gold); font-family: var(--hd-en); }
.product-lp .faq .accordion .js-accordion-title i.arrow { border-color: var(--hd-gold); border-width: 1px 1px 0 0; }

/* 下層：ボタン・小見出しの細部 */
.product-lp .button-43 {
  background: #fff;
  background-image: none;
  border: 1px solid var(--hd-gold);
  color: var(--hd-navy);
  border-radius: 999px;
  font-size: 1.4rem;
  letter-spacing: 0.12em;
}
.product-lp .button-43:hover { background: var(--hd-gold); color: #fff; }
.product-lp .solar-panel-ans-voice {
  background: none;
  -webkit-text-fill-color: var(--hd-gold);
  color: var(--hd-gold);
  font-family: var(--hd-serif);
  font-size: 1.8rem;
}
.product-lp .solar-panel-ans-voice::before { content: none; }
.product-lp .solar-panel-ans > h3 { font-family: var(--hd-serif); color: var(--hd-navy); }

/* 院のご案内（交通事故ページ）：紺の帯 → 明朝＋金の下線 */
.product-lp .access .item02__map h3 {
  background: none;
  color: var(--hd-navy);
  font-family: var(--hd-serif);
  font-size: 2rem;
  border-bottom: 1px solid var(--hd-gold-l);
  padding: 0 0 1rem;
  text-align: left;
}
.product-lp .access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem 4rem; }
.product-lp .access .item02__map iframe, .hd-map-dummy { width: 100%; height: 26rem; margin-top: 1.6rem; }
.hd-map-dummy { display: flex; align-items: center; justify-content: center; background: #f3f3f3; color: #aaa; font-size: 1.4rem; }
.product-lp .access .-dummy, .product-lp .access .-dummy * { color: #aaa; }
.product-lp .sub-cta .tel_text02.-dummy, .product-lp .sub-cta .tel.-dummy, .product-lp .sub-cta .tel.-dummy span { color: #aaa; }
@media screen and (max-width: 767px) {
  .product-lp .access-grid { grid-template-columns: 1fr; }
}

/* 下層LPのメインビジュアル（GPT Imageで作成した画像） */
.hd-lpmv { margin-top: 9rem; }
.hd-lpmv img { width: 100%; height: auto; display: block; }
@media screen and (max-width: 767px) {
  .hd-lpmv { margin-top: 6rem; }
}

/* 選ばれる理由：文章の箱を写真より前に */
.hd-reason .program_pic { z-index: 1 !important; position: relative; }
.hd-reason .program_body { z-index: 3 !important; }

/* =====================================================================
   下層ページ共通の見出し帯（リネクトの .l-page-cover）・各ページ
   ===================================================================== */
.hd-pagehead { position: relative; margin-top: 10.5rem; background-size: cover; background-position: center; }
.hd-pagehead::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19, 48, 94, 0.88) 0%, rgba(19, 48, 94, 0.55) 55%, rgba(19, 48, 94, 0.15) 100%); }
.hd-pagehead .l-page-cover__inner { max-width: 1200px; margin: 0 auto; padding: 0 4rem; }
.hd-pagehead .l-page-cover__ttl {
  text-align: left;
  font-family: var(--hd-serif);
  font-size: 3.6rem !important;
  font-weight: 600;
  letter-spacing: 0.16em;
  padding: 9rem 0 !important;
  text-transform: none;
}
.hd-pagehead .l-page-cover__ttl .en {
  display: block;
  font-family: var(--hd-num);
  font-weight: 300;
  font-size: 1.3rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--hd-gold-l);
  margin: 0 0 1.2rem;
}
.hd-pagehead .l-page-cover__ttl .en::before { content: none; }
.hd-pagehead .l-page-cover__ttl::after { content: ""; display: block; width: 4rem; height: 2px; background: var(--hd-gold); margin-top: 2rem; }
.main.sub .breadcrumb { display: block; padding: 1.6rem 0; font-size: 1.2rem; color: #8a8a8a; border-bottom: 1px solid var(--hd-line); }
.breadcrumb__inner { max-width: 1200px; }
.breadcrumb__inner a { color: var(--hd-gold); }
.breadcrumb__inner > span { margin: 0 0.6rem; color: #8a8a8a; }

.hd-center { text-align: center !important; }
.hd-sign { margin-top: 2rem; font-family: var(--hd-serif); color: var(--hd-navy); }
.hd-page .company-body p { font-size: 1.45rem; line-height: 2.1; margin-bottom: 1.2rem; }
.hd-page .company .company-wrap img { max-width: 520px; object-fit: cover; }

/* ご来院の前に・スタッフ（リネクトの .project_inner） */
.hd-bring .project_inner .item { background: #fff; padding: 3rem; border-top: 3px solid var(--hd-gold); }
.hd-staff { padding: 10rem 0; }
.hd-staff__grid.project_inner { grid-template-columns: repeat(4, 1fr); gap: 3rem; }
.hd-staff .item_ttl { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; margin-top: 1.6rem; }
.hd-staff .item_ttl small { display: block; font-size: 1.2rem; color: var(--hd-gold); letter-spacing: 0.2em; }
.hd-staff .item_ttl .kana { display: block; font-family: var(--hd-sans); font-size: 1.1rem; color: #999; letter-spacing: 0.1em; }
.hd-staff .img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.hd-staff__prof { display: grid; grid-template-columns: 4em 1fr; gap: 0.3rem 1rem; font-size: 1.25rem; margin: 1.2rem 0; padding: 1rem 0; border-top: 1px solid var(--hd-line); border-bottom: 1px solid var(--hd-line); }
.hd-staff__prof dt { color: var(--hd-gold); }
.hd-staff .txt p { font-size: 1.35rem; line-height: 1.9; }

/* 料金表 */
.hd-price { padding: 8rem 0; }
.hd-price .inner { max-width: 1000px; }
.hd-price__zero { background: var(--hd-navy); color: #fff; text-align: center; padding: 4rem 2rem; margin-bottom: 8rem; }
.hd-price__zero .t { color: var(--hd-gold-l); letter-spacing: 0.2em; font-size: 1.4rem; }
.hd-price__zero .b { font-family: var(--hd-serif); font-size: 3.2rem; font-weight: 600; margin: 1rem 0; }
.hd-price__zero .b em { font-style: normal; font-family: var(--hd-num); font-size: 6rem; color: var(--hd-gold-l); }
.hd-price__zero .s { font-size: 1.25rem; color: rgba(255, 255, 255, 0.8); }
.hd-price__zero .hd-link { color: #fff; }
.hd-price__block { margin-bottom: 7rem; }
.hd-price__lead { font-size: 1.4rem; line-height: 2; margin: -2rem 0 2.4rem; }
.hd-price__table td { font-family: var(--hd-serif); font-size: 1.8rem; }
.hd-price__table tr:first-child td { font-size: 1.3rem; color: var(--hd-gold); font-family: var(--hd-sans); }
.hd-price__opt tr { display: grid; grid-template-columns: 1fr auto; }
.hd-price__opt th { writing-mode: horizontal-tb; text-align: left; font-family: var(--hd-serif); }
.hd-price__opt td { font-family: var(--hd-serif); font-size: 1.7rem; }
.hd-devices .product-items { padding: 3rem 0; border-bottom: 1px solid var(--hd-line); }
.hd-devices .product-item img { max-height: 22rem; width: auto; }
.hd-devices__name { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; margin-bottom: 1rem; }

/* 院のご案内 */
.hd-clinicnav { text-align: center; padding: 7rem 0 2rem; }
.hd-clinicnav__lead { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; margin-bottom: 3rem; }
.hd-clinicnav ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; max-width: 1000px; margin: 0 auto; }
.hd-clinicnav a { display: block; border: 1px solid var(--hd-navy); color: var(--hd-navy); padding: 1.4rem 1rem; font-family: var(--hd-serif); font-size: 1.6rem; transition: all 0.3s; }
.hd-clinicnav a::after { content: "↓"; margin-left: 0.6rem; color: var(--hd-gold); }
.hd-clinicnav a:hover { background: var(--hd-navy); color: #fff; }
.hd-clinicnav a.-dummy { border-color: #ccc; color: #aaa; }
.hd-clinic { padding: 9rem 0; }
.hd-clinic.-alt { background: var(--hd-kinari2); }
.hd-clinic__head { margin-bottom: 4rem; }
.hd-clinic__name { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 3.2rem; font-weight: 600; letter-spacing: 0.14em; }
.hd-clinic__area { font-size: 1.3rem; color: #7b6a52; margin-top: 0.6rem; }
.hd-clinic__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; }
.hd-clinic__photos .main img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hd-clinic__photos .sub { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.hd-clinic__photos .sub img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hd-clinic__info table tr { display: grid; grid-template-columns: 7em 1fr; }
.hd-clinic__info th { writing-mode: horizontal-tb; font-family: var(--hd-serif); }
.hd-clinic__info td a { color: var(--hd-navy); font-family: var(--hd-num); font-size: 2rem; }
.hd-clinic__btns { display: flex; gap: 1rem; margin-top: 3rem; }
.hd-clinic__map { margin-top: 4rem; }
.hd-clinic__map iframe, .hd-clinic__map .hd-map-dummy { width: 100%; height: 34rem; }
.hd-clinic.-dummy .hd-clinic__name, .hd-clinic.-dummy td, .hd-clinic.-dummy .hd-clinic__area { color: #aaa; }
.hd-clinic.-dummy img { opacity: 0.5; filter: grayscale(1); }
.p-company-sec02 .item01__table table tr { display: grid; grid-template-columns: 9em 1fr; }
.p-company-sec02 .item01__table th { writing-mode: horizontal-tb; font-family: var(--hd-serif); }

/* 記事下の予約案内 */
.hd-ctabox { margin: 6rem auto 2rem; max-width: 800px; text-align: center; background: var(--hd-kinari2); border-top: 3px solid var(--hd-gold); padding: 4rem 2rem; }
.hd-ctabox__ttl { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; margin-bottom: 2rem; }
.hd-ctabox__btns { display: flex; justify-content: center; gap: 1.2rem; flex-wrap: wrap; }

/* 一覧（喜びの声・お知らせ・コラム）：リネクトのカード・カテゴリーボタンを落ち着いた見た目に */
.main.sub .works-cat-btn { border-radius: 999px; border-color: var(--hd-gold-l); color: var(--hd-navy); font-family: var(--hd-serif); }
.main.sub .works-cat-btn.active { background: var(--hd-navy); color: #fff; }
.main.sub .c-card { border-radius: 0; }
.main.sub .c-card__img-wrap, .main.sub .c-card__img-wrap img { border-radius: 0 !important; }
.main.sub .c-card__ttl { font-family: var(--hd-serif); color: var(--hd-navy); }
.main.sub .c-tag span { background: var(--hd-kinari); color: var(--hd-navy); border-radius: 0; }
.main.sub .sub-single__title h1 { font-family: var(--hd-serif); color: var(--hd-navy); }
.main.sub .btn.-color { background: var(--hd-navy); border-radius: 999px; }

@media screen and (max-width: 767px) {
  .hd-pagehead { margin-top: 6rem; }
  .hd-pagehead .l-page-cover__inner { padding: 0 2rem; }
  .hd-pagehead .l-page-cover__ttl { font-size: 2.4rem !important; padding: 5rem 0 !important; }
  .hd-staff__grid.project_inner { grid-template-columns: 1fr 1fr; gap: 2.4rem 1.4rem; }
  .hd-price { padding: 5rem 1.6rem; }
  .hd-price__zero .b { font-size: 2.2rem; }
  .hd-clinicnav ul { grid-template-columns: 1fr 1fr; }
  .hd-clinic { padding: 6rem 1.6rem; }
  .hd-clinic__name { font-size: 2.4rem; }
  .hd-clinic__grid { grid-template-columns: 1fr; gap: 3rem; }
  .hd-clinic__btns { flex-direction: column; }
  .hd-clinic__map iframe, .hd-clinic__map .hd-map-dummy { height: 26rem; }
}

/* 料金表の列幅（区分名が長いため） */
.hd-price__table.tr-compare tr { grid-template-columns: 32% 1fr 1fr; }
.hd-price__table.tr-compare th { white-space: normal; }
.hd-price__opt tr { grid-template-columns: 1fr 14em; }
.hd-price__opt td { white-space: nowrap; text-align: right; }
@media screen and (max-width: 767px) {
  .hd-price__table.tr-compare tr { grid-template-columns: 1fr 1fr; }
  .hd-price__opt tr { grid-template-columns: 1fr auto; }
}

/* =====================================================================
   2026-10-18（6回目）琉球ゴールデンキングスのパートナーサイト寄せ
   ・見出しは太いゴシック（紺）＋金の英字ラベル（Graduate）。左寄せ
   ・差し色の赤（ギフト券のハイビスカス）：MVのキャッチ・強調数字・ハイビスカスの飾り
   ・ボタンは四角＋左の太線＋「≫」、CONTACT は紺地に白い箱
   ===================================================================== */
:root {
  --hd-red: #d7191f;
  --hd-serif: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif;
  --hd-label: "Graduate", "Oswald", serif;
}

/* ---------- 見出し ---------- */
.hd-head { text-align: left; margin-bottom: 4rem; }
.hd-label, .hd-ttl .en, .product-lp .solar-panel-ttl .en, .product-lp .solar-panel-ttl02 .en, .hd-pagehead .l-page-cover__ttl .en {
  font-family: var(--hd-label) !important;
  font-weight: 400 !important;
  color: var(--hd-gold) !important;
  -webkit-text-fill-color: var(--hd-gold) !important;
  font-size: 1.8rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  margin-bottom: 0.8rem !important;
}
.hd-h2, .hd-ttl, .product-lp .solar-panel-ttl, .product-lp .solar-panel-ttl02 {
  font-family: var(--hd-serif);
  font-weight: 700;
  color: var(--hd-navy);
  font-size: 3.2rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: left;
}
.hd-h2::after, .hd-ttl::after, .product-lp .solar-panel-ttl::after, .product-lp .solar-panel-ttl02::after { display: none !important; }
.product-lp .solar-panel-ttl, .product-lp .solar-panel-ttl02 { max-width: 1100px; margin-left: auto; margin-right: auto; padding: 0 2rem; }
.product-lp .solar-panel-ttl02 span:not(.en) { color: var(--hd-red); -webkit-text-fill-color: var(--hd-red); }

/* ---------- ボタン（キングスの四角いボタン） ---------- */
.hd-kbtn, .hd-pill, .product-lp .button-43, .product-lp .sub-cta .footer_flex .mail {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28rem;
  min-height: 6rem;
  padding: 1rem 5rem 1rem 2.4rem;
  background: #fff;
  color: var(--hd-navy);
  border: 2px solid var(--hd-navy);
  border-left-width: 8px;
  border-radius: 0;
  font-family: var(--hd-serif);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  box-shadow: 0 3px 0 rgba(19, 48, 94, 0.25);
  transition: all 0.3s;
}
.hd-kbtn::after, .hd-pill::after, .product-lp .button-43::after { content: "≫"; position: absolute; right: 2rem; top: 50%; transform: translateY(-50%); font-size: 1.6rem; color: inherit; background: none; width: auto; height: auto; }
.hd-kbtn.-navy, .hd-pill.-fill, .hd-pill.-gold { background: var(--hd-navy); color: #fff; border-color: var(--hd-navy); border-left-color: var(--hd-gold); }
.hd-kbtn:hover, .hd-pill:hover, .product-lp .button-43:hover { background: var(--hd-gold); border-color: var(--hd-gold); color: #fff; }
.hd-pill.-small { min-width: 0; min-height: 0; padding: 0.6rem 3.6rem 0.6rem 1.4rem; font-size: 1.2rem; border-left-width: 4px; }
.hd-pill.-small::after { right: 1rem; font-size: 1.2rem; }
.hd-pill.-line { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.hd-pill.-off::after { content: none; }
.hd-kmv__btn { display: flex; flex-direction: column; align-items: center; }
.hd-kmv__btnlabel { font-weight: 700; font-size: 1.35rem; color: var(--hd-navy); margin-bottom: 0.8rem; letter-spacing: 0.06em; }
.hd-kmv__btnlabel::before { content: "＼ "; }
.hd-kmv__btnlabel::after { content: " ／"; }

/* ---------- ヘッダー：メニューを太いゴシックに ---------- */
.header__link { font-family: var(--hd-serif); font-weight: 700; font-size: 1.45rem; }
.header__link::after { background-color: var(--hd-red); height: 2px; }

/* ---------- トップMV（紺の斜めパネル＋赤いキャッチ＋写真コラージュ） ---------- */
.hd-kmv { position: relative; margin-top: 10.5rem; height: 78rem; background: #fff; overflow: hidden; }
.hd-kmv__panel {
  position: absolute; left: 0; top: 0; bottom: 14rem; width: 46%; z-index: 2;
  background: var(--hd-navy);
  clip-path: polygon(0 0, 100% 0, 74% 100%, 0 100%);
  padding: 6rem 0 0 6%;
  color: #fff;
}
.hd-kmv__panel::after {
  content: ""; position: absolute; left: -4rem; bottom: -6rem; width: 30rem; height: 30rem;
  background: url(../img/common/hibiscus.png) no-repeat center / contain; opacity: 0.95;
}
.hd-kmv__partner { font-family: var(--hd-label); color: var(--hd-gold-l); font-size: 1.6rem; letter-spacing: 0.06em; line-height: 1.5; }
.hd-kmv__logo { width: 30rem; margin: 2.4rem 0 1.6rem; }
.hd-kmv__lead { font-size: 1.5rem; line-height: 1.9; letter-spacing: 0.1em; }
.hd-kmv__photos { position: absolute; right: 1.5%; top: 2rem; width: 64%; z-index: 1; }
.hd-kmv__photos img { width: 100%; height: auto; display: block; }
.hd-kmv__catch {
  position: absolute; left: 5%; top: 33rem; z-index: 3;
  font-family: var(--hd-serif); font-weight: 900; font-size: 7.6rem; line-height: 1.25; letter-spacing: 0.02em;
  color: var(--hd-red);
  -webkit-text-stroke: 8px #fff; paint-order: stroke fill;
  transform: skewX(-10deg);
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}
.hd-kmv__btns { position: absolute; left: 5%; bottom: 3rem; z-index: 3; display: flex; gap: 2.4rem; }
.hd-fv__bar { margin-top: 3rem; }
.hd-fv__item .b em { color: var(--hd-red); }
.hd-fv__item { border-top-color: var(--hd-navy); }

/* ---------- メッセージ（キングスの「合言葉は」） ---------- */
.hd-message { position: relative; overflow: hidden; }
.hd-message::after {
  content: ""; position: absolute; right: -6rem; top: 4rem; width: 32rem; height: 32rem;
  background: url(../img/common/hibiscus.png) no-repeat center / contain; opacity: 0.9; transform: scaleX(-1);
}
.hd-message .hd-label { text-align: center; }
.hd-message__catch { font-family: var(--hd-serif); font-weight: 900; font-size: 3.8rem; letter-spacing: 0.06em; }
.hd-message__catch span { color: var(--hd-red); font-family: var(--hd-serif); font-style: normal; font-size: 1.15em; }
.hd-message .advantage__item h3 { font-family: var(--hd-serif); font-weight: 700; }

/* ---------- 症状メニュー：写真の下に紺の太字（キングスのメニュー） ---------- */
.hd-menu { background: #f4f4f4; }
.hd-menu .hd-head, .hd-menu .hd-pill { text-align: left; }
.hd-menu .product-item figure::after { background: linear-gradient(180deg, rgba(19, 48, 94, 0) 55%, rgba(19, 48, 94, 0.88) 100%); }
.hd-menu .product-item h4 { font-family: var(--hd-serif); font-weight: 700; border-bottom-color: var(--hd-gold); }

/* ---------- 選ばれる理由：写真と文章を全幅で左右交互（キングスの「強み」） ---------- */
.hd-reason { padding: 10rem 0 0; }
.hd-reason .programList { margin: 0 calc(50% - 50vw); }
.hd-reason .programItem, .hd-reason .programItem.right { grid-template-columns: 1fr 1fr; margin: 0; }
.hd-reason .program_pic img { aspect-ratio: 16 / 11; }
.hd-reason .program_body, .hd-reason .programItem.right .program_body { margin: 0 !important; box-shadow: none; padding: 5rem 8% !important; background: #fff; }
.hd-num { font-family: var(--hd-label); color: var(--hd-gold); font-size: 4rem; }
.hd-reason .program_ttl span { font-family: var(--hd-serif); font-weight: 700; }

/* ---------- 喜びの声・院のカード ---------- */
.hd-voice .hd-head { max-width: 1200px; margin: 0 auto 3rem; padding: 0 2rem; }
.hd-clinics__item .name { font-family: var(--hd-serif); font-weight: 700; border-bottom: 2px solid var(--hd-navy); }
.hd-clinics__item figure { border-top: 4px solid var(--hd-navy); }

/* ---------- CONTACT（紺地に金の大きな英字＋白い箱） ---------- */
.footer_top.hd-contact { background: var(--hd-navy); position: relative; overflow: hidden; }
.hd-contact .hd-ttl { text-align: center; color: #fff; font-size: 2rem; }
.hd-contact .hd-ttl .en { font-size: 6.4rem !important; line-height: 1.1; color: var(--hd-gold) !important; -webkit-text-fill-color: var(--hd-gold) !important; }
.hd-contact__box { background: #fff; border-radius: 6px; max-width: 1200px; margin: 0 auto; padding: 4rem 3rem; }
.hd-contact__lead { margin: 0 0 3rem; color: var(--hd-ink); }
.hd-contact__item { border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); }
.hd-contact__line { display: flex; justify-content: center; margin-top: 3rem; }
.hd-contact::after {
  content: ""; position: absolute; right: -5rem; bottom: -5rem; width: 28rem; height: 28rem;
  background: url(../img/common/hibiscus.png) no-repeat center / contain; opacity: 0.9;
}

/* ---------- 予約の案内（4院の電話を横並び＋LINE） ---------- */
.product-lp .sub-cta { background: var(--hd-navy); border: 0; padding: 6rem 0; }
.product-lp .sub-cta .mail_text .text02 { color: var(--hd-gold-l); -webkit-text-fill-color: var(--hd-gold-l); }
.product-lp .sub-cta .mail_text .text02 span { color: var(--hd-gold-l); -webkit-text-fill-color: var(--hd-gold-l); }
.product-lp .sub-cta_txt { color: #fff; font-weight: 700; font-family: var(--hd-serif); }
.product-lp .sub-cta_txt .fwb { color: var(--hd-gold-l); }
.hd-telbox { background: #fff; border-radius: 6px; max-width: 1100px; margin: 3rem auto 0; padding: 3rem; }
.hd-telbox__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.hd-telbox__item { display: block; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); padding: 1.6rem 1rem; text-align: center; transition: background 0.3s; }
.hd-telbox__item:hover { background: var(--hd-kinari2); }
.hd-telbox__item .n { display: block; font-weight: 700; color: var(--hd-navy); font-size: 1.5rem; }
.hd-telbox__item .t { display: block; font-family: var(--hd-num); color: var(--hd-navy); font-size: 2.4rem; letter-spacing: 0.02em; margin: 0.4rem 0; }
.hd-telbox__item .a { display: block; font-size: 1.1rem; color: #888; }
.hd-telbox__item.-dummy, .hd-telbox__item.-dummy span { color: #b5b5b5; border-top-color: #ccc; }
.hd-telbox__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-top: 2.4rem; }
.hd-telbox__time { font-size: 1.3rem; color: #555; }

/* ---------- 下層：見出し帯・その他 ---------- */
.hd-pagehead .l-page-cover__ttl { font-family: var(--hd-serif); font-weight: 900; }
.hd-pagehead .l-page-cover__ttl::after { background: var(--hd-red); }
.hd-price__zero .b em { color: #fff; background: var(--hd-red); padding: 0 1.2rem; margin: 0 0.6rem; }
.product-lp .circle { border: 2px solid var(--hd-navy); }
.product-lp .balloon-005, .product-lp .solar-panel-ans-point div, .product-lp .solar-panel-faq-item p { font-family: var(--hd-serif); font-weight: 700; }
.hd-split h3, .hd-concept .home-about__text h3 { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); }
.hd-clinic__name, .hd-staff .item_ttl, .hd-devices__name, .hd-clinicnav__lead, .hd-ctabox__ttl { font-family: var(--hd-serif); font-weight: 700; }

@media screen and (max-width: 767px) {
  .hd-h2, .hd-ttl, .product-lp .solar-panel-ttl, .product-lp .solar-panel-ttl02 { font-size: 2.3rem; }
  .hd-head { padding: 0 0.4rem; }
  .hd-kmv { height: auto; margin-top: 6rem; padding-bottom: 3rem; }
  .hd-kmv__panel { position: relative; width: 100%; bottom: auto; clip-path: none; padding: 3rem 2rem 9rem; }
  .hd-kmv__panel::after { width: 14rem; height: 14rem; left: auto; right: -2rem; bottom: -2rem; }
  .hd-kmv__logo { width: 22rem; margin: 1.4rem 0 1rem; }
  .hd-kmv__partner { font-size: 1.2rem; }
  .hd-kmv__lead { font-size: 1.3rem; }
  .hd-kmv__catch { position: relative; left: auto; top: auto; margin: -7rem 0 0 2rem; font-size: 4.2rem; -webkit-text-stroke: 6px #fff; }
  .hd-kmv__photos { position: relative; right: auto; top: auto; width: 100%; margin-top: 1.6rem; padding: 0 1rem; }
  .hd-kmv__btns { position: relative; left: auto; bottom: auto; flex-direction: column; gap: 1.6rem; margin-top: 2.4rem; padding: 0 2rem; }
  .hd-kbtn, .hd-pill { min-width: 0; width: 100%; }
  .hd-message::after { width: 16rem; height: 16rem; right: -4rem; top: 1rem; opacity: 0.6; }
  .hd-message__catch { font-size: 2.4rem; }
  .hd-reason .programItem, .hd-reason .programItem.right { grid-template-columns: 1fr; }
  .hd-reason .program_body, .hd-reason .programItem.right .program_body { padding: 3rem 2rem !important; }
  .hd-contact .hd-ttl .en { font-size: 4rem !important; }
  .hd-contact__box { padding: 2.4rem 1.4rem; }
  .hd-contact::after { width: 14rem; height: 14rem; }
  .hd-telbox { padding: 1.6rem; margin: 2rem 1.6rem 0; }
  .hd-telbox__grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .hd-telbox__item .t { font-size: 1.8rem; }
  .hd-telbox__foot { flex-direction: column; align-items: stretch; }
}
.hd-footer__btns .hd-pill { min-width: 16rem; min-height: 5rem; padding: 0.9rem 4.4rem 0.9rem 2rem; }
.hd-footer__btns .hd-pill::after { right: 1.4rem; }
/* 電話番号は1行で（4院の箱で折り返さない） */
.hd-contact__item .hd-tel { display: block; white-space: nowrap; font-size: 2.2rem !important; letter-spacing: 0.02em; text-align: center; }
.hd-contact__item .hd-tel small { display: block; font-size: 1.1rem; color: #999; }
.hd-insta .hd-head { text-align: center; }
@media screen and (max-width: 767px) { .hd-contact__item .hd-tel { font-size: 2.4rem !important; } }
.hd-contact__item { display: flex; flex-direction: column; }
.hd-contact__btns { margin-top: auto; padding-top: 1.6rem; }
.product-lp .solar-panel-ttl02.-question { text-align: center; }
.product-lp .solar-panel-ttl02.-question .en { text-align: center; }
.hd-clinics__item .tel { white-space: nowrap; }
@media screen and (max-width: 767px) {
  .hd-clinics__item .tel { font-size: 1.35rem; letter-spacing: 0; }
  .hd-message::after { width: 11rem; height: 11rem; right: -3rem; top: -1rem; opacity: 0.5; }
}
.hd-price__zero .b em { display: inline-block; line-height: 1.15; padding: 0 1rem; vertical-align: -0.08em; font-size: 1.6em; }
.hd-price__zero .t { margin-bottom: 1.4rem; }
.hd-price__zero .s { margin-top: 1.2rem; }
.hd-price .hd-note { margin-bottom: 6rem; }
.product-lp .solar-panel-faq-grid { row-gap: 7rem; }

/* =====================================================================
   2026-10-18（7回目）トップMVをキングス風の斜めパネルから変更
   左＝キャッチ（生成り地）／右＝リネクトのスライダー／右下＝リネクトの .fv-banner（LINE・電話の2枚）
   ===================================================================== */
.hd-fv2 { display: grid; grid-template-columns: 36% 64%; background: var(--hd-kinari); margin-top: 10.5rem; position: relative; }
.hd-fv2__text { position: relative; z-index: 2; padding: 11rem 3rem 0 12%; }
.hd-fv2__text::before {
  content: ""; position: absolute; left: -4rem; bottom: -2rem; width: 24rem; height: 24rem; z-index: -1;
  background: url(../img/common/hibiscus.png) no-repeat center / contain; opacity: 0.22;
}
.hd-fv2__badge { display: inline-block; border: 1px solid var(--hd-gold); color: var(--hd-gold); font-family: var(--hd-label); font-size: 1.25rem; letter-spacing: 0.06em; padding: 0.6rem 1.4rem; }
.hd-fv2__catch { font-family: var(--hd-serif); font-weight: 900; color: var(--hd-navy); font-size: 5.4rem; line-height: 1.45; letter-spacing: 0.06em; margin: 3rem 0 2.4rem; }
.hd-fv2__catch em { font-style: normal; color: var(--hd-red); }
.hd-fv2__lead { font-size: 1.6rem; line-height: 2; letter-spacing: 0.1em; color: var(--hd-ink); border-left: 3px solid var(--hd-red); padding-left: 1.6rem; }
.hd-fv2__photo { min-width: 0; }
.hd-fv2__photo::after { display: none; }
.hd-fv2__photo .home-mv__slide img { height: 70rem; border-radius: 0 0 0 10rem; }
.hd-fv2 .slide-text.fv-banner { position: absolute; top: auto; left: auto; right: 4rem; bottom: -4rem; transform: none; width: 72rem; gap: 1.6rem; }
.hd-fv2 .contents_img-banner { max-width: none; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2)); }
.hd-fv2 + .hd-fv__bar { margin-top: 8rem; }
/* ヘッダー：電話予約／LINE予約（LINEの緑） */
.hd-hbtn.-line { background: #06c755; }
.hd-hbtn.-line small { color: #fff; }
.hd-spbar a:last-child, .hd-spbar a.-line { background: #06c755; }
/* お問い合わせの院カードに外観写真 */
.hd-contact__img { margin: -3rem -2.4rem 2rem; aspect-ratio: 16 / 10; overflow: hidden; }
.hd-contact__img img { width: 100%; height: 100%; object-fit: cover; }
.hd-contact__item.-dummy .hd-contact__img img { filter: grayscale(0.6); opacity: 0.7; }
@media screen and (max-width: 767px) {
  .hd-fv2 { grid-template-columns: 1fr; margin-top: 6rem; }
  .hd-fv2__photo { order: -1; }
  .hd-fv2__photo .home-mv__slide img { height: 62vw; border-radius: 0 0 0 5rem; }
  .hd-fv2__text { padding: 3rem 2rem 2rem; }
  .hd-fv2__text::before { width: 14rem; height: 14rem; left: auto; right: -2rem; bottom: 0; }
  .hd-fv2__catch { font-size: 3.4rem; margin: 1.6rem 0; }
  .hd-fv2__lead { font-size: 1.35rem; }
  .hd-fv2 .slide-text.fv-banner { position: static; width: 100%; display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 0 2rem 3rem; margin: 0; }
  .hd-fv2 + .hd-fv__bar { margin-top: 3rem; }
}
/* LINEのボタンはLINEの緑に統一 */
.hd-pill.-lineg, .hd-kbtn.-lineg { background: #06c755; border-color: #06c755; border-left-color: #04a044; color: #fff; }
.hd-pill.-lineg:hover, .hd-kbtn.-lineg:hover { background: #04a044; border-color: #04a044; }
@media screen and (max-width: 767px) {
  .hd-fv2 .slide-banner { width: 100%; }
  .hd-fv2 .slide-text.fv-banner { display: grid !important; width: 100% !important; justify-items: stretch; padding: 0 2rem 3rem !important; margin: 0 !important; }
  .hd-fv2 .slide-text.fv-banner a, .hd-fv2 .contents_img-banner, .hd-fv2 .contents_img-banner img { width: 100%; max-width: none; justify-self: stretch !important; }
}

/* =====================================================================
   2026-10-18（8回目）中林さんの修正指示
   ===================================================================== */
/* ヘッダー：上の帯ごと固定（スクロールで帯が途切れて隙間から本文が見えていた） */
@media screen and (min-width: 768px) {
  .header-wrap { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
  .header-wrap .header { position: relative; top: 0; left: 0; transform: none; }
}
.hd-topbar p:last-child { color: #fff; }
.hd-hbtn.-line { flex-direction: row; align-items: center; gap: 1rem; }
.hd-hbtn.-line img { width: 2.6rem; height: 2.6rem; }
.hd-hbtn.-line span { display: flex; flex-direction: column; }
.hd-hbtn.-ig { min-width: 0; width: 5.6rem; padding: 0; align-items: center; background: #fff; border: 1px solid var(--hd-line); margin-left: 0.8rem; }
.hd-hbtn.-ig img { width: 3.2rem; height: 3.2rem; }
/* トップMV：写真を2枚散らして、それぞれフェードで切り替え（.slider を2つ） */
.hd-fv2__photos { position: relative; min-width: 0; height: 74rem; }
.hd-fv2__ph { position: absolute; overflow: hidden; }
.hd-fv2__ph.-a { right: 0; top: 0; width: 80%; height: 54rem; border-radius: 0 0 0 9rem; }
.hd-fv2__ph.-b { left: -4rem; top: 30rem; width: 40%; height: 28rem; border: 8px solid #fff; border-radius: 2rem; box-shadow: 0 12px 30px rgba(19, 48, 94, 0.18); z-index: 2; }
.hd-fv2__ph .home-mv__slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.hd-fv2__ph.-a .home-mv__slide img { height: 54rem; }
.hd-fv2__ph.-b .home-mv__slide img { height: calc(28rem - 16px); }
.hd-fv2 .slide-text.fv-banner { bottom: 2rem; }
.hd-fv2 + .hd-fv__bar { margin-top: 6rem; }
@media screen and (max-width: 767px) {
  .hd-fv2__photos { order: -1; height: auto; padding-bottom: 6vw; }
  .hd-fv2__ph { position: relative; }
  .hd-fv2__ph.-a { width: 100%; height: 62vw; border-radius: 0 0 0 5rem; }
  .hd-fv2__ph.-a .home-mv__slide img { height: 62vw; }
  .hd-fv2__ph.-b { left: 4vw; top: auto; width: 48%; height: 32vw; margin-top: -16vw; border-width: 5px; border-radius: 1.2rem; }
  .hd-fv2__ph.-b .home-mv__slide img { height: calc(32vw - 10px); }
}
/* 症状別メニュー：写真＋紺グラデ → 白いカード＋イラスト（img/home/sym-il01〜08.png） */
.hd-menu.-illust .product-item { background: #fff; border: 1px solid var(--hd-line); border-radius: 1.2rem; padding: 2.4rem 1.6rem 0; transition: transform 0.3s, box-shadow 0.3s; }
.hd-menu.-illust .product-item:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(19, 48, 94, 0.12); }
.hd-menu.-illust .product-item figure::after { display: none; }
.hd-menu.-illust .product-item figure img { aspect-ratio: 1 / 1; object-fit: contain; width: 72%; margin: 0 auto; display: block; }
.hd-menu.-illust .product-item_text { position: static; padding: 1.4rem 0 1.8rem; }
.hd-menu.-illust .product-item h4 { color: var(--hd-navy); font-size: 1.7rem; border-bottom: 0; padding: 0; text-align: center; }
.hd-menu.-illust .product-item h4::after { content: "→"; float: none; margin-left: 0.8rem; color: var(--hd-red); }
@media screen and (max-width: 767px) {
  .hd-menu.-illust .product-item { padding: 1.6rem 1rem 0; }
  .hd-menu.-illust .product-item figure img { width: 80%; }
  .hd-menu.-illust .product-item_text { padding: 1rem 0 1.4rem; }
  .hd-menu.-illust .product-item h4 { font-size: 1.35rem; }
}
/* Instagram：中央揃え＋レインボーのアイコン */
.hd-insta .hd-head, .hd-insta .hd-label, .hd-insta .hd-h2 { text-align: center !important; }
.hd-insta .hd-head { max-width: none; padding: 0; }
.hd-insta__icon { display: block; width: 5.6rem; height: 5.6rem; margin: 0 auto 1.2rem; }
.hd-insta__btn { gap: 1rem; }
.hd-insta__btn img { width: 2.4rem; height: 2.4rem; }
/* 症状別・交通事故ページの予約案内（フッターと同じ4院カード） */
.hd-telbox2 { max-width: 1200px; margin: 3rem auto 0; text-align: center; }
.product-lp .sub-cta .hd-contact__item p, .product-lp .sub-cta .hd-contact__item h3 { -webkit-text-fill-color: initial; }
/* LINE・Instagramのアイコン（ボタン内） */
.hd-ico { width: 2rem; height: 2rem; margin-right: 0.8rem; flex: none; }
.hd-pill .hd-ico, .hd-kbtn .hd-ico { display: inline-block; vertical-align: middle; }
@media screen and (max-width: 767px) {
  .hd-telbox2 { margin: 2rem 1.6rem 0; padding: 1.6rem; }
  .hd-contact__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .hd-contact__item { padding: 2rem 1rem; }
  .hd-contact__img { margin: -2rem -1rem 1.4rem; }
  .hd-contact__name { font-size: 1.6rem; }
  .hd-contact__item .hd-tel { font-size: 1.6rem !important; letter-spacing: 0; }
  .hd-contact__addr, .hd-contact__time { font-size: 1.1rem; }
  .hd-contact__btns .hd-pill { font-size: 1.15rem; padding: 0.8rem 2.6rem 0.8rem 0.8rem; min-height: 4.4rem; }
  .hd-contact__btns .hd-pill::after { right: 0.8rem; }
  .hd-contact__btns .hd-ico { width: 1.6rem; height: 1.6rem; margin-right: 0.4rem; }
}
/* 交通事故「ここが違います」：一般（グレー）と当院（紺・強調）を色分けした比較表 */
.product-lp .hd-compare { width: 100%; max-width: 1000px; margin: 0 auto; border-collapse: separate; border-spacing: 0.6rem 0; table-layout: fixed; }
.product-lp .hd-compare tr { display: table-row; }
.product-lp .hd-compare th, .product-lp .hd-compare td { display: table-cell; padding: 1.8rem 1.6rem; font-size: 1.5rem; line-height: 1.7; vertical-align: middle; border: 0; border-bottom: 1px solid #e3e3e3; text-align: center; width: auto; }
.product-lp .hd-compare th { width: 20%; background: var(--hd-navy); color: #fff; font-weight: 700; border-bottom-color: rgba(255, 255, 255, 0.2); }
.product-lp .hd-compare td:nth-child(2) { width: 34%; background: #f2f2f2; color: #777; }
.product-lp .hd-compare td:nth-child(3) { width: 46%; background: #fff; color: var(--hd-navy); font-weight: 700; border-left: 3px solid var(--hd-red); border-right: 3px solid var(--hd-red); }
.product-lp .hd-compare td:nth-child(3)::before { content: "✓"; color: var(--hd-red); margin-right: 0.6rem; }
.product-lp .hd-compare tr:first-child th { background: transparent; }
.product-lp .hd-compare tr:first-child td { font-size: 1.6rem; padding: 1.4rem; }
.product-lp .hd-compare tr:first-child td:nth-child(2) { background: #bdbdbd; color: #fff; }
.product-lp .hd-compare tr:first-child td:nth-child(3) { background: var(--hd-red); color: #fff; border-top: 3px solid var(--hd-red); }
.product-lp .hd-compare tr:first-child td:nth-child(3)::before { content: none; }
.product-lp .hd-compare tr:last-child td:nth-child(3) { border-bottom: 3px solid var(--hd-red); }
@media screen and (max-width: 767px) {
  .product-lp .hd-compare { border-spacing: 0.3rem 0; }
  .product-lp .hd-compare th, .product-lp .hd-compare td { padding: 1.2rem 0.6rem; font-size: 1.2rem; }
  .product-lp .hd-compare th { width: 22%; }
  .product-lp .hd-compare td:nth-child(2) { width: 30%; }
  .product-lp .hd-compare td:nth-child(3) { width: 48%; }
  .product-lp .hd-compare tr:first-child td { font-size: 1.2rem; }
}
/* 院案内：写真3枚をスライド（.slider＋ドット） */
.hd-clinic__slider { border-radius: 1.2rem; overflow: hidden; }
.hd-clinic__slider figure { margin: 0; }
.hd-clinic__slider img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; opacity: 1 !important; }
.hd-clinic__slider .slick-dots { display: flex !important; justify-content: center; gap: 1rem; position: absolute; left: 0; right: 0; bottom: 1.4rem; margin: 0; padding: 0; list-style: none; }
.hd-clinic__slider .slick-dots button { width: 1rem; height: 1rem; border-radius: 50%; border: 0; background: rgba(255, 255, 255, 0.6); font-size: 0; padding: 0; cursor: pointer; }
.hd-clinic__slider .slick-dots .slick-active button { background: var(--hd-red); }
.hd-fv2__ph::after { display: none !important; }
.p-company-sec02 .item01__table table.hd-compare { display: table; }
.p-company-sec02 .item01__table table.hd-compare tr { display: table-row; }
.p-company-sec02 .item01__table table.hd-compare th, .p-company-sec02 .item01__table table.hd-compare td { display: table-cell; writing-mode: horizontal-tb; }
.hd-clinic__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important; }
.hd-clinic__photos { min-width: 0; position: relative; }
.hd-clinic__slider { width: 100%; }
.p-company-sec02__cont:has(.hd-compare) { padding-top: 2rem; }
@media screen and (max-width: 767px) { .hd-clinic__grid { grid-template-columns: minmax(0, 1fr) !important; } }
.hd-clinic__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.hd-clinic__btns .hd-pill { min-width: 0; width: 100%; padding-left: 1.4rem; padding-right: 3.6rem; }
.hd-clinic__btns .hd-pill::after { right: 1.2rem; }
.hd-clinic__slider .slick-dots button::before, .hd-clinic__slider .slick-dots li::before { display: none !important; content: none !important; }
.product-lp .hd-split .solar-panel-ttl { font-size: 2.6rem; }
/* 初めての方へ：院長あいさつの背景を全体に（前のセクションの色帯が途中で切れて見えていた）／2カラム内の見出しの左端を本文に揃える */
.hd-page #greeting { background: var(--hd-kinari); position: relative; z-index: 1; }
.product-lp .company-body .solar-panel-ttl, .product-lp .hd-split .solar-panel-ttl { padding: 0; margin-left: 0; max-width: none; }
@media screen and (max-width: 767px) {
  .hd-fv2__photos { padding-bottom: 0; }
  .hd-fv2__text { padding-top: 1.6rem; }
  .hd-fv2__catch { margin-top: 0.6rem; }
  /* お問い合わせ：2列だとボタンの文字が折り返すので1列（写真は横長で控えめに） */
  .hd-contact__grid { grid-template-columns: 1fr; }
  .hd-contact__img { aspect-ratio: 16 / 7; }
  .hd-contact__item .hd-tel { font-size: 2.4rem !important; }
  .hd-contact__btns { grid-template-columns: 1fr 1fr; }
  .hd-contact__btns .hd-pill { font-size: 1.3rem; }
}
@media screen and (max-width: 767px) {
  .product-lp .solar-panel-faq-grid { display: grid; grid-template-columns: 1fr 1fr; row-gap: 4.4rem; column-gap: 1rem; }
  .product-lp .solar-panel-faq-grid .solar-panel-faq-item p { font-size: 1.3rem; }
}
.hd-contact__btns .hd-pill { white-space: nowrap; letter-spacing: 0.02em; }
@media screen and (max-width: 767px) { .hd-contact__btns .hd-pill { padding: 0.8rem 3rem 0.8rem 1rem; } }
@media screen and (max-width: 767px) { .hd-contact__btns .hd-pill { padding-right: 3.8rem; font-size: 1.25rem; } .hd-contact__btns .hd-pill::after { right: 1rem; } }

/* =====================================================================
   2026-10-18（9回目）トップMV：HeartLink（Toyoplaテンプレ）の .home-mv の配置を流用
   左上の写真（slider01）＋右下の写真（slider02）を散らし、縦書き（catch03）・大きな英字（catch02）・左下にキャッチ
   ===================================================================== */
.hd-tmv { position: relative; height: calc(100vh - 10.5rem); min-height: 64rem; max-height: 92rem; margin-top: 10.5rem; background: var(--hd-kinari); overflow: hidden; }
.hd-tmv__slider { position: absolute; z-index: 1; }
.hd-tmv__slider.-a { top: 0; left: 0; width: 50vw; height: 66%; box-shadow: 24px 24px 0 rgba(19, 48, 94, 0.08); }
.hd-tmv__slider.-b { right: 0; bottom: 0; width: 37vw; height: 72%; }
.hd-tmv__slider .slider, .hd-tmv__slider .slick-list, .hd-tmv__slider .slick-track, .hd-tmv__slide { height: 100%; }
.hd-tmv__slide img { width: 100%; height: 100%; object-fit: cover; opacity: 1 !important; }
.hd-tmv__slider.-b .hd-tmv__slide img { outline: 2px solid rgba(255, 255, 255, 0.8); outline-offset: -24px; }
.hd-tmv__catch02 { position: absolute; right: 4rem; top: 5%; z-index: 0; font-family: var(--hd-label); font-size: 13rem; line-height: 1; letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; color: var(--hd-navy); opacity: 0.07; }
.hd-tmv__catch03 { position: absolute; left: 53vw; top: 10%; z-index: 2; writing-mode: vertical-rl; font-family: var(--hd-serif); font-weight: 700; font-size: 2.2rem; line-height: 2; letter-spacing: 0.3em; color: var(--hd-navy); }
.hd-tmv__catch { position: absolute; left: 6%; bottom: 5rem; z-index: 3; }
.hd-tmv__ttl { font-family: var(--hd-serif); font-weight: 900; color: var(--hd-navy); font-size: 5.6rem; line-height: 1.4; letter-spacing: 0.06em; }
.hd-tmv__ttl em { font-style: normal; color: var(--hd-red); }
.hd-tmv__ttl::after { content: ""; display: block; width: 80px; height: 5px; background: var(--hd-red); margin-top: 1.8rem; }
.hd-tmv__lead { margin-top: 1.4rem; font-size: 1.5rem; letter-spacing: 0.12em; color: var(--hd-ink); }
.hd-tmv__scrolldown { position: absolute; left: 56%; bottom: 6%; height: 60px; z-index: 2; }
.hd-tmv__scrolldown span { position: absolute; left: 50%; transform: translateX(-50%); top: -2.4rem; font-size: 1rem; letter-spacing: 0.1em; color: var(--hd-navy); }
.hd-tmv__scrolldown::after { content: ""; position: absolute; top: 0; left: 50%; width: 1px; height: 50px; background: var(--hd-navy); animation: hd-patmove 1.4s ease-in-out infinite; opacity: 0; }
.catch-float { animation: hd-float 3s ease-in-out infinite; }
@keyframes hd-float { 0% { transform: translateY(0); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0); } }
@keyframes hd-patmove { 0% { height: 0; top: 0; opacity: 0; } 20% { height: 50px; opacity: 1; } 100% { height: 0; top: 50px; opacity: 1; } }
.hd-tmv__bnrs { position: relative; z-index: 5; display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; max-width: 1000px; margin: 4rem auto 0; }
.hd-tmv__bnrs img { width: 100%; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.15)); transition: transform 0.3s; }
.hd-tmv__bnrs a:hover img { transform: translateY(-3px); }
@media screen and (max-width: 767px) {
  .hd-tmv { height: auto; min-height: 0; max-height: none; margin-top: 6rem; padding-bottom: 2rem; }
  .hd-tmv__slider { position: relative; }
  .hd-tmv__slider.-a { width: 92vw; height: 62vw; box-shadow: 12px 12px 0 rgba(19, 48, 94, 0.08); }
  .hd-tmv__slider.-b { width: 58vw; height: 42vw; margin: -10vw 0 0 auto; }
  .hd-tmv__slider.-b .hd-tmv__slide img { outline-offset: -10px; }
  .hd-tmv__catch02, .hd-tmv__scrolldown { display: none; }
  .hd-tmv__catch03 { left: 5vw; top: 66vw; font-size: 1.5rem; letter-spacing: 0.2em; }
  .hd-tmv__catch { position: relative; left: auto; bottom: auto; padding: 2.4rem 2rem 0; }
  .hd-tmv__ttl { font-size: 3.4rem; }
  .hd-tmv__ttl::after { width: 56px; height: 4px; margin-top: 1.2rem; }
  .hd-tmv__lead { font-size: 1.3rem; letter-spacing: 0.06em; }
  .hd-tmv__bnrs { grid-template-columns: 1fr; gap: 1rem; margin: 1rem 1.6rem 0; }
}
/* スマホ下部の固定バー：白い地・余白・角丸（リネクト由来）をやめ、紺とLINE緑の2分割で薄く */
.sp_cta.hd-spbar { height: auto; padding: 0 0 env(safe-area-inset-bottom); background: var(--hd-navy); border-top: 0; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.12); gap: 0; }
.sp_cta.hd-spbar a { margin: 0; border-radius: 0; height: 5rem; padding: 0 0 0 2.6rem; font-size: 1.45rem; font-weight: 700; letter-spacing: 0.06em; }
.sp_cta.hd-spbar a span { display: block; }
.sp_cta.hd-spbar a::before { left: calc(50% - 6.4rem) !important; width: 2rem !important; height: 2rem !important; }
.sp_cta.hd-spbar a.-line::before { background-image: url(../img/common/line.svg); }

/* スマホメニュー */
@media screen and (max-width: 767px) {
  .nav-drawer.hd-drawer { display: none; align-items: flex-start; justify-content: flex-start; text-align: left; padding: 8rem 1.6rem 10rem; background: var(--hd-kinari); }
  .hd-drawer .nav-drawer__nav { width: 100%; }
  .hd-drawer__bnrs { display: grid; gap: 0.8rem; }
  .hd-drawer__bnrs img { width: 100%; display: block; }
  .hd-drawer__ttl { margin: 3rem 0 1.2rem; font-weight: 700; font-size: 1.6rem; color: var(--hd-navy); display: flex; align-items: baseline; gap: 1rem; }
  .hd-drawer__ttl span { font-family: var(--hd-label); color: var(--hd-gold); font-size: 1.3rem; letter-spacing: 0.06em; }
  .hd-drawer__menu { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
  .hd-drawer__menu a { display: block; background: #fff; border: 1px solid var(--hd-line); border-left: 4px solid var(--hd-navy); padding: 1.2rem 1rem; font-size: 1.4rem; font-weight: 700; color: var(--hd-navy); line-height: 1.4; }
  .hd-drawer__menu a small { display: block; font-family: var(--hd-num); font-weight: 400; font-size: 1rem; letter-spacing: 0.15em; color: var(--hd-gold); }
  .hd-drawer__sym { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
  .hd-drawer__sym a { display: flex; align-items: center; gap: 0.6rem; background: #fff; border: 1px solid var(--hd-line); border-radius: 0.8rem; padding: 0.6rem; font-size: 1.25rem; font-weight: 700; color: var(--hd-navy); line-height: 1.35; }
  .hd-drawer__sym img { width: 4.4rem; height: 4.4rem; flex: none; }
  .hd-drawer__clinics { display: grid; gap: 1rem; }
  .hd-drawer__clinic { display: grid; grid-template-columns: 11rem 1fr; gap: 1.2rem; background: #fff; border: 1px solid var(--hd-line); border-top: 3px solid var(--hd-navy); padding: 1.2rem; }
  .hd-drawer__clinic figure { margin: 0; }
  .hd-drawer__clinic figure img { width: 100%; height: 100%; min-height: 11rem; object-fit: cover; }
  .hd-drawer__clinic .name { font-weight: 700; font-size: 1.6rem; color: var(--hd-navy); }
  .hd-drawer__clinic .note { font-size: 1.1rem; color: #888; margin-bottom: 0.8rem; }
  .hd-drawer__clinic .tel, .hd-drawer__clinic .line { display: flex; align-items: center; justify-content: center; gap: 0.6rem; height: 3.8rem; font-weight: 700; color: #fff; white-space: nowrap; }
  .hd-drawer__clinic .tel { background: var(--hd-navy); font-family: var(--hd-num); font-size: 1.7rem; letter-spacing: 0.02em; }
  .hd-drawer__clinic .line { background: #06c755; font-size: 1.3rem; margin-top: 0.6rem; }
  .hd-drawer__clinic .tel img, .hd-drawer__clinic .line img { width: 1.8rem; height: 1.8rem; }
  .hd-drawer__clinic.-dummy { opacity: 0.55; }
  .hd-drawer__time { margin-top: 1.4rem; font-size: 1.2rem; color: #555; text-align: center; }
  .hd-drawer__ig { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-top: 1.6rem; background: #fff; border: 1px solid var(--hd-line); height: 4.6rem; font-weight: 700; color: var(--hd-navy); }
  .hd-drawer__ig img { width: 2.6rem; height: 2.6rem; }
}
/* スマホ：.inner（幅100%）に左右マージンを足していた箱が右に16pxはみ出していた → 幅は自動に */
@media screen and (max-width: 767px) {
  .hd-tmv__bnrs.inner, .hd-fv__bar.inner, .hd-newsbar.inner, .hd-telbox2.inner { width: auto; max-width: none; box-sizing: border-box; }
}
/* 交通事故：施術の流れ（STEP番号＋項目名のカード・4列×2段、矢印でつなぐ） */
.product-lp .flow-grid.hd-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.4rem; max-width: 1000px; margin: 0 auto; }
.hd-steps .item { position: relative; background: #fff; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); padding: 2.4rem 1rem; min-height: 13rem; display: flex; align-items: center; justify-content: center; text-align: center; }
.hd-steps .item:not(:nth-child(4n)):not(:last-child)::after { content: ""; position: absolute; right: -1.8rem; top: 50%; transform: translateY(-50%); border: 0.8rem solid transparent; border-left: 1rem solid var(--hd-red); }
.hd-steps .item_ttl { margin: 0; line-height: 1.5; }
.hd-steps .item_ttl .n { display: block; font-family: var(--hd-label); color: var(--hd-gold); font-size: 1.8rem; letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; margin-bottom: 0.8rem; }
.hd-steps .item_ttl .t { display: block; font-weight: 700; color: var(--hd-navy); font-size: 1.8rem; word-break: keep-all; }
@media screen and (max-width: 767px) {
  .product-lp .flow-grid.hd-steps { grid-template-columns: 1fr 1fr; gap: 1.6rem; padding: 0 1.6rem; }
  .hd-steps .item { min-height: 10rem; padding: 1.6rem 0.6rem; }
  .hd-steps .item:not(:nth-child(4n)):not(:last-child)::after { display: none; }
  .hd-steps .item:nth-child(odd)::after { display: block !important; right: -1.4rem; border-width: 0.6rem; border-left-width: 0.8rem; }
  .hd-steps .item_ttl .n { font-size: 1.4rem; }
  .hd-steps .item_ttl .t { font-size: 1.5rem; }
}
.hd-hbtn.-tel { flex-direction: row; align-items: center; gap: 1rem; }
.hd-hbtn.-tel img { width: 2.2rem; height: 2.2rem; flex: none; }
.hd-hbtn.-tel span { display: flex; flex-direction: column; }
@media screen and (max-width: 767px) {
  .hd-drawer__bnrs a, .hd-drawer__bnrs a.nav-drawer__link { display: block; margin: 0 !important; padding: 0 !important; width: 100%; }
  .hd-drawer__sym a { letter-spacing: 0; font-size: 1.2rem; }
}
@media screen and (max-width: 767px) {
  .hd-tmv__catch03 { position: relative; left: auto; top: auto; writing-mode: horizontal-tb; margin: 2.4rem 2rem 0; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 1.8; color: var(--hd-gold); animation: none; }
  .hd-tmv__catch03 br { display: none; }
  .hd-tmv__catch { padding-top: 0.8rem; }
  .hd-footer__btns { gap: 0.8rem; }
  .hd-footer__btns .hd-pill { flex: 1; min-width: 0; white-space: nowrap; font-size: 1.3rem; padding: 0.9rem 3.2rem 0.9rem 1rem; }
  .hd-footer__btns .hd-pill::after { right: 1rem; }
}

/* =====================================================================
   2026-10-18（10回目）下層のタイトル帯：紺の膜をやめ、左＝生成り地に紺の文字／右＝写真（script/hd_pagehead.py で合成）
   ===================================================================== */
.hd-pagehead { background-color: #f7f2e9; background-size: cover; background-position: right center; background-repeat: no-repeat; }
.hd-pagehead::before { display: none; }
.hd-pagehead .l-page-cover__ttl { color: var(--hd-navy) !important; -webkit-text-fill-color: var(--hd-navy); font-weight: 900; font-size: 4rem !important; padding: 11rem 0 !important; }
.hd-pagehead .l-page-cover__ttl .en { font-family: var(--hd-label); font-weight: 400; font-size: 1.6rem; letter-spacing: 0.08em; color: var(--hd-gold); -webkit-text-fill-color: var(--hd-gold); }
.hd-pagehead .l-page-cover__ttl::after { width: 5.6rem; height: 4px; background: var(--hd-red); }
@media screen and (max-width: 767px) {
  .hd-pagehead { background-size: auto 100%; }
  .hd-pagehead::before { display: block; background: linear-gradient(90deg, rgba(247, 242, 233, 0.95) 0%, rgba(247, 242, 233, 0.8) 45%, rgba(247, 242, 233, 0) 80%); }
  .hd-pagehead .l-page-cover__inner { position: relative; z-index: 1; }
  .hd-pagehead .l-page-cover__ttl { font-size: 2.6rem !important; padding: 5rem 0 !important; }
  .hd-pagehead .l-page-cover__ttl .en { font-size: 1.3rem; }
}
@media screen and (max-width: 767px) {
  .hd-pagehead { background-position: calc(100% + 12rem) center; }
  .hd-pagehead::before { background: linear-gradient(90deg, rgba(247, 242, 233, 0.96) 0%, rgba(247, 242, 233, 0.85) 50%, rgba(247, 242, 233, 0) 75%); }
}
/* 症状別の施術の流れ（5ステップを1列に） */
.product-lp .flow-grid.hd-steps.-five { grid-template-columns: repeat(5, 1fr); max-width: 1100px; }
.hd-steps.-five .item:not(:last-child)::after { content: ""; display: block; position: absolute; right: -1.8rem; top: 50%; transform: translateY(-50%); border: 0.8rem solid transparent; border-left: 1rem solid var(--hd-red); }
/* お悩みカード：文節で折り返す（「つらい」が「つら／い」に割れないように） */
.product-lp .solar-panel-faq-item p { word-break: auto-phrase; }
@media screen and (max-width: 767px) {
  .product-lp .flow-grid.hd-steps.-five { grid-template-columns: 1fr 1fr; }
  .hd-steps.-five .item:not(:last-child)::after { display: none; }
  .hd-steps.-five .item:nth-child(odd):not(:last-child)::after { display: block; right: -1.4rem; }
  .hd-steps.-five .item:last-child { grid-column: 1 / -1; }
}
/* スマホ：症状別・交通事故のページ内の4院カードは写真・住所を省いた2列（フッターと合わせて3回出るため縦長になりすぎないように） */
@media screen and (max-width: 767px) {
  .hd-telbox2 .hd-contact__grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .hd-telbox2 .hd-contact__img, .hd-telbox2 .hd-contact__addr, .hd-telbox2 .hd-contact__time, .hd-telbox2 .hd-contact__en { display: none; }
  .hd-telbox2 .hd-contact__item { padding: 1.4rem 0.8rem; }
  .hd-telbox2 .hd-contact__name { font-size: 1.5rem; }
  .hd-telbox2 .hd-contact__item .hd-tel { font-size: 1.7rem !important; }
  .hd-telbox2 .hd-contact__btns { grid-template-columns: 1fr; gap: 0.6rem; }
  .hd-telbox2 .hd-contact__btns .hd-pill { min-height: 3.8rem; font-size: 1.2rem; }
}

/* 2026-10-19 FV下の帯「お電話・LINEで24時間受付」がPCで1文字折り返すため、PCは左右余白を詰めて1行に */
@media screen and (min-width: 768px) {
  .hd-fv__item { padding-left: 2.2rem; padding-right: 2.2rem; }
  .hd-fv__item .b { white-space: nowrap; font-size: clamp(1.8rem, 1.5vw, 2.2rem); }
}

/* 2026-10-19 交通事故の施術の流れを9ステップに（STEP01＝電話・LINEにてご予約）。PCは3列×3段、スマホは2列で最後を全幅 */
.product-lp .flow-grid.hd-steps.-nine { grid-template-columns: repeat(3, 1fr); max-width: 900px; }
.hd-steps.-nine .item::after { display: none; }
.hd-steps.-nine .item:not(:nth-child(3n)):not(:last-child)::after { content: ""; display: block; position: absolute; right: -1.8rem; top: 50%; transform: translateY(-50%); border: 0.8rem solid transparent; border-left: 1rem solid var(--hd-red); }
.hd-steps .item_ttl .s { display: block; margin-top: 0.4rem; font-size: 1.3rem; color: #777; }
@media screen and (max-width: 767px) {
  .product-lp .flow-grid.hd-steps.-nine { grid-template-columns: 1fr 1fr; }
  .hd-steps.-nine .item:not(:nth-child(3n)):not(:last-child)::after { display: none; }
  .hd-steps.-nine .item:nth-child(odd):not(:last-child)::after { content: ""; display: block !important; position: absolute; right: -1.4rem; top: 50%; transform: translateY(-50%); border: 0.6rem solid transparent; border-left: 0.8rem solid var(--hd-red); }
  .hd-steps.-nine .item:last-child { grid-column: 1 / -1; }
  .hd-steps .item_ttl .s { font-size: 1.1rem; }
}
/* 2026-10-19 施術の流れの各ステップに小さなイラスト（img/sub/flow-ta01〜09.png・script/hd_flow_illust.py） */
.hd-steps.-nine .item { flex-direction: column; justify-content: flex-start; padding-top: 2rem; }
.hd-steps.-nine .item .il { display: block; width: auto; height: 10rem; margin: 0 auto 1.2rem; }
@media screen and (max-width: 767px) {
  .hd-steps.-nine .item .il { height: 7.2rem; margin-bottom: 0.8rem; }
}

/* ============ 2026-10-21 症状別ページの並べ替え（先方指定の12項目順）・学生料金の打ち出し ============ */
.product-lp .hd-sym-top { padding-bottom: 10rem; }
.hd-sym-top + .hd-fv__bar { margin: -6rem auto 8rem; }
.hd-sym-reason { padding: 10rem 0; }
.hd-sym-reason .hd-message__points { margin-top: 4rem; }
.hd-sym-ctabox { margin: 6rem auto 8rem; }
.hd-sym-ans { padding-top: 2rem; }
.hd-sym-ans .solar-panel-ans-voice { margin-top: 6rem; }
.hd-sym-clinics { padding-top: 10rem; }
.hd-sym-clinics .sub-cta { background: none; padding-top: 0; }
.hd-sym-last .inner { margin-top: 3rem; }
.solar-product-ttl.-accent { color: var(--hd-red); }
.product-lp .solar-panel-faq-grid img.faq-item-img02 { max-width: 130px; }
@media screen and (max-width: 767px) {
  .product-lp .hd-sym-top { padding-bottom: 7rem; }
  .hd-sym-top + .hd-fv__bar { margin: -4rem 1.6rem 5rem; }
  .hd-sym-reason { padding: 6rem 2rem; }
  .hd-sym-ctabox { margin: 4rem auto 6rem; }
  .hd-sym-clinics { padding-top: 6rem; }
  .product-lp .solar-panel-faq-grid img.faq-item-img02 { max-width: 100px; }
  .product-lp .solar-panel-faq-grid { row-gap: 8rem; }
}

/* ============ 2026-10-21 交通事故 B案（page-traffic-accident-b.php・参考：静岡交通事故治療総合サイト） ============ */
.hd-tab .hd-tmv__bnrs { margin-top: 3rem; }
.hd-tab-strength { padding-bottom: 8rem; }
.hd-tab .hd-tab-circles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.4rem; max-width: 1000px; margin: 4rem auto 0; justify-items: center; }
.hd-tab-note { text-align: center; font-size: 1.3rem; margin-top: 2.4rem; }
.hd-tab-lead { text-align: center; margin: -1rem auto 3rem; }
.hd-tab-anshin, .hd-tab-accident { padding: 10rem 0; }
.hd-tab-anshin .hd-steps .item_ttl .s, .hd-tab-accident .hd-steps .item_ttl .s { display: block; font-size: 1.35rem; line-height: 1.8; color: #555; margin-top: 1rem; text-align: left; }
.hd-steps.-noarrow .item::after { display: none !important; }
.hd-steps .item.-point { border-top-color: var(--hd-red); background: var(--hd-kinari2); }
.hd-steps .item.-point .item_ttl .n { color: var(--hd-red); font-family: var(--hd-serif); font-weight: 700; }
.hd-tab-accident .hd-steps .item { align-items: flex-start; }
.hd-tab-center { text-align: center; margin-top: 4rem; }
.hd-tab-kagai { border-top-color: var(--hd-red); }
.hd-tab-kagai .hd-ctabox__ttl { color: var(--hd-red); }
.hd-tab-kagai__txt { max-width: 640px; margin: 0 auto 2.4rem; text-align: left; line-height: 2; }
.hd-tab-info { padding: 10rem 0 4rem; }
.hd-tab-info__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 1000px; margin: 0 auto; }
.hd-tab-info__box { background: #fff; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); padding: 3rem; text-align: center; }
.hd-tab-info__box h3 { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); font-size: 2rem; margin-bottom: 2rem; }
.hd-tab-info__box ul { text-align: left; margin: 0 auto 2.4rem; display: inline-block; }
.hd-tab-info__box li { position: relative; padding-left: 2.6rem; margin-bottom: 1.2rem; font-weight: 700; color: #333; }
.hd-tab-info__box li::before { content: "✓"; position: absolute; left: 0; top: -0.1rem; width: 1.8rem; height: 1.8rem; line-height: 1.8rem; text-align: center; color: #fff; background: var(--hd-red); font-size: 1.2rem; }
.hd-tab-features { padding: 10rem 0; }
.hd-tab-features__big { font-size: 1.4em; color: var(--hd-red); }
@media screen and (max-width: 767px) {
  .hd-tab .hd-tab-circles { grid-template-columns: 1fr 1fr; gap: 1.6rem; padding: 0 1.6rem; }
  .hd-tab-anshin, .hd-tab-accident, .hd-tab-features { padding: 6rem 0; }
  .hd-tab-accident .hd-steps, .hd-tab-anshin .hd-steps { grid-template-columns: 1fr !important; }
  .hd-tab-lead { padding: 0 2rem; }
  .hd-tab-kagai { margin-left: 1.6rem; margin-right: 1.6rem; }
  .hd-tab-info { padding: 6rem 0 2rem; }
  .hd-tab-info__grid { grid-template-columns: 1fr; gap: 2rem; padding: 0 1.6rem; }
  .hd-tab-info__box { padding: 2.4rem 1.6rem; }
}

/* ============ 2026-10-24 交通事故 B案 v2（症状カード・PCの追従ボタン・アイコン） ============ */
.hd-tab-red { color: var(--hd-red); }
.hd-tab-symcards { padding: 10rem 0 6rem; background: var(--hd-kinari2); }
.hd-tab-symcards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; max-width: 1100px; margin: 4rem auto 0; }
.hd-symcard { position: relative; display: grid; grid-template-columns: 1fr 11rem; align-items: end; background: #fff; border: 3px solid var(--hd-red); padding: 2rem 1.6rem 0 2rem; overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; }
.hd-symcard:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(19, 48, 94, 0.15); }
.hd-symcard__body { align-self: start; padding-bottom: 6rem; }
.hd-symcard h3 { font-family: var(--hd-serif); font-weight: 900; color: var(--hd-red); font-size: 2.3rem; line-height: 1.3; margin-bottom: 1.2rem; }
.hd-symcard li { position: relative; padding-left: 1.2rem; font-size: 1.35rem; line-height: 1.7; font-weight: 700; color: #333; }
.hd-symcard li::before { content: "・"; position: absolute; left: -0.2rem; }
.hd-symcard img { width: 11rem; height: auto; margin-bottom: 4.4rem; }
.hd-symcard__btn { position: absolute; left: 0; right: 0; bottom: 0; background: var(--hd-red); color: #fff; text-align: center; font-weight: 700; font-size: 1.4rem; padding: 1rem 0; letter-spacing: 0.1em; }
.hd-symcard__btn::after { content: " →"; }
.hd-float { position: fixed; right: 2.4rem; bottom: 2.4rem; z-index: 90; display: flex; flex-direction: column; gap: 1rem; }
.hd-float a { display: flex; flex-direction: column; justify-content: center; width: 22rem; min-height: 5.6rem; padding: 0.8rem 4rem 0.8rem 6rem; border-radius: 3rem; background: #fff; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18); position: relative; transition: transform 0.3s; }
.hd-float a:hover { transform: translateX(-4px); }
.hd-float a::before { content: ""; position: absolute; left: 1.8rem; top: 50%; transform: translateY(-50%); width: 2.6rem; height: 2.6rem; background: no-repeat center / contain; }
.hd-float a::after { content: "›"; position: absolute; right: 1.8rem; top: 50%; transform: translateY(-52%); font-size: 2.6rem; line-height: 1; }
.hd-float .t { font-weight: 700; font-size: 1.4rem; line-height: 1.4; }
.hd-float .s { font-size: 1.1rem; line-height: 1.4; }
.hd-float .-tel { background: var(--hd-red); color: #fff; }
.hd-float .-tel::before { background-image: url(../img/common/tel-white.svg); }
.hd-float .-line { border: 2px solid #06c755; color: #06c755; }
.hd-float .-line .t { color: var(--hd-navy); }
.hd-float .-line::before { background-image: url(../img/common/line_color.svg); }
.hd-float .-shop { border: 2px solid var(--hd-navy); color: var(--hd-navy); padding-left: 3rem; }
.hd-float .-shop::before { content: none; }
.hd-tab .hd-steps .item .ic { display: block; width: 9rem; height: 9rem; margin: 0 auto 1.2rem; }
.hd-tab .hd-steps.-noarrow .item, .hd-tab-accident .hd-steps .item { flex-direction: column; justify-content: flex-start; }
@media screen and (max-width: 1100px) { .hd-float { display: none; } }
@media screen and (max-width: 767px) {
  .hd-tab-symcards { padding: 6rem 0 4rem; }
  .hd-tab-symcards__grid { grid-template-columns: 1fr; gap: 1.4rem; padding: 0 1.6rem; }
  .hd-symcard { grid-template-columns: 1fr 9rem; padding: 1.6rem 1.2rem 0 1.6rem; }
  .hd-symcard h3 { font-size: 2rem; }
  .hd-symcard img { width: 9rem; margin-bottom: 4rem; }
  .hd-symcard__body { padding-bottom: 5rem; }
  .hd-tab .hd-steps .item .ic { width: 7rem; height: 7rem; }
}
.hd-tab-info__ic { display: block; width: 8rem; height: 8rem; margin: 0 auto 1.2rem; }
.hd-tabinfo__body { max-width: 900px; margin: 0 auto; padding: 8rem 0; }
.hd-tabinfo__toc { counter-reset: q; background: var(--hd-kinari2); border-top: 3px solid var(--hd-navy); padding: 2.4rem 3rem; margin: 2rem 0 6rem; }
.hd-tabinfo__toc li { counter-increment: q; margin: 0.6rem 0; font-weight: 700; }
.hd-tabinfo__toc li::before { content: counter(q, decimal-leading-zero) "．"; color: var(--hd-red); }
.hd-tabinfo__toc a { color: var(--hd-navy); border-bottom: 1px solid var(--hd-gold); }
.hd-tabinfo__item { margin-bottom: 6rem; }
.hd-tabinfo__item p { font-size: 1.55rem; line-height: 2.1; }
@media screen and (max-width: 767px) {
  .hd-tabinfo__body { padding: 5rem 1.6rem; }
  .hd-tabinfo__toc { padding: 2rem 1.6rem; margin-bottom: 4rem; }
  .hd-tabinfo__item { margin-bottom: 4rem; }
}
.hd-float a { width: 27rem; white-space: nowrap; }
.hd-float .t { font-size: 1.5rem; }
/* 7つの強み：MVの丸バッジと同じ色（赤・えんじ・橙・紺）で塗る */
.product-lp .hd-tab-circles .circle { border: 0; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); position: relative; }
.product-lp .hd-tab-circles .circle::after { content: ""; position: absolute; inset: 0.7rem; border: 2px solid rgba(255, 255, 255, 0.85); border-radius: 50%; }
.product-lp .hd-tab-circles .circle p, .product-lp .hd-tab-circles .circle span { color: #fff; font-weight: 900; }
.product-lp .hd-tab-circles .circle:nth-child(4n+1) { background: linear-gradient(#e83030, #b01218); }
.product-lp .hd-tab-circles .circle:nth-child(4n+2) { background: linear-gradient(#963024, #690c12); }
.product-lp .hd-tab-circles .circle:nth-child(4n+3) { background: linear-gradient(#f6a028, #dc680a); }
.product-lp .hd-tab-circles .circle:nth-child(4n) { background: linear-gradient(#3060aa, #13305e); }
.product-lp .hd-tab-circles .circle .num-big { color: #ffe44d; }
.hd-tab .hd-tab-circles { display: flex; flex-wrap: wrap; justify-content: center; }
.hd-tab .hd-tab-circles { gap: 2.4rem; }
.product-lp .hd-tab-circles .circle { flex: 0 0 19rem; width: 19rem; height: 19rem; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; margin: 0; }
.hd-tabinfo__toc li { display: flex; gap: 0.6rem; align-items: baseline; }
@media screen and (max-width: 767px) {
  .product-lp .hd-tab-circles .circle { flex-basis: 14rem; width: 14rem; height: 14rem; }
  .hd-tab .hd-tab-circles { gap: 1.2rem; }
}
@media screen and (max-width: 767px) { .hd-tab-accident .hd-steps .item::after { display: none !important; } }

/* ============ 2026-10-24 トップ再構成（先方 LINE 10/23 の15項目） ============ */
.hd-tmv__points { margin-top: 2rem; }
.hd-tmv__points li { position: relative; padding-left: 2rem; font-size: 1.6rem; font-weight: 700; line-height: 1.9; color: var(--hd-navy); }
.hd-tmv__points li::before { content: ""; position: absolute; left: 0; top: 0.95em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--hd-red); transform: translateY(-50%); }
.hd-tmv__note { text-align: center; font-size: 1.35rem; color: #555; margin: 1.4rem auto 0; }
.hd-home > section, .hd-home > .hd-topfaq { scroll-margin-top: 10rem; }
/* ③ 入口 */
.hd-entry { padding: 8rem 0 4rem; }
.hd-entry__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; }
.hd-entry__item { position: relative; display: block; overflow: hidden; background: var(--hd-navy); box-shadow: 0 8px 20px rgba(19, 48, 94, 0.15); }
.hd-entry__item figure { aspect-ratio: 4 / 3; overflow: hidden; }
.hd-entry__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.hd-entry__item:hover img { transform: scale(1.05); }
.hd-entry__body { padding: 1.8rem 4.4rem 1.8rem 2rem; position: relative; color: #fff; }
.hd-entry__body::after { content: "\203A"; position: absolute; right: 1.8rem; top: 50%; transform: translateY(-55%); font-size: 3rem; color: var(--hd-gold-l); }
.hd-entry__body .t { font-family: var(--hd-serif); font-weight: 700; font-size: 1.9rem; line-height: 1.4; color: #fff; }
.hd-entry__body .s { font-size: 1.25rem; margin-top: 0.4rem; color: var(--hd-gold-l); }
.hd-entry__sub { text-align: right; }
.hd-menu__sub { font-size: 1.15rem; color: #06a64a; font-weight: 700; }
/* ⑤ 安心材料 */
.hd-anshin { padding: 8rem 0; background: var(--hd-kinari2); }
.hd-anshin__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; max-width: 1100px; margin: 0 auto; }
.hd-anshin__list li { text-align: center; }
.hd-anshin__list img { width: 11rem; height: 11rem; margin: 0 auto 1.2rem; display: block; }
.hd-anshin__list p { font-weight: 700; color: var(--hd-navy); font-size: 1.5rem; line-height: 1.6; }
/* ⑦ 喜びの声 */
.hd-voice3 { padding: 8rem 0; text-align: center; }
.hd-voice3__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; margin-bottom: 2rem; text-align: left; }
.hd-voice3__item { display: block; background: #fff; border: 1px solid var(--hd-line); }
.hd-voice3__item figure { aspect-ratio: 4 / 3; overflow: hidden; }
.hd-voice3__item img { width: 100%; height: 100%; object-fit: cover; }
.hd-voice3__item .cat { display: inline-block; margin: 1.4rem 1.6rem 0; padding: 0.2rem 1rem; background: var(--hd-navy); color: #fff; font-size: 1.2rem; font-weight: 700; }
.hd-voice3__item .ttl { padding: 0.8rem 1.6rem 1.8rem; font-weight: 700; color: var(--hd-navy); line-height: 1.6; }
/* ⑧ 流れ */
.hd-topflow { padding: 8rem 0; background: var(--hd-kinari2); text-align: center; }
.product-lp .flow-grid.hd-steps.-seven { grid-template-columns: repeat(7, 1fr); gap: 1.6rem; max-width: 1200px; margin-bottom: 3rem; }
.hd-steps.-seven .item { min-height: 11rem; }
.hd-steps.-seven .item:not(:last-child)::after { content: ""; display: block; position: absolute; right: -1.4rem; top: 50%; transform: translateY(-50%); border: 0.6rem solid transparent; border-left: 0.8rem solid var(--hd-red); }
.hd-steps.-seven .item_ttl .t { font-size: 1.6rem; }
/* ⑨ 料金 */
.hd-toprice { padding: 8rem 0; text-align: center; }
.hd-toprice__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-bottom: 2rem; }
.hd-toprice__item { background: #fff; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); padding: 2.4rem 1.6rem; }
.hd-toprice__item .ttl { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); font-size: 1.8rem; margin-bottom: 1rem; }
.hd-toprice__item .b { font-weight: 900; font-size: 2.4rem; color: var(--hd-navy); }
.hd-toprice__item .s { font-size: 1.3rem; color: #555; margin-top: 0.4rem; line-height: 1.6; }
.hd-toprice__item.-ta { border-top-color: var(--hd-red); }
.hd-toprice__item.-ta .b { color: var(--hd-red); }
/* ⑩ 交通事故 */
.hd-topta { padding: 8rem 0; background: var(--hd-navy); color: #fff; }
.hd-topta__inner { display: grid; grid-template-columns: 4fr 6fr; gap: 5rem; align-items: center; }
.hd-topta__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hd-topta .hd-h2 { color: #fff; }
.hd-topta ul { margin: 2rem 0 3rem; }
.hd-topta li { position: relative; padding-left: 2.6rem; margin-bottom: 1rem; font-weight: 700; font-size: 1.6rem; color: #fff; }
.hd-topta li::before { content: "\2713"; position: absolute; left: 0; color: var(--hd-gold-l); }
/* ⑪ 院のご案内 */
.hd-topclinic { padding: 8rem 0; }
.hd-topclinic__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; align-items: start; }
.hd-topclinic__item { background: #fff; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); }
.hd-topclinic__sum { list-style: none; cursor: pointer; display: block; padding-bottom: 1.4rem; position: relative; }
.hd-topclinic__sum::-webkit-details-marker { display: none; }
.hd-topclinic__sum figure { aspect-ratio: 4 / 3; overflow: hidden; }
.hd-topclinic__sum img { width: 100%; height: 100%; object-fit: cover; }
.hd-topclinic__sum .name { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); font-size: 1.9rem; margin: 1.2rem 1.4rem 0; }
.hd-topclinic__sum .area { font-size: 1.3rem; color: #666; margin: 0.2rem 1.4rem 0; }
.hd-topclinic__sum .more { display: none; }
.hd-topclinic__item.-soon { border-top-color: #bbb; }
.hd-topclinic__item.-soon .area { color: var(--hd-red); font-weight: 700; }
.hd-topclinic__detail { padding: 0 1.4rem 1.8rem; font-size: 1.35rem; line-height: 1.8; }
.hd-topclinic__detail .tel { display: block; font-family: var(--hd-num); font-size: 2.2rem; color: var(--hd-navy); }
.hd-topclinic__detail .note { color: var(--hd-gold); font-size: 1.2rem; }
.hd-topclinic__detail .btns { display: grid; gap: 0.8rem; margin-top: 1.2rem; }
/* ⑫ FAQ */
.hd-topfaq { padding: 8rem 0; background: var(--hd-kinari2); }
.hd-topfaq .faq { max-width: 900px; margin: 0 auto; }
/* ⑬⑭⑮ */
.hd-home .hd-message { padding-top: 8rem; }
.hd-home .hd-newsbar { margin-top: 0; margin-bottom: 4rem; }
.hd-lastcta { padding: 8rem 0; background: var(--hd-kinari2); text-align: center; }
.hd-lastcta__ttl { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); font-size: 2.6rem; }
.hd-lastcta .hd-tmv__bnrs { margin-top: 2.4rem; }
.hd-contact__soon, .hd-clinic__soon, .hd-drawer__clinic .soon { color: var(--hd-red); font-weight: 700; margin: 1rem 0; }
.hd-clinic__soon { text-align: center; padding: 2rem; background: #fff; }
@media screen and (max-width: 767px) {
  .hd-tmv__points li { font-size: 1.3rem; padding-left: 1.6rem; }
  .hd-tmv__note { font-size: 1.15rem; padding: 0 1.6rem; }
  .hd-entry { padding: 5rem 0 2rem; }
  .hd-entry__grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .hd-entry__item { display: grid; grid-template-columns: 12rem 1fr; }
  .hd-entry__item figure { aspect-ratio: auto; height: 100%; }
  .hd-entry__body { padding: 1.4rem 3.4rem 1.4rem 1.4rem; }
  .hd-entry__body .t { font-size: 1.6rem; }
  .hd-entry__body .s { font-size: 1.1rem; }
  .hd-anshin { padding: 5rem 0; }
  .hd-anshin__list { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .hd-anshin__list li:last-child { grid-column: 1 / -1; }
  .hd-anshin__list img { width: 8rem; height: 8rem; }
  .hd-anshin__list p { font-size: 1.3rem; }
  .hd-voice3, .hd-topflow, .hd-toprice, .hd-topta, .hd-topclinic, .hd-topfaq, .hd-lastcta { padding: 5rem 0; }
  .hd-voice3__grid { grid-template-columns: 1fr; }
  .hd-voice3__item { display: grid; grid-template-columns: 12rem 1fr; align-items: center; }
  .hd-voice3__item figure { grid-row: span 2; aspect-ratio: 1; }
  .hd-voice3__item .cat { margin: 1rem 1.2rem 0; justify-self: start; }
  .hd-voice3__item .ttl { padding: 0.4rem 1.2rem 1rem; font-size: 1.3rem; }
  .product-lp .flow-grid.hd-steps.-seven { grid-template-columns: 1fr 1fr; padding: 0; }
  .hd-steps.-seven .item:not(:last-child)::after { display: none; }
  .hd-toprice__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .hd-toprice__item { padding: 1.6rem 1rem; }
  .hd-toprice__item .ttl { font-size: 1.5rem; }
  .hd-toprice__item .b { font-size: 1.9rem; }
  .hd-toprice__item .s { font-size: 1.1rem; }
  .hd-topta__inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .hd-topta li { font-size: 1.4rem; }
  .hd-topclinic__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .hd-topclinic__item[open] { grid-column: 1 / -1; }
  .hd-topclinic__sum .name { font-size: 1.6rem; margin: 0.8rem 1rem 0; }
  .hd-topclinic__sum .area { font-size: 1.1rem; margin: 0 1rem; }
  .hd-topclinic__sum .more { display: block; margin: 0.8rem 1rem 0; font-size: 1.1rem; font-weight: 700; color: var(--hd-navy); border: 1px solid var(--hd-navy); text-align: center; padding: 0.4rem; }
  .hd-topclinic__item[open] .more { display: none; }
  .hd-lastcta__ttl { font-size: 2rem; }
}
/* 2026-10-24 FVに説明3行を足したぶん、PCは左上の写真を低くしてキャッチと重ならないように */
@media screen and (min-width: 768px) {
  .hd-tmv__slider.-a { height: 54%; }
  .hd-tmv__catch { bottom: 3.6rem; }
  .hd-tmv__ttl { font-size: 4.8rem; }
  .hd-tmv__ttl::after { margin-top: 1.2rem; }
}
.hd-topclinic__item { width: 100%; }
.hd-topclinic__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media screen and (max-width: 767px) { .hd-topclinic__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (min-width: 768px) and (max-height: 820px) { .hd-tmv__slider.-a { height: 46%; } }
/* 2026-10-24 7つの強み：7つとも別の色（中林さん「4色を7つに充てている」）。MV v3 に合わせて影・グラデ・白い輪をなくしベタ塗りに */
.product-lp .hd-tab-circles .circle { box-shadow: none; background: none; }
.product-lp .hd-tab-circles .circle::after { content: none; }
.product-lp .hd-tab-circles .circle:nth-child(1) { background: #c81e24; }
.product-lp .hd-tab-circles .circle:nth-child(2) { background: #7f1d2a; }
.product-lp .hd-tab-circles .circle:nth-child(3) { background: #d66e14; }
.product-lp .hd-tab-circles .circle:nth-child(4) { background: #b8955a; }
.product-lp .hd-tab-circles .circle:nth-child(5) { background: #13305e; }
.product-lp .hd-tab-circles .circle:nth-child(6) { background: #2f6db5; }
.product-lp .hd-tab-circles .circle:nth-child(7) { background: #2e7d5b; }
.product-lp .hd-tab-circles .circle .num-big { color: #fff; }
/* 2026-10-25 中林さん「丸いカラフルなやつは前みたいな装飾で残していい」→ 7色はそのまま、グラデ・白い輪・影を戻す */
.product-lp .hd-tab-circles .circle { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); }
.product-lp .hd-tab-circles .circle::after { content: ""; position: absolute; inset: 0.7rem; border: 2px solid rgba(255, 255, 255, 0.85); border-radius: 50%; }
.product-lp .hd-tab-circles .circle:nth-child(1) { background: linear-gradient(#e83a3a, #b01218); }
.product-lp .hd-tab-circles .circle:nth-child(2) { background: linear-gradient(#a3303c, #66121d); }
.product-lp .hd-tab-circles .circle:nth-child(3) { background: linear-gradient(#f39a36, #c95e0a); }
.product-lp .hd-tab-circles .circle:nth-child(4) { background: linear-gradient(#d2b07a, #a07c3e); }
.product-lp .hd-tab-circles .circle:nth-child(5) { background: linear-gradient(#2c4f86, #0f2649); }
.product-lp .hd-tab-circles .circle:nth-child(6) { background: linear-gradient(#4a8ad4, #245a9a); }
.product-lp .hd-tab-circles .circle:nth-child(7) { background: linear-gradient(#45a179, #23644a); }
.product-lp .hd-tab-circles .circle .num-big { color: #ffe44d; }
/* 2026-10-25 スマホでMVの上に余白（リネクトの .lp-mv { padding-top: 14vw }）が出ていたので消す。症状別・交通事故ページ共通 */
.product-lp .lp-mv.hd-lpmv { padding-top: 0; }

/* ============================================================
   2026-10-26 先方 LINE 10/26（交通事故以外）の修正
   ============================================================ */
/* トップ FV：文字の H1 と説明文（ロゴは H1 にしない） */
.hd-tmv__h1 { font-family: var(--hd-sans); font-size: 1.7rem; font-weight: 700; color: var(--hd-navy); letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; line-height: 1.6; margin-bottom: 0.4rem; }
.hd-tmv__lead { font-size: 1.4rem; font-weight: 500; color: var(--hd-ink); line-height: 1.7; margin-bottom: 1.6rem; }
@media screen and (max-width: 768px) {
  .hd-tmv__h1 { font-size: 1.5rem; }
  .hd-tmv__lead { font-size: 1.3rem; margin-bottom: 1.2rem; }
}

/* 症状別ページ：MV直下の H1（文字） */
.hd-sym-h1 { background: var(--hd-navy); }
.hd-sym-h1 h1 { margin: 0; padding: 1.6rem 0; color: #fff; font-family: var(--hd-serif); font-size: 2.2rem; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; text-align: center; }
@media screen and (max-width: 768px) {
  .hd-sym-h1 h1 { padding: 1.2rem 0.4rem; font-size: 1.6rem; text-align: left; }
}

/* 症状別ページ：上部の「医療機関を優先」（赤枠） */
.hd-sym-notice { margin: 3rem auto 1rem; max-width: 1000px; border: 2px solid var(--hd-red); background: #fff; padding: 1.8rem 2.4rem; }
.hd-sym-notice .t { color: var(--hd-red); font-weight: 700; font-size: 1.7rem; margin-bottom: 0.6rem; }
.hd-sym-notice p { font-size: 1.5rem; line-height: 1.8; }
@media screen and (max-width: 768px) {
  .hd-sym-notice { margin: 2rem 1.6rem 0.6rem; padding: 1.4rem 1.6rem; width: auto; }
  .hd-sym-notice .t { font-size: 1.6rem; }
}

/* スポーツ障害：急なケガ／繰り返す痛み */
.hd-sym-types { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; max-width: 1000px; margin: 0 auto 8rem; }
.hd-sym-types__item { background: #fff; border: 1px solid var(--hd-line); border-top: 4px solid var(--hd-navy); padding: 2.4rem; }
.hd-sym-types__item .lb { display: inline-block; background: var(--hd-navy); color: #fff; font-size: 1.3rem; font-weight: 700; padding: 0.2rem 1rem; margin-bottom: 1rem; }
.hd-sym-types__item h3 { font-family: var(--hd-serif); color: var(--hd-navy); font-size: 2rem; margin-bottom: 1rem; }
.hd-sym-types__item p:last-child { font-size: 1.5rem; line-height: 1.9; }
@media screen and (max-width: 768px) {
  .hd-sym-types { grid-template-columns: 1fr; gap: 1.6rem; margin: 0 1.6rem 5rem; width: auto; }
  .hd-sym-types__item { padding: 1.8rem 1.6rem; }
  .hd-sym-types__item h3 { font-size: 1.8rem; }
}

/* 症状別ページ：喜びの声（その症状の声だけ・1〜3件。カードはトップの .hd-voice3） */
.hd-sym-voice { padding: 8rem 0; }
.hd-voice3__grid.-n1 { grid-template-columns: minmax(0, 36rem); justify-content: center; }
.hd-voice3__grid.-n2 { grid-template-columns: repeat(2, minmax(0, 36rem)); justify-content: center; }
.hd-sym-voice .button-43 { margin-top: 2.4rem; }
@media screen and (max-width: 768px) {
  .hd-sym-voice { padding: 5rem 0; }
  .hd-voice3__grid.-n1, .hd-voice3__grid.-n2 { grid-template-columns: 1fr; }
}

/* 症状別ページ：施術の流れ6ステップ（イラスト付き・3列×2段。スマホは2列×3段） */
.hd-steps.-nine.-six .item:last-child { grid-column: auto; }
@media screen and (max-width: 768px) {
  .hd-steps.-nine.-six .item:last-child { grid-column: auto; }
}

/* 症状別ページ：関連ページへのリンク */
.hd-sym-related { max-width: 1000px; margin: 0 auto 8rem; }
.hd-sym-related__ttl { font-family: var(--hd-serif); font-weight: 700; color: var(--hd-navy); font-size: 1.8rem; margin-bottom: 1.2rem; }
.hd-sym-related ul { display: flex; flex-wrap: wrap; gap: 1rem; }
.hd-sym-related a { display: block; border: 1px solid var(--hd-navy); color: var(--hd-navy); background: #fff; padding: 0.8rem 1.6rem; font-size: 1.5rem; font-weight: 700; }
.hd-sym-related a:hover { background: var(--hd-navy); color: #fff; }
@media screen and (max-width: 768px) {
  .hd-sym-related { margin: 0 1.6rem 5rem; width: auto; }
  .hd-sym-related ul { gap: 0.8rem; }
  .hd-sym-related li { width: calc(50% - 0.4rem); }
  .hd-sym-related a { text-align: center; padding: 1rem 0.4rem; font-size: 1.4rem; }
}

/* 料金表：オプションの説明 */
.hd-price__optnote { display: block; margin-top: 0.4rem; font-size: 1.3rem; color: #6b6b6b; line-height: 1.7; }
/* 2026-10-26 確認後の調整：関連リンクが上の予約案内（紺）に重ならないよう余白／院案内の「Googleマップで見る」は2つのボタンの下に全幅 */
.hd-sym-related { margin-top: 6rem; }
.hd-clinic__btns .hd-pill:nth-child(3) { grid-column: 1 / -1; }
@media screen and (max-width: 768px) { .hd-sym-related { margin-top: 4rem; } }
.hd-price__optnote { font-family: var(--hd-sans); font-weight: 400; white-space: normal; }
.hd-price__opt th, .hd-price__opt td { width: auto; }

/* 2026-10-26（25回目）症状別ページ ④医療機関を優先すべき症状（赤枠・お悩みの直後） */
.hd-sym-redflag { max-width: 1000px; margin: 6rem auto; border: 2px solid var(--hd-red); background: #fff; padding: 2.8rem 3.2rem; }
.hd-sym-redflag__ttl { color: var(--hd-red); font-family: var(--hd-sans); font-weight: 700; font-size: 2rem; margin-bottom: 1.4rem; }
.hd-sym-redflag ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 2.4rem; margin-bottom: 1.4rem; }
.hd-sym-redflag li { position: relative; padding-left: 1.8rem; font-size: 1.5rem; font-weight: 700; line-height: 1.7; color: var(--hd-navy); }
.hd-sym-redflag li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: var(--hd-red); }
.hd-sym-redflag__note { font-size: 1.4rem; line-height: 1.8; color: #555; }
@media screen and (max-width: 768px) {
  .hd-sym-redflag { margin: 4rem 1.6rem; padding: 2rem 1.6rem; width: auto; }
  .hd-sym-redflag__ttl { font-size: 1.7rem; }
  .hd-sym-redflag ul { grid-template-columns: 1fr; }
  .hd-sym-redflag li { font-size: 1.5rem; }
}
.hd-sym-types { margin-top: 0; }

/* 2026-10-29 先方 LINE 10/28：症状別ページ上部の導線帯は交通事故を外して2列／下部に交通事故への小さなリンク／産後・マタニティの「通常初回 7,700円 →」 */
.hd-fv__bar.-no-ta { grid-template-columns: repeat(2, 1fr); max-width: 800px; }
@media screen and (max-width: 767px) { .hd-fv__bar.-no-ta { grid-template-columns: 1fr; } }
.hd-sym-talink { max-width: 1000px; margin: 0 auto 2.4rem; text-align: right; font-size: 1.4rem; }
.hd-price-was { color: #666; font-size: 1.5rem; margin-bottom: 0.2rem; }
/* 2026-10-29 固定ボタン「電話する院を選ぶ」（8文字）でアイコンが文字に被らないように */
.sp_cta.hd-spbar a.-tel { letter-spacing: 0.02em; }
.sp_cta.hd-spbar a.-tel::before { left: calc(50% - 7.6rem) !important; }
/* 2026-10-30 先方 LINE 10/30：ヘッダーの電話ボタン「電話する院を選ぶ」（8文字）が折り返して「ぶ」だけ落ちる・LINE予約も潰れる → ボタンは縮めず1行で */
.hd-hbtns { flex: none; }
.hd-hbtn { flex: none; padding: 0 1.4rem; }
.hd-hbtn span { white-space: nowrap; }
.hd-hbtn.-tel { letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; }
/* 同上：1280px未満でロゴが潰れないように（ロゴは縮めず、ボタンとメニューの余白を詰める） */
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .header__logo { flex: none; width: 17rem; }
  .hd-hbtn { padding: 0 1rem; }
  .hd-hbtn.-tel, .hd-hbtn.-line { gap: 0.6rem; }
  .hd-hbtn.-ig { margin-left: 0.4rem; }
  .header { padding: 1.2rem 2rem; }
  .header__container { gap: 1.6rem; }
  .header__item:not(:first-of-type) { padding-left: 1.2rem; margin-left: 1.2rem; }
  .header__link { letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; }
}

/* ==================================================================
   2026-10-31 交通事故ページ 全面改修（page-traffic-accident-v2.php／先方 LINE 10/26 1:33）
   色：ネイビー・ブルー／強調は赤（0円・受付時間・注意だけ）／背景は白と薄いブルー／LINE は緑。本文はスマホ 16px 前後
   ================================================================== */
.hd-ta2 { --ta2-blue: #eaf2fb; --ta2-blue2: #2c63a8; background: #fff; color: #1d2a44; }
.hd-ta2 .solar-panel-ttl { margin-bottom: 4rem; }
.hd-ta2-sec { padding: 8rem 0; background: #fff; }
.hd-ta2-sec.-blue { background: var(--ta2-blue); }
.hd-ta2-txt { max-width: 900px; margin: 3rem auto 0; font-size: 1.6rem; line-height: 1.9; }
.hd-ta2 b { color: var(--hd-red); font-weight: 700; }
/* 1. ファーストビュー */
.hd-ta2-fv { background: linear-gradient(180deg, var(--ta2-blue) 0%, #fff 100%); padding: 4rem 0 5rem; }
.hd-ta2-fv__inner { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4rem; align-items: center; }
.hd-ta2-fv__label { display: inline-block; background: var(--hd-navy); color: #fff; font-weight: 700; font-size: 1.4rem; padding: 0.4rem 1.4rem; margin-bottom: 1.6rem; }
.hd-ta2-fv__h1 { font-size: 1.7rem; font-weight: 700; color: var(--ta2-blue2); line-height: 1.6; margin-bottom: 1.6rem; }
.hd-ta2-fv__catch { font-size: 3.8rem; font-weight: 900; color: var(--hd-navy); line-height: 1.45; margin-bottom: 2rem; }
.hd-ta2-fv__catch span { color: var(--hd-red); }
.hd-ta2-fv__lead { font-size: 1.6rem; line-height: 1.8; }
.hd-ta2-fv__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0.8rem; }
.hd-ta2-fv__points { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; margin-top: 3.2rem; }
.hd-ta2-fv__points li { display: flex; align-items: center; gap: 1.2rem; background: #fff; border: 1px solid #c9d8ec; border-radius: 0.8rem; padding: 1.4rem; font-size: 1.5rem; font-weight: 700; line-height: 1.5; color: var(--hd-navy); }
.hd-ta2-fv__points img { width: 5.6rem; height: 5.6rem; flex: none; }
.hd-ta2-fv__time { text-align: center; margin-top: 1.6rem; font-size: 1.5rem; }
/* 3つのボタン（電話＝赤／LINE＝緑／院を選ぶ＝ネイビー）。誤タップしないよう間隔をあける */
.hd-ta2-btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-top: 3rem; }
.hd-ta2-btn { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 7.6rem; padding: 1rem; border: 0; border-radius: 0.8rem; color: #fff; font: inherit; cursor: pointer; box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18); text-align: center; transition: opacity 0.2s; }
.hd-ta2-btn:hover { opacity: 0.85; color: #fff; }
.hd-ta2-btn .t { font-size: 1.8rem; font-weight: 700; line-height: 1.4; }
.hd-ta2-btn .s { font-size: 1.25rem; margin-top: 0.3rem; }
.hd-ta2-btn.-tel { background: var(--hd-red); }
.hd-ta2-btn.-line { background: #06c755; }
.hd-ta2-btn.-shop { background: var(--hd-navy); }
/* 3. 事故直後にやること */
.hd-ta2-first { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.hd-ta2-first li, .hd-ta2-flow li { position: relative; display: flex; align-items: center; gap: 1.2rem; background: #fff; border-radius: 0.8rem; padding: 1.6rem 1.6rem 1.6rem 1.2rem; font-size: 1.6rem; font-weight: 700; line-height: 1.6; color: var(--hd-navy); }
.hd-ta2-first .n, .hd-ta2-flow .n { flex: none; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--hd-navy); color: #fff; display: grid; place-items: center; font-family: var(--hd-num); font-size: 1.6rem; }
.hd-ta2-first img, .hd-ta2-flow img { width: 5.6rem; height: 5.6rem; flex: none; object-fit: contain; }
.hd-ta2-warn { margin: 3rem auto 0; }
.hd-ta2-warn p:not(.hd-sym-redflag__ttl) { font-size: 1.6rem; line-height: 1.8; font-weight: 700; }
/* 4. よくある症状 */
.hd-ta2-check { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2.4rem; max-width: 900px; margin: 0 auto; }
.hd-ta2-check li { position: relative; padding: 1.2rem 1.2rem 1.2rem 4rem; border-bottom: 1px dashed #b9cbe3; font-size: 1.6rem; font-weight: 700; color: var(--hd-navy); line-height: 1.6; }
.hd-ta2-check li::before { content: ""; position: absolute; left: 1rem; top: 1.6rem; width: 1.6rem; height: 0.9rem; border-left: 3px solid var(--ta2-blue2); border-bottom: 3px solid var(--ta2-blue2); transform: rotate(-45deg); }
/* 5. 相談できる5つのこと／7. 施術の特徴 */
.hd-ta2-five { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.hd-ta2-five__item, .hd-ta2-feat__item { background: #fff; border-radius: 0.8rem; padding: 2.4rem; text-align: center; }
.hd-ta2-five__item img { width: 8rem; height: 8rem; margin: 0 auto 1.2rem; }
.hd-ta2-five__item h3, .hd-ta2-feat__item h3 { font-size: 1.8rem; font-weight: 700; color: var(--hd-navy); line-height: 1.5; margin-bottom: 1.2rem; }
.hd-ta2-five__item h3 .n, .hd-ta2-feat__item h3 .n { display: block; font-family: var(--hd-num); color: var(--ta2-blue2); font-size: 1.6rem; margin-bottom: 0.4rem; }
.hd-ta2-five__item p, .hd-ta2-feat__item p { text-align: left; font-size: 1.55rem; line-height: 1.85; }
.hd-ta2-feat { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.hd-ta2-feat__item img { width: 100%; max-width: 24rem; height: auto; margin: 0 auto 1.2rem; }
/* 6. 役割 */
.hd-ta2-role { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; max-width: 1000px; margin: 0 auto; }
.hd-ta2-role__col { border: 2px solid #c9d8ec; border-radius: 0.8rem; overflow: hidden; }
.hd-ta2-role__col h3 { background: #5d7393; color: #fff; text-align: center; font-size: 1.8rem; font-weight: 700; padding: 1.2rem; }
.hd-ta2-role__col.-ohana { border-color: var(--hd-navy); }
.hd-ta2-role__col.-ohana h3 { background: var(--hd-navy); }
.hd-ta2-role__col ul { padding: 2rem 2.4rem; }
.hd-ta2-role__col li { position: relative; padding-left: 1.8rem; font-size: 1.6rem; line-height: 1.9; }
.hd-ta2-role__col li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--ta2-blue2); }
/* 8. 患者様の声 */
.hd-ta2-voice { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-bottom: 2rem; }
.hd-ta2-voice__item { background: #fff; border: 1px solid #c9d8ec; border-radius: 0.8rem; overflow: hidden; }
.hd-ta2-voice__item figure { aspect-ratio: 4 / 3; overflow: hidden; }
.hd-ta2-voice__item img { width: 100%; height: 100%; object-fit: cover; }
.hd-ta2-voice__item .cat { display: inline-block; margin: 1.4rem 1.6rem 0; padding: 0.2rem 1rem; background: var(--hd-navy); color: #fff; font-size: 1.3rem; font-weight: 700; }
.hd-ta2-voice__item .txt { padding: 1rem 1.6rem 1.8rem; font-size: 1.5rem; line-height: 1.8; }
.hd-ta2 .button-43 { margin-top: 2rem; }
/* 9. 流れ（縦に読む） */
.hd-ta2-flows { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.hd-ta2-flow h3 { font-size: 2rem; font-weight: 700; color: var(--hd-navy); text-align: center; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 2px solid var(--hd-navy); }
.hd-ta2-flow ol { display: grid; gap: 2.4rem; }
.hd-ta2-flow li:not(:last-child)::after { content: ""; position: absolute; left: 50%; bottom: -1.9rem; transform: translateX(-50%); border: 0.9rem solid transparent; border-top: 1rem solid var(--ta2-blue2); }
/* 10. 院長あいさつ・推薦 */
.hd-ta2-greet { padding: 8rem 0; }
.hd-ta2-greet .company-body p { font-size: 1.6rem; line-height: 1.9; }
.hd-ta2-greet__list { margin: 1.6rem 0; padding: 1.6rem 2rem; background: var(--ta2-blue); border-radius: 0.8rem; }
.hd-ta2-greet__list li { position: relative; padding-left: 2.4rem; font-size: 1.6rem; font-weight: 700; color: var(--hd-navy); line-height: 1.9; }
.hd-ta2-greet__list li::before { content: "\2713"; position: absolute; left: 0; color: var(--ta2-blue2); }
.hd-ta2-greet__name { margin-top: 1.6rem; font-weight: 700; }
.hd-ta2 .project_inner .item { background: #fff; }
/* 11. 自賠責 */
.hd-ta2-ins { max-width: 900px; margin: 0 auto; border: 2px solid var(--hd-navy); border-radius: 0.8rem; padding: 3rem; }
.hd-ta2-ins p { font-size: 1.6rem; line-height: 1.9; }
.hd-ta2-ins__note { margin-top: 2rem; padding-top: 2rem; border-top: 1px dashed #b9cbe3; }
/* 12. FAQ */
.hd-ta2-faq { max-width: 1000px; margin: 0 auto; }
.hd-ta2-faq .accordion-content p { font-size: 1.6rem; line-height: 1.85; }
/* 13. 院の案内 */
.hd-ta2 #clinics .hd-contact__grid { margin-top: 3rem; }
/* 14. 最後 */
.hd-ta2-last__ttl { text-align: center; font-size: 2.4rem; font-weight: 700; color: var(--hd-navy); line-height: 1.6; }
/* 院を選ぶパネル */
.hd-ta2-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.hd-ta2-modal[hidden] { display: none; }
.hd-ta2-modal__bg { position: absolute; inset: 0; background: rgba(13, 25, 48, 0.55); }
.hd-ta2-modal__box { position: relative; width: min(56rem, 92vw); max-height: 88vh; overflow: auto; background: #fff; border-radius: 1rem; padding: 2.8rem 2.4rem 2.4rem; }
.hd-ta2-modal__ttl { font-size: 2rem; font-weight: 700; color: var(--hd-navy); text-align: center; margin-bottom: 1.8rem; }
.hd-ta2-modal li { border: 1px solid #c9d8ec; border-radius: 0.8rem; padding: 1.4rem 1.6rem; margin-bottom: 1.2rem; }
.hd-ta2-modal li.-soon { background: #f4f6f9; }
.hd-ta2-modal .name { font-size: 1.8rem; font-weight: 700; color: var(--hd-navy); }
.hd-ta2-modal .name span { margin-left: 1rem; font-size: 1.3rem; color: #666; font-weight: 500; }
.hd-ta2-modal .area { font-size: 1.4rem; color: #555; margin: 0.2rem 0 1rem; }
.hd-ta2-modal .btns { display: grid; grid-template-columns: 1fr 8rem; gap: 1.2rem; }
.hd-ta2-modal .btns a { display: grid; place-items: center; min-height: 5rem; border-radius: 0.6rem; font-weight: 700; font-size: 1.7rem; }
.hd-ta2-modal .btns .-tel { background: var(--hd-red); color: #fff; font-family: var(--hd-num); letter-spacing: 0.06em; }
.hd-ta2-modal .btns .-map { border: 1px solid var(--hd-navy); color: var(--hd-navy); font-size: 1.5rem; }
.hd-ta2-modal__time { text-align: center; font-size: 1.4rem; margin: 0.6rem 0 1.4rem; }
.hd-ta2-modal__close { display: block; margin: 0 auto; padding: 1rem 4rem; border: 1px solid #999; border-radius: 3rem; background: #fff; font: inherit; font-size: 1.5rem; cursor: pointer; }
html.hd-ta2-lock { overflow: hidden; }
/* スマホ下部の3ボタン */
.sp_cta.hd-ta2-spbar { display: grid; grid-template-columns: repeat(3, 1fr); }
.sp_cta.hd-ta2-spbar > * { display: flex; align-items: center; justify-content: center; height: 5.6rem; margin: 0; padding: 0; border: 0; border-radius: 0; color: #fff; font: inherit; font-size: 1.5rem; font-weight: 700; letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; cursor: pointer; }
.sp_cta.hd-ta2-spbar > *::before { content: none !important; }
.sp_cta.hd-ta2-spbar .-tel { background: var(--hd-red); }
.sp_cta.hd-ta2-spbar .-line { background: #06c755; }
.sp_cta.hd-ta2-spbar .-shop { background: var(--hd-navy); }
.sp_cta.hd-ta2-spbar > * + * { border-left: 1px solid rgba(255, 255, 255, 0.5); }
/* 2026-10-31 見た目の調整（推薦は中央2列・5つのことは最後の段を中央・FAQは白地・スマホ下部は1行） */
.hd-ta2 .project_inner.-column2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; max-width: 900px; margin: 0 auto; }
.hd-ta2 .project_inner.-column2 .item { width: auto; margin: 0; border-radius: 0.8rem; overflow: hidden; }
.hd-ta2 .project_inner .item_ttl { font-size: 1.7rem; line-height: 1.5; padding: 1.6rem 1.6rem 0; }
.hd-ta2 .project_inner .txt p { font-size: 1.5rem; line-height: 1.85; padding: 0 0.4rem; }
.hd-ta2-five { display: flex; flex-wrap: wrap; justify-content: center; }
.hd-ta2-five__item { width: calc((100% - 4rem) / 3); }
.hd-ta2-faq .js-accordion-title { background: #fff; }
.sp_cta.hd-ta2-spbar > * { white-space: nowrap; font-size: 1.4rem; }
.sp_cta.hd-ta2-spbar > a, .sp_cta.hd-ta2-spbar > button { width: 100% !important; max-width: none !important; padding: 0 !important; justify-content: center !important; text-align: center; }
.hd-ta2-fv__catch span { white-space: nowrap; }
@media screen and (max-width: 767px) { .hd-ta2-fv__photo img { aspect-ratio: 16 / 9; object-position: center 30%; } }
@media screen and (max-width: 767px) {
  .hd-ta2 .project_inner.-column2 { grid-template-columns: 1fr; }
  .hd-ta2-five__item { width: 100%; }
}
@media screen and (max-width: 767px) {
  .hd-ta2-sec, .hd-ta2-greet { padding: 5rem 0; }
  .hd-ta2 .solar-panel-ttl { margin-bottom: 2.8rem; }
  .hd-ta2-fv { padding: 2rem 0 3.2rem; }
  .hd-ta2-fv__inner { grid-template-columns: 1fr; gap: 2rem; }
  .hd-ta2-fv__photo { order: -1; }
  .hd-ta2-fv__h1 { font-size: 1.6rem; }
  .hd-ta2-fv__catch { font-size: 2.6rem; }
  .hd-ta2-fv__points { grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
  .hd-ta2-fv__points li { flex-direction: column; text-align: center; font-size: 1.4rem; padding: 1.2rem 0.8rem; }
  .hd-ta2-fv__points img { width: 4.8rem; height: 4.8rem; }
  .hd-ta2-btns { grid-template-columns: 1fr; gap: 1.2rem; margin-top: 2rem; }
  .hd-ta2-btn { min-height: 6.4rem; }
  .hd-ta2-first, .hd-ta2-five, .hd-ta2-feat, .hd-ta2-role, .hd-ta2-flows, .hd-ta2-check { grid-template-columns: 1fr; }
  .hd-ta2-voice { grid-template-columns: 1fr 1fr; gap: 1.2rem; }
  .hd-ta2-voice__item .txt { font-size: 1.4rem; padding: 0.8rem 1rem 1.4rem; }
  .hd-ta2-voice__item .cat { margin: 1rem 1rem 0; font-size: 1.2rem; }
  .hd-ta2-ins { padding: 2rem 1.6rem; }
  .hd-ta2-last__ttl { font-size: 2rem; }
  .hd-ta2-greet .company-wrap img { max-width: 100% !important; }
  body:has(.hd-ta2) { padding-bottom: calc(5.6rem + env(safe-area-inset-bottom)); }
}
/* 2026-10-31 院選択パネル：右上の×（小さい画面で下の「閉じる」が隠れるため）・余白を詰める */
.hd-ta2-modal__x { position: absolute; top: 0.8rem; right: 0.8rem; width: 4.4rem; height: 4.4rem; border: 0; background: none; font-size: 2.8rem; line-height: 1; color: var(--hd-navy); cursor: pointer; }
.hd-ta2-modal .name { margin: 0; line-height: 1.4; }
.hd-ta2-modal__ttl { padding: 0 3.6rem; }
@media screen and (max-height: 700px) {
  .hd-ta2-modal__box { padding: 2rem 1.6rem 1.6rem; }
  .hd-ta2-modal__ttl { font-size: 1.7rem; margin-bottom: 1.2rem; }
  .hd-ta2-modal li { padding: 1rem 1.2rem; margin-bottom: 0.8rem; }
  .hd-ta2-modal .area { margin-bottom: 0.6rem; }
  .hd-ta2-modal .btns a { min-height: 4.4rem; }
}
.hd-ta2-modal__ttl { letter-spacing: 0.02em; font-size: 1.8rem; padding: 0 3.2rem; }
@media screen and (max-width: 400px) { .hd-ta2-modal__ttl { font-size: 4.4vw; padding: 0 3.2rem 0 0.8rem; text-align: left; } }
/* 2026-10-31 先方 LINE 10/31：メニューの「交通事故治療」→「交通事故・むち打ち」。スマホのMENUで「ち」だけ折り返さないよう1行に */
.hd-drawer__menu a { white-space: nowrap; }
@media screen and (max-width: 420px) { .hd-drawer__menu a { letter-spacing: 0.02em; } }
@media screen and (max-width: 374px) { .hd-drawer__menu a { font-size: 3.7vw; } }
/* ============ 2026-11-01 交通事故ページ 15項目の組み替え（先方 LINE 10/31 21:14） ============ */
/* FV：強みを数字・アイコン・短い言葉で（トップの導線帯 .hd-fv__item の <em> 大数字と同じ見せ方） */
.hd-ta2-fv__nums { margin-top: 3.2rem; }
.hd-ta2-fv__area { display: table; margin: 0 auto 1.6rem; background: var(--hd-navy); color: #fff; font-size: 1.7rem; font-weight: 700; letter-spacing: 0.06em; padding: 0.6rem 2.4rem; border-radius: 10rem; }
.hd-ta2-fv__nums ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.hd-ta2-fv__nums li { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid #c9d8ec; border-top: 3px solid var(--hd-navy); border-radius: 0.8rem; padding: 1.4rem 1rem; color: var(--hd-navy); }
.hd-ta2-fv__nums img { width: 4.8rem; height: 4.8rem; margin-bottom: 0.4rem; }
.hd-ta2-fv__nums .b { font-size: 1.7rem; font-weight: 700; line-height: 1.3; }
.hd-ta2-fv__nums em { font-style: normal; font-family: var(--hd-num); font-size: 3.6rem; color: var(--hd-red); margin: 0 0.15em; line-height: 1; }
.hd-ta2-fv__nums em.-w { font-family: inherit; font-size: 2.2rem; }
.hd-ta2-fv__nums .s { font-size: 1.3rem; line-height: 1.5; margin-top: 0.4rem; color: var(--hd-ink); }
.hd-ta2-fv__nums .s small { display: block; font-size: 1.2rem; color: var(--hd-red); font-weight: 700; }
.hd-ta2-fv__note { font-size: 1.2rem; line-height: 1.6; margin-top: 0.8rem; color: #555; }
/* 電話・LINE の2つ＋アクセスのリンク */
.hd-ta2-btns.-two { grid-template-columns: repeat(2, 1fr); }
.hd-ta2-access { text-align: center; margin-top: 1.4rem; font-size: 1.5rem; }
.hd-ta2-access a { color: var(--hd-navy); text-decoration: underline; text-underline-offset: 0.3em; }
.hd-ta2-access a::after { content: " ›"; }
.hd-ta2-cta { padding: 5rem 0; }
.hd-ta2-voice__note { margin-bottom: 2.4rem; }
.hd-ta2-five.-three .hd-ta2-five__item { width: calc((100% - 4rem) / 3); }
.sp_cta.hd-ta2-spbar .-access { background: var(--hd-navy); }
@media screen and (max-width: 767px) {
  .hd-ta2-fv__area { font-size: 1.5rem; padding: 0.5rem 1.6rem; }
  .hd-ta2-fv__nums ul { grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
  .hd-ta2-fv__nums li { padding: 1.2rem 0.6rem; }
  .hd-ta2-fv__nums img { width: 4rem; height: 4rem; }
  .hd-ta2-fv__nums .b { font-size: 1.5rem; }
  .hd-ta2-fv__nums em { font-size: 3rem; }
  .hd-ta2-fv__nums em.-w { font-size: 1.9rem; }
  .hd-ta2-fv__nums .s { font-size: 1.2rem; }
  .hd-ta2-btns.-two { grid-template-columns: 1fr; }
  .hd-ta2-cta { padding: 4rem 0; }
  .hd-ta2-five.-three .hd-ta2-five__item { width: 100%; }
}
.hd-ta2-voice__item .cat .nb { display: inline-block; font: inherit; letter-spacing: inherit; color: inherit; }
/* 窓口負担・併用・転院の下の注意書き（旧 .hd-ta2-ins の箱の外に出たので文字と余白を指定） */
.hd-ta2-sec > .inner > .hd-ta2-ins__note { max-width: 900px; margin: 3rem auto 0; font-size: 1.4rem; line-height: 1.8; }
/* ============ 2026-11-01 症状別ページ 構成変更版（page-symptom-v2.php・まず腰痛ページで先方確認） ============ */
.hd-sym2 .hd-sym2-fv { padding-top: 3rem; }
.hd-sym2-fv__price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 0.4rem 1.2rem; background: #fff; border: 2px solid var(--hd-red); border-radius: 0.8rem; padding: 1.2rem 1.6rem; margin-bottom: 2rem; color: var(--hd-navy); font-weight: 700; }
.hd-sym2-fv__price .was { font-size: 1.4rem; }
.hd-sym2-fv__price .now { font-size: 1.8rem; }
.hd-sym2-fv__price em { font-style: normal; font-family: var(--hd-num); font-size: 4rem; color: var(--hd-red); margin: 0 0.1em; }
.hd-sym2-fv__price .s { width: 100%; text-align: center; font-size: 1.3rem; }
.hd-sym2-fv__badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem; margin-bottom: 2rem; }
.hd-sym2-fv__badges li { background: var(--hd-navy); color: #fff; font-weight: 700; font-size: 1.4rem; line-height: 1.5; letter-spacing: 0.04em; word-break: keep-all; overflow-wrap: anywhere; border-radius: 0.6rem; padding: 0.6rem 1.4rem; }
.hd-sym2-fv__badges li:first-child { background: var(--hd-red); }
@media screen and (max-width: 767px) { .hd-sym2-fv__badges { flex-direction: column; align-items: stretch; gap: 0.6rem; } .hd-sym2-fv__badges li { font-size: 1.3rem; text-align: center; padding: 0.6rem 1rem; } .hd-sym2-fv__price .s { letter-spacing: 0.02em; line-height: 1.6; } }
/* 選ばれる理由：カード（PC 4列・スマホはアイコン左の横長） */
.hd-sym2-reason { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; }
.hd-sym2-reason .hd-ta2-five__item { padding: 2rem 1.6rem; }
.hd-sym2-reason .hd-ta2-five__item img { width: 6.4rem; height: 6.4rem; }
.hd-sym2-reason .hd-ta2-five__item h3 { font-size: 1.6rem; }
.hd-sym2-reason .hd-ta2-five__item p { font-size: 1.4rem; line-height: 1.75; }
/* 開閉式（詳しい説明・受診の目安） */
.hd-sym2-more { margin-top: 2.4rem; }
.hd-sym2-more > summary { display: block; cursor: pointer; list-style: none; text-align: center; font-weight: 700; color: var(--hd-navy); border: 1px solid var(--hd-navy); border-radius: 10rem; padding: 1rem 4rem; max-width: 36rem; margin: 0 auto; background: #fff; }
.hd-sym2-more > summary::-webkit-details-marker { display: none; }
.hd-sym2-more > summary::after { content: "＋"; margin-left: 0.8rem; }
.hd-sym2-more[open] > summary::after { content: "－"; }
.hd-sym2-more__body { max-width: 900px; margin: 2rem auto 0; background: #fff; border-radius: 0.8rem; padding: 2.4rem; }
.hd-sym2-more__body h3 { font-size: 1.7rem; font-weight: 700; color: var(--hd-navy); line-height: 1.6; margin: 0 0 1rem; }
.hd-sym2-more__body p { font-size: 1.5rem; line-height: 1.9; }
.hd-sym2-more__body p + h3 { margin-top: 2rem; }
.hd-sym2-redflag { margin-top: 0; margin-bottom: 0; }
.hd-sym2-redflag .hd-sym2-more { margin-top: 1.2rem; }
.hd-sym2-redflag .hd-sym2-more > summary { border-color: var(--hd-red); color: var(--hd-red); font-size: 1.4rem; padding: 0.6rem 2.4rem; }
.hd-sym2-redflag .hd-sym-redflag__note { margin-top: 1.2rem; }
/* 院長・施術者のご紹介 */
.hd-sym2-voiceslot { max-width: 640px; margin: 2.4rem auto 0; padding: 3.2rem 1.6rem; text-align: center; color: var(--hd-navy); font-weight: 700; border: 2px dashed #b9c6da; border-radius: 0.8rem; background: #fff; }
.hd-sym2-staff__list { text-align: center; margin-top: 4rem; }
.hd-sym2-staff__ttl { font-weight: 700; color: var(--hd-navy); font-size: 1.7rem; margin-bottom: 1.6rem; }
.hd-sym2-staff__list ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; max-width: 800px; margin: 0 auto 1.6rem; }
.hd-sym2-staff__list img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 20%; border-radius: 50%; }
.hd-sym2-staff__list span { display: block; margin-top: 0.8rem; font-size: 1.4rem; font-weight: 700; color: var(--hd-navy); }
.hd-sym2-staff__list small { display: block; font-size: 1.1rem; color: var(--hd-gold); }
@media screen and (max-width: 1023px) { .hd-sym2-reason { grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 767px) {
  .hd-sym2-reason { grid-template-columns: 1fr; gap: 1rem; }
  .hd-sym2-reason .hd-ta2-five__item { display: grid; grid-template-columns: 5.6rem 1fr; column-gap: 1.2rem; align-items: center; text-align: left; padding: 1.4rem; }
  .hd-sym2-reason .hd-ta2-five__item img { width: 5.6rem; height: 5.6rem; margin: 0; grid-row: span 2; }
  .hd-sym2-reason .hd-ta2-five__item h3 { font-size: 1.5rem; margin-bottom: 0.4rem; }
  .hd-sym2-reason .hd-ta2-five__item h3 .n { display: inline; margin: 0 0.6rem 0 0; font-size: 1.4rem; }
  .hd-sym2-reason .hd-ta2-five__item p { font-size: 1.3rem; line-height: 1.7; }
  .hd-sym2-more__body { padding: 1.6rem; }
  .hd-sym2-staff__list ul { grid-template-columns: repeat(4, 1fr); gap: 0.8rem; }
  .hd-sym2-staff__list span { font-size: 1.15rem; }
  .hd-sym2-fv__price em { font-size: 3.4rem; }
}
@media screen and (max-width: 767px) {
  .hd-sym2-area { border-radius: 1.2rem; text-align: center; line-height: 1.5; }
  .hd-sym2-staff .company-wrap > img { display: block; max-width: 26rem !important; margin: 2.4rem auto 0; }
}

/* ============================================================
   2026-11-02 先方 LINE 11/02 12:31：0円表記の適用条件・保育の注意書き（スマホでも小さすぎない 12px 以上）
   ============================================================ */
.hd-tmv__note { margin-top: 0.6rem; font-size: 1.2rem; line-height: 1.6; color: #555; }
.hd-entry__body .n { font-size: 1.2rem; line-height: 1.55; margin-top: 0.5rem; color: #fff; opacity: 0.95; }
.hd-anshin__note { margin-top: 2rem; }
.hd-toprice__item.-ta .b { font-size: 2rem; line-height: 1.4; }
.hd-toprice__item.-ta .s { color: #333; }
.hd-topta li .hd-jiko0-note { display: block; font-size: 1.25rem; font-weight: 400; line-height: 1.6; color: rgba(255,255,255,0.88); margin-top: 0.2rem; }
.hd-price__zero .hd-reigai { font-size: 0.55em; margin-left: 0.2em; }
.hd-fv__item .s { line-height: 1.5; }
.hd-message__points small { display: block; font-size: 1.2rem; margin-top: 0.4rem; }
@media screen and (max-width: 767px) {
  .hd-tmv__note { font-size: 1.2rem; }
  .hd-entry__body .s { font-size: 1.25rem; }
  .hd-entry__body .n { font-size: 1.2rem; }
  .hd-toprice__item.-ta .b { font-size: 1.7rem; }
  .hd-toprice__item .s { font-size: 1.2rem; }
}
.hd-ta2-fv__nums li .hd-ta2-fv__tnote { display: block; font-size: 1.2rem; line-height: 1.55; color: #555; margin-top: 0.6rem; font-weight: 400; }
.hd-nb { display: inline-block; font: inherit; color: inherit; letter-spacing: inherit; }
.hd-price__zero .hd-reigai.hd-nb { font-size: 0.55em; }

/* ============================================================
   2026-11-05 症状別ページ v3（交通事故ページ型の18項目・page-symptom-v3.php）先方 LINE 11/04 4:27
   ============================================================ */
.hd-sym3-lead { color: #fff; text-align: center; font-size: 1.5rem; line-height: 1.8; padding: 0 0 1.6rem; max-width: 900px; margin: 0 auto; }
.hd-sym3 .hd-sym2-redflag { margin: 0 auto 2.4rem; max-width: 1000px; }
.hd-sym3-scope { max-width: 1000px; margin: 0 auto; background: #fff; border: 2px solid var(--hd-navy); border-radius: 0.8rem; padding: 2.4rem 2.8rem; }
.hd-sym3-scope h3 { font-size: 1.8rem; font-weight: 700; color: var(--hd-navy); margin-bottom: 1rem; }
.hd-sym3-scope p { font-size: 1.5rem; line-height: 1.9; }
.hd-sym3-first { grid-template-columns: repeat(2, 1fr); max-width: 1000px; margin: 0 auto; }
.hd-sym3-first li { background: #f3f7fc; }
.hd-sym3-flow { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
.hd-sym3-trust { max-width: 1000px; margin: 0 auto 2.4rem; text-align: center; background: var(--hd-navy); color: #fff; border-radius: 0.8rem; padding: 1.6rem 2rem; }
.hd-sym3-trust b { display: block; font-size: 1.8rem; color: var(--hd-gold-l); }
.hd-sym3-trust span { display: block; font-size: 1.4rem; margin-top: 0.4rem; }
.hd-sym3 .hd-ta2-greet .hd-link { display: inline-block; margin-top: 1.2rem; }
@media screen and (max-width: 767px) {
  .hd-sym3-lead { font-size: 1.35rem; text-align: left; padding: 0 0.4rem 1.2rem; }
  .hd-sym3-scope { padding: 1.8rem 1.6rem; }
  .hd-sym3-scope h3 { font-size: 1.6rem; }
  .hd-sym3-scope p { font-size: 1.4rem; }
  .hd-sym3-first { grid-template-columns: 1fr; }
  .hd-sym3-first li { font-size: 1.45rem; }
}
/* 2026-11-05 「大切にしていること」カード：.hd-ta2-five__item の幅指定（3分の1）がグリッドの中でも効き、PCで縦に細長くなっていた → 幅は自動・PCは3列 */
.hd-sym2-reason .hd-ta2-five__item { width: auto; }
@media screen and (min-width: 1024px) { .hd-sym3 .hd-sym2-reason { grid-template-columns: repeat(3, 1fr); } }
/* 2026-11-05 幅320px（iPhone SE等）でフッターの右端が切れていた：グリッドの列が中身（メニュー・受付時間の表・ボタン）の幅に引っ張られていた */
@media screen and (max-width: 767px) {
  .hd-footer__inner { grid-template-columns: minmax(0, 1fr); }
  .hd-footer__inner > *, .hd-footer__nav > * { min-width: 0; }
}
@media screen and (max-width: 374px) {
  .hd-footer__nav { gap: 0 1rem; }
  .hd-footer__nav li a { font-size: 1.2rem; letter-spacing: 0.02em; }
  .hd-footer__btns { flex-wrap: wrap; }
  .hd-footer__btns > a { flex: 1 1 100%; }
  .hd-footer table { width: 100%; table-layout: fixed; font-size: 1.15rem; }
  .hd-footer table th, .hd-footer table td { padding-left: 0; padding-right: 0; }
  .hd-footer table th:first-child, .hd-footer table td:first-child { width: 7.6em; }
}

/* 2026-11-05 先方 LINE 11/05【3】症状別MVの直下に保育対応の注意書き */
.hd-sym3-mvnote { font-size: 1.2rem; line-height: 1.6; color: #555; text-align: right; padding-top: 0.6rem; padding-bottom: 0.2rem; }
@media screen and (max-width: 767px) { .hd-sym3-mvnote { text-align: left; font-size: 1.2rem; } }

/* 2026-11-09 先方 LINE 11/09：スタッフ紹介が3名になったので、PCは3列で中央寄せ／スマホは3人目を中央に */
.hd-staff__grid.project_inner { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 82rem; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 767px) {
  .hd-staff__grid.project_inner { grid-template-columns: 1fr 1fr; max-width: none; }
  .hd-staff__grid.project_inner > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 0.7rem); }
}

/* ==================================================================
 * 2026-11-11 交通事故ページ FV 組み替え（先方 LINE 11/11 21:20・広告の着地用）
 * 地域 → 見出し（H1）→ 補足 → 写真 → 特徴4つ → 0円の注記 → 電話・LINE。色・写真は現行のまま
 * ================================================================== */
.hd-ta2-fv.-v3 { padding: 8.8rem 0 4rem; } /* PCは固定ヘッダーが上に重なるので、その分をあける */
.hd-ta2-fv__area2 { display: inline-block; background: var(--hd-navy); color: #fff; font-size: 1.5rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.5rem 1.6rem; border-radius: 10rem; margin-bottom: 1.6rem; }
.hd-ta2-fv__h1v3 { font-size: 3.8rem; font-weight: 900; color: var(--hd-navy); line-height: 1.45; margin-bottom: 1.4rem; }
.hd-ta2-fv__h1v3 span { color: var(--hd-red); }
.hd-ta2-fv__h1v3 { font-size: 3.4rem; }
.hd-ta2-fv__h1v3 span { white-space: nowrap; }
.hd-ta2-fv__sub { font-size: 1.7rem; font-weight: 700; color: var(--ta2-blue2); line-height: 1.6; margin-bottom: 2rem; }
.hd-ta2-fv__feat { margin-top: 0; }
.hd-ta2-fv__fnote { font-size: 1.2rem; line-height: 1.6; color: #555; margin-top: 0.8rem; }
.hd-ta2-fv__fnote a { color: var(--ta2-blue2); text-decoration: underline; margin-left: 0.4em; white-space: nowrap; }
.hd-ta2-fv.-v3 .hd-ta2-btns { margin-top: 2.4rem; }
.hd-ta2-fv.-v3 .hd-ta2-btns .s { font-weight: 700; }
#insurance { scroll-margin-top: 8rem; }
@media screen and (max-width: 767px) {
  .hd-ta2-fv.-v3 { padding: 1.8rem 0 2.4rem; }
  .hd-ta2-fv.-v3 .hd-ta2-fv__inner { display: flex; flex-direction: column; gap: 0; }
  .hd-ta2-fv.-v3 .hd-ta2-fv__text { display: contents; }
  .hd-ta2-fv__area2 { order: 1; align-self: center; font-size: 1.25rem; padding: 0.4rem 1.2rem; margin-bottom: 1rem; letter-spacing: 0; }
  .hd-ta2-fv__h1v3 { order: 2; font-size: 2.5rem; line-height: 1.4; text-align: center; margin-bottom: 0.8rem; }
  .hd-ta2-fv__sub { order: 3; font-size: 1.4rem; text-align: center; margin-bottom: 1rem; }
  .hd-ta2-fv.-v3 .hd-ta2-fv__photo { order: 4; margin-bottom: 1rem; }
  .hd-ta2-fv.-v3 .hd-ta2-fv__photo img { aspect-ratio: 2 / 1; object-position: center 22%; }
  .hd-ta2-fv__feat { order: 5; align-self: center; }
  .hd-ta2-fv__feat li { font-size: 1.4rem; }
  .hd-ta2-fv__h1v3 span { white-space: nowrap; }
  .hd-ta2-fv__fnote { order: 6; font-size: 1.1rem; margin-top: 0.6rem; }
  .hd-ta2-fv.-v3 .hd-ta2-btns { margin-top: 1.4rem; gap: 0.8rem; }
  .hd-ta2-fv.-v3 .hd-ta2-btn { min-height: 5.8rem; }
  .hd-ta2-fv.-v3 .hd-ta2-btn .t { font-size: 1.65rem; }
}
@media screen and (max-width: 767px) and (max-height: 760px) {
  .hd-ta2-fv.-v3 .hd-ta2-fv__photo img { aspect-ratio: 5 / 2; }
  .hd-ta2-fv__h1v3 { font-size: 2.3rem; }
  .hd-ta2-fv__fnote { font-size: 1rem; }
  .hd-ta2-fv.-v3 .hd-ta2-btns { margin-top: 1rem; }
}

/* ==================================================================
 * 2026-11-12 交通事故FVの特徴4つ：箇条書き（シンプルすぎ）→ 丸バッジ（B案の .circle を流用）
 * ベタ塗り（グラデ・影なし）4色＋白い細い輪。数字だけ Oswald で大きく
 * ================================================================== */
.hd-ta2-fv .hd-ta2-fv__circles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; margin: 0.4rem 0 0; max-width: 54rem; }
.hd-ta2-fv__circles .circle { position: relative; width: 100%; height: auto; aspect-ratio: 1 / 1; border: 0; color: #fff; padding: 0; }
.hd-ta2-fv__circles .circle::after { content: ""; position: absolute; inset: 0.5rem; border: 1px solid rgba(255, 255, 255, 0.75); border-radius: 50%; pointer-events: none; }
.hd-ta2-fv__circles .circle:nth-child(1) { background: var(--hd-navy); }
.hd-ta2-fv__circles .circle:nth-child(2) { background: var(--ta2-blue2); }
.hd-ta2-fv__circles .circle:nth-child(3) { background: var(--hd-gold); }
.hd-ta2-fv__circles .circle:nth-child(4) { background: var(--hd-red); }
.hd-ta2-fv__circles .circle p { font-size: 1.55rem; font-weight: 700; line-height: 1.35; letter-spacing: 0.02em; color: #fff; }
.hd-ta2-fv__circles .circle b { color: #fff; font-family: var(--hd-num); font-size: 3rem; font-weight: 600; line-height: 1; margin: 0 0.08em; }
.hd-ta2-fv__circles .circle:nth-child(4) b { font-size: 2.6rem; }
.hd-ta2-fv__circles .circle small { display: block; font-size: 1.1rem; font-weight: 700; margin-top: 0.1rem; }
@media screen and (max-width: 767px) {
  .hd-ta2-fv .hd-ta2-fv__circles { order: 5; align-self: stretch; gap: 0.6rem; max-width: none; }
  .hd-ta2-fv__circles .circle::after { inset: 0.3rem; }
  .hd-ta2-fv__circles .circle p { font-size: 1.1rem; line-height: 1.3; letter-spacing: 0; }
  .hd-ta2-fv__circles .circle b { font-size: 2.2rem; }
  .hd-ta2-fv__circles .circle:nth-child(4) b { font-size: 1.8rem; }
  .hd-ta2-fv__circles .circle small { font-size: 0.9rem; letter-spacing: -0.04em; }
}
