/* TOYOTAラボ（/toyota-lab/）。色はテーマの body.site-toyota-lab の --lab-* を使う */
.tlab { --tl-accent:var(--lab-ink,#b71c1c); --tl-line:#e3e5e8; --tl-muted:#6b7078;
        --ok:#0f7b45; --ok-bg:#e3f4ea; --stop:#b3261e; --stop-bg:#fbe5e3; --lot:#8a5a00; --lot-bg:#fdf0d2;
        --inq:#5b5f66; --inq-bg:#eceef1; --end:#444; --end-bg:#e0e0e0; }
.tlab-h1 { font-size:1.6rem; line-height:1.35; margin:.2em 0 .6em; }
.tlab-h2 { font-size:1.2rem; margin:2em 0 .7em; padding:0 0 .3em; border-bottom:3px solid var(--tl-accent); }
.tlab-h3 { font-size:1.02rem; margin:1.6em 0 .5em; padding-left:.5em; border-left:4px solid var(--tl-accent); }
.tlab-lead { line-height:1.85; }
.tlab-muted { color:var(--tl-muted); }
.tlab-small { font-size:.85rem; }
.tlab-badge { display:inline-block; padding:.05em .55em; border-radius:999px; font-size:.78rem; font-weight:700; white-space:nowrap; line-height:1.7; }
.tlab-ok { color:var(--ok); background:var(--ok-bg); }
.tlab-stop { color:var(--stop); background:var(--stop-bg); }
.tlab-lottery { color:var(--lot); background:var(--lot-bg); }
.tlab-inquire { color:var(--inq); background:var(--inq-bg); }
.tlab-ended, .tlab-unknown { color:var(--end); background:var(--end-bg); }
.tlab-flag { display:inline-block; font-size:.72rem; color:var(--tl-muted); border:1px solid var(--tl-line); border-radius:4px; padding:0 .4em; margin:.1em 0; white-space:nowrap; }
.tlab-flag.tlab-warn { color:var(--lot); border-color:#e8c87a; background:#fff8e6; }
.tlab-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tlab-table { width:100%; border-collapse:collapse; font-size:.9rem; margin:0 0 1em; }
.tlab-table th, .tlab-table td { border-bottom:1px solid var(--tl-line); padding:.55em .55em; text-align:left; vertical-align:top; }
.tlab-table th { background:var(--lab-tint,#f6f7f9); font-weight:700; white-space:nowrap; }
.tlab-table tr.tlab-copy td { color:var(--tl-muted); }
.tlab-note { font-size:.78rem; color:var(--tl-muted); margin-top:.15em; }
.tlab-counts span { display:inline-block; white-space:nowrap; margin:0 .3em .2em 0; }
.tlab-counts b { margin:0 .2em 0 .15em; }
.tlab-summary { display:flex; flex-wrap:wrap; gap:.6em 1.3em; align-items:center; padding:.9em 1.1em; background:var(--lab-tint,#f6f7f9); border:1px solid var(--lab-edge,#eee); border-radius:8px; margin:1em 0 .3em; }
.tlab-num { font-size:1.5rem; font-weight:800; margin-right:.15em; color:var(--tl-accent); }
.tlab-src { font-size:.8rem; color:var(--tl-muted); line-height:1.7; }
.tlab-box { background:var(--lab-tint,#f6f7f9); border:1px solid var(--lab-edge,#eee); border-radius:8px; padding:.8em 1.2em; margin:1.4em 0; font-size:.88rem; }
.tlab-box p { margin:0 0 .3em; }
.tlab-box ul { margin:.3em 0 0; padding-left:1.1em; line-height:2; }
.tlab-events { list-style:none; padding:0; margin:0; }
.tlab-events li { padding:.45em 0; border-bottom:1px dashed var(--tl-line); font-size:.9rem; }
.tlab-events time { display:inline-block; min-width:3em; color:var(--tl-muted); font-variant-numeric:tabular-nums; }
.tlab-notes { line-height:1.9; font-size:.9rem; }
.tlab-disclaimer { font-size:.8rem; color:var(--tl-muted); margin-top:2em; line-height:1.7; }
@media (min-width:681px) {
  .tlab-cars td:nth-child(4) > div { white-space:nowrap; }
  .tlab-cars td:nth-child(4) .tlab-note { white-space:normal; }
  .tlab-dealers td:nth-child(1), .tlab-dealers td:nth-child(2) a, .tlab-dealers td:nth-child(6) { white-space:nowrap; }
}
/* スマートフォン：表をカード表示に */
@media (max-width:680px) {
  .tlab-dealers, .tlab-cars, .tlab-src-table, .tlab-dealers tbody, .tlab-cars tbody, .tlab-src-table tbody { display:block; width:100%; }
  .tlab-dealers thead, .tlab-cars thead, .tlab-src-table thead { display:none; }
  .tlab-dealers tr, .tlab-cars tr, .tlab-src-table tr { display:block; border:1px solid var(--tl-line); border-radius:8px; margin:0 0 .7em; padding:.4em .2em; }
  .tlab-dealers td, .tlab-cars td, .tlab-src-table td { display:flex; gap:.8em; border:0; padding:.25em .6em; }
  .tlab-dealers td::before, .tlab-cars td::before, .tlab-src-table td::before { content:attr(data-l); flex:0 0 7.5em; color:var(--tl-muted); font-size:.78rem; }
  .tlab-h1 { font-size:1.35rem; }
}
/* サイドカラム */
.tlab-side { margin:0; padding-left:1.4em; }
.tlab-side li { margin:.45em 0; line-height:1.5; }
.tlab-side small { display:block; color:#6b7078; font-size:.78rem; }
.tlab-side-empty { font-size:.85rem; color:#6b7078; }

/* 分類のタブ（2026-10-15）。押すとその見出しまでスクロールする */
.tlab-tabs { display:flex; flex-wrap:wrap; gap:.4em; margin:.9em 0 1.4em; }
.tlab-tabs a { display:inline-flex; align-items:center; gap:.35em; padding:.4em .9em;
  border:1px solid var(--tl-line); border-radius:999px; background:#fff;
  color:inherit; text-decoration:none; font-size:.88rem; font-weight:700; line-height:1.6;
  transition:border-color .15s, background-color .15s, color .15s; }
.tlab-tabs a:hover, .tlab-tabs a:focus-visible { border-color:var(--tl-accent); color:var(--tl-accent); background:var(--lab-tint,#f6f7f9); }
.tlab-tabs a span { color:var(--tl-muted); font-weight:400; font-size:.8rem; font-variant-numeric:tabular-nums; }
.tlab-tabs a:hover span, .tlab-tabs a:focus-visible span { color:inherit; }
/* いま見ている分類 */
.tlab-tabs a.is-current { border-color:var(--tl-accent); background:var(--tl-accent); color:#fff; }
.tlab-tabs a.is-current span { color:#fff; opacity:.75; }
/* 飛んだ先の見出しが画面の上端に貼りつかないよう余白を取る */
.tlab-h3 { scroll-margin-top:16px; }
/* ★なめらかな移動は CSS ではなく JS で行う（front.php）。
   本番では他のスクリプトがスクロールを見ており、
   scroll-behavior:smooth による移動が始まった瞬間に打ち消されるため。 */
/* 改良の周期と時系列 */
.tlab-cycle { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:.8em 0 1em; }
.tlab-cycle > div { background:var(--lab-tint,#f6f7f9); border:1px solid var(--lab-edge,#eee); border-radius:8px; padding:.7em .9em; }
.tlab-cycle .tlab-cy-next { border:1.5px dashed #378ADD; background:#f3f8fd; grid-column:1 / -1; }
.tlab-cy-l { display:block; font-size:.78rem; color:var(--tl-muted); }
.tlab-cy-v { display:block; font-size:1.15rem; font-weight:700; margin:.15em 0; }
.tlab-cy-n { display:block; font-size:.75rem; color:var(--tl-muted); line-height:1.5; }
.tlab-tl-legend { font-size:.78rem; color:var(--tl-muted); margin:.4em 0; }
.tlab-tl-legend span { display:inline-flex; align-items:center; gap:4px; margin-right:12px; }
.tlab-tl-legend i { width:10px; height:10px; border-radius:2px; display:inline-block; }
.tlab-tl-legend i.tlab-tl-line { width:2px; height:12px; background:#1f2933; border-radius:0; }
.tlab-tl-legend i.tlab-tl-win { background:rgba(56,138,221,.15); border:1px dashed #378ADD; }
.tlab-tl-box { display:flex; align-items:flex-start; }
.tlab-tl-names { flex:0 0 9.5em; font-size:11px; color:#454a52; }
.tlab-tl-names div { height:22px; line-height:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:6px; }
.tlab-tl-wrap { flex:1 1 auto; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tlab-tl { display:block; max-width:none; }  /* 拡大縮小しない（左の販社名と行の高さをそろえる） */
@media (max-width:680px) { .tlab-tl-names { flex-basis:7.5em; } }
.tlab-tl-grid { stroke:#e3e5e8; stroke-width:1; }
.tlab-tl-t { font-size:11px; fill:#6b7078; }
.tlab-tl-n { font-size:11px; fill:#454a52; }
.tlab-tl-ev { stroke:#1f2933; stroke-width:2; }
.tlab-tl-ev.fmc { stroke-width:3; }
.tlab-tl-now { stroke:#6b7078; stroke-dasharray:2 3; }
.tlab-tl-winr { fill:rgba(56,138,221,.13); stroke:#378ADD; stroke-dasharray:4 3; }
.tlab-tl-nodata { fill:none; stroke:#d6d9de; stroke-dasharray:3 3; }
.tlab-model-hist { list-style:none; padding:0; margin:0; font-size:.86rem; }
.tlab-model-hist li { padding:.4em 0; border-bottom:1px dashed var(--tl-line); line-height:1.6; }
.tlab-model-hist time { display:inline-block; min-width:8.5em; color:var(--tl-muted); font-variant-numeric:tabular-nums; }
.tlab-kind { display:inline-block; font-size:.72rem; padding:0 .45em; border-radius:4px; margin-right:.4em; background:#eceef1; color:#454a52; }
.tlab-k-fmc { background:#1f2933; color:#fff; }
.tlab-k-kaizen { background:#e6f1fb; color:#0c447c; }
.tlab-k-supply { background:#fbe5e3; color:#b3261e; }
.tlab-k-planned { background:#fdf0d2; color:#8a5a00; }

/* SEO/AIO（2026-10-16）：表の caption は読み上げ・検索向け（画面には出さない）、車種ページ冒頭の要約、よくある質問 */
.tlab-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tlab-answer { margin:.6em 0 1em; padding:.75em 1em; background:#fbf3f2; border-left:4px solid #d32f2f; border-radius:4px; line-height:1.8; }
.tlab-faq { margin:0 0 1.5em; }
.tlab-faq dt { font-weight:700; margin-top:1em; padding-left:1.6em; text-indent:-1.6em; }
.tlab-faq dt::before { content:"Q."; color:#d32f2f; margin-right:.5em; }
.tlab-faq dd { margin:.3em 0 0; padding-left:1.6em; line-height:1.8; }
