@charset "utf-8";

/* ===================================
   Scheduleページ - 表デザイン
   色彩：#013682（濃い青）、#1c3177（ダークブルーグレー）、#333333（ダークグレー）
   =================================== */

/* 共通設定 */
.inner {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
}

/* ===================================
   デザイン案1：グラデーションヘッダー + ストライプ（推奨）
   =================================== */
.ta1 {
	width: 100%;
	border-collapse: collapse;
	margin: 40px 0;
	font-size: 16px;
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	overflow: hidden;
}

/* キャプション */
.ta1 caption {
	font-size: 22px;
	font-weight: 700;
	color: #1c3177;
	text-align: left;
	padding: 20px 0 15px 0;
	border-bottom: 3px solid #1c3177;
	margin-bottom: 20px;
}

/* ヘッダー列（左側） */
.ta1 th {
	background: #1c3177;
	color: #ffffff;
	font-weight: 700;
	font-size: 20px;
	padding: 20px 25px;
	text-align: left;
	vertical-align: top;
	width: 180px;
	border-right: 3px solid #ffffff;
}

/* データ列（右側） */
.ta1 td {
	padding: 20px 25px;
	color: #333333;
	line-height: 1.8;
	background: #ffffff;
}

/* 行のストライプ */
.ta1 tr:nth-child(even) td {
	background: #f8f9fa;
}

/* 行の境界線 */
.ta1 tr {
	border-bottom: 1px solid #e9ecef;
}

.ta1 tr:last-child {
	border-bottom: none;
}

/* リンク */
.ta1 a {
	color: #0066cc;
	text-decoration: underline;
}

.ta1 a:hover {
	color: #004499;
}

/* ===================================
   デザイン案2：カレンダー型（年間スケジュール用）
   =================================== */
.ta2 {
	width: 100%;
	border-collapse: collapse;
	margin: 40px 0;
	font-size: 16px;
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	overflow: hidden;
}

/* キャプション */
.ta2 caption {
	font-size: 22px;
	font-weight: 700;
	color: #1c3177;
	text-align: left;
	padding: 20px 0 15px 0;
	border-bottom: 3px solid #1c3177;
	margin-bottom: 20px;
}

/* ヘッダー行 */
.ta2 tr:first-child {
	background: #1c3177;
	color: #ffffff;
}

.ta2 tr:first-child th,
.ta2 tr:first-child td {
	font-weight: 700;
	font-size: 20px;
	padding: 18px 20px;
	color: #ffffff;
	text-align: center;
}

/* 月列（左端） */
.ta2 th {
	background:#1c3177;
	color: #ffffff;
	font-weight: 700;
	font-size: 20px;
	padding: 20px;
	text-align: center;
	width: 100px;
	border-right: 2px solid #ffffff;
}

/* データセル */
.ta2 td {
	padding: 18px 20px;
	color: #333333;
	line-height: 1.8;
	border-bottom: 1px solid #e9ecef;
	border-right: 1px solid #e9ecef;
	vertical-align: top;
}

.ta2 tr:last-child td {
	border-bottom: none;
}

/* ストライプ */
.ta2 tr:nth-child(even) {
	background: #f8f9fa;
}


/* リンク */
.ta2 a {
	color: #0066cc;
	text-decoration: underline;
}

.ta2 a:hover {
	color: #004499;
}

/* ===================================
   レスポンシブ対応
   =================================== */
@media (max-width: 768px) {
	.ta1 caption,
	.ta2 caption {
		font-size: 20px;
		padding: 15px 0 10px 0;
	}

	.ta1 th {
		width: 120px;
		font-size: 14px;
		padding: 15px;
	}

	.ta1 td {
		font-size: 14px;
		padding: 15px;
	}

	.ta2 th {
		width: 80px;
		font-size: 14px;
		padding: 15px 10px;
	}

	.ta2 td {
		font-size: 14px;
		padding: 15px;
	}
}

@media (max-width: 480px) {
	/* ta1（研究室の活動・教育、季節毎のイベント）のカード型レイアウト */
	.ta1 {
		box-shadow: none;
		border-radius: 0;
		margin: 0 0 30px 0 !important;  /* テーブル間の余白 */
	}

	.ta1 tr {
		display: block;
		margin-bottom: 20px;  /* カード間の余白 */
		border: 1px solid #e9ecef;
		border-radius: 8px;
		overflow: hidden;
		background: #ffffff;
	}

	.ta1 th,
	.ta1 td {
		display: block;
		width: 100%;
		border: none;
		text-align: left;
	}

	.ta1 th {
		border-bottom: 2px solid #ffffff;
		border-radius: 8px 8px 0 0;
	}

	.ta1 td {
		padding: 15px;
	}

	/* ta2（年間スケジュール）のカード型レイアウト */
	.ta2 {
		box-shadow: none;
		border-radius: 0;
	}

	.ta2 tr {
		display: block;
		margin-bottom: 20px;
		border: 1px solid #e9ecef;
		border-radius: 8px;
		overflow: hidden;
		background: #ffffff;
	}

	/* ヘッダー行は非表示 */
	.ta2 tr:first-child {
		display: none;
	}

	.ta2 th,
	.ta2 td {
		display: block;
		width: 100%;
		border: none;
		text-align: left;
		padding: 15px;
	}

	/* 月のヘッダー */
	.ta2 th {
		background: #1c3177;
		color: #ffffff;
		font-size: 18px;
		border-radius: 8px 8px 0 0;
	}

	/* 学内・学会などのイベントのラベル追加 */
	.ta2 td:nth-of-type(1)::before {
		content: "学内: ";
		font-weight: 700;
		color: #1c3177;
		display: block;
		margin-bottom: 5px;
	}

	.ta2 td:nth-of-type(2)::before {
		content: "学会などのイベント: ";
		font-weight: 700;
		color: #1c3177;
		display: block;
		margin-bottom: 5px;
		margin-top: 15px;
		padding-top: 15px;
		border-top: 1px dashed #9b9b9b;
	}
}