/* 出勤スケジュール。2026-09-19 page-schedule.php から切り出し（英中韓版と共通）。 */
/* 出勤スケジュール（2026-09-18）。.sch の中だけに効く。 */
.sch{--red:#dc2626;--red-d:#991b1b;--red-l:#fef2f2;--ink:#1f2937;--mut:#6b7280;--line:#e5e7eb;--sat:#2563eb;--sun:#dc2626;--green:#06c755;
  color:var(--ink);font-size:14px;line-height:1.7;margin:0}
.sch *{box-sizing:border-box}
.sch-hero{background:linear-gradient(135deg,#7f1d1d 0%,#dc2626 60%,#b91c1c 100%);color:#fff;text-align:center;padding:34px 16px 30px;border-radius:0 0 22px 22px}
.sch-hero h1{color:#fff;font-size:clamp(24px,5.6vw,36px);font-weight:900;margin:0 0 6px;line-height:1.3}
.sch-hero p{margin:0 auto 18px;max-width:560px;opacity:.95}
.sch-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sch-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;font-weight:800;font-size:14.5px;text-decoration:none!important;min-width:190px}
.sch-btn--white{background:#fff;color:var(--red)!important}
.sch-btn--line{background:var(--green);color:#fff!important}

.sch-body{max-width:1180px;margin:0 auto;padding:18px 16px 30px}

/* 日付で絞る */
.sch-days-label{font-weight:900;font-size:14px;margin:4px 0 8px}
.sch-days-label span{font-weight:400;color:var(--mut);font-size:12.5px;margin-left:6px}
.sch-days{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
.sch-day{flex:0 0 auto;scroll-snap-align:start;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:6px 10px;min-width:58px;text-align:center;cursor:pointer;line-height:1.3;font:inherit}
.sch-day b{display:block;font-size:15px}
.sch-day small{font-size:11.5px;color:var(--mut)}
.sch-day.is-sat b{color:var(--sat)} .sch-day.is-sun b{color:var(--sun)}
.sch-day.is-today{border-color:var(--red)}
.sch-day.is-active{background:var(--red);border-color:var(--red)}
.sch-day.is-active b,.sch-day.is-active small{color:#fff}
.sch-day--all{min-width:74px;font-weight:800}
.sch-status{font-size:12.5px;color:var(--mut);margin:0 0 10px;min-height:1.5em}

/* 凡例 */
.sch-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:#374151;background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px}
.sch-legend b{color:var(--sat)}

/* 表 */
.sch-tablewrap{border:1px solid var(--line);border-radius:14px;overflow:auto;max-height:72vh;background:#fff;-webkit-overflow-scrolling:touch}
.sch-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12.5px;margin:0!important;border:none!important}
.sch-table th,.sch-table td{border:none!important;border-bottom:1px solid var(--line)!important;border-right:1px solid #f1f1f1!important;padding:8px 6px!important;text-align:center;vertical-align:middle;white-space:nowrap;background:#fff}
.sch-table thead th{position:sticky;top:0;z-index:2;background:#f9fafb;font-weight:800;color:#374151;font-size:12.5px;min-width:84px}
.sch-table thead th.is-sat{color:var(--sat)} .sch-table thead th.is-sun{color:var(--sun)}
.sch-table thead th.is-today{background:var(--red);color:#fff}
.sch-table thead th:first-child{left:0;z-index:4}
.sch-table tbody th{position:sticky;left:0;z-index:1;background:#fff;min-width:92px;max-width:110px;white-space:normal;font-weight:800;box-shadow:2px 0 4px rgba(0,0,0,.04)}
.sch-table tbody th a{display:block;text-decoration:none!important;color:var(--ink)!important;font-size:12.5px;line-height:1.35}
.sch-table tbody th img{width:56px;height:56px;object-fit:cover;object-position:top;border-radius:50%;display:block;margin:0 auto 4px;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);max-width:none!important}
.sch-tu{display:flex;flex-wrap:wrap;justify-content:center;gap:0 5px;margin-top:3px;font-size:11px;font-weight:700;color:var(--mut)}
.sch-tu>span{white-space:nowrap}
.sch-tu b{color:var(--red);margin-left:1px;font-weight:900}
.sch-table td.is-today{background:#fff7f7}
.sch-table td.is-col-active{background:#fef2f2!important}
.sch-table .shift-time{display:inline-block;font-weight:700;color:var(--ink)}
.sch-table td.is-off .shift-time{color:#c0c4cc;font-weight:400}
.sch-table td.is-on .shift-time{background:var(--red-l);color:var(--red-d);border-radius:8px;padding:2px 7px}
.sch-table .tomari-mark{display:block;font-size:11.5px;color:var(--sat);min-height:1em;margin-top:2px}
.sch-table tr.is-hidden{display:none}
.sch-empty{display:none;text-align:center;padding:26px 10px;color:var(--mut)}

.sch-notes{font-size:12.5px;color:var(--mut);margin-top:12px;line-height:1.9}

@media (max-width:600px){
  .sch-btn{min-width:0;flex:1 1 100%}
  .sch-table thead th{min-width:76px}
  .sch-table tbody th{min-width:78px}
  .sch-table tbody th img{width:46px;height:46px}
  .sch-tablewrap{max-height:68vh}
}
