/*
 * itdm 共通デザイン（2026-09-29）
 *
 * 方針（塩川様と決定）: 冷たい紺＋細線＋絵文字をやめ、町の診療所の待合室の温度にする。
 * 柿色を主役の行動に、桃色をアイコンの地に、若草を「空きあり」の合図に使う。
 * 書体は見出し=Zen Maru Gothic（丸ゴシック）、本文=BIZ UDPGothic（読み間違いを減らすUD書体）。
 * 角は大きめ、影は暖色。カードの反復は避け、一覧は「1枚のまとまり＋区切り線」にする。
 */

:root{
  /* 2026-09-29 改: 他社4社（ファストドクター/おうち病院/DMM/ミナカラ）を参考に青基調へ。
     医療＝青はこの分野の共通語で、外すと「医療サービスに見えない」。
     行動は橙（青の上で最も目立ち、押す場所が迷わない）。空きは緑。 */
  --itdm-sumi:#1F2A37;      /* 文字 */
  --itdm-usu:#69707D;       /* 補助文字 */
  --itdm-kaki:#1B63C4;      /* 青 — 主役・リンク・アイコン */
  --itdm-kaki-d:#154E9C;
  --itdm-sakura:#D2660F;    /* 橙 — 行動（CTA）・手順番号 */
  --itdm-sakura-d:#A94F08;
  --itdm-momo:#E8F1FC;      /* 淡青 — アイコンの地 */
  --itdm-kinari:#F4F9FF;    /* 帯 */
  --itdm-paper:#FFFFFF;
  --itdm-white:#fff;
  --itdm-wakaba:#146B43;    /* 緑 — 空きあり・受付中 */
  --itdm-wakaba-b:#EAF6F0;
  --itdm-rule:#E2E8F0;
  --itdm-shu:#B8321F;
  --itdm-shadow:0 4px 16px rgba(27,99,196,.08);
  --itdm-radius:14px;
  /* 本文・UIは端末の書体（読み込みゼロ）。見出しだけWebフォントを使う。 */
  --itdm-ui:"BIZ UDPGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif;
  --itdm-display:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
}

/* ---- 土台 ---- */
body.itdm-warm{
  background:var(--itdm-paper);
  color:var(--itdm-sumi);
  font-family:"BIZ UDPGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif;
  line-height:1.95;
}
body.itdm-warm .itdm-maru,
body.itdm-warm h1,body.itdm-warm h2,body.itdm-warm h3{
  font-family:var(--itdm-ui);font-weight:700;
}
body.itdm-warm a{color:var(--itdm-kaki)}

/* ---- トップページ ---- */
.itdm-w{--pad:20px}
.itdm-w__wrap{max-width:33rem;margin:0 auto;padding:0 var(--pad)}
.itdm-w svg{display:block}

.itdm-w__hero{background:var(--itdm-white);padding:30px 0 34px;
  border-radius:0 0 20px 20px;box-shadow:0 4px 14px rgba(160,140,110,.08);margin-bottom:0}
.itdm-w__when{font-size:clamp(25px,7.4vw,34px);line-height:1.65;margin:0;
  letter-spacing:.02em;word-break:keep-all}
.itdm-w__when .nw{white-space:nowrap}
.itdm-w__when b{font-size:clamp(44px,14vw,60px);line-height:1;display:inline-block;
  vertical-align:-.05em;color:var(--itdm-kaki)}
.itdm-w__sub{margin:16px 0 0;font-size:15px;color:var(--itdm-usu);line-height:2}
.itdm-w__chips{display:flex;gap:9px;margin:20px 0 0;overflow-x:auto;padding:2px 0 6px}
.itdm-w__chip{flex:0 0 auto;background:var(--itdm-momo);color:var(--itdm-sumi);
  border-radius:999px;padding:9px 17px;font-size:15.5px;font-weight:700;
  font-family:var(--itdm-ui);}
.itdm-w__chip--first{background:var(--itdm-kaki);color:#fff}
.itdm-w__chipcap{margin:11px 0 0;font-size:13px;color:var(--itdm-usu)}
.itdm-w__cta{display:block;margin:22px 0 0;background:var(--itdm-kaki);color:#fff!important;
  text-align:center;text-decoration:none;font-size:18px;padding:19px;border-radius:14px;
  letter-spacing:.05em;font-family:var(--itdm-ui);font-weight:700;
  box-shadow:0 3px 0 var(--itdm-kaki-d)}
.itdm-w__cta:hover{background:var(--itdm-kaki-d);box-shadow:0 2px 0 var(--itdm-kaki-d);transform:translateY(2px)}
.itdm-w__cta:focus-visible{outline:3px solid var(--itdm-sakura);outline-offset:3px}

.itdm-w__band{background:var(--itdm-kinari);margin-top:0}
.itdm-w__sec{padding:34px 0}
.itdm-w__h2{font-size:21px;margin:0 0 6px;letter-spacing:.04em;color:var(--itdm-sumi)}
.itdm-w__note{margin:0 0 20px;color:var(--itdm-usu);font-size:14px}

/* 一覧は「1枚のまとまり＋区切り線」。カードを人数分並べない。 */
.itdm-w__rows{list-style:none;margin:0;padding:0;background:var(--itdm-white);
  border-radius:var(--itdm-radius);overflow:hidden;box-shadow:var(--itdm-shadow)}
.itdm-w__rows li+li{border-top:1.5px solid var(--itdm-kinari)}
.itdm-w__row{display:flex;align-items:center;gap:15px;padding:16px 18px;
  text-decoration:none;color:var(--itdm-sumi)}
.itdm-w__row:hover{background:var(--itdm-kinari)}
.itdm-w__row:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:-3px}
.itdm-w__ico{flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  background:var(--itdm-momo);display:flex;align-items:center;justify-content:center}
.itdm-w__ico svg{width:24px;height:24px;stroke:var(--itdm-kaki);stroke-width:2;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.itdm-w__name{flex:1;font-size:16.5px;font-family:var(--itdm-ui);
  font-weight:700;word-break:keep-all;overflow-wrap:anywhere;line-height:1.5}
.itdm-w__time{font-size:12.5px;white-space:nowrap;font-weight:700;color:var(--itdm-wakaba);
  background:var(--itdm-wakaba-b);border-radius:999px;padding:5px 11px}
.itdm-w__more{display:inline-block;margin-top:14px;font-size:14.5px;color:var(--itdm-kaki);
  text-decoration:none;font-weight:700;font-family:var(--itdm-ui);}

/* 手順：本当に順序があるのでここだけ番号を使う */
.itdm-w__flow{list-style:none;margin:0;padding:0;counter-reset:s}
.itdm-w__flow li{counter-increment:s;display:flex;gap:15px;padding:16px 2px}
.itdm-w__flow li+li{border-top:1.5px dashed var(--itdm-rule)}
.itdm-w__flow li::before{content:counter(s);font-family:var(--itdm-ui);
  font-size:18px;color:#fff;background:var(--itdm-sakura);width:32px;height:32px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;line-height:1;font-weight:700}
.itdm-w__flow .t{font-weight:700;font-size:16px;display:block;
  font-family:var(--itdm-ui);}
.itdm-w__flow .d{color:var(--itdm-usu);font-size:14px;line-height:1.85}

.itdm-w__warn{margin:0;padding:18px 20px;background:#FDF0EC;border-radius:18px;
  border-left:5px solid var(--itdm-shu);font-size:14px;line-height:1.9}
.itdm-w__warn b{color:var(--itdm-shu)}

.itdm-w__links{padding:24px 0 44px;font-size:13.5px;color:var(--itdm-usu)}
.itdm-w__links a{color:var(--itdm-usu);text-decoration:none;margin-right:16px;
  display:inline-block;margin-bottom:9px}
.itdm-w__links a:hover{color:var(--itdm-kaki)}

@media (prefers-reduced-motion:reduce){
  .itdm-w__cta,.itdm-w__cta:hover{transform:none;transition:none}
}

/* ---- ヘッダー（既存の青グラデーションを暖色に置き換える） ---- */
body.itdm-warm .itdm-patient-header{background-color:rgba(255,252,247,.97);
  border-bottom:1px solid var(--itdm-rule)}
body.itdm-warm .itdm-patient-header__mark{background:var(--itdm-kaki)!important}
body.itdm-warm .itdm-patient-header__site-name,
body.itdm-warm .itdm-patient-header__brand{color:var(--itdm-sumi);
  font-family:var(--itdm-ui);font-weight:700}
body.itdm-warm .itdm-patient-header__nav-link{color:var(--itdm-kaki);
  border-color:var(--itdm-momo);background-color:#fff;border-radius:999px;
  font-family:var(--itdm-ui);font-weight:700}
body.itdm-warm .itdm-patient-header__nav-link:hover{background-color:var(--itdm-momo)}
body.itdm-warm .itdm-patient-header__nav-link--primary{background:var(--itdm-kaki)!important;
  color:#fff;border-color:var(--itdm-kaki)}
body.itdm-warm .itdm-patient-header__nav-link--primary:hover{background:var(--itdm-kaki-d)!important}

/* ---- テーマ由来の青い罫線・見出し装飾を消す ---- */
body.itdm-warm .itdm-w__h2,
body.itdm-warm .itdm-w h1,
body.itdm-warm .itdm-w h2{border:0!important;padding-left:0!important;
  background:none!important;position:static}
body.itdm-warm .itdm-w__h2::before,
body.itdm-warm .itdm-w__h2::after,
body.itdm-warm .itdm-w h1::before,
body.itdm-warm .itdm-w h1::after{display:none!important;content:none!important}
body.itdm-warm .itdm-w{margin-top:0}
body.itdm-warm .itdm-w a{text-decoration:none}

/* ---- 予約フロー（既存の青を暖色に。要素の作りは変えず色と形だけ寄せる） ---- */
body.itdm-warm .itdm-step-hero h1{font-family:var(--itdm-ui);font-weight:600;
  border:0!important;color:var(--itdm-sumi)}
body.itdm-warm .itdm-step-badge{background:var(--itdm-momo)!important;color:var(--itdm-kaki)!important;
  font-family:var(--itdm-ui);border-radius:999px}
body.itdm-warm .itdm-step-card{background:var(--itdm-white);border-radius:var(--itdm-radius);
  box-shadow:var(--itdm-shadow);border:0}
body.itdm-warm .itdm-step-lead{color:var(--itdm-usu)}

/* タブ */
body.itdm-warm .itdm-step-tablabel{border-color:var(--itdm-rule)!important;
  color:var(--itdm-usu)!important;font-family:var(--itdm-ui);background:#fff}
body.itdm-warm #itdm_step1_symptom:checked ~ .itdm-step-tablabels label[for="itdm_step1_symptom"],
body.itdm-warm #itdm_step1_dept:checked ~ .itdm-step-tablabels label[for="itdm_step1_dept"],
body.itdm-warm #itdm_tab_symptom:checked ~ .itdm-tab-labels label[for="itdm_tab_symptom"],
body.itdm-warm #itdm_tab_dept:checked ~ .itdm-tab-labels label[for="itdm_tab_dept"]{
  background:var(--itdm-kaki)!important;border-color:var(--itdm-kaki)!important;color:#fff!important}

/* 診療内容カード */
body.itdm-warm .itdm-cat-card{border:1.5px solid var(--itdm-rule)!important;
  border-radius:var(--itdm-radius)!important;background:#fff;box-shadow:none}
body.itdm-warm .itdm-cat-card:hover{background:var(--itdm-kinari)}
body.itdm-warm .itdm-cat-card--selected{border-color:var(--itdm-kaki)!important;
  box-shadow:0 0 0 3px rgba(47,107,87,.16)!important}
body.itdm-warm .itdm-cat-card__label{font-family:var(--itdm-ui);font-weight:600;
  color:var(--itdm-sumi);word-break:keep-all}
body.itdm-warm .itdm-cat-card__icon{background:var(--itdm-momo);border-radius:50%;
  width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center}
body.itdm-warm .itdm-cat-card__icon svg{width:24px;height:24px;stroke:var(--itdm-kaki);
  stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
body.itdm-warm .itdm-cat-card__avail{color:var(--itdm-wakaba);background:var(--itdm-wakaba-b);
  border-radius:999px;padding:4px 10px;font-weight:700}

/* 時刻・カレンダー */
body.itdm-warm .itdm-timechip{border-color:var(--itdm-rule)!important;border-radius:999px;
  font-family:var(--itdm-ui);color:var(--itdm-sumi)}
body.itdm-warm .itdm-timechip:hover,
body.itdm-warm .itdm-timechip[aria-pressed="true"]{background:var(--itdm-kaki)!important;
  border-color:var(--itdm-kaki)!important;color:#fff!important}
body.itdm-warm .itdm-monthcal__cell{border-radius:12px;font-family:var(--itdm-ui);}
body.itdm-warm .itdm-monthcal__dot{background:var(--itdm-kaki)!important}
body.itdm-warm .itdm-monthcal__wd{color:var(--itdm-usu)}

/* 進む/戻るのバー */
body.itdm-warm .itdm-gobar,
body.itdm-warm .itdm-step12-bottom-bar-v1,
body.itdm-warm .itdm-step12-bottom-bar-v2{background:rgba(255,252,247,.97)!important;
  border-top:1px solid var(--itdm-rule)!important}
body.itdm-warm .itdm-gobar a,
body.itdm-warm .itdm-gobar button{font-family:var(--itdm-ui);}

/* 進む/戻るボタン（青グラデーションを暖色へ） */
body.itdm-warm .itdm-gobar__btn{background:var(--itdm-kaki)!important;
  font-family:var(--itdm-ui);border-radius:14px!important;
  box-shadow:0 3px 0 var(--itdm-kaki-d)!important}
body.itdm-warm .itdm-gobar__btn.is-disabled{background:var(--itdm-rule)!important;
  color:var(--itdm-usu)!important;box-shadow:none!important}
body.itdm-warm .itdm-gobar__back{border-color:var(--itdm-rule)!important;
  color:var(--itdm-sumi)!important;border-radius:14px!important;
  font-family:var(--itdm-ui);background:#fff!important}
body.itdm-warm .itdm-step12-bottom-bar-v1 .itdm-step12-num,
body.itdm-warm .itdm-step12-bottom-bar-v2 .itdm-step12-num{background:var(--itdm-kaki)!important}

/* 「最短 本日 20:05〜」がカード内で2行に割れていたので収める */
body.itdm-warm .itdm-cat-card__avail{font-size:12px;white-space:nowrap;display:inline-block}

/* 選んだ診療内容の表示（追従バーから画面本体へ移した） */
/* 2026-09-30: flex + flex-wrap だと、値が長い行（例「2026年9月30日 20:05」）で
   「変更」だけが2行目に折り返され、行ごとにボタンの位置が変わって見えた（実機で判明）。
   3列グリッドにして、値の列だけを縮めて折り返す。「変更」は常に1行目の右端。 */
body.itdm-warm .itdm-step-selected{display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:2px 10px;
  margin:0 0 18px;padding:11px 14px;background:var(--itdm-kinari);border-radius:12px;font-size:14px}
body.itdm-warm .itdm-step-selected span{color:var(--itdm-usu);font-size:13px}
body.itdm-warm .itdm-step-selected strong{font-family:var(--itdm-ui);font-size:16px;
  color:var(--itdm-sumi)}
body.itdm-warm .itdm-step-selected a{margin-left:auto;color:var(--itdm-kaki);font-weight:700;
  font-size:13.5px;border-bottom:1px solid var(--itdm-rule)}
/* 見出しのテーマ由来の罫線を予約フローでも消す */
body.itdm-warm .itdm-step-card h2,body.itdm-warm .itdm-step-card h3{border:0!important;
  padding-left:0!important;background:none!important;font-family:var(--itdm-ui);}
body.itdm-warm .itdm-step-card h2::before,body.itdm-warm .itdm-step-card h2::after{
  display:none!important;content:none!important}

/* 進むバーは画面下に固定されるので、その高さぶん本文に余白を足す
   （追従バーを廃止したときに、余白を出していたCSSごと消えて内容が隠れた） */
body.itdm-warm:not(.wp-admin){padding-bottom:96px}
@media (min-width:620px){body.itdm-warm:not(.wp-admin){padding-bottom:88px}}

/* ---- テーマ(Lightning)由来の青を全体で上書き ----
   style.css が `.mainSection-title, h2 { border-top: 2px solid #337ab7 }` を当てており、
   サイト中の見出しに青い罫線が入っていた。罫線そのものは構造として役に立つので、
   消さずに暖色へ置き換える（トップと予約フローの見出しだけは別途消している）。 */
body.itdm-warm h2,
body.itdm-warm .mainSection-title{
  border-top-color:var(--itdm-rule)!important;
  border-bottom-color:var(--itdm-rule)!important;
  color:var(--itdm-sumi);
  font-family:var(--itdm-ui);
}
body.itdm-warm h3,body.itdm-warm h4{border-color:var(--itdm-rule)!important;
  color:var(--itdm-sumi);font-family:var(--itdm-ui);}
body.itdm-warm .entry-body a:not(.button):not([class*="btn"]){color:var(--itdm-kaki)}
body.itdm-warm .btn-primary,
body.itdm-warm .vk_button_link,
body.itdm-warm input[type="submit"],
body.itdm-warm button[type="submit"]{background-color:var(--itdm-kaki)!important;
  border-color:var(--itdm-kaki)!important;font-family:var(--itdm-ui);}
body.itdm-warm .btn-primary:hover,
body.itdm-warm input[type="submit"]:hover,
body.itdm-warm button[type="submit"]:hover{background-color:var(--itdm-kaki-d)!important;
  border-color:var(--itdm-kaki-d)!important}
/* 入力欄も暖色に揃える */
body.itdm-warm input[type="text"],body.itdm-warm input[type="email"],
body.itdm-warm input[type="tel"],body.itdm-warm input[type="password"],
body.itdm-warm input[type="date"],body.itdm-warm select,body.itdm-warm textarea{
  border:1.5px solid var(--itdm-rule);border-radius:10px;background:#fff;
  padding:11px 12px;font-family:"BIZ UDPGothic",sans-serif;
  /* 2026-10-01: Lightning(Bootstrap)の .form-control が
     height:calc(1.5em + 2px + .75rem) = 33.5px を**固定**しており、
     ここで padding を 11px に上書きしたため、上下22pxの余白で
     文字の入る高さが11.5pxしか残らず**入力した文字が切れていた**
     （お問い合わせの4項目すべて。空欄では気づけない）。
     高さは padding に決めさせる。
     あわせて16pxにする。iOSは16px未満の入力欄で**勝手に拡大**するため。 */
  height:auto;font-size:16px;line-height:1.5}
body.itdm-warm input:focus,body.itdm-warm select:focus,body.itdm-warm textarea:focus{
  outline:none;border-color:var(--itdm-kaki);box-shadow:0 0 0 3px rgba(47,107,87,.14)}

/* 各部品のCSSが個別に system-ui を指定しているため、本文だけ既定の書体に戻っていた。
   見出し（Klee One）は保ったまま、本文系を読みやすいUD書体に揃える。 */
body.itdm-warm [class*="itdm-"] p,
body.itdm-warm [class*="itdm-"] li,
body.itdm-warm [class*="itdm-"] td,
body.itdm-warm [class*="itdm-"] label,
body.itdm-warm [class*="itdm-"] input,
body.itdm-warm [class*="itdm-"] select,
body.itdm-warm [class*="itdm-"] textarea{
  font-family:"BIZ UDPGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif;
}

/* ---- トップ（2026-09-29 改・他社の型に合わせる） ---- */
.itdm-h{background:linear-gradient(180deg,var(--itdm-kinari),#fff);padding:16px 0 26px}
.itdm-h__badge{display:inline-flex;align-items:center;gap:6px;background:#fff;
  border:1.5px solid #CFE6D9;color:var(--itdm-wakaba);font-weight:700;font-size:13px;
  border-radius:999px;padding:5px 13px;font-family:var(--itdm-ui);}
.itdm-h__badge i{width:8px;height:8px;border-radius:50%;background:var(--itdm-wakaba);display:block}
.itdm-h__title{font-size:clamp(24px,7.4vw,33px);line-height:1.45;margin:13px 0 6px;
  font-weight:900;letter-spacing:.01em;word-break:keep-all;
  font-family:var(--itdm-ui);border:0!important}
.itdm-h__title em{font-style:normal;color:var(--itdm-kaki)}
.itdm-h__lead{margin:0;font-size:15px;color:var(--itdm-usu)}
.itdm-h__illust{display:block;margin:10px auto 0;width:100%;max-width:250px;height:auto}
/* 広い画面では文章とイラストを横に並べる（2026-09-30）。
   以前はイラストを絶対配置していたため、見出しの上に重なっていた。 */
@media (min-width:620px){
  /* ヒーローだけ横幅を広げる。33remのままだと文章側が狭く、見出しが3行に割れる。 */
  .itdm-h .itdm-w__wrap{max-width:46rem}
  .itdm-h__row{display:flex;align-items:center;gap:30px}
  .itdm-h__col{flex:1 1 auto;min-width:0}
  .itdm-h__illust{flex:0 0 auto;width:220px;max-width:220px;margin:0}
  .itdm-h__title{font-size:36px}
}
@media (min-width:820px){
  .itdm-h .itdm-w__wrap{max-width:52rem}
  .itdm-h__illust{width:260px;max-width:260px}
}
.itdm-h__card{background:#fff;border:1.5px solid var(--itdm-rule);border-radius:16px;
  padding:16px;box-shadow:var(--itdm-shadow);margin-top:16px}
.itdm-h__next{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.itdm-h__next span{font-size:13.5px;color:var(--itdm-usu);font-weight:700}
.itdm-h__next b{font-size:25px;color:var(--itdm-kaki);font-weight:900;
  font-family:var(--itdm-ui);}
.itdm-h__chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin:0 0 14px}
.itdm-h__chip{flex:0 0 auto;border:1.5px solid var(--itdm-momo);background:var(--itdm-kinari);
  color:var(--itdm-kaki);font-weight:700;border-radius:8px;padding:9px 14px;font-size:15px;
  font-family:var(--itdm-ui);}
.itdm-h__chip--first{background:var(--itdm-kaki);border-color:var(--itdm-kaki);color:#fff}
.itdm-h__cta{display:block;background:var(--itdm-sakura);color:#fff!important;text-align:center;
  text-decoration:none;font-size:20px;font-weight:900;padding:19px;border-radius:999px;
  font-family:var(--itdm-ui);box-shadow:0 4px 0 var(--itdm-sakura-d)}
.itdm-h__cta small{display:block;font-size:12px;font-weight:700;opacity:.92;margin-top:2px}
.itdm-h__cta:hover{background:var(--itdm-sakura-d);box-shadow:0 2px 0 var(--itdm-sakura-d)}
/* 2026-09-30: 広い画面では「予約に進む」が約760pxまで伸び、間延びして見えていた。
   スマホの全幅ボタンをそのまま引き伸ばした見た目になるため、押しやすい幅に収めて中央に置く。 */
@media (min-width:620px){
  .itdm-h__cta{max-width:360px;margin-left:auto;margin-right:auto}
}
.itdm-h__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}
.itdm-h__trust div{background:var(--itdm-kinari);border-radius:12px;padding:12px 6px;text-align:center}
.itdm-h__trust svg{width:26px;height:26px;margin:0 auto 6px;stroke:var(--itdm-kaki);
  stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.itdm-h__trust b{display:block;font-size:12.5px;font-weight:700;line-height:1.5;
  font-family:var(--itdm-ui);}
/* 流れ（予約→診察→お薬） */
.itdm-h__flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;
  gap:6px;text-align:center;margin:0;padding:0;list-style:none}
.itdm-h__flow .s svg{width:30px;height:30px;margin:0 auto 7px;stroke:var(--itdm-kaki);
  stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.itdm-h__flow .s b{display:block;font-size:13.5px;font-weight:700;line-height:1.5;
  font-family:var(--itdm-ui);}
.itdm-h__flow .s i{display:block;font-style:normal;font-size:11.5px;color:var(--itdm-usu);
  margin-top:3px;line-height:1.5}
.itdm-h__flow .ar{color:var(--itdm-kaki);font-weight:900;padding-top:8px}
/* 症状一覧のアイコンは角丸の四角に（参考サイトに近い） */
body.itdm-warm .itdm-w__ico{border-radius:12px}
body.itdm-warm .itdm-w__name,body.itdm-warm .itdm-w__h2{
  font-family:var(--itdm-ui);font-weight:700}
body.itdm-warm .itdm-w__h2{font-weight:900}
body.itdm-warm .itdm-w__time{color:var(--itdm-wakaba);background:var(--itdm-wakaba-b);
  border-radius:6px}

/* 診療内容一覧（/symptoms/）のアイコン */
body.itdm-warm .itdm-syl-card__icon{width:44px;height:44px;border-radius:12px;
  background:var(--itdm-momo);display:inline-flex;align-items:center;justify-content:center}
body.itdm-warm .itdm-syl-card__icon svg{width:23px;height:23px;stroke:var(--itdm-kaki);
  stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}

/* 記事ハブ（医学情報・お薬の知識）のアイコン */
.hub-card .ic{width:44px;height:44px;border-radius:12px;background:#E8F1FC;
  display:inline-flex!important;align-items:center;justify-content:center;font-size:0;
  color:#1B63C4;overflow:hidden}
.hub-card .ic svg{display:block;width:23px;height:23px}

/* 季節のひとこと（見出しは固定、ここだけ移ろう） */
.itdm-h__season{margin:12px 0 0;font-size:13.5px}
.itdm-h__season a,.itdm-h__season{color:var(--itdm-usu)}
.itdm-h__season a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;
  background:var(--itdm-kinari);border:1px solid var(--itdm-rule);border-radius:999px;
  padding:7px 14px;color:var(--itdm-kaki);font-weight:700}
.itdm-h__season a:hover{background:var(--itdm-momo)}
.itdm-h__season a span{font-weight:900}

/* ランディングページのアイコン（絵文字を線画に置き換えたぶんの見た目） */
.itdm-lp .sym .ico,.lp .sym .ico,.sym .ico{color:#1B63C4;display:inline-flex;
  align-items:center;justify-content:center;font-size:0}
.sym .ico svg{display:block}
.chip svg,.treat-note svg,h3 svg{color:currentColor}
.scr-card .ic,.rec{color:#1B63C4;display:inline-flex;align-items:center}
.ico svg{display:block;margin:0 auto}
.prob .ico{color:#1B63C4;display:inline-flex;align-items:center;justify-content:center;font-size:0}
.prob .ico svg{display:block}
/* ご利用ガイドのアイコン */
body.itdm-warm .itdm-guide-card svg,body.itdm-warm .guide-card svg{color:var(--itdm-kaki);
  display:block;margin:0 auto 8px}
/* マイページのアイコン */
body.itdm-warm .itdm-mp-bt__ic{color:var(--itdm-kaki);display:inline-flex;
  align-items:center;justify-content:center;font-size:0}
body.itdm-warm .itdm-mp-bt__ic svg{display:block}
body.itdm-warm .itdm-mypage-vc__icon svg,body.itdm-warm .itdm-mypage-visit-today-icon svg{display:block}
/* 診察室の操作ボタン（絵文字→線画） */
.itdm-vcroom__btn svg{display:block;margin:0 auto 2px}
.itdm-vcrecmenu__item svg{display:inline-block;vertical-align:-.2em;margin-right:4px}
/* クリニック画面のナビ（絵文字→線画） */
.itdm-clinic__nav-icon{display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;font-size:0}
.itdm-clinic__nav-icon svg{display:block}


/* ---- 見出しだけWebフォント（2026-09-30）----
   日本語のWebフォントは、そのフォントで描かれる文字の範囲ぶんだけ分割配信される。
   ボタンやラベルにも当てると「ページの全文字」を落とすことになり、実測で1,174KBあった。
   見出しに絞ると必要な文字が数十字で済む。本文とUIは端末の書体（読み込みゼロ）。 */
body.itdm-warm h1,
body.itdm-warm h2,
body.itdm-warm .itdm-h__title,
body.itdm-warm .itdm-h__next b,
body.itdm-warm .itdm-w__h2{font-family:var(--itdm-display);font-weight:900}

/* ---- 押しやすさ・読みやすさ（2026-09-30 実測して修正）----
   患者は体調が悪い状態で、片手でスマホを操作する。高齢の方も使う。
   実測で ヘッダーのボタンが10.6px・「変更」が27×24px と、指でも目でも厳しかった。
   指で押す場所は最低40px、文字は13px以上を目安にする。 */
body.itdm-warm .itdm-patient-header__nav-link{
  font-size:13.5px!important;min-height:40px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 16px}
body.itdm-warm .itdm-ph-name-full,
body.itdm-warm .itdm-ph-name-short{font-size:13.5px!important}
body.itdm-warm .itdm-step-selected a{min-height:40px;display:inline-flex;align-items:center;
  padding:0 10px;margin-left:auto;font-size:14px}
body.itdm-warm .itdm-timechip__u{font-size:11.5px}
/* 本文中の表（運営者情報など）。2026-09-30: スマホで見出し列が42pxまで潰れ、
   「サービス名」が縦1文字ずつに割れて読めなかった。見出しは折り返さず、
   入りきらない表だけ横スクロールさせる。 */
body.itdm-warm .entry-body table th{white-space:nowrap}
body.itdm-warm .entry-body .wp-block-table{overflow-x:auto}
body.itdm-warm .entry-body table{width:100%}
/* 2026-09-30: 狭い画面では「2026年9月30日 20:05」が134pxの列に入らず、
   日付と時刻が2行に割れて読みにくかった。ラベルを上、値を下の2段にして、
   値に行の幅をまるごと使わせる。「変更」は右上に固定。 */
@media (max-width:480px){
  body.itdm-warm .itdm-step-selected{grid-template-columns:minmax(0,1fr) auto;
    row-gap:2px;align-items:center}
  body.itdm-warm .itdm-step-selected span{grid-column:1;grid-row:1}
  body.itdm-warm .itdm-step-selected a{grid-column:2;grid-row:1;margin-left:0;justify-self:end}
  body.itdm-warm .itdm-step-selected strong{grid-column:1;grid-row:2;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* 画面内のリンクも、行の中の小さな文字は押せる高さを確保する */
body.itdm-warm .itdm-w__more,
body.itdm-warm .itdm-h__season a{min-height:40px;display:inline-flex;align-items:center}
/* 残りの押しにくい要素（ロゴ・年月の切り替え） */
body.itdm-warm .itdm-patient-header__brand{min-height:42px;display:inline-flex;align-items:center}
body.itdm-warm .itdm-calendar-month{min-height:42px;font-size:17px;padding:0 14px}
/* CTAの補足（ボタンの外・読める色で） */
.itdm-h__ctanote{margin:10px 0 0;text-align:center;font-size:13px;color:var(--itdm-usu)}
/* フッターのリンクも指で押せる高さに */
body.itdm-warm .itdm-w__links a{min-height:40px;display:inline-flex;align-items:center;
  margin-right:18px}
/* ステップ表示：未通過の番号が白文字で薄い丸の上に乗り、コントラスト1.2でほぼ見えなかった
   （2026-09-30 実測）。番号が読めないと「あと何段あるか」が伝わらない。 */
body.itdm-warm .itdm-progress-num{background:#E2E8F0;color:#5A626E}
body.itdm-warm .itdm-progress-item.active .itdm-progress-num{background:var(--itdm-kaki);color:#fff}
body.itdm-warm .itdm-progress-item.done .itdm-progress-num{background:var(--itdm-sakura);color:#fff}
/* 再診予約ボタン（2026-10-10）: 主ボタンの下に、白地＋橙の枠で */
.itdm-h__cta--rebook{background:#fff;color:var(--itdm-sakura)!important;border:2px solid var(--itdm-sakura);margin-top:10px;box-shadow:none}
.itdm-h__cta--rebook small{color:var(--itdm-usu);opacity:1}
.itdm-h__cta--rebook:hover{background:#FBF1E6;box-shadow:none}
/* 再診予約の色分け（2026-10-11）: 上の共通規則（文字=墨・枠=!important）より後に置いて勝たせる。
   緑=前回の院だけ空き／青=前回の院・他の院とも空き／灰=他の院だけ空き。文字色も同じ色にする。 */
body.itdm-warm .itdm-timechip.is-same{background:#DDF1E5!important;border-color:#146B43!important;color:#146B43!important}
body.itdm-warm .itdm-timechip.is-both{background:#E3EEFB!important;border-color:#1B63C4!important;color:#1B63C4!important}
body.itdm-warm .itdm-timechip.is-other{background:#F1F3F5!important;border-color:#CBD5E1!important;color:#6B7280!important}
body.itdm-warm .itdm-timechip.is-same .itdm-timechip__u,body.itdm-warm .itdm-timechip.is-both .itdm-timechip__u,body.itdm-warm .itdm-timechip.is-other .itdm-timechip__u{color:inherit;opacity:.8}
body.itdm-warm .itdm-timechip.is-same:hover,body.itdm-warm .itdm-timechip.is-both:hover,body.itdm-warm .itdm-timechip.is-other:hover,
body.itdm-warm .itdm-timechip.is-same.selected,body.itdm-warm .itdm-timechip.is-both.selected,body.itdm-warm .itdm-timechip.is-other.selected{background:var(--itdm-kaki)!important;border-color:var(--itdm-kaki)!important;color:#fff!important}
/* 日付のマスは塗らない（塗ると見分けにくい・2026-10-11 塩川様）。印（点）の色だけで区別する。 */
body.itdm-warm .itdm-monthcal__cell.has-same:not(.is-active),body.itdm-warm .itdm-monthcal__cell.has-other-only:not(.is-active){background:#fff!important;border-color:var(--itdm-rule)!important}
body.itdm-warm .itdm-monthcal__cell.has-same:not(.is-active):hover,body.itdm-warm .itdm-monthcal__cell.has-other-only:not(.is-active):hover{background:#F4F9FF!important;border-color:var(--itdm-kaki)!important}
body.itdm-warm .itdm-monthcal__cell.has-same .itdm-monthcal__dot{background:#146B43!important;width:10px;height:10px}
body.itdm-warm .itdm-monthcal__cell.has-other-only .itdm-monthcal__dot{background:#94A3B8!important;width:10px;height:10px}
body.itdm-warm .itdm-monthcal__cell.is-active .itdm-monthcal__dot{background:#fff!important}

/* トップ「読みもの」（2026-10-20）: 先頭1本を大きく、残りは一覧の型。「どんなときに読むか」を主役に */
.itdm-w__read{padding-top:0}
.itdm-w__read .itdm-w__more+.itdm-w__more{margin-left:20px}
body.itdm-warm .itdm-w__time--med{color:var(--itdm-kaki);background:var(--itdm-momo)}
.itdm-w__feat{display:block;text-decoration:none;color:var(--itdm-sumi);background:var(--itdm-white);
  border:2px solid var(--itdm-momo);border-radius:var(--itdm-radius);padding:16px 18px 18px;margin-bottom:12px;
  box-shadow:var(--itdm-shadow)}
.itdm-w__feat:hover{border-color:var(--itdm-kaki)}
.itdm-w__feat:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:2px}
.itdm-w__feat-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.itdm-w__feat-date{font-size:12.5px;color:var(--itdm-usu)}
.itdm-w__feat-body{display:flex;gap:14px;align-items:flex-start}
.itdm-w__ico--lg{width:56px;height:56px}
.itdm-w__ico--lg svg{width:30px;height:30px}
.itdm-w__feat-text{display:block;flex:1;min-width:0}
.itdm-w__feat-q{display:block;font-family:var(--itdm-display);font-weight:900;font-size:19px;line-height:1.45;
  color:var(--itdm-kaki);word-break:normal;line-break:strict;overflow-wrap:anywhere}
.itdm-w__feat-d{display:block;margin-top:8px;font-size:14px;line-height:1.85;color:var(--itdm-usu)}
.itdm-w__feat-go{display:inline-flex;align-items:baseline;gap:10px;margin-top:10px;font-family:var(--itdm-ui);
  font-weight:700;font-size:15px;color:var(--itdm-sakura)}
.itdm-w__feat-go small{font-size:12.5px;font-weight:400;color:var(--itdm-usu)}
.itdm-w__rows--read .itdm-w__row{padding:14px 18px}
.itdm-w__q{display:block;font-size:15.5px;font-weight:700;line-height:1.5;word-break:normal;line-break:strict}
.itdm-w__meta{display:block;margin-top:3px;font-size:12.5px;font-weight:400;color:var(--itdm-usu)}
@media (max-width:480px){
  .itdm-w__feat-body{gap:12px}
  .itdm-w__ico--lg{width:48px;height:48px}
  .itdm-w__ico--lg svg{width:26px;height:26px}
  .itdm-w__feat-q{font-size:18px}
}
.itdm-w__feat-q{text-wrap:balance} /* 一覧の見出しは balance だと単語の途中で折れるので付けない */

/* =========================================================
   トップの改善（2026-10-22・ギャラリー調査から）
   A お知らせの1行 / B 立場で選ぶ入口 / C 誰が診るのか / D 記事の線画 / E お知らせ / F 固定の予約ボタン
   既存の変数・部品だけで組む。新しい色・書体は足さない。
   ========================================================= */
.itdm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* A */
.itdm-newsbar{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:11px 14px;min-height:44px;
  background:#fff;border:1.5px solid var(--itdm-rule);border-radius:12px;text-decoration:none;color:var(--itdm-sumi);
  font-size:13.5px;line-height:1.5;font-family:var(--itdm-ui)}
.itdm-newsbar time{flex:0 0 auto;font-weight:700;color:var(--itdm-usu);font-size:12.5px}
.itdm-newsbar b{flex:1;min-width:0;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.itdm-newsbar>span[aria-hidden]{color:var(--itdm-kaki);font-weight:900}
.itdm-newsbar:hover{border-color:var(--itdm-kaki)}
.itdm-newsbar:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:2px}
/* B */
.itdm-w__sec--who{padding:24px 0 6px}
.itdm-who{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.itdm-who__tile{display:block;min-height:44px;background:#fff;border:1.5px solid var(--itdm-rule);border-radius:14px;
  padding:14px 6px 12px;text-align:center;text-decoration:none;color:var(--itdm-sumi);box-shadow:var(--itdm-shadow)}
.itdm-who__tile.is-main{border-color:var(--itdm-kaki)}
.itdm-who__tile:hover{border-color:var(--itdm-kaki);background:var(--itdm-kinari)}
.itdm-who__tile:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:2px}
.itdm-who__tile svg{display:block;width:30px;height:30px;margin:0 auto 6px;stroke:var(--itdm-kaki);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.itdm-who__tile b{display:block;font-size:14px;font-weight:900;line-height:1.4;font-family:var(--itdm-ui)}
.itdm-who__tile i{display:block;font-style:normal;font-size:12.5px;color:var(--itdm-usu);margin-top:4px;line-height:1.5}
@media (min-width:700px){.itdm-who__tile b{font-size:15px}.itdm-who__tile i{font-size:13px}}
/* C */
.itdm-why{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--itdm-radius);border:1.5px solid var(--itdm-rule)}
.itdm-why li{display:flex;gap:14px;padding:16px 18px;align-items:flex-start}
.itdm-why li+li{border-top:1.5px solid var(--itdm-kinari)}
.itdm-why__ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--itdm-momo);display:flex;align-items:center;justify-content:center}
.itdm-why__ico svg{width:24px;height:24px;stroke:var(--itdm-kaki);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.itdm-why b{display:block;font-size:15.5px;font-weight:700;line-height:1.5;font-family:var(--itdm-ui)}
.itdm-why p{margin:4px 0 0;font-size:13.5px;color:var(--itdm-usu);line-height:1.8}
/* D */
.itdm-read{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.itdm-read__card{display:block;background:#fff;border:1.5px solid var(--itdm-rule);border-radius:var(--itdm-radius);
  text-decoration:none;color:var(--itdm-sumi);overflow:hidden;box-shadow:var(--itdm-shadow)}
.itdm-read__card:hover{border-color:var(--itdm-kaki)}
.itdm-read__card:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:2px}
.itdm-read__pic{display:flex;justify-content:center;background:var(--itdm-kinari);padding:12px 0 6px}
.itdm-read__pic svg{width:96px;height:77px}
.itdm-read__pic--ico{padding:22px 0 18px}
.itdm-read__pic--ico svg{width:36px;height:36px;stroke:var(--itdm-kaki);stroke-width:2;fill:none}
.itdm-read__tx{display:block;padding:10px 12px 12px}
.itdm-read__tx .itdm-w__time{display:inline-block;margin-bottom:6px;font-size:12px;padding:2px 8px}
.itdm-read__q{display:block;font-size:14px;font-weight:700;line-height:1.5;font-family:var(--itdm-ui);word-break:normal;line-break:strict}
.itdm-read__m{display:block;margin-top:5px;font-size:12.5px;color:var(--itdm-usu)}
@media (min-width:700px){.itdm-read__pic svg{width:120px;height:96px}.itdm-read__q{font-size:15.5px}}
.itdm-w__rows--thumb .itdm-w__ico--ill{width:52px;height:52px;background:var(--itdm-kinari);overflow:hidden}
.itdm-w__rows--thumb .itdm-w__ico--ill svg{width:48px;height:38px;stroke:none}
/* E */
.itdm-news{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--itdm-radius);border:1.5px solid var(--itdm-rule)}
.itdm-news li{display:flex;gap:10px;align-items:center;padding:13px 16px;font-size:14px;line-height:1.5;font-family:var(--itdm-ui)}
.itdm-news li+li{border-top:1.5px solid var(--itdm-kinari)}
.itdm-news time{flex:0 0 auto;font-size:12.5px;color:var(--itdm-usu);font-weight:700}
.itdm-news__k{flex:0 0 auto;font-size:12px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--itdm-momo);color:var(--itdm-kaki)}
.itdm-news__k--sys{background:#FDF3E7;color:var(--itdm-sakura)}
.itdm-news a,.itdm-news li>span:last-child{flex:1;min-width:0;color:var(--itdm-sumi);text-decoration:none}
.itdm-news a:hover{color:var(--itdm-kaki)}
.itdm-news-page .itdm-w__sec{padding-top:8px}
/* F */
.itdm-stick{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);
  border-top:1.5px solid var(--itdm-rule);box-shadow:0 -4px 16px rgba(27,99,196,.10);
  transform:translateY(110%);transition:transform .2s ease;visibility:hidden}
.itdm-stick.is-on{transform:none;visibility:visible}
.itdm-stick__l{flex:1;min-width:0;font-size:12.5px;color:var(--itdm-usu);line-height:1.4;font-family:var(--itdm-ui)}
.itdm-stick__l b{display:block;font-size:15px;color:var(--itdm-sumi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.itdm-stick__l b em{font-style:normal;color:var(--itdm-kaki)}
.itdm-stick__btn{flex:0 0 auto;display:inline-flex;align-items:center;min-height:48px;background:var(--itdm-sakura);color:#fff!important;
  text-decoration:none;font-weight:900;border-radius:999px;padding:0 22px;font-size:15.5px;font-family:var(--itdm-ui)}
.itdm-stick__btn:hover{background:var(--itdm-sakura-d)}
.itdm-stick__btn:focus-visible{outline:3px solid var(--itdm-kaki);outline-offset:2px}
body.itdm-has-stick .itdm-w__links{padding-bottom:110px}
@media (min-width:700px){.itdm-stick{justify-content:center}.itdm-stick__l{flex:0 1 420px}}
@media (prefers-reduced-motion:reduce){.itdm-stick{transition:none}}
