/* T's Dance Room レッスンスケジュール（縦＝時間、横＝曜日×スタジオ）
   色はサイトの正本：鹿島田A 緑 #78dd36 ／鹿島田B ピンク #ef2184 ／平間A 黄 #fcf024 ／平間B 水色 #48b2f6 */

.tdr-v {
  /* 1分あたりの高さ（画面）。
     ★2026-08-12：1.55px から 1.95px にした。1.55pxだと60分のコマの高さが93pxしかなく、
     時刻・対象年齢・クラス名・担当名を入れると、鹿島田校のパソコン表示で21コマの
     担当名が下にはみ出して切れていた（実測）。「担当が誰か分からない」という社長の
     ご指摘は紙だけでなく画面でも起きていた。行間の直し（このファイル末尾のほう・
     #schedule .tdr-v .tdr-i-* の行）と合わせて、1.95pxで全コマが収まる（実測で確認）。
     「2校まとめて」の画面は列が細くて1行に入る字数が少ないので、下のほうで2.15pxにしている。 */
  --pxpm: 1.95px;
  --timew: 52px;              /* 左の時刻欄 */
  --colw: 84px;               /* 1スタジオ列の幅 */
  --dowh: 30px;               /* 曜日の見出し */
  --sth: 26px;                /* スタジオの見出し */
  --line: #d7dcdf;
  --ink: #1a1a1a;
  --A-main:#78dd36; --A-tint:#eefbe0; --A-deep:#3f8a0f; --A-head:#dcf6c6;
  --B-main:#ef2184; --B-tint:#fde5f0; --B-deep:#b8135f; --B-head:#fbd3e5;
  --Y-main:#fcf024; --Y-tint:#fefbdc; --Y-deep:#8f7c00; --Y-head:#fdf6b0;
  --C-main:#48b2f6; --C-tint:#e4f2fd; --C-deep:#16669f; --C-head:#cbe8fb;
  font-family: "Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  color: var(--ink); box-sizing: border-box;
}
.tdr-v *, .tdr-v *::before, .tdr-v *::after { box-sizing: border-box; }
/* ★4色の定義は .tdr-v（表の中）だけに閉じていたため、body直下に出る詳細の窓では
   色が解決できず黒になっていた（2026-08-09 実測）。窓でも同じ色を使えるようにする。
   ここを直すときは上の .tdr-v の定義と必ず同じ値にする（色の正本はこの2か所）。 */
.tdr-modal-box {
  --A-main:#78dd36; --A-tint:#eefbe0; --A-deep:#3f8a0f; --A-head:#dcf6c6;
  --B-main:#ef2184; --B-tint:#fde5f0; --B-deep:#b8135f; --B-head:#fbd3e5;
  --Y-main:#fcf024; --Y-tint:#fefbdc; --Y-deep:#8f7c00; --Y-head:#fdf6b0;
  --C-main:#48b2f6; --C-tint:#e4f2fd; --C-deep:#16669f; --C-head:#cbe8fb;
}
[data-c="A"] { --main:var(--A-main); --tint:var(--A-tint); --deep:var(--A-deep); --head:var(--A-head); }
[data-c="B"] { --main:var(--B-main); --tint:var(--B-tint); --deep:var(--B-deep); --head:var(--B-head); }
[data-c="Y"] { --main:var(--Y-main); --tint:var(--Y-tint); --deep:var(--Y-deep); --head:var(--Y-head); }
[data-c="C"] { --main:var(--C-main); --tint:var(--C-tint); --deep:var(--C-deep); --head:var(--C-head); }

/* 見出し */
.tdr-v-head {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 18px; border:2px solid var(--line); border-bottom:0; border-radius:10px 10px 0 0; background:#fff;
}
.tdr-v-ttl { margin:0; font-size:24px; font-weight:700; line-height:1.3; }
.tdr-v-sub { display:block; font-size:15px; font-weight:400; color:#555; margin-top:3px; }
.tdr-v-act { display:flex; gap:10px; flex-wrap:wrap; }
.tdr-btn {
  display:inline-block; padding:11px 18px; border-radius:6px; font-size:15px; font-weight:700;
  text-decoration:none; border:2px solid var(--ink); background:#fff; color:var(--ink); cursor:pointer; line-height:1.2; white-space:nowrap;
}
.tdr-btn-rsv { background:var(--ink); color:#fff; }
.tdr-btn:hover { opacity:.82; }
.tdr-v-keys { display:flex; flex-wrap:wrap; gap:6px 16px; padding:9px 18px; border:2px solid var(--line); border-top:0; border-bottom:0; background:#fff; font-size:15px; }
.tdr-v-keys b { white-space:nowrap; }   /* ★2026-08-22 15px化で「経験／者」「託児／あり」と札の語が折れたため */
.tdr-v-key { display:inline-flex; align-items:center; gap:6px; }
.tdr-v-key i { width:15px; height:15px; border-radius:3px; display:inline-block; }

/* 表 */
/* 表の上に出す横スクロールの棒（下端まで行かなくても横に動かせるようにするため）。
   中身が画面に収まっているときは tdr-v.js が is-off を付けて隠す。 */
/* 上の棒はブラウザ任せにせず自分で描く。
   ★理由：パソコンの設定によっては、ブラウザの細い棒は「触ったときだけ出る薄い線」になり、
   　どこをつかめばよいか分からない。太さと色をこちらで決めて必ず見えるようにする。 */
.tdr-v-xscroll {
  position:relative; height:24px; border:2px solid var(--line); border-bottom:0;
  background:#eef1f3; cursor:pointer; touch-action:none;
}
.tdr-v-xthumb {
  position:absolute; top:5px; left:0; height:14px; min-width:48px;
  border-radius:7px; background:#7d8a91; cursor:grab;
}
.tdr-v-xthumb:hover, .tdr-v-xthumb.is-drag { background:#4d5a61; }
.tdr-v-xthumb.is-drag { cursor:grabbing; }
.tdr-v-xscroll.is-off { display:none; }
/* 下（表そのもの）の棒も太くはっきり見せる */
.tdr-v-scroll::-webkit-scrollbar { height:16px; }
.tdr-v-scroll::-webkit-scrollbar-track { background:#dfe5e8; }
.tdr-v-scroll::-webkit-scrollbar { height:16px; }
.tdr-v-scroll::-webkit-scrollbar-track { background:#dfe5e8; }
.tdr-v-scroll::-webkit-scrollbar-thumb { background:#7d8a91; border-radius:8px; border:3px solid #dfe5e8; }
.tdr-v-scroll::-webkit-scrollbar-thumb:hover { background:#55636b; }
.tdr-v-scroll { scrollbar-color:#7d8a91 #dfe5e8; }
.tdr-v-scroll { border:2px solid var(--line); border-radius:0 0 10px 10px; background:#fff; overflow-x:auto; }
.tdr-v-grid { display:flex; min-width:max-content; }
.tdr-v-times { width:var(--timew); flex:0 0 var(--timew); position:relative; border-right:1px solid var(--line); background:#f6f8f9; }
.tdr-v-times::before { content:""; display:block; height:calc(var(--dowh) + var(--sth)); border-bottom:1px solid var(--line); }
.tdr-v-tick { position:absolute; left:0; right:0; top:calc(var(--dowh) + var(--sth) + (var(--s) - var(--from)) * var(--pxpm)); }
.tdr-v-tick span { position:absolute; right:5px; top:-0.65em; font-size:13px; color:#5a646b; background:#f6f8f9; padding:0 1px; }
/* 2026-08-04 変更：パソコン版で表の中に「もう一つの縦スクロール（入れ子のスライダー）」が
   できていた件の修正。原因は左の時刻欄のいちばん下の目盛り（21:00）の文字だけが、
   表の下の枠より 14px はみ出していたため（文字は線をまたぐ位置に置いてあるので、
   最下端の目盛りだけ下半分が枠の外に出ていた＝その分だけ縦に動く箱ができていた）。
   最後の目盛りの文字だけ「線の上」にぴったり載せて、はみ出しをゼロにする。
   これで今まで半分切れて見えていた 21:00 も、スクロールせずに全部読めるようになる。
   ※スマホ幅（900px以下）では時刻欄そのものを表示していないので影響なし。 */
.tdr-v-times .tdr-v-tick:last-child span { top:auto; bottom:0; }

.tdr-v-cols { display:flex; flex:0 0 auto; }
.tdr-v-day { display:flex; flex-direction:column; border-left:2px solid #98a2a8; }
.tdr-v-day:first-child { border-left:0; }
.tdr-v-dow {
  height:var(--dowh); display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:700; background:#eef1f3; border-bottom:1px solid var(--line);
}
.tdr-v-day[data-dow="土"] .tdr-v-dow { color:#1565a8; background:#e8f2fa; }
.tdr-v-day[data-dow="日"] .tdr-v-dow { color:#c0392b; background:#fceceb; }
.tdr-v-sts { display:flex; }
.tdr-v-col { position:relative; width:var(--colw); flex:0 0 var(--colw); border-left:1px solid var(--line); }
.tdr-v-col:first-child { border-left:0; }
.tdr-v-st {
  height:var(--sth); display:flex; align-items:center; justify-content:center; gap:3px;
  font-size:12px; font-weight:700; color:var(--deep); background:var(--head); border-bottom:1px solid var(--line);
}
.tdr-v-track {
  position:relative; height:calc((var(--to) - var(--from)) * var(--pxpm));
  background-image:repeating-linear-gradient(180deg, transparent 0, transparent calc(60 * var(--pxpm) - 1px), #eef1f3 calc(60 * var(--pxpm) - 1px), #eef1f3 calc(60 * var(--pxpm)));
}

/* コマ */
.tdr-i {
  position:absolute; left:2px; right:2px;
  top:calc((var(--s) - var(--from)) * var(--pxpm));
  height:calc(var(--d) * var(--pxpm) - 3px);
  background:var(--tint); border:1px solid var(--main); border-top:4px solid var(--main);
  border-radius:4px; padding:2px 4px; overflow:hidden;
  display:flex; flex-direction:column; gap:0;
}
.tdr-i-t { font-size:11px; font-weight:700; color:var(--deep); line-height:1.2; white-space:nowrap; }
.tdr-i-g { font-size:12.5px; font-weight:700; line-height:1.2; word-break:auto-phrase; }
.tdr-i-a { font-size:11px; color:#333; line-height:1.2; word-break:auto-phrase; }
/* ★2026-08-12：名前が枠より長いと右端で切れていた（スマホの「SATOSHI」が「SATOSH」）。
   折り返せるようにする。1行で収まる名前の見え方はこれまでと変わらない。 */
.tdr-i-n { display:flex; flex-wrap:wrap; align-items:center; gap:3px; font-size:11px; color:#333; margin-top:auto; line-height:1.2; }
.tdr-i-n span { min-width:0; overflow-wrap:anywhere; }
.tdr-i-n img { width:16px; height:16px; border-radius:50%; object-fit:cover; flex:0 0 16px; margin:0; border:1px solid #fff; }
.tdr-i-c { font-size:10.5px; color:#444; }
.tdr-nw { white-space:nowrap; }
/* ★2026-08-12：英字の語は途中で改行させない（.tdr-nw）が、そのままだと列に入りきらない
   長い語（例「JAZZHIPHOP」）が黙って右で切れ、「JAZZHIPHOI」のように別の言葉に見えていた。
   1行に収まらないときだけ折り返しを許す。収まる語の見た目はこれまでと変わらない。 */
.tdr-i-g .tdr-nw, .tdr-i-a .tdr-nw { white-space:normal; overflow-wrap:break-word; }
/* ★2026-08-12：レベルの札は校舎の色でベタ塗りしていたが、入門・初級を外して「経験者」だけに
   なった結果、鹿島田Bの桃色に黒文字＝明暗差4.33対1（読みやすさの目安4.5対1を下回る）が
   目立つようになった。さらに詳細の窓では校舎の淡い色に化けて、表と窓で見た目が違っていた。
   白地＋黒の細枠のチップにそろえる。どの場所でも同じ見た目・明暗差は約16対1。 */
.tdr-bd { display:inline-block; padding:0 4px; border-radius:3px; background:#fff; color:#1a1a1a; font-size:10px; font-weight:700; box-shadow:inset 0 0 0 1px #1a1a1a; }
/* 表のコマの中では、札はクラス名と同じ行に置かず次の行から始める（2026-08-12）。
   同じ行に置くと、細い列では札のぶんだけ幅が足りず、クラス名が語の途中で折り返す。
   行を分けたほうが、結果として行数は減り、担当名を押し出さずに済む。
   吹き出し・詳細の窓の中の札は今までどおり見出しの横に並べる。 */
.tdr-i-g .tdr-bd { display:block; width:max-content; max-width:100%; margin-top:1px; }
.tdr-bd-full { background:#d8002a; color:#fff; box-shadow:none; }
.tdr-bd-note { background:#555; color:#fff; box-shadow:none; }
/* ★2026-08-12：託児のあり・なし（ママダンスのみ）。字だけでなく濃さでも見分けられるようにする。
   色を増やさない方針なので、既存の注記の色（#555）を「あり」に、白地＋枠線を「なし」に使う。
   赤は満員の色なので使わない。 */
.tdr-bd-care   { background:#2f3a40; color:#fff; box-shadow:none; }
.tdr-bd-nocare { background:#fff; color:#2f3a40; box-shadow:inset 0 0 0 1px #6b7378; }
.tdr-i.is-full { background-image:repeating-linear-gradient(135deg, rgba(0,0,0,.05) 0 6px, rgba(0,0,0,0) 6px 13px); }
.tdr-i.is-group { border-style:dashed; }
.tdr-i.is-short { padding:2px 4px; }
.tdr-i.is-short .tdr-i-a, .tdr-i.is-short .tdr-i-n { display:none; }
.tdr-i.is-short .tdr-i-g { font-size:11px; }
.tdr-long { display:none; }

/* スマホ：曜日ごとの縦並び */
@media screen and (max-width:1100px) and (min-width:901px) { .tdr-v { --colw: 74px; } }
@media screen and (max-width:900px) {
  .tdr-v-times { display:none; }
  .tdr-v-xscroll { display:none !important; }   /* スマホは縦並びなので横スクロールは要らない */
  .tdr-v-scroll { overflow:visible; }
  .tdr-v-grid { display:block; min-width:0; }
  .tdr-v-cols { display:block; }
  .tdr-v-day { display:block; border-left:0; border-top:2px solid #98a2a8; }
  .tdr-v-day:first-child { border-top:0; }
  .tdr-v-dow { height:auto; padding:9px 14px; justify-content:flex-start; font-size:19px; }
  /* ★スマホでは、Aスタジオ・Bスタジオの列という入れ物をいったん無くして（display:contents）、
     その日のレッスンを1本の縦並びにし、始まる時刻の順に並べ替える（order）。
     ・列の幅（84px）の縛りを外さないと、クラス名の欄が幅0になり時刻だけの空箱が並ぶ
     ・並べ替えないと「19:30 の次に 13:00」のように時間が前後して読みにくい
     （どちらも 2026-07-28 に発見して直した） */
  .tdr-v-sts { display:flex; flex-direction:column; }
  .tdr-v-col { border-left:0; width:auto; flex:none; display:contents; }
  .tdr-v-st { display:none; }
  .tdr-v-track { height:auto !important; background:none; padding:0; display:contents; }
  .tdr-i { order:var(--s); }
  .tdr-i {
    position:static; height:auto !important; margin:8px; padding:10px 12px;
    flex-direction:row; align-items:center; gap:12px; border-width:1px 1px 1px 8px;
  }
  .tdr-i-head { flex:0 0 auto; }
  .tdr-i-t { font-size:15px; }
  .tdr-i-body { flex:1 1 auto; min-width:0; }
  .tdr-i-g { font-size:17px; }
  .tdr-i-a { font-size:15px; }
  .tdr-i-n { font-size:15px; margin-top:2px; }
  .tdr-i-n img { width:22px; height:22px; flex-basis:22px; }
  .tdr-i.is-short .tdr-i-a, .tdr-i.is-short .tdr-i-n { display:flex; }
  .tdr-i.is-short .tdr-i-g { font-size:17px; }
  /* ★2026-08-22（No.16）文字サイズの底上げ：スマホの縦並びは枠が自動で
     伸びるので、対象年齢（.tdr-i-c）と札（.tdr-bd）も15pxへ上げられる。
     パソコン幅の格子はコマの高さがレッスン時間に連動するため触っていない。 */
  .tdr-i-c { font-size:15px; }
  .tdr-bd { font-size:15px; }
  .tdr-i-sp { display:inline-block !important; font-weight:700; color:var(--deep); }
  .tdr-short { display:none; } .tdr-long { display:inline; }
  .tdr-v-act { width:100%; } .tdr-btn { flex:1 1 auto; text-align:center; }
}
.tdr-i-sp { display:none; }

/* 4スタジオをまとめて見るとき：列が細いので担当名を省き、クラス名に高さを回す。
   ★2026-08-12：ここで名前を出せないか実測した。1列74px・1分1.55pxのままだと、
   60分のコマ（高さ85px）に時刻・対象年齢・クラス名・担当名を入れると90コマ中12コマで
   下がはみ出す。全部入れるには1分2.3px＝表の縦が1,500pxを超え、ひと目で見渡すための
   画面ではなくなる。そこで、パソコンのこの画面だけは今までどおり名前を省き、
   　・紙（A3縦・A3横とも）は必ず名前を出す　←社長のご指示はここ
   　・スマホは列という入れ物が無くなり縦並びになるので名前を出す
   　・コマをクリックすれば、どの画面でも担当名は出る
   という切り分けにしている。 */
.tdr-v.is-all { --colw: 74px; --pxpm: 2.15px; }
.tdr-v.is-all .tdr-i-g { font-size:11.5px; }
.tdr-v.is-all .tdr-i-a { font-size:10px; }
.tdr-v.is-all .tdr-i-t { font-size:10px; }
.tdr-v.is-all .tdr-v-day { border-left-width:3px; border-left-color:#7d878d; }
.tdr-v.is-all .tdr-v-dow { font-size:18px; }
.tdr-v.is-all .tdr-v-st { font-size:11px; }
.tdr-v.is-all .tdr-v-scroll { position:relative; }
.tdr-scrollhint { display:none; }
.tdr-v.is-all .tdr-scrollhint { display:block; padding:6px 18px; font-size:13px; color:#666; background:#f6f8f9; border:2px solid var(--line); border-top:0; border-bottom:0; }
/* ★2026-08-12（社長ご指示・2回目）：パソコンの「2校まとめて」でも担当名を出す。
   社長のお言葉＝「バッジよりも担当名の方が重要。教室に貼ってあるA3横の4スタジオ分の表には、
   カテゴリー・種類・時間・担当名が書いてあり、経験者・託児・満員も入っている」。
   いったんは列が細いことを理由に省いていたが、それは会員様の役に立つ順番を取り違えていた。
   コマの高さを増やし（下の --pxpm）、入りきらないときに削られるのはクラス名の側で、
   担当名は最後まで残るようにしている（下の .tdr-i-body の並べ方）。 */
@media screen and (min-width:901px) {
  .tdr-v.is-all .tdr-i-body {
    display:flex; flex-direction:column; min-height:0; flex:1 1 auto;
  }
  .tdr-v.is-all .tdr-i-head,
  .tdr-v.is-all .tdr-i-a,
  .tdr-v.is-all .tdr-i-c,
  .tdr-v.is-all .tdr-i-n { flex:0 0 auto; }
  .tdr-v.is-all .tdr-i-g { flex:0 1 auto; min-height:0; overflow:hidden; }
  .tdr-v.is-all .tdr-i-n { margin-top:1px; }
}
/* スマホは列という入れ物が無くなって1日1本の縦並びになるので、「2校まとめて」でも
   校舎ごとと同じ大きさで読ませる（担当名も出す）。ここを書いておかないと、上の
   .tdr-v.is-all（細い列向けの10〜11.5px）がスマホ用の指定より後ろにあるぶん勝ってしまい、
   スマホのこの画面だけ文字が小さいままになる＝老眼の下限を割る。 */
@media screen and (max-width:900px) {
  .tdr-v.is-all .tdr-i-t { font-size:15px; }
  .tdr-v.is-all .tdr-i-a { font-size:14px; }
  .tdr-v.is-all .tdr-i-g { font-size:17px; }
  .tdr-v.is-all .tdr-i-n { font-size:14px; }
}

/* 印刷 */
.tdr-v-printonly { display:none; }
@media print {
  body { background:#fff !important; }
  body.tdr-printing > *:not(#tdr-print-holder) { display:none !important; }
  .tdr-btn, .tdr-v-act { display:none !important; }
  .tdr-v-printonly { display:block; }
  .tdr-v { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .tdr-v-scroll { overflow:visible; }
  .tdr-v-grid { min-width:0; }
  .tdr-v-head { padding:2.5mm 4mm; }
  /* 「◯年◯月◯日 現在」は、貼り出した紙がいつ時点のものかを示す大事な一行。
     8ptで紙の中でいちばん小さい部類だったので、少しだけ大きくする（2026-08-12）。 */
  .tdr-v-ttl { font-size:15pt; } .tdr-v-sub { font-size:9.5pt; }
  .tdr-v-keys { padding:1.5mm 4mm; font-size:7.5pt; }
  .tdr-v-scroll, .tdr-v-head, .tdr-v-keys { border-width:0.4mm; }
  .tdr-i-t { font-size:6.5pt; } .tdr-i-g { font-size:7.5pt; } .tdr-i-a { font-size:6.5pt; } .tdr-i-n { font-size:6.5pt; }
  .tdr-i-c { font-size:6pt; }
  .tdr-bd { font-size:6pt; padding:0 0.7mm; }
  .tdr-i-n img { width:3.2mm; height:3.2mm; flex-basis:3.2mm; }
  .tdr-i { padding:0.5mm 0.6mm; border-top-width:0.8mm; }
  /* 画面ではコマの左右に2pxずつ余白を取っているが、紙では1コマの幅が13.8mm（A3横）しかなく、
     この4pxがそのまま「クラス名が1行に収まるかどうか」を分ける。紙では0.3mmまで詰める。
     列の幅（--colw）は変えていないので、紙が2枚目に落ちることはない（2026-08-12）。 */
  #tdr-print-holder .tdr-i { left:0.3mm; right:0.3mm; }
  .tdr-v-tick span { font-size:7pt; }
  .tdr-v-dow { font-size:9pt; } .tdr-v-st { font-size:6.5pt; }

  /* ★列の幅は「紙の余白7mm」を引いた刷れる幅に収まるように決めてある。
     　A3縦＝297-14＝283mm に対して 11 + 14列×18.9 + 枠線 ＝ 約279.6mm（余り約3.4mm）
     　A3横＝420-14＝406mm に対して 10 + 28列×13.8 + 枠線 ＝ 約402mm（余り約4mm）
     　ここを広げると1mm単位で2ページ目に落ちる。広げるときは必ずA3で刷って確かめる。 */
  /* A3縦・校舎ごと（曜日7×スタジオ2＝14列） */
  #tdr-print-holder[data-mode="school"] .tdr-v {
    --pxpm:0.55mm; --timew:11mm; --colw:18.9mm; --dowh:6mm; --sth:5mm;
  }
  /* 2026-08-01追加：画面用の.is-short講師名非表示（.tdr-i-n）は、校舎ごと印刷（A3縦）では
     1分あたりの高さに余裕があるため解除する（4スタジオまとめ印刷は列が細いため対象外のまま）。 */
  #tdr-print-holder[data-mode="school"] .tdr-i.is-short .tdr-i-n { display:flex; }
  /* A3横・4スタジオまとめ（曜日7×スタジオ4＝28列） */
  #tdr-print-holder[data-mode="all"] .tdr-v {
    --pxpm:0.37mm; --timew:10mm; --colw:13.8mm; --dowh:5mm; --sth:4.5mm;
  }
  #tdr-print-holder[data-mode="all"] .tdr-v-day { border-left-width:0.8mm; border-left-color:#7d878d; }
  #tdr-print-holder[data-mode="all"] .tdr-scrollhint { display:none; }
  #tdr-print-holder[data-mode="all"] .tdr-i-g { font-size:6.5pt; }
  #tdr-print-holder[data-mode="all"] .tdr-i-a { font-size:6pt; }
  /* 4スタジオまとめは列が細いので、時刻だけ少し小さくして「16:30–17:30」を切らずに収める */
  #tdr-print-holder[data-mode="all"] .tdr-i-t { font-size:5.4pt; letter-spacing:-0.1px; }

  /* ===== 2026-08-04追加：文字が切れていた3か所への手当て =====
     いずれも列の幅（--colw）や紙の余白（7mm）は変えていない。変えると1mm単位で
     2ページ目に落ちるため、余白・字間・行間・札の内側といった「表の外枠に響かない場所」
     だけを詰めている。 */

  /* ①コマの内側の余白を少しだけ詰める。1コマあたり文字の幅が約0.4mm広がる。 */
  #tdr-print-holder[data-mode="all"] .tdr-i { padding:0.4mm; gap:0; }
  #tdr-print-holder[data-mode="all"] .tdr-bd { padding:0 0.5mm; }

  /* ②45分など短いコマ（4スタジオまとめの紙のみ）は、行間と字の大きさをわずかに詰めて
       「50分／託児有」などの注記が下に隠れないようにする。
       対象年齢を消してしまう手もあるが、それでは紙から情報が減るため採らない。 */
  #tdr-print-holder[data-mode="all"] .tdr-i.tdr-tight { line-height:1.02; }
  #tdr-print-holder[data-mode="all"] .tdr-i.tdr-tight .tdr-i-a { font-size:5.2pt; }
  #tdr-print-holder[data-mode="all"] .tdr-i.tdr-tight .tdr-i-g { font-size:6pt; }
  #tdr-print-holder[data-mode="all"] .tdr-i.tdr-tight .tdr-bd { font-size:5pt; }

  /* ③どうしても1行に入りきらない英字の語は、切り捨てるより折り返したほうが読める。
       break-word は「その語だけで1行にしても入らないとき」しか折らないので、
       ふだんの見た目は変わらない。安全網としてA3横（列が細い紙）だけに入れる。 */
  #tdr-print-holder[data-mode="all"] .tdr-i-g,
  #tdr-print-holder[data-mode="all"] .tdr-i-a { overflow-wrap:break-word; }
  #tdr-print-holder[data-mode="all"] .tdr-i-c { overflow-wrap:break-word; }
  /*   語の途中で折るのは「7文字以上の長い語」だけに限る（印は tdr-v.js が付ける）。
       短い語まで対象にすると「R＆B」が「30歳代R／＆B」のように切れて読みにくくなる。 */
  #tdr-print-holder[data-mode="all"] .tdr-i-g .tdr-nw.tdr-canbreak { white-space:normal; overflow-wrap:break-word; }

  /* ④同じ時間に2クラスあるコマは、印刷では上下に積み直している（tdr-v.js）。
       高さは半分になるので、時刻は2行になってもよいことにする。 */
  #tdr-print-holder .tdr-i.tdr-stacked .tdr-i-t { white-space:normal; }
  #tdr-print-holder .tdr-i.tdr-stacked { padding-top:0.2mm; }

  /* ===== 2026-08-12追加：紙は「担当インストラクターが誰か」を必ず読ませる =====
     社長のお言葉 …「プリントアウトして貼り出した際に、担当するインストラクターは誰なのかが
     分からないと、一覧の意味そのものがありません。」

     ①顔写真は紙ではやめる。直径3.2mmの丸写真は刷ると誰だか判別できないうえ、
       名前に回せる横幅を1/4ほど食っている。画面（パソコン・スマホ）では今までどおり出す。
     ②名前を太字・黒にする。クラス名と同じくらいの目立ち方にそろえる。
     ③30分の短い枠でも名前だけは必ず出す（画面では省いている）。
     ④それでも入りきらないときに消えるのは、名前ではなくクラス名の側にする。 */
  #tdr-print-holder .tdr-i-n img { display:none; }
  /* 名前はクラス名のすぐ下に置く。画面では枠の下端にそろえている（margin-top:auto）が、
     紙は枠の高さがレッスンの長さで決まるため、90分のコマだと名前だけ遠くに離れて
     「このクラスは担当が空欄なのか」と読めてしまう（2026-08-12・実際に刷って確認）。 */
  #tdr-print-holder .tdr-i-n { gap:0; font-weight:700; color:#1a1a1a; margin-top:0.4mm; }
  #tdr-print-holder[data-mode="school"] .tdr-i-n { font-size:7.2pt; }
  #tdr-print-holder[data-mode="all"]    .tdr-i-n { font-size:6.2pt; }
  #tdr-print-holder .tdr-i.is-short .tdr-i-n { display:flex; }
  #tdr-print-holder .tdr-i-body {
    display:flex; flex-direction:column; min-height:0; flex:1 1 auto;
  }
  #tdr-print-holder .tdr-i-head { flex:0 0 auto; }
  #tdr-print-holder .tdr-i-a,
  #tdr-print-holder .tdr-i-c,
  #tdr-print-holder .tdr-i-n { flex:0 0 auto; }
  #tdr-print-holder .tdr-i-g { flex:0 1 auto; min-height:0; overflow:hidden; }
  /* 札はクラス名と同じ行に置かず、必ず次の行から始める。
     同じ行に置くと、狭い列では札のぶんだけ行が足りなくなり、クラス名のほうが
     「ママダン／ス」のように語の途中で折り返してしまう（2026-08-12・A3横で実測）。
     行を分けると、クラス名は1行に収まり、行数はかえって減る。 */
  #tdr-print-holder .tdr-i-g .tdr-bd { display:block; width:max-content; max-width:100%; margin-top:0.2mm; }

  .tdr-v { break-inside:avoid; }
  .tdr-v + .tdr-v { break-before:page; }
}
/* ★用紙の大きさと向きは tdr-v.js が押されたボタンに合わせて書き込む（#tdr-print-page）。
   校舎ごと＝A3縦、4スタジオまとめ＝A3横。ここに残す margin は、表以外のページを
   ふつうに Ctrl+P したときの余白。 */
@page { margin:7mm; }
@page :first { margin:7mm; }

/* ===== マウスを乗せたときの小さな吹き出し（パソコンのみ） ===== */
/* 吹き出しと詳細パネルは表の外（body 直下）に置くので、色の指定をここでも用意する。
   ★これが無いと「体験レッスンを予約する」ボタンが黒地の枠にならず、ただのピンク文字になる。 */
.tdr-tip, .tdr-modal { --ink:#1a1a1a; --line:#d7dcdf; }
.tdr-tip {
  position: absolute; z-index: 9998; max-width: 320px; padding: 10px 12px;
  background: #1f2529; color: #fff; border-radius: 8px; font-size: 13px; line-height: 1.5;
  box-shadow: 0 6px 20px rgba(0,0,0,.28); pointer-events: none;
  font-family: "Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}
.tdr-tip[hidden] { display: none; }
.tdr-tip-t { font-size: 12px; opacity: .85; }
.tdr-tip-n { font-size: 15px; font-weight: 700; margin: 2px 0 4px; }
.tdr-tip-n .tdr-bd { background:#fff; color:#1a1a1a; margin-left:5px; box-shadow:inset 0 0 0 1px #1a1a1a; }
/* ★2026-08-12：吹き出しは地色が濃いので上の行で札を白地にしているが、これが強すぎて
   満員の赤まで白くしていた。色で意味を持たせている札は、吹き出しの中でも色のままにする。 */
.tdr-tip-n .tdr-bd-full   { background:#d8002a; color:#fff; box-shadow:none; }
.tdr-tip-n .tdr-bd-note   { background:#555;    color:#fff; box-shadow:none; }
.tdr-tip-n .tdr-bd-care   { background:#2f3a40; color:#fff; box-shadow:none; }
.tdr-tip-n .tdr-bd-nocare { background:#fff;    color:#2f3a40; box-shadow:inset 0 0 0 1px #6b7378; }
.tdr-tip-r { font-size: 12.5px; }
.tdr-tip-more { margin-top: 5px; font-size: 11.5px; opacity: .7; }

/* ===== クリックで開く詳細 ===== */
.tdr-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.tdr-modal[hidden] { display: none; }
.tdr-modal-bg { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.tdr-modal-box {
  position: relative; background: #fff; border-radius: 12px; max-width: 620px; width: 100%;
  max-height: 88vh; overflow-y: auto; padding: 22px 24px 26px;
  box-shadow: 0 18px 50px rgba(0,0,0,.3);
  font-family: "Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif; color: #1a1a1a;
}
.tdr-modal-x {
  position: absolute; top: 10px; right: 12px; width: 38px; height: 38px; border-radius: 50%;
  border: 0; background: #eef1f3; font-size: 22px; line-height: 1; cursor: pointer; color: #333;
}
.tdr-modal-x:hover { background: #dde3e6; }
.tdr-modal-head { display: flex; gap: 14px; align-items: flex-start; padding-right: 40px; }
.tdr-modal-img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; border: 2px solid #eee; }
.tdr-modal-ttl { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.35; }
.tdr-modal-ttl .tdr-bd { margin-left: 6px; vertical-align: middle; background: #eef1f3; }
/* ★「満員」「新設」の札は色付きのまま出す。この2行が無いと、白文字が薄い灰色の上にのって読めない。 */
.tdr-modal-ttl .tdr-bd-full { background: #d8002a; color: #fff; box-shadow:none; }
.tdr-modal-ttl .tdr-bd-note { background: #555;    color: #fff; box-shadow:none; }
.tdr-modal-sub { margin-top: 4px; font-size: 15px; color: #555; }
.tdr-modal-tbl { width: 100%; border-collapse: collapse; margin: 16px 0 0; }
.tdr-modal-tbl th, .tdr-modal-tbl td { border-bottom: 1px solid #e6eaec; padding: 8px 4px; font-size: 15px; text-align: left; vertical-align: top; }
.tdr-modal-tbl th { width: 9em; color: #555; font-weight: 700; white-space: nowrap; }
.tdr-modal-tbl a { color: #1d1d1f; text-decoration: underline; text-underline-offset: 3px; }

/* ===== 詳細の窓を、そのスタジオの色でそろえる（2026-08-09 社長ご指示） =====
   色は主張させず、上辺の線・見出しの下の細線・押しボタンにだけ使う。
   文字は黒のまま（黄色や水色の上に白文字を置くと読めなくなるため）。 */
.tdr-modal-box[data-c] { border-top: 5px solid var(--main); }
.tdr-modal-box[data-c] .tdr-modal-head { border-bottom: 1px solid var(--tint); padding-bottom: 12px; }
.tdr-modal-box[data-c] .tdr-modal-img { border-color: var(--tint); }
.tdr-modal-box[data-c] .tdr-modal-x { background: var(--tint); }
.tdr-modal-box[data-c] .tdr-modal-x:hover { background: var(--head); }
.tdr-modal-box[data-c] .tdr-modal-ttl .tdr-bd { background:#fff; color:#1a1a1a; box-shadow:inset 0 0 0 1px #1a1a1a; }
/* ★2026-08-12：上の1行（2026-08-09追加）が、その前にある「満員は赤のまま」の指定より
   強かったため、詳細の窓の中だけ満員の赤が校舎の淡色に化けていた（実測：背景 #eefbe0・黒文字）。
   満員も注記も見分けがつかない状態だったので、同じ強さで色を戻す。
   託児あり・託児なしの札もここに含める。 */
.tdr-modal-box[data-c] .tdr-modal-ttl .tdr-bd-full   { background:#d8002a; color:#fff; box-shadow:none; }
.tdr-modal-box[data-c] .tdr-modal-ttl .tdr-bd-note   { background:#555;    color:#fff; box-shadow:none; }
.tdr-modal-box[data-c] .tdr-modal-ttl .tdr-bd-care   { background:#2f3a40; color:#fff; box-shadow:none; }
.tdr-modal-box[data-c] .tdr-modal-ttl .tdr-bd-nocare { background:#fff;    color:#2f3a40; box-shadow:inset 0 0 0 1px #6b7378; }
.tdr-modal-box[data-c] .tdr-btn-rsv { background: #2b2b2f; color: #fff; border: 0; }
.tdr-modal-box[data-c] .tdr-btn-rsv:hover { background: #000; opacity: 1; }
/* いま見ているスタジオを言葉でも出す（色だけに頼らない） */
.tdr-modal-studio { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  padding: 3px 10px; border-radius: 6px; background: var(--tint); color: #1a1a1a;
  font-size: 13.5px; font-weight: 700; }
.tdr-modal-studio::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: var(--main); }
.tdr-modal-body { margin-top: 16px; font-size: 15px; line-height: 1.85; }
.tdr-modal-act { margin: 20px 0 0; text-align: center; }
.tdr-modal-act .tdr-btn { display: inline-block; padding: 14px 26px; font-size: 16px; }
.tdr-modal-note { margin: 18px 0 0; padding: 10px 12px; background: #fdeeec; border-radius: 6px; font-size: 15px; color: #a3001f; }
body.tdr-modal-open { overflow: hidden; }
.tdr-i { cursor: pointer; }
.tdr-i:hover { filter: brightness(.97); }
.tdr-i:focus-visible { outline: 3px solid #1f6fb2; outline-offset: 2px; }

@media screen and (max-width: 600px) {
  .tdr-modal { padding: 0; align-items: flex-end; }
  .tdr-modal-box { max-height: 92vh; border-radius: 14px 14px 0 0; padding: 20px 16px 24px; }
  .tdr-modal-ttl { font-size: 19px; }
  .tdr-modal-tbl th { width: 7em; }
}
@media print { .tdr-modal, .tdr-tip, .tdr-v-xscroll { display: none !important; } }

/* ===== ホームページ（WordPress）に載せたときの上書き ===== */
/* 確認用ページにあった見た目の枠（body の余白・最大幅1280px・タブ）は、
   ホームページ側のデザインに任せるのでここには入れない。 */
.tdr-v { margin: 0 0 8px; }
#schedule .tdr-v * { line-height: inherit; }
/* ★2026-08-12：すぐ上の1行が効きすぎていた。
   ホームページ本体は body に line-height:1.75 を敷いており、この1行はそれを表の中にも
   通してしまう（`#schedule .tdr-v *` のほうが `.tdr-i-a` より強いため）。結果、コマの中の
   行間まで1.75になり、60分のコマで4行（時刻・対象年齢・クラス名・担当名）が入りきらず、
   鹿島田校のパソコン表示で21コマの担当名が下に切れていた（2026-08-12 実測）。
   コマの中の文字だけ、もともと意図されていた詰まった行間に戻す。
   表の外（見出し・凡例）はホームページに合わせたままにする。 */
#schedule .tdr-v .tdr-i-t,
#schedule .tdr-v .tdr-i-a,
#schedule .tdr-v .tdr-i-g,
#schedule .tdr-v .tdr-i-c,
#schedule .tdr-v .tdr-i-n { line-height: 1.3; }

/* 年間レッスンカレンダー（時間割の下に必ず出す。クリアファイルで配っているものと同じ画像） */
.tdr-cal { margin: 34px 0 0; padding: 22px 0 0; border-top: 2px solid #d7dcdf; }
/* 2026-08-01：「年間レッスンカレンダー」タブの中では上に何も無い（単独表示）ため、
   時間割との区切り線・上余白は不要。tdr-cal-standalone を付けた時だけ打ち消す。 */
.tdr-cal.tdr-cal-standalone { margin-top: 0; padding-top: 0; border-top: none; }
.tdr-cal-ttl { margin: 0 0 8px; font-size: 22px; font-weight: 700; line-height: 1.35; color: #1a1a1a; }
.tdr-cal-lead { margin: 0 0 16px; font-size: 16px; line-height: 1.85; color: #444; }
.tdr-cal .calender_p { margin: 0 0 14px; }
.tdr-cal .calender_p img { max-width: 100%; height: auto; display: block; border: 1px solid #e3e8ea; }
@media screen and (max-width: 900px) {
  .tdr-cal-ttl { font-size: 20px; }
  .tdr-cal-lead { font-size: 16px; }
}
@media print { .tdr-cal { break-before: page; } }

/* ボタンの文字色。テーマ側が「リンクの文字はピンク」と決めているので、
   ★ここで打ち消さないと、黒地のボタンにピンクの文字がのって読めない。 */
.tdr-btn-rsv,   .tdr-modal .tdr-btn-rsv   { color: #fff !important; }
.tdr-btn-print, .tdr-modal .tdr-btn-print { color: #1a1a1a !important; }
.tdr-btn { text-decoration: none !important; }

/* パソコンでは、ホームページの本文幅（976px）だと 土曜・日曜がはみ出して最初から見えない。
   表だけ本文の枠を越えて、画面の幅いっぱい（最大1264px）に広げる。
   ＝確認用ページで社長に見ていただいたとおり、7曜日が一度に見える形になる。
   ★.tdr-rc（日付入りカレンダー）にも同じ式をそのまま当てる。式が違うと上下で幅がズレる
   （社長ご指摘・2026-08-01）ので、必ずこの2つは同じ数値・同じ書き方を保つこと。 */
@media screen and (min-width: 1000px) {
  .tdr-v, .tdr-rc {
    width: min(1264px, calc(100vw - 32px));
    margin-left: calc(50% - min(632px, (100vw - 32px) / 2));
  }
}
/* 2026-08-01：鹿島田A・Bのように日付入りカレンダーを1つのタブの中に2つ並べる場合。
   横並び2列は試したところ、1日最低130px×7日分＝910px という.tdr-rc-gridの最小幅に負けて
   右側が枠からはみ出したため採用しない。縦に積んで、それぞれに「鹿島田A」等の見出しを付け、
   どちらの表か分かるようにする（見出しはpage-schedule.php側の<h3 class="tdr-rc-studio-label">）。 */
.tdr-rc-studio-label {
  display: flex; align-items: center; gap: 8px;
  font-size: 17px; font-weight: 700; color: var(--ink, #1a1a1a);
  margin: 30px 0 10px;
}
.tdr-rc-studio-label:first-child { margin-top: 0; }
.tdr-rc-studio-label i {
  display: inline-block; width: 12px; height: 12px; border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}
@media screen and (min-width: 1000px) {
  .tdr-rc-studio-label {
    width: min(1264px, calc(100vw - 32px));
    margin-left: calc(50% - min(632px, (100vw - 32px) / 2));
  }
}
.tdr-rc-studio-label + .tdr-rc { margin-top: 0; }

/* 2026-08-01：テーマ側 schedule.css の「section#schedule .inner_wrap .content h3」が
   IDセレクタ込みで詳細度が高く、見出しの文字サイズ(24px・中央寄せ・上下1remの余白)と
   :beforeの黒い下線バーがこの見出しにも漏れて当たってしまっていた不具合を修正。
   詳細度を上回るセレクタで、上の.tdr-rc-studio-labelの指定に明示的に戻す。 */
section#schedule .inner_wrap .content h3.tdr-rc-studio-label {
  font-size: 17px; text-align: left; margin: 30px 0 10px; padding: 0;
}
section#schedule .inner_wrap .content h3.tdr-rc-studio-label:first-child { margin-top: 0; }
section#schedule .inner_wrap .content h3.tdr-rc-studio-label:before { content: none; display: none; }
@media screen and (max-width: 979px) {
  section#schedule .inner_wrap .content h3.tdr-rc-studio-label { font-size: 17px; }
}
/* 2026-08-04 変更：この見出しだけが右へ74pxはみ出し、ページ全体に横スクロールが出ていた件の対策。
   すぐ上の「margin: 30px 0 10px」というまとめ書きには margin-left:0 が含まれており、
   これが（詳細度が高いため）上の @media (min-width:1000px) の margin-left を後から打ち消していた。
   同じ強さの指定で margin-left を書き戻し、表と左端をそろえる。
   ※2026-08-04時点では別担当の改修でこの見出し自体がページから無くなっており症状は出ないが、
     見出しが復活したときに同じ不具合が再発しないよう、原因側を直しておく。 */
@media screen and (min-width: 1000px) {
  section#schedule .inner_wrap .content h3.tdr-rc-studio-label {
    width: min(1264px, calc(100vw - 32px));
    margin-left: calc(50% - min(632px, (100vw - 32px) / 2));
  }
}

/* 印刷のとき、テーマ側の幅の制限を外す。
   ★ここを外し忘れる／印刷時に min-width を 0 にすると、コマが右にあふれて2ページ目に落ちる。 */
@media print {
  #tdr-print-holder,
  #tdr-print-holder .tdr-v {
    max-width: none !important; width: auto !important;
    margin: 0 !important; padding: 0 !important; float: none !important;
  }
  #tdr-print-holder .tdr-v-scroll { overflow: visible !important; }
  #tdr-print-holder .tdr-v-grid  { min-width: max-content; }
  #tdr-print-holder .tdr-v-keys  { display: flex !important; }
}

/* ===== 日付入りカレンダー（本日から4週間・スタジオタブの中に表示） =====
   承認済みデザインカンプ schedule_design_comp.html の再現（2026-07-31追加）。
   .tdr-v とは兄弟要素として並ぶので、色変数はここでも同じ値を持たせておく
   （[data-c="A"] 等の色の割り当てルールは上のほうで .tdr-v に閉じずに書いてあるので、
   このブロックの --A-main 等さえ用意すれば同じ仕組みでそのまま色がつく）。 */
.tdr-rc {
  --line: #d7dcdf; --ink: #1a1a1a; --muted: #6b7378;
  --A-main:#78dd36; --A-tint:#eefbe0;
  --B-main:#ef2184; --B-tint:#fde5f0;
  --Y-main:#fcf024; --Y-tint:#fefbdc;
  --C-main:#48b2f6; --C-tint:#e4f2fd;
  font-family: "Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  color: var(--ink); box-sizing: border-box; margin-top: 30px;
  /* ★margin一括指定にすると margin-left:0 を含んでしまい、下の幅ズレ修正（min-width:1000pxの
     margin-left）をこちらが後勝ちで打ち消す。必ずmargin-topだけの個別指定のままにすること。 */
}
.tdr-rc *, .tdr-rc *::before, .tdr-rc *::after { box-sizing: border-box; }

.tdr-rc-toolbar { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.tdr-rc-range { font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.tdr-rc-range .muted { font-weight:500; color:var(--muted); font-size:13px; margin-left:6px; }
/* 期間の書き方の出し分け（2026-08-04）。パソコンの表は過ぎた日も含めて出すので「8/3 〜」、
   スマホの縦並びは過ぎた日を出さないので「8/4 〜」。中身はPHP側で両方書いてある。 */
.tdr-rc-range .l { display:none; }
/* 週へ飛ぶ目印は、スマホの縦並びのときだけ出す（パソコンの表は7列が1画面に収まるので不要）。 */
.tdr-rc-jump { display:none; }
.tdr-rc-cta {
  display:inline-flex; align-items:center; gap:8px; padding:11px 20px; font-size:15px; font-weight:700;
  background:var(--ink); color:#fff !important; text-decoration:none !important; border-radius:6px; white-space:nowrap;
}
.tdr-rc-cta:hover { opacity:.85; }

.tdr-rc-grid {
  display:grid; grid-template-columns:repeat(7, minmax(130px, 1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line); overflow-x:auto;
}
.tdr-rc-head-cell { background:#eef1f3; padding:10px 10px; font-size:15px; font-weight:700; text-align:left; }
.tdr-rc-head-cell .en { display:block; font-weight:400; color:var(--muted); font-size:12px; margin-top:1px; }
.tdr-rc-head-cell.is-sat { color:#1565a8; }
.tdr-rc-head-cell.is-sun { color:#c0392b; }

.tdr-rc-cell { background:#fff; min-height:118px; padding:8px 9px 9px; display:flex; flex-direction:column; gap:6px; }
.tdr-rc-cell.is-past { opacity:.45; }
.tdr-rc-cell .date-num { font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--muted); }
.tdr-rc-cell.is-today .date-num {
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
  background:var(--ink); color:#fff; font-weight:700;
}
/* スマホの縦並び用の日付見出し（「8月3日（月）」）。パソコンでは列の見出し（月・火…）が
   あるので出さない。表示に切り替えるのは下の @media (max-width:840px)。2026-08-04追加。 */
.tdr-rc-cell .date-full { display:none; }

.tdr-rc-chip { border:1px solid var(--line); border-left:3px solid var(--main); border-radius:3px; padding:7px 8px 8px; background:#fff; }
.tdr-rc-chip .t { font-size:15px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.tdr-rc-chip .n { font-size:15px; font-weight:700; margin:3px 0 4px; }
.tdr-rc-chip .n .tdr-bd { font-size:10.5px; margin-left:4px; vertical-align:middle; }
/* 2026-08-01追加：講師名・写真（[tdr_timetable]の.tdr-i-nと同じ役割。チップの縮尺に合わせて縮小） */
.tdr-rc-chip .i { display:flex; align-items:center; gap:4px; font-size:12.5px; color:var(--muted); margin-top:3px; }
.tdr-rc-chip .i img { width:14px; height:14px; border-radius:50%; object-fit:cover; flex:0 0 14px; border:1px solid #fff; box-shadow:0 0 0 1px var(--line); }
.tdr-rc-taiken { display:inline-block; margin-top:2px; font-size:14px; font-weight:700; color:var(--ink) !important; text-decoration:underline !important; text-underline-offset:2px; }
.tdr-rc-closed { font-size:15px; font-weight:700; color:var(--muted); background:#f6f8f9; border-radius:3px; padding:6px 6px; text-align:center; }
.tdr-rc-empty { font-size:14px; color:var(--muted); }
/* レッスンの無い日の書き方。パソコンの列幅（130px）に文章は収まらないので「-」だけを出し、
   スマホの縦並びでは文章のほうを出す（2026-08-04追加）。 */
.tdr-rc-empty .l { display:none; }

.tdr-rc-legend { margin-top:14px; font-size:14.5px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px 20px; }
.tdr-rc-legend b { color:var(--ink); font-weight:700; }

@media screen and (max-width:900px) {
  .tdr-rc-grid { grid-template-columns:repeat(7, minmax(112px, 1fr)); }
}

/* ===== スマホ・タブレット縦向きでは、7列の表をやめて「日付ごとの縦並び」にする =====
   2026-08-04追加（社長のご指示「スマホ版はまだ確認していませんが…」への対応）。

   直す前の状態（画面幅390pxで実測した数値）
   ・7列（1列112px）＝表の横幅790pxに対し、画面に入るのは3列だけ。土曜・日曜は表の中を
     横へスクロールしないと現れない＝一番コマの多い曜日が見えないまま終わる。
   ・表は「行の高さが、その週で一番忙しい日にそろう」ため、1行目のセルの高さが2985px、
     表全体では10,401px。月曜の列はコマが終わったあと、延々と白いだけの画面が続く。
   そこでこの幅では表組みをやめ、1日を1枚のカードとして上から順に並べる。
   840pxで切り替えるのは、7列×112px＋隙間＝790pxが本文の幅に収まる下限がこの辺りのため。 */
@media screen and (max-width: 840px) {
  .tdr-rc-grid {
    display:block; overflow-x:visible; background:transparent; border:0;
  }
  /* 列の見出し（月・火…）は、各日のカードの見出しが代わりを務めるので出さない */
  .tdr-rc-head-cell { display:none; }
  /* 過ぎた日は出さない。カレンダーは「本日を含む週の月曜」から始まるので必ず先頭に過ぎた日が
     混ざるが、縦並びでは画面の一番上を占めてしまう。もう申し込めない日を先に読ませない。 */
  .tdr-rc-cell.is-past { display:none; }

  /* 週へ飛ぶ目印。4週間ぶんを縦に積むと全体で約24,000px（画面29枚ぶん）になり、
     指のスクロールだけでは3週目・4週目に辿り着けないため。 */
  .tdr-rc-jump {
    display:flex; flex-wrap:wrap; align-items:center; gap:6px;
    margin:0 0 14px; font-size:15px;
  }
  /* ラベルは1行目いっぱいに置き、下のボタンを2列×2段にそろえる
     （ラベルと同じ行にボタンが混ざると、押す的の大きさがそろわず押しにくい）。 */
  .tdr-rc-jump .lb { flex:1 1 100%; color:var(--muted); font-weight:700; margin:0 0 2px; }
  .tdr-rc-jump a {
    flex:1 1 calc(50% - 3px); text-align:center;
    padding:9px 8px;
    border:1px solid var(--line); border-radius:4px; background:#fff;
    color:var(--ink) !important; text-decoration:none !important; font-weight:700;
  }

  .tdr-rc-cell {
    min-height:0; padding:0 12px 12px; margin:0 0 12px;
    border:1px solid var(--line); border-radius:6px; background:#fff;
    /* 上の目印から飛んできたとき、画面上端に固定されている帯に日付が隠れないようにする */
    scroll-margin-top:80px;
  }
  .tdr-rc-cell:last-child { margin-bottom:0; }
  /* 日にちだけの数字は、下の「8月3日（月）」と重なるので出さない。
     ★本日の丸い数字は詳細度が高いので、個別に書いて打ち消す。 */
  .tdr-rc-cell .date-num,
  .tdr-rc-cell.is-today .date-num { display:none; }

  .tdr-rc-cell .date-full {
    display:flex; align-items:center; gap:8px;
    margin:0 -12px 10px; padding:10px 12px;
    background:#eef1f3; border-radius:5px 5px 0 0;
    font-size:16px; font-weight:700; color:var(--ink);
  }
  .tdr-rc-cell .date-full.is-sat { color:#1565a8; }
  .tdr-rc-cell .date-full.is-sun { color:#c0392b; }
  .tdr-rc-cell.is-today .date-full { background:var(--ink); color:#fff; }
  .tdr-rc-cell.is-today .date-full.is-sat,
  .tdr-rc-cell.is-today .date-full.is-sun { color:#fff; }
  .tdr-rc-cell .date-full .today-tag {
    font-size:13px; font-weight:700; padding:2px 8px; border-radius:3px;
    background:#fff; color:var(--ink);
  }

  /* 表のときは列幅に合わせて小さくしていた文字を、余裕ができた分だけ読める大きさに戻す */
  .tdr-rc-chip { padding:9px 10px 10px; }
  .tdr-rc-chip .t, .tdr-rc-chip .n { font-size:16px; }
  .tdr-rc-chip .i { font-size:15px; }
  .tdr-rc-chip .i img { width:18px; height:18px; flex:0 0 18px; }
  .tdr-rc-chip .n .tdr-bd { font-size:12px; }
  /* 「体験を申し込む →」を、指で押せる大きさのボタンにする（2026-08-04追加）。
     直す前は下線の付いた文字リンクで、画面幅390px（iPhone相当）での高さが25pxしかなかった。
     指で押す的は高さ44px以上が目安。文字だけだと押せる場所だと気づきにくいので、
     枠線を付けてコマの幅いっぱいに広げる。
     上部の「気になるクラスの体験を申し込む →」（黒地・高さ47px）が主役なので、
     こちらは白地＋黒枠にして、同じ強さでぶつからないようにしている。 */
  .tdr-rc-taiken {
    display:flex; align-items:center; justify-content:center; gap:6px;
    width:100%; box-sizing:border-box; min-height:46px;
    margin-top:8px; padding:12px 10px;
    font-size:15px; font-weight:700; line-height:1.25; text-align:center;
    border:1.5px solid var(--ink); border-radius:5px; background:#fff;
    color:var(--ink) !important; text-decoration:none !important;
  }
  .tdr-rc-legend { font-size:15px; }
  .tdr-rc-empty .s { display:none; }
  .tdr-rc-empty .l { display:inline; font-size:15px; }
  .tdr-rc-range .s { display:none; }
  .tdr-rc-range .l { display:inline; }
}
@media print { .tdr-rc { display:none !important; } }

/* ===== 2026-08-05追加：合体印刷（4スタジオ・A3横）でもインストラクター名を表示する =====
   No.15から持ち越しだった項目。実データ（今週の時間割・全93コマ、45/60/90/345分の
   全パターン）でA3横のPDFを実際に生成して検品した結果、写真なし・名前のみ（5.5pt）
   であれば、最も箱が狭い45分クラスでも文字が切れずに収まることを確認できたため反映する。
   ページ数（1枚に収まるか）への影響もないことを確認済み。

   ★2026-08-12：大きさと太さの指定は、上の @media print のかたまり（「紙は担当を必ず読ませる」）
   に一本化した。ここに font-size を残すと、ファイルの後ろにあるぶんそちらが勝ってしまい、
   1か所直したのに変わらない、という追いかけにくい食い違いになるため。display だけ残す。 */
#tdr-print-holder[data-mode="all"] .tdr-i-n { display:flex; }
