@charset "UTF-8";
/* ==========================================================
   tablet-type.css — タブレット・PC 帯（768〜1920px）KV 以降の文字サイズ調整
   ※ 自動生成ファイル。直接編集せず _tools/tablet_type/gen_tablet_type.py を再実行。
   PC 値 N px → 14px + (N − 14) × c ／ c = 0.3（768px）→ 1（1920px）の線形。
   14px 以下の文字・KV・ヘッダー・フッター・追従ナビは対象外。
   ========================================================== */
@media (min-width: 768px) and (max-width: 1920px) {
  /* ---- css/sections/02_stats.css ---- */
  .stats-heading { font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw)); }
  .stats-heading-l { font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw)); }
  .stats-heading-s { font-size: min(calc(32 * var(--u)), calc(11px + 1.0938vw)); }
  .stats-note { font-size: min(calc(17 * var(--u)), calc(13.5px + 0.1823vw)); }
  @media (max-width: 1279px) {
    .stats-heading { font-size: min(calc(28 * var(--u)), calc(11.6667px + 0.8507vw)); }
    .stats-heading-l { font-size: min(calc(28 * var(--u)), calc(11.6667px + 0.8507vw)); }
    .stats-heading-s { font-size: min(calc(20 * var(--u)), calc(13px + 0.3646vw)); }
    .stats-note { font-size: min(calc(15 * var(--u)), calc(13.8333px + 0.0608vw)); }
  }
  /* ---- css/sections/03_doctors.css ---- */
  .doctors-badge { font-size: min(calc(16 * var(--u)), calc(13.6667px + 0.1215vw)); }
  .doctors-name-ja { font-size: min(calc(32 * var(--u)), calc(11px + 1.0938vw)); }
  .doctors-body { font-size: min(calc(18 * var(--u)), calc(13.3333px + 0.2431vw)); }
  .doctors-cred-title { font-size: min(calc(18 * var(--u)), calc(13.3333px + 0.2431vw)); }
  .doctors-cred-list { font-size: min(calc(16 * var(--u)), calc(13.6667px + 0.1215vw)); }
  .doctors-vtext-l { font-size: min(calc(54 * var(--u)), calc(7.3333px + 2.4306vw)); }
  .doctors-vtext-s { font-size: min(calc(46 * var(--u)), calc(8.6667px + 1.9444vw)); }
  .doctors-heading { font-size: min(calc(31 * var(--u)), calc(11.1667px + 1.033vw)); }
  .doctors-heading-l { font-size: min(calc(31 * var(--u)), calc(11.1667px + 1.033vw)); }
  .doctors-heading-s { font-size: min(calc(24 * var(--u)), calc(12.3333px + 0.6076vw)); }
  .doctors-person { font-size: min(calc(20 * var(--u)), calc(13px + 0.3646vw)); }
  .doctors-btn-label { font-size: min(calc(20 * var(--u)), calc(13px + 0.3646vw)); }
  /* ---- css/sections/04_reasons.css ---- */
  .reasons-heading-s { font-size: min(calc(40 * var(--u)), calc(9.6667px + 1.5799vw)); }
  .reasons-num-label > span { font-size: min(calc(24 * var(--u)), calc(12.3333px + 0.6076vw)); }
  .reasons-btn { font-size: min(calc(20 * var(--u)), calc(13px + 0.3646vw)); }
  /* ---- css/sections/05_worries.css ---- */
  .worries-heading-line { font-size: calc(3.3333px + 2.066vw); }
  .worries-heading-accent { font-size: calc(5.6667px + 3.0382vw); }
  .worries-lead { font-size: calc(13.3333px + 0.2431vw); }
  .worries-title { font-size: calc(12px + 0.7292vw); }
  .worries-more-text { font-size: calc(13px + 0.3646vw); letter-spacing: 0.1em; }
  /* ---- css/sections/06_clinics.css ---- */
  .clinics-title { font-size: calc(9.6667px + 1.5799vw); }
  .clinics-name { font-size: calc(12.7633px + 0.4509vw); }
  .clinics-address { font-size: calc(13.6667px + 0.1215vw); }
  .clinics-item--yao .clinics-address { font-size: calc(13.8617px + 0.0504vw); }
  /* ---- css/sections/07_anxiety.css ---- */
  .anxiety-title-l { font-size: calc(3.3333px + 2.066vw); }
  .anxiety-title-s { font-size: calc(9.6667px + 1.5799vw); }
  .anxiety-q-text { font-size: calc(12px + 0.7292vw); letter-spacing: 0.0385em; }
  .anxiety-badge-mark { font-size: calc(12.7113px + 0.4698vw); }
  .anxiety-badge-num { font-size: calc(13.6667px + 0.1215vw); }
  .anxiety-a-text { font-size: calc(13.3333px + 0.2431vw); letter-spacing: 0.0556em; }
  .anxiety-btn-text { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  /* ---- css/sections/08_criteria.css ---- */
  .criteria-title-l { font-size: calc(3.3333px + 2.066vw); }
  .criteria-title-s { font-size: calc(9.6667px + 1.5799vw); }
  .criteria-lead { font-size: calc(13.3333px + 0.2431vw); }
  .criteria-card-title { font-size: calc(12px + 0.7292vw); }
  .criteria-card-text { font-size: calc(13.6667px + 0.1215vw); }
  .criteria-btn-text { font-size: calc(13.6667px + 0.1215vw); letter-spacing: -0.0195em; }
  @media (min-width: 1280px) and (max-width: 1919px) {
    .criteria-title-l { font-size: min(calc(48 * var(--cu)), calc(3.3333px + 2.066vw)); }
    .criteria-title-s { font-size: min(calc(40 * var(--cu)), calc(9.6667px + 1.5799vw)); }
    .criteria-lead { font-size: min(calc(18 * var(--cu)), calc(13.3333px + 0.2431vw)); }
  }
  /* ---- css/sections/09_cases.css ---- */
  .cases-title { font-size: calc(3.3333px + 2.066vw); }
  .cases-lead { font-size: calc(13.3333px + 0.2431vw); }
  .cases-card-no { font-size: calc(11px + 1.0938vw); }
  .cases-card-title { font-size: calc(12.3333px + 0.6076vw); }
  .cases-card-ba { font-size: calc(12.3333px + 0.6076vw); }
  .cases-card-dt, .cases-card-dd { font-size: calc(13.3333px + 0.2431vw); }
  .cases-card-desc { font-size: calc(13.6667px + 0.1215vw); }
  .cases-card-dt { font-size: calc(13.6667px + 0.1215vw); }
  .cases-risk-title { font-size: calc(13px + 0.3646vw); }
  .cases-risk-text { font-size: calc(13.8333px + 0.0608vw); }
  /* ---- css/sections/10_pamphlet.css ---- */
  .pamphlet-title { font-size: calc(3.3333px + 2.066vw); }
  .pamphlet-title-s { font-size: calc(9.6667px + 1.5799vw); }
  .pamphlet-sub { font-size: calc(13.3333px + 0.2431vw); }
  .pamphlet-btn-label { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  /* ---- css/sections/11_menu.css ---- */
  .menu-title { font-size: calc(9.6667px + 1.5799vw); }
  .menu-label { font-size: calc(13.8333px + 0.0608vw); }
  .menu-btn-label { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  /* ---- css/sections/12_safety.css ---- */
  .safety-title { font-size: calc(3.3333px + 2.066vw); }
  .safety-title-sm { font-size: calc(9.6667px + 1.5799vw); }
  .safety-lead { font-size: calc(13.3333px + 0.2431vw); }
  .safety-card-title { font-size: calc(13px + 0.3646vw); line-height: 1em; letter-spacing: -0.0075em; }
  .safety-card-text { font-size: calc(13.6667px + 0.1215vw); }
  .safety-btn-label { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  /* ---- css/sections/13_price.css ---- */
  .price-title { font-size: calc(3.3333px + 2.066vw); }
  .price-title-s { font-size: calc(9.6667px + 1.5799vw); }
  .price-lead { font-size: calc(13.6667px + 0.1215vw); letter-spacing: -0.0195em; }
  .price-plan-label { font-size: calc(13px + 0.3646vw); line-height: 1em; letter-spacing: -0.0075em; }
  .price-plan-copy { font-size: calc(13.3333px + 0.2431vw); line-height: 1.1111em; }
  .price-plan-num { font-size: calc(8.3333px + 2.066vw); line-height: 0.6667em; }
  .price-plan-yen { font-size: calc(12.6667px + 0.4861vw); line-height: 1.4545em; }
  .price-plan-tilde { font-size: calc(11px + 1.0938vw); line-height: 1em; }
  .price-plan-tax { font-size: calc(13.5px + 0.1823vw); }
  .price-total-badge-txt { font-size: calc(12.3333px + 0.6076vw); letter-spacing: 0.02em; }
  .price-total-head { font-size: calc(12.3333px + 0.6076vw); letter-spacing: 0.02em; }
  .price-total-em { font-size: calc(10.3333px + 1.3368vw); }
  .price-total-note { font-size: calc(13.6667px + 0.1215vw); letter-spacing: 0.02em; }
  .price-btn { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  /* ---- css/sections/14_consult.css ---- */
  .consult-title { font-size: calc(9.6667px + 1.5799vw); }
  .consult-card-title { font-size: calc(11px + 1.0938vw); letter-spacing: 0.0124em; }
  .consult-card-text { font-size: calc(13.3333px + 0.2431vw); letter-spacing: 0.022em; }
  .consult-btn { font-size: calc(13px + 0.3646vw); letter-spacing: 0.0198em; }
  /* ---- css/sections/15_message.css ---- */
  .message-watermark { font-size: calc(-5px + 6.9271vw); letter-spacing: 0.0781em; }
  .message-sign { font-size: calc(1.6667px + 4.4965vw); letter-spacing: 0.0227em; }
  .message-name-kana { font-size: calc(13.6667px + 0.1215vw); letter-spacing: 0.125em; }
  .message-name-ja { font-size: calc(9.5px + 1.6406vw); letter-spacing: 0.0488em; }
  .message-name-role { font-size: calc(13.3333px + 0.2431vw); letter-spacing: 0.0556em; }
  .message-title { font-size: calc(3.3333px + 2.066vw); letter-spacing: 0.0082em; }
  .message-lead { font-size: calc(13.3333px + 0.2431vw); letter-spacing: -0.0174em; }
  .message-badge { font-size: calc(13px + 0.3646vw); line-height: 1.75em; }
  .message-more-text { font-size: calc(13px + 0.3646vw); letter-spacing: 0.1em; }
  /* ---- css/sections/16_cta.css ---- */
  .cta-btn-note { font-size: calc(13.3333px + 0.2431vw); line-height: 1.3333em; letter-spacing: 0.0556em; }
  .cta-btn-label { font-size: min(clamp(20px, 8px + 1vw, 24px), calc(12.3333px + 0.6076vw)); }
  .cta-pill { font-size: calc(13px + 0.3646vw); line-height: 1.2em; letter-spacing: 0.05em; }
  /* ---- css/sections/17_news.css ---- */
  .news-head-title { font-size: calc(9.6667px + 1.5799vw); }
  .news-item-date { font-size: calc(13.3333px + 0.2431vw); }
  .news-item-title { font-size: calc(13px + 0.3646vw); letter-spacing: 0.04em; }
  .news-item-desc { font-size: calc(13.5px + 0.1823vw); letter-spacing: 0.04em; }
}
