@charset "UTF-8";
/* =========================================================
   むらつ歯科クリニック インプラント専門サイト｜下層ページ用CSS
   assets/css/style.css（共通）の後に読み込む（functions.php で下層のみ enqueue）
   接頭辞 .pg-  ／ 既存 .entry-content の見出し・本文スタイルを土台にする
   2026-09-24
   ========================================================= */
.pg-hero { position:relative; overflow:hidden; color:#fff; padding:78px 0 64px; background:linear-gradient(112deg,#2b0f1d 0%,#571d33 55%,#8a3352 100%); }
.pg-hero::before { content:""; position:absolute; right:-60px; top:0; width:380px; height:100%; background:linear-gradient(135deg,rgba(203,178,166,.35),rgba(236,218,208,.08)); clip-path:polygon(35% 0,100% 0,100% 100%,0 100%); }
.pg-hero .inner { z-index:2; }
.pg-hero .pg-hero-cat { display:inline-flex; align-items:center; gap:12px; font-size:1.3rem; letter-spacing:.22em; color:var(--gold-pale); font-family:"Noto Sans JP",sans-serif; font-weight:700; }
.pg-hero .pg-hero-cat::before { content:""; width:36px; height:1px; background:var(--gold-l); }
.pg-hero .pg-hero-cat small { font-family:"EB Garamond",serif; font-style:italic; font-weight:400; letter-spacing:.2em; color:rgba(236,218,208,.7); font-size:1.2rem; }
.pg-hero h1 { font-family:"Noto Serif JP",serif; font-size:3.4rem; font-weight:700; letter-spacing:.05em; line-height:1.55; margin-top:14px; max-width:900px; }
.pg-hero .pg-hero-sub { margin-top:14px; font-size:1.5rem; color:rgba(255,255,255,.85); letter-spacing:.04em; max-width:760px; }

.pg-wrap { padding:48px 0 0; }
.pg-body { width:900px; max-width:100%; margin:0 auto; }
.pg-body > * + * { margin-top:1.6em; }
.pg-body > h2 { margin-top:2.6em; }
.pg-body > h2:first-child { margin-top:0; }
.pg-body > h3 { margin-top:2em; }
.pg-body p { text-align:justify; }
.pg-body strong { color:var(--wine); font-weight:700; }

/* リード文 */
.pg-lead { font-size:1.7rem; line-height:2; color:var(--char); }

/* お悩みチェックリスト */
.pg-check { background:#fff; border:1px solid #eee4e8; box-shadow:0 16px 40px rgba(60,40,50,.08); padding:30px 36px; position:relative; }
.pg-check::before { content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,#571d33 0%,#8a3352 40%,var(--gold-l)); }
.pg-check .pg-check-ttl { font-family:"Noto Serif JP",serif; font-size:1.9rem; font-weight:700; color:var(--wine); margin-bottom:14px; letter-spacing:.04em; }
.pg-check ul { list-style:none; padding:0; display:grid; gap:10px; margin:0; }
.pg-check ul > li { position:relative; padding-left:34px; font-size:1.55rem; line-height:1.75; margin:0; }
.pg-check ul > li::before { content:"\2713"; position:absolute; left:0; top:.1em; width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,#c73a63,#EA557E); color:#fff; font-size:1.3rem; font-weight:700; display:flex; align-items:center; justify-content:center; transform:none; }
.pg-check .pg-check-foot { margin-top:16px; font-size:1.4rem; color:#6b6472; }

/* ポイントカード（2〜3列） */
.pg-points { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; list-style:none; padding:0; }
.pg-points.cols2 { grid-template-columns:repeat(2,1fr); }
.pg-points > li, .entry-content .pg-points > li { list-style:none; padding:26px 24px 24px; background:#fff; box-shadow:0 16px 40px rgba(60,40,50,.1); position:relative; margin:0; }
.pg-points > li::before { content:none; }
.pg-points > li::after { content:""; position:absolute; top:0; right:0; border-top:36px solid var(--gold-l); border-left:36px solid transparent; }
.pg-points > li:nth-child(even)::after { border-top-color:var(--pink-d); }
.pg-points .pg-point-no { font-family:"EB Garamond",serif; font-style:italic; font-size:3.2rem; line-height:1; color:transparent; -webkit-text-stroke:1.2px var(--gold); }
.pg-points .pg-point-ttl { font-family:"Noto Serif JP",serif; font-size:1.8rem; font-weight:700; line-height:1.5; color:var(--char); margin-top:8px; }
.pg-points p { font-size:1.4rem; line-height:1.8; color:#5c5464; margin-top:8px; text-align:left; }

/* 注意・リスク・補足ボックス */
.pg-note { background:#f8f2e8; border-left:4px solid var(--gold); padding:20px 26px; font-size:1.45rem; line-height:1.85; color:#5c4a30; }
.pg-note .pg-note-ttl { display:block; font-weight:700; color:var(--wine); margin-bottom:6px; font-family:"Noto Serif JP",serif; font-size:1.55rem; }
.pg-note.pg-note--risk { background:#fbf3f5; border-left-color:var(--pink-d); color:#4a4453; }
.pg-note ul { padding-left:0; margin-top:8px; }
.pg-note ul > li { font-size:1.4rem; }
.pg-note p + p { margin-top:.6em; }


/* 治療の流れ（縦ステップ） */
.pg-steps { list-style:none; padding:0; }
.pg-steps > li, .entry-content .pg-steps > li { list-style:none; position:relative; padding:0 0 30px 74px; margin:0; }
.pg-steps > li::before { content:none; }
.pg-steps > li:not(:last-child)::after { content:""; position:absolute; left:26px; top:54px; bottom:0; width:2px; background:linear-gradient(180deg,var(--gold-l),#f0e4ea); }
.pg-steps .pg-step-no { position:absolute; left:0; top:0; width:54px; height:54px; background:var(--char); color:var(--gold-pale); font-family:"EB Garamond",serif; font-size:2rem; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(25,22,34,.35); }
.pg-steps .pg-step-ttl { font-family:"Noto Serif JP",serif; font-size:1.9rem; font-weight:700; line-height:1.5; padding-top:10px; color:var(--char); }
.pg-steps .pg-step-ttl small { display:block; font-size:1.2rem; color:var(--pink-d); letter-spacing:.08em; font-family:"Noto Sans JP",sans-serif; }
.pg-steps p { font-size:1.45rem; color:#4a4453; margin-top:6px; text-align:left; }

/* 比較表 */
.pg-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.pg-table-scroll table { min-width:560px; }
.pg-table-scroll .pg-scroll-hint { display:none; font-size:1.2rem; color:#8a8290; text-align:right; margin-bottom:4px; }
.pg-body table thead th { background:linear-gradient(135deg,#571d33,#8a3352); color:#fff; text-align:center; }
.pg-body table th:first-child { white-space:nowrap; }
.pg-body table td.c { text-align:center; }
.pg-body table .ok { color:var(--pink-d); font-weight:700; }

/* FAQ（details/summary） */
.pg-faq > * + * { margin-top:14px; }
.pg-faq details { border:1px solid #eee4e8; background:#fff; box-shadow:0 10px 26px rgba(60,40,50,.05); }
.pg-faq summary { list-style:none; cursor:pointer; padding:20px 60px 20px 70px; position:relative; font-weight:700; font-size:1.65rem; font-family:"Noto Serif JP",serif; line-height:1.6; color:var(--char); }
.pg-faq summary::-webkit-details-marker { display:none; }
.pg-faq summary::before { content:"Q"; position:absolute; left:24px; top:50%; transform:translateY(-50%); font-family:"EB Garamond",serif; font-style:italic; font-size:2.7rem; color:var(--pink-d); }
.pg-faq summary::after { content:"\FF0B"; position:absolute; right:20px; top:50%; transform:translateY(-50%); width:28px; height:28px; background:linear-gradient(135deg,#8a7060,#cbb2a6); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.pg-faq details[open] summary::after { content:"\2212"; }
.pg-faq .pg-faq-a { padding:0 28px 22px 70px; position:relative; font-size:1.5rem; color:#4a4453; line-height:1.9; }
.pg-faq .pg-faq-a::before { content:"A"; position:absolute; left:26px; top:0; font-family:"EB Garamond",serif; font-style:italic; font-size:2.7rem; color:var(--gold); line-height:1; }
.pg-faq .pg-faq-a p + p { margin-top:.8em; }

/* 関連ページ・ハブ内リンク */
.pg-links { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; list-style:none; padding:0; }
.pg-links > li, .entry-content .pg-links > li { list-style:none; padding:0; margin:0; }
.pg-links > li::before { content:none; }
.pg-links a { display:block; background:#fff; border:1px solid #eee4e8; padding:18px 48px 18px 22px; position:relative; color:var(--char); text-decoration:none; box-shadow:0 10px 26px rgba(60,40,50,.05); transition:transform .25s, box-shadow .25s; height:100%; }
.pg-links a:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(60,40,50,.12); }
.pg-links a::after { content:"\203A"; position:absolute; right:18px; top:50%; transform:translateY(-50%); width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--wine),var(--pink-d)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.8rem; line-height:1; }
.pg-links .pg-link-ttl { display:block; font-family:"Noto Serif JP",serif; font-size:1.6rem; font-weight:700; line-height:1.5; }
.pg-links .pg-link-txt { display:block; font-size:1.3rem; color:#6b6472; margin-top:4px; line-height:1.6; font-family:"Noto Sans JP",sans-serif; }

/* ハブページ用の大カード */
.pg-hub { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; list-style:none; padding:0; }
.pg-hub > li, .entry-content .pg-hub > li { list-style:none; padding:0; margin:0; }
.pg-hub > li::before { content:none; }
.pg-hub a { display:flex; flex-direction:column; height:100%; background:#fff; box-shadow:0 16px 44px rgba(60,40,50,.12); position:relative; overflow:hidden; padding:28px 30px 44px; color:var(--char); text-decoration:none; transition:transform .25s, box-shadow .25s; }
.pg-hub a:hover { transform:translateY(-4px); box-shadow:0 22px 54px rgba(60,40,50,.18); }
.pg-hub a::after { content:""; position:absolute; top:0; right:0; border-top:48px solid var(--gold-l); border-left:48px solid transparent; }
.pg-hub > li:nth-child(even) a::after { border-top-color:var(--pink-d); }
.pg-hub .pg-hub-no { font-family:"EB Garamond",serif; font-style:italic; font-size:3.6rem; line-height:1; color:transparent; -webkit-text-stroke:1.2px var(--gold); }
.pg-hub .pg-hub-ttl { font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:700; line-height:1.5; margin-top:8px; }
.pg-hub .pg-hub-ttl span { color:var(--pink-d); }
.pg-hub .pg-hub-txt { font-size:1.4rem; color:#5c5464; line-height:1.75; margin-top:8px; font-family:"Noto Sans JP",sans-serif; }
.pg-hub .pg-hub-vm { position:absolute; right:0; bottom:0; background:linear-gradient(135deg,var(--wine),var(--pink-d)); color:#fff; font-size:1.25rem; font-weight:700; letter-spacing:.1em; padding:7px 24px; font-family:"Noto Sans JP",sans-serif; }

/* 画像 */
.pg-figure { margin:0; }
.pg-figure img { width:100%; height:auto; display:block; box-shadow:0 20px 50px rgba(60,40,50,.14); }
.pg-figure figcaption { font-size:1.3rem; color:#8a8290; margin-top:10px; text-align:center; }
.pg-figure.pg-figure--right { float:right; width:42%; margin:0 0 20px 34px; }
.pg-figure.pg-figure--left { float:left; width:42%; margin:0 34px 20px 0; }
.pg-body::after, .pg-clear { content:""; display:block; clear:both; }

/* 文中CTA帯 */
.pg-cta { position:relative; overflow:hidden; color:#fff; background:linear-gradient(128deg,#191622 0%,#3a2233 50%,#7c2140 100%); padding:38px 40px; display:flex; align-items:center; gap:30px; clear:both; }
.pg-cta::before { content:""; position:absolute; right:-40px; top:0; width:260px; height:100%; background:linear-gradient(135deg,rgba(203,178,166,.35),rgba(236,218,208,.08)); clip-path:polygon(35% 0,100% 0,100% 100%,0 100%); }
.pg-cta .pg-cta-txt { position:relative; z-index:2; flex:1; }
.pg-cta .pg-cta-k { font-family:"EB Garamond",serif; font-style:italic; font-size:1.3rem; letter-spacing:.3em; color:var(--gold-l); }
.pg-cta .pg-cta-ttl { font-family:"Noto Serif JP",serif; font-size:2.3rem; font-weight:700; line-height:1.5; margin-top:4px; }
.pg-cta .pg-cta-ttl b { color:var(--gold-pale); }
.pg-cta p { font-size:1.4rem; color:rgba(255,255,255,.85); margin-top:6px; text-align:left; }
.pg-cta .pg-cta-btns { position:relative; z-index:2; flex:0 0 auto; display:flex; flex-direction:column; gap:10px; min-width:280px; }
.pg-cta .pg-cta-free { display:block; background:linear-gradient(135deg,#c73a63,#EA557E 55%,#f47b9c); color:#fff; text-align:center; padding:16px 26px; font-family:"Noto Serif JP",serif; font-size:1.8rem; font-weight:700; letter-spacing:.08em; box-shadow:0 14px 34px rgba(2,2,10,.4), inset 0 1px 0 rgba(255,255,255,.4); text-decoration:none; }
.pg-cta .pg-cta-free small { display:block; font-family:"Noto Sans JP",sans-serif; font-size:1.15rem; font-weight:500; letter-spacing:.14em; }
.pg-cta .pg-cta-tel { display:block; background:#fff; color:var(--char); text-align:center; padding:10px 20px; text-decoration:none; }
.pg-cta .pg-cta-tel .num { font-family:"EB Garamond",serif; font-size:2.8rem; font-weight:600; line-height:1.2; display:block; }
.pg-cta .pg-cta-tel .time { font-size:1.15rem; color:#6b6472; display:block; }

/* 下層ページ末尾の共通CTA（front の .contact を流用）との間隔 */
.pg-wrap + .contact { margin-top:80px; }

/* 記事末尾のナビ */
.pg-foot-nav { width:900px; max-width:100%; margin:56px auto 0; padding-top:24px; border-top:1px solid #eee4e8; display:flex; flex-wrap:wrap; gap:10px; font-size:1.35rem; }
.pg-foot-nav a { color:var(--wine); font-weight:700; border:1px solid #e7dde2; padding:8px 16px; background:#fff; text-decoration:none; }
.pg-foot-nav a:hover { background:#f6ecf0; }

@media (max-width:1080px) {
  .pg-points { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px) {
  .pg-hero { padding:48px 0 40px; }
  .pg-hero h1 { font-size:2.5rem; }
  .pg-hero .pg-hero-sub { font-size:1.4rem; }
  .pg-wrap { padding-top:32px; }
  .pg-lead { font-size:1.6rem; }
  .pg-check { padding:22px 20px; }
  .pg-check ul > li { font-size:1.5rem; }
  .pg-points, .pg-points.cols2 { grid-template-columns:1fr; gap:14px; }
  .pg-steps > li { padding-left:60px; padding-bottom:24px; }
  .pg-steps .pg-step-no { width:44px; height:44px; font-size:1.7rem; }
  .pg-steps > li:not(:last-child)::after { left:21px; top:46px; }
  .pg-steps .pg-step-ttl { font-size:1.7rem; padding-top:6px; }
  .pg-table-scroll .pg-scroll-hint { display:block; }
  .pg-faq summary { padding:16px 48px 16px 54px; font-size:1.55rem; }
  .pg-faq summary::before { left:16px; font-size:2.3rem; }
  .pg-faq summary::after { right:14px; width:24px; height:24px; }
  .pg-faq .pg-faq-a { padding:0 18px 18px 54px; }
  .pg-faq .pg-faq-a::before { left:18px; font-size:2.3rem; }
  .pg-links, .pg-hub { grid-template-columns:1fr; }
  .pg-hub a { padding:22px 22px 40px; }
  .pg-figure.pg-figure--right, .pg-figure.pg-figure--left { float:none; width:100%; margin:0; }
  .pg-cta { flex-direction:column; align-items:stretch; padding:28px 22px; gap:20px; }
  .pg-cta .pg-cta-btns { min-width:0; }
  .pg-body p { text-align:left; }
}

/* 回り込み画像との衝突回避（2026-09-24 追記）
   - h2（セクション見出し）は必ず画像の下から始める
   - h3 は BFC 化して、下線が画像の下を通らないようにする
   - 箱型の部品は画像の横に入り込ませない */
.pg-body > h2 { clear:both; }
.pg-body > h3 { overflow:hidden; }
.pg-body > .pg-table-scroll, .pg-body > .pg-faq, .pg-body > .pg-links, .pg-body > .pg-steps, .pg-body > .pg-hub { clear:both; }


/* =========================================================
   定額費用ボックス（TOPデザイン案準拠・2026-09-24 改版）
   ========================================================= */
.pg-price { background:#fff; box-shadow:0 20px 50px rgba(60,30,45,.14); overflow:hidden; }
.pg-price-bar { background:linear-gradient(90deg,#571d33 0%,#7c2140 50%,#8a3352 100%); color:#fff; text-align:center; font-family:"Noto Serif JP",serif; font-size:1.7rem; font-weight:700; letter-spacing:.14em; padding:12px 20px; }
.pg-price-bar span { position:relative; display:inline-block; padding:0 26px; }
.pg-price-bar span::before, .pg-price-bar span::after { content:""; position:absolute; top:50%; width:18px; height:1px; background:rgba(236,218,208,.75); }
.pg-price-bar span::before { left:0; }
.pg-price-bar span::after { right:0; }
.pg-price-head { display:flex; align-items:stretch; padding:28px 36px 26px; }
.pg-price-main { flex:1 1 52%; padding-right:34px; border-right:1px solid #e9dbe1; }
.pg-price-side { flex:1 1 48%; padding-left:34px; display:flex; flex-direction:column; justify-content:center; gap:14px; }
.pg-price-lb { font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:700; letter-spacing:.08em; color:var(--char); }
.pg-price-num { font-family:"EB Garamond",serif; font-size:6.2rem; line-height:1.05; color:#7c2140; font-weight:500; margin-top:2px; white-space:nowrap; }
.pg-price-num small { font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:700; color:#7c2140; margin-left:4px; }
.pg-price-cap { display:inline-block; margin-top:12px; background:#f6e9ec; color:#7c2140; font-family:"Noto Serif JP",serif; font-size:1.45rem; font-weight:700; letter-spacing:.06em; padding:8px 22px; }
.pg-price-badge { position:relative; background:linear-gradient(135deg,#8f7448 0%,#b89a66 50%,#8f7448 100%); color:#fff; font-family:"Noto Serif JP",serif; font-size:1.7rem; font-weight:700; letter-spacing:.1em; text-align:center; padding:14px 40px; box-shadow:0 8px 20px rgba(120,90,40,.22); }
.pg-price-badge::before, .pg-price-badge::after { content:""; position:absolute; top:50%; width:10px; height:10px; margin-top:-5px; border:1.5px solid rgba(255,255,255,.75); transform:rotate(45deg); }
.pg-price-badge::before { left:16px; }
.pg-price-badge::after { right:16px; }
.pg-price-month { display:flex; align-items:baseline; flex-wrap:wrap; gap:0 8px; font-family:"Noto Serif JP",serif; color:var(--char); font-size:1.5rem; font-weight:700; padding-left:6px; }
.pg-price-month .pre { flex:0 0 100%; font-size:1.4rem; font-weight:700; color:#5c5464; margin-bottom:-4px; }
.pg-price-month .m { font-size:1.9rem; }
.pg-price-month .m b { font-family:"EB Garamond",serif; font-size:4.4rem; font-weight:500; color:#7c2140; line-height:1; margin:0 2px 0 4px; }
.pg-price-month small { font-size:1.4rem; font-weight:500; color:#5c5464; }
.pg-price-inc { margin:0 16px 16px; background:#fbf5f6; padding:18px 18px 14px; }
.pg-price-inc-ttl { font-family:"Noto Serif JP",serif; font-size:1.8rem; font-weight:700; color:var(--char); letter-spacing:.06em; padding:0 6px 8px; margin-bottom:6px; display:flex; align-items:center; gap:16px; }
.pg-price-inc-ttl::after { content:""; flex:1; height:1px; background:#e3d3d9; }
.pg-price-inc ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-price-inc ul > li { position:relative; display:flex; align-items:center; gap:12px; margin:0; padding:10px 12px 10px 8px; font-family:"Noto Serif JP",serif; font-size:1.5rem; font-weight:500; color:var(--char); border-top:1px solid #eadde2; line-height:1.5; }
.pg-price-inc ul > li:nth-child(-n+4) { border-top:0; }
.pg-price-inc ul > li:not(:nth-child(4n+1)) { border-left:1px solid #eadde2; }
.pg-price-inc ul > li::before { content:""; position:static; flex:0 0 40px; width:40px; height:40px; margin:0; border-radius:50%; background-color:#f3e3e7; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0L10 5 5 10 0 5z' fill='%23a8434f'/%3E%3C/svg%3E"); background-size:11px 11px; background-repeat:no-repeat; background-position:center; transform:none; }
.pg-price-foot { margin-top:12px; background:#f3e3e7; color:#571d33; text-align:center; font-size:1.35rem; padding:10px 16px 10px 44px; position:relative; }
.pg-price-foot::before { content:"!"; position:absolute; left:16px; top:50%; width:20px; height:20px; margin-top:-10px; border:1.5px solid #7c2140; border-radius:50%; color:#7c2140; font-weight:700; font-size:1.2rem; line-height:17px; text-align:center; font-family:"Noto Sans JP",sans-serif; }
/* 内訳が長文のページ（flat-price-reason）は2列 */
.pg-price-inc.pg-price-inc--wide ul { grid-template-columns:repeat(2,1fr); }
.pg-price-inc.pg-price-inc--wide ul > li:nth-child(-n+4) { border-top:1px solid #eadde2; }
.pg-price-inc.pg-price-inc--wide ul > li:nth-child(-n+2) { border-top:0; }
.pg-price-inc.pg-price-inc--wide ul > li:not(:nth-child(4n+1)) { border-left:0; }
.pg-price-inc.pg-price-inc--wide ul > li:nth-child(2n) { border-left:1px solid #eadde2; }
@media (max-width:1080px) {
  .pg-price-num { font-size:5.2rem; }
  .pg-price-inc ul { grid-template-columns:repeat(2,1fr); }
  .pg-price-inc ul > li:nth-child(-n+4) { border-top:1px solid #eadde2; }
  .pg-price-inc ul > li:nth-child(-n+2) { border-top:0; }
  .pg-price-inc ul > li:not(:nth-child(4n+1)) { border-left:0; }
  .pg-price-inc ul > li:nth-child(2n) { border-left:1px solid #eadde2; }
}
@media (max-width:720px) {
  .pg-price { }
  .pg-price-bar { font-size:1.5rem; padding:10px 14px; }
  .pg-price-head { flex-direction:column; padding:22px 18px 20px; }
  .pg-price-main { padding:0 0 18px; border-right:0; border-bottom:1px solid #e9dbe1; }
  .pg-price-side { padding:18px 0 0; }
  .pg-price-num { font-size:4.6rem; }
  .pg-price-num small { font-size:1.7rem; }
  .pg-price-cap { font-size:1.35rem; padding:7px 14px; }
  .pg-price-badge { font-size:1.5rem; padding:12px 34px; }
  .pg-price-month .m b { font-size:3.6rem; }
  .pg-price-inc { margin:0 10px 10px; padding:14px 12px 12px; }
  .pg-price-inc ul, .pg-price-inc.pg-price-inc--wide ul { grid-template-columns:1fr; }
  .pg-price-inc ul > li, .pg-price-inc.pg-price-inc--wide ul > li { border-left:0 !important; border-top:1px solid #eadde2 !important; padding:9px 4px; }
  .pg-price-inc ul > li:first-child, .pg-price-inc.pg-price-inc--wide ul > li:first-child { border-top:0 !important; }
  .pg-price-inc ul > li::before { flex-basis:34px; width:34px; height:34px; }
  .pg-price-foot { text-align:left; padding:10px 12px 10px 40px; }
  .pg-price-foot::before { left:12px; }
}

/* コンセプト帯（ヒーロー直下・全下層共通・2026-09-24 追記） */
.pg-concept { background-color:#f8f2e8; background-image:radial-gradient(rgba(160,130,80,.13) 1px, transparent 1px); background-size:22px 22px; border-bottom:1px solid #eadfcf; }
.pg-concept .inner { display:flex; align-items:center; justify-content:center; gap:24px; padding:16px 0; }
.pg-concept-en { font-family:"EB Garamond",serif; font-style:italic; font-size:1.25rem; letter-spacing:.3em; color:var(--gold); white-space:nowrap; }
.pg-concept-txt { margin:0; font-family:"Noto Serif JP",serif; font-size:1.8rem; font-weight:700; letter-spacing:.06em; color:#571d33; line-height:1.5; }
.pg-concept-txt b { color:var(--pink-d); }
@media (max-width:720px) {
  .pg-concept .inner { flex-direction:column; gap:4px; padding:14px 0; text-align:center; }
  .pg-concept-txt { font-size:1.5rem; }
}

/* 箱型リストには本文用のひし形（.entry-content ul > li::before）を付けない（2026-09-24 追記） */
.entry-content .pg-points > li::before, .entry-content .pg-links > li::before, .entry-content .pg-hub > li::before, .entry-content .pg-steps > li::before { content:none; }
/* FAQ回答内の定額ボックス */
.pg-faq .pg-faq-a .pg-price { margin-top:16px; }

/* 箱型の部品は回り込み画像の横に入り込ませない（定額ボックス改版時に消えたため再追加） */
.pg-body > .pg-note, .pg-body > .pg-check, .pg-body > .pg-points, .pg-body > .pg-price, .pg-body > .pg-cta,
.pg-body > .pg-table-scroll, .pg-body > .pg-faq, .pg-body > .pg-links, .pg-body > .pg-steps, .pg-body > .pg-hub { clear:both; }

/* 著書ブロック（ドクター紹介・2026-09-24 追記） */
.pg-book { display:flex; align-items:center; gap:28px; background:#fff; border:1px solid #eee4e8; box-shadow:0 16px 40px rgba(60,40,50,.08); padding:26px 30px; clear:both; }
.pg-book-cover { flex:0 0 140px; display:block; }
.pg-book-cover img { width:100%; height:auto; display:block; box-shadow:0 14px 30px rgba(60,40,50,.28); }
.pg-book-txt { flex:1; }
.pg-book-ttl { display:block; font-family:"Noto Serif JP",serif; font-size:1.9rem; font-weight:700; line-height:1.5; color:var(--char); }
.pg-book-ttl small { display:block; font-size:1.35rem; font-weight:500; color:#5c5464; margin-top:4px; }
.pg-book-meta { display:block; font-size:1.3rem; color:#8a8290; margin-top:8px; }
.entry-content .pg-book-btn { display:inline-block; color:#fff; text-decoration:none; margin-top:14px; background:linear-gradient(135deg,#7c2140,#c73a63); color:#fff; font-family:"Noto Sans JP",sans-serif; font-size:1.35rem; font-weight:700; letter-spacing:.08em; padding:10px 26px; text-decoration:none; }
.entry-content .pg-book-btn::after { content:"\203A"; margin-left:8px; }
@media (max-width:720px) {
  .pg-book { flex-direction:column; text-align:center; padding:22px 18px; gap:16px; }
  .pg-book-cover { flex-basis:auto; width:120px; }
}

/* =========================================================
   2026-09-30 予約フォーム（page-reserve.php）
   ========================================================= */
.pg-ways { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; list-style:none; padding:0; }
.pg-ways > li, .entry-content .pg-ways > li { list-style:none; margin:0; background:#fff; border:1px solid #eee4e8; box-shadow:0 12px 30px rgba(60,40,50,.08); padding:22px 18px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.pg-ways > li::before { content:none; }
.pg-ways .pg-way-k { display:block; font-family:"EB Garamond",serif; font-style:italic; letter-spacing:.24em; font-size:1.2rem; color:var(--gold); }
.pg-ways .pg-way-t { display:block; font-family:"Noto Serif JP",serif; font-weight:700; font-size:1.7rem; color:var(--char); margin-top:4px; }
.pg-ways .pg-way-s { display:block; font-size:1.25rem; color:#6b6472; margin-top:6px; line-height:1.7; }
.pg-ways .pg-way-num { display:block; font-family:"EB Garamond",serif; font-size:2.6rem; font-weight:600; line-height:1.2; color:var(--wine); margin-top:6px; }
.pg-ways .pg-way-num a { color:inherit; text-decoration:none; }
.pg-ways a.pg-way-btn { display:inline-block; margin-top:auto; padding:11px 22px; color:#fff; font-weight:700; font-size:1.4rem; text-decoration:none; letter-spacing:.06em; }
.pg-ways a.pg-way-btn--web { background:var(--pink-d); margin-top:14px; }
.pg-ways a.pg-way-btn--tel { background:var(--char); margin-top:14px; }
.pg-ways a.pg-way-btn--line { background:#20b356; margin-top:14px; }

.pg-form { background:#fff; border:1px solid #eee4e8; box-shadow:0 16px 40px rgba(60,40,50,.08); padding:36px 40px; position:relative; }
.pg-form::before { content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,#571d33 0%,#8a3352 40%,var(--gold-l)); }
.pg-form .pg-form-row { display:grid; grid-template-columns:220px 1fr; gap:10px 24px; padding:18px 0; border-bottom:1px solid #f0e6ea; align-items:start; }
.pg-form .pg-form-row:last-of-type { border-bottom:0; }
.pg-form .pg-form-lb { font-weight:700; font-size:1.5rem; color:var(--char); padding-top:10px; line-height:1.5; }
.pg-form .pg-req, .pg-form .pg-opt { display:inline-block; font-size:1.25rem; font-weight:700; padding:2px 8px; margin-left:8px; vertical-align:middle; letter-spacing:.08em; line-height:1.6; }
.pg-form .pg-req { background:var(--pink-d); color:#fff; }
.pg-form .pg-opt { background:#eee4e8; color:#6b6472; }
.pg-form input[type="text"], .pg-form input[type="tel"], .pg-form input[type="email"], .pg-form input[type="date"], .pg-form select, .pg-form textarea { width:100%; max-width:100%; font:inherit; font-size:1.6rem; padding:12px 14px; border:1px solid #d9cfd4; background:#fdfbfc; color:var(--char); border-radius:0; -webkit-appearance:none; appearance:none; box-sizing:border-box; }
.pg-form select { background-image:linear-gradient(45deg,transparent 50%,#8a8290 50%),linear-gradient(135deg,#8a8290 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:40px; }
.pg-form textarea { min-height:150px; line-height:1.8; }
.pg-form input:focus, .pg-form select:focus, .pg-form textarea:focus { outline:2px solid var(--pink); outline-offset:0; border-color:var(--pink); background:#fff; }
.pg-form .pg-form-hint { font-size:1.25rem; color:#8a8290; margin-top:6px; text-align:left; }
.pg-form .pg-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-form .pg-radios { display:grid; gap:10px; padding-top:8px; }
.pg-form .pg-radios label, .pg-form .pg-agree label { display:flex; align-items:flex-start; gap:10px; font-size:1.5rem; line-height:1.6; cursor:pointer; font-weight:500; }
.pg-form .pg-radios input, .pg-form .pg-agree input { width:20px; height:20px; margin-top:3px; flex:0 0 20px; accent-color:var(--pink-d); }
.pg-form .pg-agree { margin-top:26px; padding:18px 20px; background:#fbf3f5; font-size:1.4rem; color:#4a4453; }
.pg-form .pg-agree p { text-align:left; font-size:1.35rem; margin-bottom:10px; }
.pg-form .pg-form-err, .pg-form-alert { color:var(--pink-d); font-weight:700; font-size:1.35rem; margin-top:6px; text-align:left; }
.pg-form-alert { background:#fbf3f5; border-left:4px solid var(--pink-d); padding:14px 18px; margin-bottom:22px; font-size:1.45rem; }
.pg-form .is-error { border-color:var(--pink-d); background:#fff7f9; }
.pg-form .pg-form-submit { margin-top:30px; text-align:center; }
.pg-form .pg-form-submit button { display:inline-block; min-width:320px; max-width:100%; border:0; cursor:pointer; background:linear-gradient(135deg,#c73a63,#EA557E 55%,#f47b9c); color:#fff; text-align:center; padding:20px 40px; font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:700; letter-spacing:.1em; box-shadow:0 14px 34px rgba(2,2,10,.25), inset 0 1px 0 rgba(255,255,255,.4); }
.pg-form .pg-form-submit button:hover { filter:brightness(1.05); }
.pg-form .pg-form-submit small { display:block; margin-top:12px; font-size:1.3rem; color:#6b6472; }
.pg-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.pg-thanks { background:#fff; border:1px solid #eee4e8; box-shadow:0 16px 40px rgba(60,40,50,.08); padding:48px 40px; text-align:center; }
.pg-thanks .pg-thanks-k { font-family:"EB Garamond",serif; font-style:italic; letter-spacing:.3em; color:var(--gold); font-size:1.4rem; }
.pg-thanks h2 { margin-top:8px; }
.pg-thanks p { text-align:center; font-size:1.55rem; line-height:1.9; margin-top:16px; }
.pg-thanks .pg-thanks-tel { display:inline-block; margin-top:8px; font-family:"EB Garamond",serif; font-size:2.8rem; font-weight:600; color:var(--wine); text-decoration:none; }
.pg-thanks .pg-thanks-back { display:inline-block; margin-top:26px; padding:12px 30px; background:var(--char); color:#fff; text-decoration:none; font-weight:700; font-size:1.4rem; letter-spacing:.08em; }

@media (max-width: 767px) {
  .pg-ways { grid-template-columns:1fr; }
  .pg-form { padding:24px 18px; }
  .pg-form .pg-form-row { grid-template-columns:1fr; gap:6px; padding:14px 0; }
  .pg-form .pg-form-lb { padding-top:0; }
  .pg-form .pg-form-pair { grid-template-columns:1fr; }
  .pg-form .pg-form-submit button { min-width:0; width:100%; font-size:1.8rem; padding:18px 20px; }
  .pg-thanks { padding:32px 20px; }
}

/* 2026-09-30 下層h1：「｜」以降をSPでは2行目に（1〜2文字の折り返し防止） */
.pg-hero h1 .pg-h1-sep, .pg-hero h1 .pg-h1-sub { display:inline; }
@media (max-width:720px) {
  .pg-hero h1 { text-wrap:balance; }
  .pg-hero h1 .pg-h1-sep { display:none; }
  .pg-hero h1 .pg-h1-sub { display:block; font-size:.8em; margin-top:.3em; letter-spacing:.03em; color:rgba(255,255,255,.9); }
}

/* 2026-09-30 医院紹介・アクセス：地図の埋め込み（レスポンシブ） */
.pg-map { position:relative; width:100%; padding-top:56%; background:#f0eaee; box-shadow:0 16px 40px rgba(60,40,50,.12); clear:both; }
.pg-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pg-body table.pg-info th { white-space:nowrap; width:9em; text-align:left; background:#faf6f8; color:var(--wine); }
@media (max-width:720px) {
  .pg-map { padding-top:72%; }
  .pg-body table.pg-info th { width:7em; font-size:1.35rem; }
}

/* 2026-09-30 写真付きカード（医院紹介の設備紹介など） */
.pg-photo-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; list-style:none; padding:0; margin:0; clear:both; }
.pg-photo-cards > li, .entry-content .pg-photo-cards > li { list-style:none; margin:0; padding:0 0 20px; background:#fff; border:1px solid #eee4e8; box-shadow:0 16px 40px rgba(60,40,50,.10); }
.pg-photo-cards > li::before { content:none; }
.pg-photo-cards figure { margin:0; aspect-ratio:3 / 2; overflow:hidden; background:#f0eaee; }
.pg-photo-cards figure img { width:100%; height:100%; object-fit:cover; display:block; box-shadow:none; }
.pg-photo-cards .pg-photo-card-ttl { font-family:"Noto Serif JP",serif; font-size:1.8rem; font-weight:700; color:var(--char); margin:16px 20px 0; line-height:1.5; position:relative; padding-left:14px; }
.pg-photo-cards .pg-photo-card-ttl::before { content:""; position:absolute; left:0; top:.35em; width:4px; height:1em; background:linear-gradient(180deg,var(--pink-d),var(--gold-l)); }
.pg-photo-cards p { font-size:1.4rem; line-height:1.8; color:#5c5464; margin:8px 20px 0; text-align:left; }
.pg-body > .pg-photo-cards { clear:both; }
@media (max-width:720px) {
  .pg-photo-cards { grid-template-columns:1fr; gap:16px; }
  .pg-photo-cards .pg-photo-card-ttl { font-size:1.7rem; margin:14px 16px 0; }
  .pg-photo-cards p { margin:6px 16px 0; }
}

/* 2026-09-30 Contact Form 7 用の見た目調整（テーマ内蔵フォームと同じデザインに） */
.pg-cf7 .wpcf7 form { margin:0; }
.pg-form--cf7 .wpcf7-form-control-wrap { display:block; }
.pg-form--cf7 .pg-form-pair .wpcf7-form-control-wrap { display:block; min-width:0; }
.pg-form--cf7 .wpcf7-radio, .pg-form--cf7 .wpcf7-acceptance { display:block; }
.pg-form--cf7 .wpcf7-list-item { display:block; margin:0 0 10px; }
.pg-form--cf7 .wpcf7-list-item label { display:flex; align-items:flex-start; gap:10px; font-size:1.5rem; line-height:1.6; cursor:pointer; font-weight:500; }
.pg-form--cf7 .wpcf7-list-item input { width:20px; height:20px; margin-top:3px; flex:0 0 20px; accent-color:var(--pink-d); }
.pg-form--cf7 .pg-agree .wpcf7-list-item { margin:0; }
.pg-form--cf7 .wpcf7-not-valid-tip { color:var(--pink-d); font-weight:700; font-size:1.35rem; margin-top:6px; text-align:left; }
.pg-form--cf7 .wpcf7-not-valid { border-color:var(--pink-d); background:#fff7f9; }
.pg-form--cf7 .pg-form-submit input[type="submit"] { display:inline-block; min-width:320px; max-width:100%; border:0; cursor:pointer; background:linear-gradient(135deg,#c73a63,#EA557E 55%,#f47b9c); color:#fff; text-align:center; padding:20px 40px; font-family:"Noto Serif JP",serif; font-size:2rem; font-weight:700; letter-spacing:.1em; box-shadow:0 14px 34px rgba(2,2,10,.25), inset 0 1px 0 rgba(255,255,255,.4); -webkit-appearance:none; appearance:none; border-radius:0; }
.pg-form--cf7 .pg-form-submit input[type="submit"]:disabled { opacity:.6; cursor:wait; }
.pg-form--cf7 .wpcf7-spinner { display:block; margin:10px auto 0; }
.pg-cf7 .wpcf7-response-output { margin:22px 0 0; padding:14px 18px; border:0; border-left:4px solid var(--pink-d); background:#fbf3f5; color:var(--pink-d); font-weight:700; font-size:1.45rem; }
.pg-cf7 .wpcf7 form.sent .wpcf7-response-output { border-left:0; background:#eef6f1; color:#2e6b52; text-align:center; }
@media (max-width:720px) {
  .pg-form--cf7 .pg-form-submit input[type="submit"] { min-width:0; width:100%; font-size:1.8rem; padding:18px 20px; }
}
