/* =============================================================
   ボトックス専用ページ — .tr-page でスコープ
   ============================================================= */
.tr-page{
  --navy:#2c5f8a;
  --blue:#4a8fc8;
  --light-blue:#ccdff0;
  --bg-light:#f0f4fd;
  --bg-pale:#e6eef9;
  --text:#333;
  --text-mid:#555;
  --text-light:#888;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  color:var(--text)!important;
  line-height:1.8!important;
  background:#fff!important;
  padding:0!important;
}
.tr-page *,.tr-page *::before,.tr-page *::after{
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
}

/* === MV === */
.tr-page .tr-mv{
  position:relative!important;
  width:100vw!important;
  margin-left:calc(-50vw + 50%)!important;
  margin-right:calc(-50vw + 50%)!important;
  height:380px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#1e3f5c 0%,#2c5f8a 50%,#4a8fc8 100%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:56px!important;
}
.tr-page .tr-mv__bg{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;display:block!important;
  z-index:0!important;
}
.tr-page .tr-mv__overlay{
  position:absolute!important;inset:0!important;
  background:rgba(30,63,92,0.35)!important;
  z-index:1!important;
}
.tr-page .tr-mv__text{z-index:2!important;}
.tr-page .tr-intro__img img{
  width:100%!important;display:block!important;
  aspect-ratio:4/3!important;object-fit:cover!important;
  border-radius:0!important;
}
.tr-page .tr-mv__text{
  position:relative!important;text-align:center!important;
  color:#fff!important;padding:0 24px!important;
}
.tr-page .tr-mv__text h1,
.tr-page .tr-mv__title{
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  font-size:2rem!important;font-weight:600!important;
  letter-spacing:0.1em!important;margin-bottom:12px!important;
  color:#fff!important;border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-mv__text p{
  font-size:0.95rem!important;opacity:0.85!important;
  letter-spacing:0.05em!important;color:#fff!important;
  margin:0!important;border:none!important;background:none!important;
}

/* === Layout === */
.tr-page .tr-wrap{
  max-width:860px!important;
  margin:0 auto!important;
  padding:40px 24px 80px!important;
}
.tr-page .tr-section{margin-bottom:64px!important;}
.tr-page .tr-section-title{
  font-size:1.2rem!important;font-weight:700!important;
  color:var(--navy)!important;
  border-left:4px solid var(--blue)!important;
  padding-left:14px!important;
  margin-bottom:28px!important;
  letter-spacing:0.03em!important;
  background:none!important;border-radius:0!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
}

/* === Catch === */
.tr-page .tr-catch{
  text-align:center!important;
  padding:48px 24px!important;
  background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-pale) 100%)!important;
  border-radius:12px!important;
  margin-bottom:56px!important;
}
.tr-page .tr-catch h2,
.tr-page .tr-catch__title{
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  font-size:1.5rem!important;font-weight:600!important;
  color:var(--navy)!important;margin-bottom:16px!important;
  letter-spacing:0.06em!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-catch p{
  font-size:0.95rem!important;color:var(--text-mid)!important;
  max-width:600px!important;margin:0 auto!important;
  border:none!important;background:none!important;
}

/* === Botox Intro === */
.tr-page .tr-intro{
  display:flex!important;gap:32px!important;align-items:flex-start!important;
}
.tr-page .tr-intro__text{flex:1!important;}
.tr-page .tr-intro__text p{
  border:none!important;background:none!important;
  margin:0 0 1em 0!important;
}
.tr-page .tr-intro__img{
  width:260px!important;flex-shrink:0!important;
  border-radius:10px!important;overflow:hidden!important;
  background:var(--bg-light)!important;
}
.tr-page .tr-img-placeholder{
  width:100%!important;aspect-ratio:4/3!important;
  background:linear-gradient(135deg,var(--bg-pale),var(--light-blue))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:var(--blue)!important;font-size:0.8rem!important;
  text-align:center!important;padding:8px!important;
}

/* === Worry Images === */
.tr-page .tr-worry-imgs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
  align-items:start!important;
}
.tr-page .tr-worry-imgs--single{
  display:block!important;
  /* .tr-wrap の max-width:860px を超えて画面幅近くまで広げる */
  width:min(1200px, calc(100vw - 32px))!important;
  margin-left:50%!important;
  transform:translateX(-50%)!important;
  position:relative!important;
}
.tr-page .tr-worry-img{
  border-radius:10px!important;
  overflow:hidden!important;
  background:transparent!important;
}
.tr-page .tr-worry-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.tr-page .tr-worry-img--full img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.tr-page .tr-worry-img--placeholder{
  border:1px dashed var(--light-blue)!important;
}
.tr-page .tr-img-placeholder--tall{
  aspect-ratio:auto!important;
  height:100%!important;
  min-height:220px!important;
  flex-direction:column!important;
  gap:6px!important;
}
.tr-page .tr-img-placeholder--tall span{
  font-size:0.7rem!important;
  color:var(--text-light)!important;
}

/* === Worry List === */
.tr-page .tr-worry-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;
  gap:14px!important;list-style:none!important;
}
.tr-page .tr-worry-list li{
  background:#fff!important;
  border:1px solid var(--light-blue)!important;
  border-radius:8px!important;
  padding:14px 18px!important;
  font-size:0.93rem!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  list-style:none!important;margin:0!important;
  color:var(--text)!important;
}
.tr-page .tr-worry-list li::before{
  content:"✓"!important;color:var(--blue)!important;
  font-weight:700!important;flex-shrink:0!important;
}

/* === Drug Section (2 製剤紹介) === */
.tr-page .tr-drug-lead{
  font-size:0.95rem!important;color:var(--text-mid)!important;
  margin-bottom:24px!important;
  border:none!important;background:none!important;
}
.tr-page .tr-drug-lead strong{
  color:var(--navy)!important;font-weight:700!important;
}
.tr-page .tr-drug-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:20px!important;
}
.tr-page .tr-drug-card{
  background:#fff!important;
  border:1px solid var(--light-blue)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:240px 1fr!important;
}
.tr-page .tr-drug-card__media{
  background:linear-gradient(135deg,#f7faff 0%,#e6eef9 100%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  border-right:1px solid var(--light-blue)!important;
}
.tr-page .tr-drug-card__media img{
  display:block!important;
  max-width:100%!important;
  max-height:240px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  mix-blend-mode:multiply!important;
}
.tr-page .tr-drug-card__body{
  padding:28px 32px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.tr-page .tr-drug-card__eyebrow{
  font-size:0.75rem!important;
  letter-spacing:0.12em!important;
  color:var(--blue)!important;
  font-weight:600!important;
  margin-bottom:6px!important;
  text-transform:uppercase!important;
}
.tr-page .tr-drug-card__name{
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  font-size:1.25rem!important;
  font-weight:600!important;
  color:var(--navy)!important;
  margin-bottom:4px!important;
  letter-spacing:0.02em!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
  line-height:1.4!important;
}
.tr-page .tr-drug-card__maker{
  font-size:0.83rem!important;
  color:var(--text-light)!important;
  margin-bottom:14px!important;
  letter-spacing:0.04em!important;
  border:none!important;background:none!important;
}
.tr-page .tr-drug-card__desc{
  font-size:0.9rem!important;
  color:var(--text-mid)!important;
  line-height:1.85!important;
  margin-bottom:14px!important;
  border:none!important;background:none!important;
}
.tr-page .tr-drug-card__desc strong{
  color:var(--navy)!important;
  font-weight:700!important;
  border-bottom:2px solid var(--light-blue)!important;
}
.tr-page .tr-drug-card__badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.tr-page .tr-drug-card__badge{
  display:inline-block!important;
  background:var(--bg-light)!important;
  color:var(--navy)!important;
  border:1px solid var(--light-blue)!important;
  font-size:0.74rem!important;
  padding:4px 10px!important;
  border-radius:4px!important;
  font-weight:500!important;
  letter-spacing:0.02em!important;
}
.tr-page .tr-drug-card__badge--filled{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
}
.tr-page .tr-drug-compare{
  margin-top:20px!important;
  padding:18px 22px!important;
  background:var(--bg-light)!important;
  border-radius:10px!important;
  font-size:0.86rem!important;
  color:var(--text-mid)!important;
  line-height:1.8!important;
  border:none!important;
}
.tr-page .tr-drug-compare strong{color:var(--navy)!important;}

/* === Area Grid === */
.tr-page .tr-area-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:20px!important;
}
.tr-page .tr-area-card{
  border:1px solid var(--light-blue)!important;
  border-radius:10px!important;overflow:hidden!important;
  background:#fff!important;
}
.tr-page .tr-area-card__img{
  width:100%!important;aspect-ratio:3/2!important;
  background:linear-gradient(135deg,var(--bg-pale),var(--light-blue))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:0.78rem!important;color:var(--blue)!important;
  overflow:hidden!important;
}
.tr-page .tr-area-card__img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.tr-page .tr-area-card__body{padding:16px 20px!important;}
.tr-page .tr-area-card__body h4{
  font-size:0.95rem!important;font-weight:700!important;
  color:var(--navy)!important;margin-bottom:6px!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-area-card__body p{
  font-size:0.85rem!important;color:var(--text-mid)!important;
  border:none!important;background:none!important;
}

/* === Policy === */
.tr-page .tr-policy-box{
  background:var(--bg-light)!important;
  border:1px solid var(--light-blue)!important;
  border-radius:12px!important;padding:32px!important;
}
.tr-page .tr-policy-item{
  display:flex!important;gap:20px!important;
  margin-bottom:28px!important;align-items:flex-start!important;
}
.tr-page .tr-policy-item:last-child{margin-bottom:0!important;}
.tr-page .tr-policy__num{
  width:40px!important;height:40px!important;
  background:var(--blue)!important;color:#fff!important;
  border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:0.88rem!important;font-weight:700!important;
  flex-shrink:0!important;
}
.tr-page .tr-policy__text h4{
  font-size:1rem!important;font-weight:700!important;
  margin:0 0 6px!important;color:var(--text)!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-policy__text p{
  font-size:0.9rem!important;color:#666!important;margin:0!important;
  border:none!important;background:none!important;
}

/* === Flow === */
.tr-page .tr-flow-list{
  position:relative!important;list-style:none!important;padding-left:0!important;
}
.tr-page .tr-flow-list::before{
  content:''!important;position:absolute!important;
  left:19px!important;top:24px!important;bottom:24px!important;
  width:2px!important;background:var(--light-blue)!important;
}
.tr-page .tr-flow-item{
  display:flex!important;gap:20px!important;
  margin-bottom:32px!important;position:relative!important;
  align-items:flex-start!important;
  list-style:none!important;
}
.tr-page .tr-flow-item:last-child{margin-bottom:0!important;}
.tr-page .tr-flow__num{
  width:40px!important;height:40px!important;
  background:var(--navy)!important;color:#fff!important;
  border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:0.85rem!important;font-weight:700!important;
  flex-shrink:0!important;position:relative!important;z-index:1!important;
}
.tr-page .tr-flow__body h4{
  font-size:1rem!important;font-weight:700!important;
  color:var(--navy)!important;margin-bottom:6px!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-flow__body p{
  font-size:0.9rem!important;color:var(--text-mid)!important;
  border:none!important;background:none!important;
}

/* === Price Table === */
.tr-page .tr-price-table{
  width:100%!important;
  border-collapse:collapse!important;
  font-size:0.93rem!important;
  border-radius:0!important;border:none!important;
}
.tr-page .tr-price-table th{
  background:var(--navy)!important;
  color:#fff!important;
  padding:12px 16px!important;
  text-align:left!important;
  font-weight:600!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;
}
.tr-page .tr-price-table td{
  padding:14px 16px!important;
  border-bottom:1px solid var(--light-blue)!important;
  vertical-align:middle!important;
  background:#fff!important;color:var(--text)!important;
  border-top:none!important;border-left:none!important;border-right:none!important;
}
.tr-page .tr-price-table tr:nth-child(even) td{background:var(--bg-light)!important;}
.tr-page .tr-price__note{
  font-size:0.83rem!important;color:var(--text-light)!important;
  margin-top:10px!important;
}

/* === Caution === */
.tr-page .tr-caution-box{
  background:#fff8f8!important;
  border:1px solid #f0c4c4!important;
  border-radius:10px!important;padding:28px 32px!important;
}
.tr-page .tr-caution__lead{
  font-size:0.9rem!important;color:#a04040!important;
  margin-bottom:16px!important;font-weight:500!important;
  border:none!important;background:none!important;
}
.tr-page .tr-caution-list{
  list-style:none!important;padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:10px!important;
}
.tr-page .tr-caution-list li{
  font-size:0.88rem!important;color:var(--text-mid)!important;
  padding-left:18px!important;position:relative!important;
  list-style:none!important;margin:0!important;
  background:none!important;border:none!important;
}
.tr-page .tr-caution-list li::before{
  content:"・"!important;position:absolute!important;left:0!important;
  color:#c06060!important;
}

/* === Cases === */
.tr-page .tr-case-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:24px!important;
}
.tr-page .tr-case-card{
  border:1px solid var(--light-blue)!important;
  border-radius:10px!important;overflow:hidden!important;
  background:#fff!important;
}
.tr-page .tr-case__imgs{
  display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:2px!important;background:var(--light-blue)!important;
}
.tr-page .tr-case__img{
  aspect-ratio:1!important;
  background:linear-gradient(135deg,var(--bg-pale),var(--light-blue))!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:0.75rem!important;color:var(--blue)!important;
  position:relative!important;
  overflow:hidden!important;
}
.tr-page .tr-case__img img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.tr-page .tr-case__img--label::after{
  content:attr(data-label)!important;
  position:absolute!important;
  top:8px!important;left:8px!important;
  background:rgba(44,95,138,0.85)!important;
  color:#fff!important;
  font-size:0.68rem!important;
  padding:3px 8px!important;
  border-radius:3px!important;
  letter-spacing:0.08em!important;
  font-weight:600!important;
}
.tr-page .tr-case__body{padding:14px 16px!important;}
.tr-page .tr-case__label{
  display:flex!important;gap:6px!important;margin-bottom:6px!important;flex-wrap:wrap!important;
}
.tr-page .tr-case__tag{
  background:var(--bg-light)!important;color:var(--navy)!important;
  font-size:0.75rem!important;padding:2px 8px!important;
  border-radius:4px!important;font-weight:500!important;
}
.tr-page .tr-case__body p{
  font-size:0.83rem!important;color:var(--text-mid)!important;
  border:none!important;background:none!important;
}

/* === FAQ === */
.tr-page .tr-faq-item{
  border-bottom:1px solid var(--light-blue)!important;
  padding:20px 0!important;
}
.tr-page .tr-faq-item:first-child{border-top:1px solid var(--light-blue)!important;}
.tr-page .tr-faq__q{
  font-weight:700!important;font-size:0.95rem!important;
  color:var(--navy)!important;margin-bottom:10px!important;
  display:flex!important;gap:10px!important;align-items:flex-start!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.tr-page .tr-faq__q::before{
  content:"Q."!important;flex-shrink:0!important;color:var(--navy)!important;
}
.tr-page .tr-faq__a{
  font-size:0.9rem!important;color:var(--text-mid)!important;
  display:flex!important;gap:10px!important;align-items:flex-start!important;
  border:none!important;background:none!important;
}
.tr-page .tr-faq__a::before{
  content:"A."!important;color:var(--blue)!important;
  font-weight:700!important;flex-shrink:0!important;
}

/* === CTA === */
.tr-page .tr-cta{
  text-align:center!important;
  padding:56px 24px!important;
  background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-pale) 100%)!important;
  border-radius:12px!important;margin-top:64px!important;
}
.tr-page .tr-cta p{
  font-size:0.95rem!important;color:var(--text-mid)!important;
  margin-bottom:28px!important;
  border:none!important;background:none!important;
}
.tr-page .tr-cta__btn{
  display:inline-block!important;
  background:var(--navy)!important;color:#fff!important;
  padding:18px 56px!important;border-radius:50px!important;
  font-size:1rem!important;font-weight:700!important;
  text-decoration:none!important;letter-spacing:0.06em!important;
  transition:background 0.3s!important;
  border:none!important;
}
.tr-page .tr-cta__btn:hover{background:#1e4568!important;color:#fff!important;}

/* === Responsive === */
@media(max-width:640px){
  .tr-page .tr-worry-imgs{grid-template-columns:1fr!important;}
  .tr-page .tr-mv{height:260px!important;}
  .tr-page .tr-mv__title{font-size:1.4rem!important;}
  .tr-page .tr-intro{flex-direction:column!important;}
  .tr-page .tr-intro__img{width:100%!important;}
  .tr-page .tr-drug-card{
    grid-template-columns:1fr!important;
  }
  .tr-page .tr-drug-card__media{
    border-right:none!important;
    border-bottom:1px solid var(--light-blue)!important;
    padding:20px!important;
  }
  .tr-page .tr-drug-card__media img{max-height:200px!important;}
  .tr-page .tr-drug-card__body{padding:22px 24px!important;}
  .tr-page .tr-price-table th,
  .tr-page .tr-price-table td{padding:10px 12px!important;font-size:0.85rem!important;}
  .tr-page .tr-policy-box{padding:20px!important;}
  .tr-page .tr-caution-box{padding:20px!important;}
}

/* ============================================================
   文字色を 80% 黒(#333) に統一して可読性を最大化
   ─ var(--text/--text-mid/--text-light) 参照箇所はすべて #333
   ─ 紺(--navy)を文字色として使っている見出し類も #333
   ─ 背景が暗い要素(フィルバッジ・CTAボタン・料金表ヘッダー
     ・ナンバー丸・MVテキスト)の白文字はそのまま維持
   ============================================================ */
.tr-page{
  --text:#333;
  --text-mid:#333;
  --text-light:#333;
  color:#333!important;
}
.tr-page .tr-section-title,
.tr-page .tr-catch__title,
.tr-page .tr-catch p,
.tr-page .tr-intro__text p,
.tr-page .tr-drug-lead,
.tr-page .tr-drug-lead strong,
.tr-page .tr-drug-card__eyebrow,
.tr-page .tr-drug-card__name,
.tr-page .tr-drug-card__maker,
.tr-page .tr-drug-card__desc,
.tr-page .tr-drug-card__desc strong,
.tr-page .tr-drug-card__badge,
.tr-page .tr-drug-compare,
.tr-page .tr-drug-compare strong,
.tr-page .tr-area-card__body h4,
.tr-page .tr-area-card__body p,
.tr-page .tr-policy__text h4,
.tr-page .tr-policy__text p,
.tr-page .tr-flow__body h4,
.tr-page .tr-flow__body p,
.tr-page .tr-faq__q,
.tr-page .tr-faq__q::before,
.tr-page .tr-faq__a,
.tr-page .tr-case__body p,
.tr-page .tr-case__tag,
.tr-page .tr-price-table td,
.tr-page .tr-price__note,
.tr-page .tr-caution__lead,
.tr-page .tr-caution-list li,
.tr-page .tr-cta p,
.tr-page .tr-worry-list li,
.tr-page .tr-drug-card__sum-name,
.tr-page .tr-drug-card__sum-maker{
  color:#333!important;
}
/* 背景が暗色の要素は白文字を維持 */
.tr-page .tr-drug-card__badge--filled,
.tr-page .tr-cta__btn,
.tr-page .tr-price-table th,
.tr-page .tr-policy__num,
.tr-page .tr-flow__num,
.tr-page .tr-mv__text,
.tr-page .tr-mv__text h1,
.tr-page .tr-mv__title,
.tr-page .tr-mv__text p{
  color:#fff!important;
}

/* ============================================================
   アコーディオン化 — 使用薬剤カード / FAQ
   <details>/<summary> ネイティブ実装（JS不要）
   ============================================================ */

/* --- Drug card を <details> 形式に --- */
.tr-page details.tr-drug-card{
  display:block!important;
  grid-template-columns:none!important;
  padding:0!important;
}
.tr-page details.tr-drug-card > summary{
  list-style:none!important;
  cursor:pointer!important;
  padding:22px 56px 22px 26px!important;
  position:relative!important;
  display:flex!important;
  align-items:baseline!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  background:#fff!important;
  transition:background 0.2s ease!important;
  margin:0!important;
  border:none!important;
}
.tr-page details.tr-drug-card > summary::-webkit-details-marker{display:none!important;}
.tr-page details.tr-drug-card > summary::marker{display:none!important;content:""!important;}
.tr-page details.tr-drug-card > summary:hover{
  background:var(--bg-light)!important;
}
.tr-page details.tr-drug-card > summary::after{
  content:""!important;
  position:absolute!important;
  right:24px!important;top:50%!important;
  width:11px!important;height:11px!important;
  border-right:2px solid var(--navy)!important;
  border-bottom:2px solid var(--navy)!important;
  transform:translateY(-75%) rotate(45deg)!important;
  transition:transform 0.3s ease!important;
}
.tr-page details.tr-drug-card[open] > summary::after{
  transform:translateY(-25%) rotate(-135deg)!important;
}
.tr-page .tr-drug-card__sum-name{
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  font-size:1.15rem!important;
  font-weight:600!important;
  color:var(--navy)!important;
  letter-spacing:0.02em!important;
}
.tr-page .tr-drug-card__sum-maker{
  font-size:0.85rem!important;
  color:var(--text-light)!important;
  letter-spacing:0.03em!important;
}
.tr-page .tr-drug-card__inner{
  display:grid!important;
  grid-template-columns:240px 1fr!important;
  border-top:1px solid var(--light-blue)!important;
}

/* --- FAQ を <details> 形式に --- */
.tr-page details.tr-faq-item{
  border-bottom:1px solid var(--light-blue)!important;
  border-top:none!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
}
.tr-page details.tr-faq-item:first-of-type{
  border-top:1px solid var(--light-blue)!important;
}
.tr-page details.tr-faq-item > summary.tr-faq__q{
  list-style:none!important;
  cursor:pointer!important;
  padding:20px 40px 20px 0!important;
  position:relative!important;
  font-weight:700!important;
  font-size:0.95rem!important;
  color:var(--navy)!important;
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
  border:none!important;background:none!important;
  margin:0!important;
}
.tr-page details.tr-faq-item > summary.tr-faq__q::-webkit-details-marker{display:none!important;}
.tr-page details.tr-faq-item > summary.tr-faq__q::marker{display:none!important;content:""!important;}
.tr-page details.tr-faq-item > summary.tr-faq__q::after{
  content:""!important;
  position:absolute!important;
  right:6px!important;top:50%!important;
  width:11px!important;height:11px!important;
  border-right:2px solid var(--navy)!important;
  border-bottom:2px solid var(--navy)!important;
  transform:translateY(-75%) rotate(45deg)!important;
  transition:transform 0.3s ease!important;
}
.tr-page details.tr-faq-item[open] > summary.tr-faq__q::after{
  transform:translateY(-25%) rotate(-135deg)!important;
}
.tr-page details.tr-faq-item > .tr-faq__a{
  padding:0 0 20px!important;
}

/* Responsive: 薬剤カードの中身を縦並びに */
@media(max-width:640px){
  .tr-page .tr-drug-card__inner{
    grid-template-columns:1fr!important;
  }
  .tr-page details.tr-drug-card > summary{
    padding:18px 48px 18px 20px!important;
  }
  .tr-page .tr-drug-card__sum-name{font-size:1.05rem!important;}
  .tr-page .tr-drug-card__sum-maker{font-size:0.78rem!important;}
}

/* ============================================================
   背景を画面全体に白で統一 + コンテンツワイド化 + フォント統一
   ============================================================ */

/* 親コンテナ(SWELL含む)を強制的に白背景に */
html,body{background:#fff!important;}
.l-content,.l-mainContent,.l-mainContent__inner,
.post_content,.entry-content,
main,article{
  background:#fff!important;
  background-color:#fff!important;
}

/* .tr-page をビューポート全幅まで拡張（白背景が画面端まで届く） */
.tr-page{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  max-width:none!important;
  background:#fff!important;
  overflow-x:hidden!important;
}

/* コンテンツ幅を拡大（最大1280px・両端24px余白） */
.tr-page .tr-wrap{
  max-width:1280px!important;
  width:100%!important;
  margin:0 auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
  padding-top:40px!important;
  padding-bottom:80px!important;
}

/* フォントを Noto Sans JP に統一（読みやすさ最優先） */
.tr-page,
.tr-page *{
  font-family:"游ゴシック Medium","Yu Gothic Medium",YuGothic,"游ゴシック体","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
}


/* ============================================================
   共通コンポーネント (全施術ページ共有)
   ─ 画像プレースホルダ / 汎用アコーディオン
   ============================================================ */

/* 画像プレースホルダ(後で差し替え用の空枠) */
.tr-page .tr-imgph{
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:100%!important; aspect-ratio:4/3!important;
  background:repeating-linear-gradient(45deg,#f1f4f9,#f1f4f9 12px,#e8edf4 12px,#e8edf4 24px)!important;
  border:1px dashed #c8d2e0!important; border-radius:8px!important;
  color:#9aa6b6!important; font-size:0.85rem!important; letter-spacing:0.1em!important;
}
.tr-page .tr-imgph--sq{ aspect-ratio:1/1!important; }
.tr-page .tr-imgph--wide{ aspect-ratio:16/9!important; }
.tr-page .tr-imgph--mv{
  aspect-ratio:21/9!important; border-radius:0!important; border:none!important;
  margin-left:calc(-50vw + 50%)!important; margin-right:calc(-50vw + 50%)!important; width:100vw!important;
}

/* 汎用アコーディオン (.tr-acc) — こだわり / 症例 / その他 */
.tr-page .tr-acc{
  border:1px solid #e0e7f1!important; border-radius:8px!important;
  background:#fff!important; margin:0 0 12px 0!important; overflow:hidden!important;
}
.tr-page .tr-acc > summary.tr-acc__sum{
  list-style:none!important; cursor:pointer!important;
  display:flex!important; align-items:center!important; gap:12px!important;
  padding:15px 48px 15px 16px!important; position:relative!important;
  background:#f4f8fc!important; margin:0!important;
}
.tr-page .tr-acc > summary.tr-acc__sum::-webkit-details-marker{ display:none!important; }
.tr-page .tr-acc > summary.tr-acc__sum::marker{ display:none!important; content:''!important; }
.tr-page .tr-acc__num{
  flex-shrink:0!important; width:30px!important; height:30px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  background:#1E4F8E!important; border-radius:50%!important;
  font-size:13px!important; font-weight:700!important;
}
.tr-page.tr-page.tr-page .tr-acc__num{ color:#fff!important; }
.tr-page.tr-page.tr-page .tr-acc__title{
  flex:1!important; font-size:16px!important; font-weight:700!important;
  color:#1a1a1a!important; line-height:1.5!important;
}
.tr-page .tr-acc > summary.tr-acc__sum::after{
  content:'＋'!important; position:absolute!important; right:16px!important;
  top:50%!important; transform:translateY(-50%)!important;
  font-size:20px!important; font-weight:300!important; color:#1E4F8E!important; line-height:1!important;
}
.tr-page .tr-acc[open] > summary.tr-acc__sum::after{ content:'−'!important; }
.tr-page .tr-acc__body{ padding:14px 18px 18px!important; }
.tr-page.tr-page.tr-page .tr-acc__body p{
  margin:0 0 0.8em 0!important; font-size:15px!important; line-height:1.9!important; color:#444!important;
}
.tr-page.tr-page.tr-page .tr-acc__body p:last-child{ margin-bottom:0!important; }

/* 汎用シンプル料金表 (.tr-price-simple) */
.tr-page .tr-price-simple{
  width:100%!important; border-collapse:collapse!important; background:#fff!important;
  border:1px solid var(--light-blue)!important; border-radius:8px!important; overflow:hidden!important;
}
.tr-page .tr-price-simple thead th{
  background:#1E4F8E!important; color:#fff!important; font-weight:600!important;
  padding:12px 14px!important; text-align:left!important; font-size:14px!important;
}
.tr-page .tr-price-simple thead th:last-child{ text-align:right!important; }
.tr-page .tr-price-simple tbody td{
  padding:12px 14px!important; border-bottom:1px solid #eef2f8!important; font-size:14px!important;
}
.tr-page .tr-price-simple tbody td:last-child{ text-align:right!important; white-space:nowrap!important; }
.tr-page .tr-price-simple tbody tr:last-child td{ border-bottom:none!important; }

/* モバイル: 料金表をカード化 */
@media(max-width:640px){
  .tr-page .tr-price-simple,
  .tr-page .tr-price-simple tbody,
  .tr-page .tr-price-simple tr,
  .tr-page .tr-price-simple td{ display:block!important; width:auto!important; }
  .tr-page .tr-price-simple thead{ display:none!important; }
  .tr-page .tr-price-simple tr{
    border:1px solid var(--light-blue)!important; border-radius:8px!important;
    margin:0 0 12px 0!important; overflow:hidden!important; background:#fff!important;
  }
  .tr-page .tr-price-simple td:first-child{
    background:#1E4F8E!important; color:#fff!important; font-weight:600!important;
    padding:11px 14px!important; text-align:left!important;
  }
  .tr-page.tr-page.tr-page .tr-price-simple td:first-child{ color:#fff!important; }
  .tr-page .tr-price-simple td:not(:first-child){
    display:flex!important; justify-content:space-between!important;
    padding:10px 14px!important; border-top:1px solid #eef2f8!important; text-align:right!important;
  }
  .tr-page .tr-price-simple td:not(:first-child)::before{
    content:attr(data-label)!important; color:#1a1a1a!important; font-weight:400!important;
  }
}


/* ============================================================
   こだわりメッセージ枠 (.tr-policy-msg) — 全施術共有
   ============================================================ */
.tr-page .tr-policy-msg{
  background:#f4f8fc!important;
  border:1px solid #e0e7f1!important;
  border-radius:10px!important;
  padding:clamp(1.5rem,4vw,2.5rem)!important;
}
/* こだわりリード文(キャッチコピー)。h3化したので #main_content の見出しタイポ
   (20px/600) に勝てるよう ID 込みで特異度を上げ、太字700・ブランドブルーを維持 */
html body #main_content .tr-page .tr-policy-msg__lead{
  font-size:clamp(1.1rem,2.4vw,1.35rem)!important;
  font-weight:700!important;
  color:#1E4F8E!important;
  line-height:1.7!important;
  letter-spacing:0.04em!important;
  margin:0 0 1.3rem 0!important;
}
.tr-page.tr-page.tr-page .tr-policy-msg p{
  font-size:16px!important;
  line-height:1.95!important;
  color:#1a1a1a!important;
  margin:0 0 1rem 0!important;
}
.tr-page.tr-page.tr-page .tr-policy-msg p:last-child{ margin-bottom:0!important; }
.tr-page .tr-policy-msg + .tr-policy-msg{ margin-top:16px!important; }
@media(max-width:640px){
  html body #main_content .tr-page .tr-policy-msg__lead{ font-size:1.1rem!important; }
}
