@charset "UTF-8";

/* SCIS2027 日程表（tools/gen_schedule.py が生成するテーブル用）
   配色はサイト全体のテーマカラー（クリムゾン系）に統一している。
     .sc-session … #bc0011  発表セッション（サイト基調色）
     .sc-break   … #ffb8bd  休憩・ランチ等（左メニューのホバー色）
     .sc-special … #8a0010  招待講演・懇親会・ナイトセッション

   クラス名はすべて sc- で始めている。main.css に既存の .schedule
   （display:inline-block / text-indent:2em、child.html が使用）があり、
   同名にすると表がそれを拾って崩れるため。 */

.sc-wrap {
  clear: both;
  width: 100%;          /* 見出し(h2)と左右の端をそろえる */
  margin: 0.5ex 0 2ex 0;
  overflow-x: auto;
}

table.sc-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 460px;
  table-layout: fixed;
  font-size: 90%;
}

table.sc-table th,
table.sc-table td {
  border: 1px solid #cccccc;
  padding: 0.2ex 0.4ex;
  text-align: center;
  vertical-align: middle;
  line-height: 1.35;
  /* 任意の位置では折り返さず、<br> と <wbr> を入れた場所だけで改行する。
     どうしても収まらないときだけ overflow-wrap が保険として働く。 */
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 見出し（Day1〜Day4） */
table.sc-table thead th {
  background-color: #666666;
  color: #ffffff;
  padding: 0.6ex 0.4ex;
  white-space: nowrap;
}

table.sc-table thead th .sc-date {
  display: block;
  font-weight: normal;
  font-size: 88%;
}

/* 列幅（colgroup で指定）。時刻列を固定し、残りを 4 日で等分する。 */
table.sc-table col.sc-col-time {
  width: 4.6em;
}

table.sc-table col.sc-col-day {
  width: calc((100% - 4.6em) / 4);
}

/* 時刻列。横罫線を消して 1 本の連続した目盛りに見せる。
   罫線を残すと空セルが「歯抜けのマス目」に見えてしまうため。 */
table.sc-table th.sc-time {
  background-color: #eeeeee;
  color: #333333;
  font-weight: normal;
  font-size: 92%;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  line-height: 1.25;
}

/* 時刻列は「開始時刻／縦線／終了時刻」の3段構成。
   縦線は 1px の矩形で描く（"|" の字形は書体差で太さや位置がぶれるため）。 */
table.sc-table th.sc-time .sc-t-start,
table.sc-table th.sc-time .sc-t-end {
  display: block;
}

table.sc-table th.sc-time .sc-t-bar {
  display: block;
  width: 1px;
  height: 0.9em;
  margin: 0.15em auto;
  background-color: #b0b0b0;
}

/* 各行を Excel の行高に近い比率で見せる */
table.sc-table tbody tr {
  height: 1.9em;
}

/* 中身 */
table.sc-table td .sc-range {
  display: block;
  font-size: 88%;
  white-space: nowrap;
}

table.sc-table td.sc-session {
  background-color: #bc0011;
  color: #ffffff;
}

table.sc-table td.sc-break {
  background-color: #ffb8bd;
  color: #333333;
}

table.sc-table td.sc-special {
  background-color: #8a0010;
  color: #ffffff;
}

table.sc-table td.sc-none {
  background-color: #ffffff;
}

.sc-note {
  margin: 0.5ex 0 0 0;
  color: #666666;
  font-size: 85%;
}

@media screen and (max-width: 760px) {
  table.sc-table {
    font-size: 82%;
  }

  table.sc-table col.sc-col-time {
    width: 4.2em;
  }

  table.sc-table col.sc-col-day {
    width: calc((100% - 4.2em) / 4);
  }
}
