body {
  font-family: sans-serif;
  margin: 20px;
}

/* テーブル共通 */
table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;  /* 等間隔グリッド、幅固定も可能 */
}

th, td {
  border: 1px solid #999;
  vertical-align: top;
  text-align: left;
  padding: 4px;
  box-sizing: border-box;
}

/* カレンダー用（7列均等） */
.calendar th, .calendar td {
  width: 14.28%;  /* 100 ÷ 7日分 */
}

/* 列幅調整（予定編集フォーム） */
.list th.dateCol, .list td.dateCol       { width: 4%; text-align: center;}
.list th.weekdayCol, .list td.weekdayCol       { width: 4%; text-align: center;}
.list th.contentCol, .list td.contentCol { width: 54%; }  /* 予定内容を広めに */
.list th.jugyoCol, .list td.jugyoCol     { width: 10%; text-align: center;}
.list th.kagaiCol, .list td.kagaiCol     { width: 10%; text-align: center;}
.list th.panCol, .list td.panCol         { width: 6%; text-align: center; }
.list th.nichibanCol, .list td.nichibanCol   { width: 8%; text-align: center; }


/* テキスト入力ボックスをセル幅の95%に統一 */
.list td input[type="text"] {
  width: 95%;
  box-sizing: border-box;
}

/* チェックボックスを中央寄せ */
.list td.deleteCol input[type="checkbox"],
.list td.studentCol input[type="checkbox"],
.list td.unapprovedCol input[type="checkbox"] {
  display: block;
  margin: 0 auto;
}


/* 曜日ヘッダ行 */
th {
  background-color: #eee;   /* 薄い灰色 */
  text-align: center;
  font-size: 1.5em;
  height: 50px;
}

/* 日付セル（カレンダーのみ） */
.calendar td {
  height: 90px;
  vertical-align: top;
}

/* 曜日色設定 */
.sunday {
  background-color: #fff5f5; 
  color: red;
}

.saturday {
  color: blue;
  background-color: #eef7ff;
}

/* 祝日セル */
.holiday {
  background-color: #fff5f5;
  color: red;
  font-weight: bold;
}

/* 祝日ラベル */
.holiday-label {
  font-size: 0.9em;
  font-weight: bold;
  margin-top: 4px;
  display: block;
}

/* 予定表示 */
.event {
  font-size: 0.9em;
  margin-top: 6px;
  color: #000;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
}

/* 削除ボタン */
.event-delete {
  margin-top: 4px;
}
.event input[type="submit"] {
  font-size: 0.8em;
  padding: 2px 6px;
  margin-left: 6px;
  cursor: pointer;
}

/* 月移動リンク */
.calendar-nav {
  text-align: center;
  margin-bottom: 10px;
  font-size: 1.2em;
}
.calendar-nav a {
  text-decoration: none;
  margin: 0 20px;
  color: #333;
}

/* 今日セル */
.today {
  background-color: #cfefff;
  border: 2px solid #3399cc;
}

.delete-message {
  color: red;
  background-color: #ffecec;
  border: 1px solid #cc9999;
  padding: 6px 10px;
  margin-bottom: 10px;
  text-align: center;
  border-radius: 6px;
  opacity: 1;
}

/* 曜日ヘッダ色 */
th.sunday { color: red; background-color: #fff5f5; }
th.saturday { color: blue; background-color: #eef7ff; }

/* カレンダーセル背景色 */
td.saturday { background-color: #eef7ff; color: blue; }
td.holiday { background-color: #fff5f5; color: red; }

/* 入力幅の目安（フォーム用） */
.input-jugyo{width:9em;}
.input-kagai{width:7em;}
.input-pan{width:4em;}
