/* 2026-11-05 広告着地の初回案内・院長の資格と実績・料金表示・読みやすさの調整 */

/* 広告をご覧の初めての方へ（写真の直下） */
.hv-ad{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title btn" "main btn";gap:2px 28px;align-items:center;max-width:1040px;margin:0 auto;padding:16px 28px 18px;background:#fff;border:2px solid var(--deep);border-radius:var(--radius);border-top-width:6px;}
.hv-ad-title{grid-area:title;margin:0;color:var(--deep);font:700 20px/1.45 var(--font-round);}
.hv-ad-main{grid-area:main;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;}
.hv-ad-menu{margin:0;color:var(--deep);font:700 16px/1.5 var(--font-round);}
.hv-ad-price{margin:0;color:var(--orange-deep);font:700 16px/1.2 var(--font-round);white-space:nowrap;}
.hv-ad-price b{font-size:34px;letter-spacing:.01em;}
.hv-ad-price span{color:var(--ink);font-size:15px;}
.hv-ad-btn{grid-area:btn;min-height:52px;padding:12px 24px;font-size:16px;white-space:nowrap;}
.hv>.hv-ad{margin-top:20px;margin-bottom:0;}
@media(max-width:1100px){.hv>.hv-ad{margin-left:20px;margin-right:20px;}}
@media(max-width:900px){
  .hv-ad{grid-template-columns:1fr;grid-template-areas:"title" "main" "btn";gap:2px;padding:14px 16px 16px;}
  .hv>.hv-ad{margin:14px 12px 0;}
  .hv-ad-title{font-size:19px;}
  .hv-ad-price b{font-size:32px;}
  .hv-ad-btn{width:100%;margin-top:8px;white-space:normal;justify-content:center;}
}

/* 院長の資格・施術実績 */
@media(min-width:901px){.tf-entry .tf-wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}}
.tf-cred{grid-column:1 / -1;grid-row:1;padding:18px 0 4px;}
.tf-cred-title{margin:0 0 12px;color:var(--deep);font:700 20px/1.45 var(--font-round);text-align:center;}
.tf-cred-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid rgba(169,130,80,.55);border-bottom:1px solid rgba(169,130,80,.55);background:#fff;}
.tf-cred-list li{display:flex;border-left:1px solid rgba(169,130,80,.35);}
.tf-cred-list li:first-child{border-left:0;}
.tf-cred-list li>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:118px;padding:14px 10px;text-align:center;color:var(--deep);}
.tf-cred-k{color:#72592f;font:700 13.5px/1.4 var(--font-round);letter-spacing:.04em;}
.tf-cred-name{font:700 22px/1.35 var(--font-round);}
.tf-cred-sub{color:var(--ink);font-size:14px;line-height:1.45;}
.tf-cred-num{font:700 40px/1.15 var(--font-round);letter-spacing:.01em;}
.tf-cred-num small{font-size:18px;margin:0 1px;}
.tf-cred-study{margin-top:12px;padding:14px 18px;border-left:3px solid var(--brass);background:#fff;}
.tf-cred-study h3{margin:0 0 4px;color:var(--deep);font:700 17px/1.5 var(--font-round);}
.tf-cred-study p{margin:0;color:var(--ink);font-size:16px;line-height:1.75;}
.tf-entry .tf-hours-brief{grid-column:2;grid-row:2;}
.tf-entry .tf-injury{grid-column:1;grid-row:2;}
@media(max-width:900px){
  .tf-cred,.tf-entry .tf-hours-brief,.tf-entry .tf-injury{grid-column:1;grid-row:auto;}
  .tf-cred{padding-top:14px;}
  .tf-cred-title{font-size:18px;}
  .tf-cred-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tf-cred-list li:nth-child(3){border-left:0;}
  .tf-cred-list li:nth-child(n+3){border-top:1px solid rgba(169,130,80,.35);}
  .tf-cred-list li>div{min-height:112px;padding:12px 6px;}
  .tf-cred-name{font-size:20px;}
  .tf-cred-sub{font-size:13px;}
  .tf-cred-num{font-size:36px;}
  .tf-cred-study{padding:12px 14px;}
}

/* 身体づくりプログラムの料金 */
.tf-program-copy ul.tf-program-points{margin:16px 0;}
.tf-program-copy ul.tf-program-points li strong{font-size:16px;}
.tf-program-price{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--orange);background:rgba(255,255,255,.08);}
.tf-program-price-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 14px;margin:0;color:#fff;font:700 16px/1.5 var(--font-round);}
.tf-program-price-row small{font-size:14px;font-weight:500;}
.tf-program-price-row b{color:#f6d9a8;font-size:28px;line-height:1.2;white-space:nowrap;}
.tf-program-price-row b small{color:#fff;font-size:15px;font-weight:700;}
.tf-program-price-note{margin:8px 0 0;color:rgba(255,255,255,.9);font-size:16px;line-height:1.75;}
.tf-program-copy>p:not(.tf-program-kicker){font-size:16px;}

/* 3カードの料金 */
.tf-price{margin:4px 0 2px;padding:10px 12px;border-radius:10px;background:var(--cream);}
.tf-price-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 10px;margin:0;color:var(--deep);font:700 15px/1.5 var(--font-round);}
.tf-price-row+.tf-price-row{margin-top:2px;}
.tf-card .tf-price-row{flex:none;font-size:15px;color:var(--deep);}
.tf-price-row b{color:var(--deep);font-size:26px;line-height:1.25;white-space:nowrap;}
.tf-price-row b small{font-size:15px;}
.tf-card .tf-price-note{flex:none;margin:6px 0 0;color:var(--ink);font-size:15px;line-height:1.6;}

/* 読みやすさ：本文16px以上・薄い文字の濃さ */
.tf-card p{font-size:16px;line-height:1.8;color:var(--ink-2);}
.tf-card .tf-go,.tf-go{font-size:16px;}
.tf-card-sub{font-size:15px;}
.tf-lead,.tf-pain li p,.tf-service-help p,.tf-first-entry p,.tf-dir-name+p,.tf-director p{font-size:16px;}
.tf-voice blockquote{font-size:16px;}
.tf-hours-brief p{font-size:15px;}
.tf-hours-brief .tf-hours-note{color:var(--ink-soft);font-size:14px;}
.tf-injury h3{font-size:17px;}
.tf-injury-lead{font-size:15px;color:var(--ink-2);}
.tf-injury-note{font-size:14px;color:var(--ink-soft);}
.tf-injury-link,.tf-injury-line{font-size:15px;}
.tf-caption,.tf-hours-legend{color:var(--ink-soft);}
.tf-service-help>a,.tf-service-help nav a{font-size:15px;}
@media(max-width:560px){
  .tf-pain li p{font-size:16px;}
  .tf-hours-brief p{font-size:15px;}
}
@media(min-width:901px){.tf-service-grid .tf-card:not(:last-child) .tf-go{margin-bottom:47px;}}
.tf-price-row b{margin-left:auto;}
.tf-card .tf-go{padding:11px 12px;gap:4px;letter-spacing:0;}
.tf-service-grid .tf-card-body{padding:16px 14px 18px;}
@media(max-width:900px){.hv-ad-btn{padding:12px 14px;gap:6px;letter-spacing:0;}}
@media(max-width:360px){.hv-ad-btn{font-size:16px;padding:12px 10px;}}
@media(max-width:900px){.tf-entry .tf-wrap{grid-template-columns:1fr;}}
.tf-cred-sub span{display:inline-block;}
