/* 在校生向けページ用スタイル - 左側タブ縦一列レイアウト */

/* タブコンテナ */
.student-tab-container {
	display: flex !important;
	gap: 20px !important;
	width: 100% !important;
	min-height: 500px !important;
}

/* タブナビゲーション（左側） */
.student-tab-nav {
	flex: 0 0 250px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 8px !important;
	padding: 10px 0 !important;
	overflow-y: auto !important;
	max-height: 500px !important;
}

/* ラジオボタンを非表示 */
input[type="radio"][name="student-tab-item"] {
	display: none !important;
}

/* タブアイテム（縦一列） */
.student-tab-item {
	display: block !important;
	width: 100% !important;
	padding: 12px 16px !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	text-align: left !important;
	font-size: 13px !important;
	color: #495057 !important;
	transition: all 0.3s ease !important;
	border-bottom: 1px solid #e9ecef !important;
	line-height: 1.4 !important;
}

.student-tab-item:hover {
	background: #e9ecef !important;
	color: #212529 !important;
}

.student-tab-item:last-child {
	border-bottom: none !important;
}

/* 選択されたタブ */
input[type="radio"][name="student-tab-item"]:checked + .student-tab-item {
	background: #ffa500 !important;
	color: #fff !important;
	font-weight: bold !important;
}

/* タブコンテンツ（右側） */
.student-tab-content {
	display: none !important;
	flex: 1 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}

/* 選択されたタブのコンテンツを表示 */
#student-tab-1:checked ~ #student-content-1,
#student-tab-2:checked ~ #student-content-2,
#student-tab-3:checked ~ #student-content-3,
#student-tab-4:checked ~ #student-content-4,
#student-tab-5:checked ~ #student-content-5,
#student-tab-6:checked ~ #student-content-6,
#student-tab-7:checked ~ #student-content-7,
#student-tab-8:checked ~ #student-content-8,
#student-tab-9:checked ~ #student-content-9,
#student-tab-10:checked ~ #student-content-10 {
	display: block !important;
}

/* 学生情報セクション */
.student-info-section {
	margin: 0 !important;
	padding: 30px !important;
	background: #fff !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.student-info-section h3 {
	color: #212529 !important;
	margin-bottom: 15px !important;
	font-size: 20px !important;
	border-bottom: 2px solid #ffa500 !important;
	padding-bottom: 8px !important;
	font-weight: bold !important;
}

.student-info-section p {
	color: #6c757d !important;
	margin-bottom: 20px !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

/* リンクボタン */
.student-link-btn {
	display: inline-block !important;
	padding: 10px 20px !important;
	background: #ffa500 !important;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 5px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
	border: none !important;
}

.student-link-btn:hover {
	background: #ff9500 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 8px rgba(255, 165, 0, 0.3) !important;
}

/* 履修の手引き用スタイル */
.risyu-downloads {
	margin-top: 20px !important;
}

.risyu-notice {
	text-align: center !important;
	margin: 20px 0 !important;
	padding: 15px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 5px !important;
}

.risyu-link {
	text-decoration: none !important;
	color: #007bff !important;
	transition: color 0.3s ease !important;
}

.risyu-link:hover {
	color: #0056b3 !important;
}

/* より具体的なセレクターで確実に適用 */
.student-content .risyu-link,
.student-content .risyu-link:link,
.student-content .risyu-link:visited {
	color: #007bff !important;
}

.student-content .risyu-link:hover,
.student-content .risyu-link:focus {
	color: #0056b3 !important;
}

.pdf-size {
	font-size: 12px !important;
	color: #6c757d !important;
	font-weight: normal !important;
}

.risyu-row {
	display: flex !important;
	align-items: flex-start !important;
	margin: 20px 0 !important;
}

.risyu-item {
	flex: 1 !important;
	text-align: center !important;
}

.risyu-spacer {
	width: 50px !important;
	flex-shrink: 0 !important;
}

.risyu-item img {
	border: 1px solid #dee2e6 !important;
	border-radius: 4px !important;
	margin-bottom: 10px !important;
}

.risyu-item strong {
	display: block !important;
	margin-top: 5px !important;
	font-size: 12px !important;
	color: #495057 !important;
}

.risyu-divider {
	margin: 40px 0 20px 0 !important;
	border: none !important;
	border-top: 1px solid #dee2e6 !important;
}

.risyu-section-title {
	text-align: center !important;
	font-size: 16px !important;
	font-weight: bold !important;
	color: #212529 !important;
	margin: 20px 0 !important;
	padding: 10px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 5px !important;
}

/* 時間割情報用スタイル */
.timetable-downloads {
	margin-top: 20px !important;
}

.timetable-downloads h4 {
	color: #212529 !important;
	font-size: 18px !important;
	font-weight: bold !important;
	margin-bottom: 15px !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid #ffa500 !important;
}

.timetable-links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.timetable-links li {
	margin-bottom: 12px !important;
}

.timetable-link {
	display: block !important;
	padding: 12px 16px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	color: #495057 !important;
	transition: all 0.3s ease !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

.timetable-link:hover {
	background: #ffa500 !important;
	color: #fff !important;
	border-color: #ffa500 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 4px rgba(255, 165, 0, 0.2) !important;
}

.timetable-link .pdf-size {
	font-size: 12px !important;
	color: #6c757d !important;
	font-weight: normal !important;
	margin-left: 8px !important;
}

.timetable-link:hover .pdf-size {
	color: #e9ecef !important;
}

/* 就職担当教員用スタイル */
.career-info {
	margin: 20px 0 !important;
	padding: 15px !important;
	background: #f8f9fa !important;
	border-left: 4px solid #ffa500 !important;
	border-radius: 4px !important;
}

.career-info p {
	margin: 8px 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.career-info strong {
	color: #ffa500 !important;
	font-weight: bold !important;
}

/* 研究室訪問用スタイル */
.lab-visit-content {
	margin-top: 20px !important;
}

.lab-department {
	margin-bottom: 25px !important;
	padding: 15px !important;
	background: #f8f9fa !important;
	border-radius: 6px !important;
	border-left: 4px solid #28a745 !important;
}

.lab-department h4 {
	color: #28a745 !important;
	font-size: 16px !important;
	font-weight: bold !important;
	margin: 0 0 12px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid #dee2e6 !important;
}

.lab-teachers {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.lab-teachers li {
	padding: 6px 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: #495057 !important;
	border-bottom: 1px solid #e9ecef !important;
	position: relative !important;
}

.lab-teachers li:last-child {
	border-bottom: none !important;
}

.lab-teacher-link {
	text-decoration: none !important;
	color: #495057 !important;
	transition: color 0.3s ease !important;
	display: block !important;
	padding: 6px 0 !important;
}

.lab-teacher-link:hover {
	color: #ffa500 !important;
	text-decoration: underline !important;
}

.lab-teacher-link.active {
	color: #ffa500 !important;
	font-weight: bold !important;
	background: #fff3e0 !important;
	padding: 6px 12px !important;
	border-radius: 4px !important;
}

/* 研究室訪問詳細表示エリア */
.lab-detail-area {
	margin-top: 10px !important;
	margin-left: 20px !important;
	padding: 15px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 8px !important;
	border-left: 4px solid #ffa500 !important;
}

.lab-detail-content h4 {
	color: #ffa500 !important;
	font-size: 18px !important;
	font-weight: bold !important;
	margin: 0 0 15px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid #ffa500 !important;
}

.lab-detail-info h5 {
	color: #495057 !important;
	font-size: 16px !important;
	font-weight: bold !important;
	margin: 15px 0 10px 0 !important;
}

.lab-detail-info h6 {
	color: #6c757d !important;
	font-size: 14px !important;
	font-weight: bold !important;
	margin: 15px 0 8px 0 !important;
}

.lab-detail-images {
	margin: 15px 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.lab-image {
	max-width: 200px !important;
	height: auto !important;
	border-radius: 4px !important;
	border: 1px solid #dee2e6 !important;
}

.lab-detail-documents ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.lab-detail-documents li {
	margin-bottom: 8px !important;
}

.lab-detail-documents a {
	color: #ffa500 !important;
	text-decoration: none !important;
	padding: 8px 12px !important;
	background: #fff3e0 !important;
	border-radius: 4px !important;
	display: inline-block !important;
	transition: all 0.3s ease !important;
}

.lab-detail-documents a:hover {
	background: #ffa500 !important;
	color: #fff !important;
}

/* 折りたたみアーカイブ用スタイル */
.risyu-archive-section {
	margin: 20px 0 !important;
}

.risyu-archive-toggle {
	width: 100% !important;
	padding: 12px 16px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	font-size: 14px !important;
	color: #495057 !important;
	transition: all 0.3s ease !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.risyu-archive-toggle:hover {
	background: #e9ecef !important;
	color: #212529 !important;
}

.toggle-icon {
	font-size: 12px !important;
	transition: transform 0.3s ease !important;
}

.risyu-archive-content {
	margin-top: 10px !important;
	padding: 15px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 8px !important;
	border-left: 4px solid #ffa500 !important;
}

/* ePort用スタイル */
.eport-links {
	margin: 20px 0 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
}

.eport-link-item {
	padding: 15px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 6px !important;
	text-align: center !important;
}

.eport-link-item h4 {
	color: #ffa500 !important;
	font-size: 16px !important;
	font-weight: bold !important;
	margin: 0 0 12px 0 !important;
}

.eport-notice {
	margin-top: 20px !important;
	padding: 12px 15px !important;
	background: #fff3cd !important;
	border: 1px solid #ffeaa7 !important;
	border-radius: 4px !important;
}

.eport-notice p {
	margin: 0 !important;
	font-size: 14px !important;
	color: #856404 !important;
}

.eport-notice strong {
	color: #856404 !important;
	font-weight: bold !important;
}

/* アクセス制限用スタイル */
.access-restricted {
	margin: 20px 0 !important;
	padding: 20px !important;
	background: #f8d7da !important;
	border: 1px solid #f5c6cb !important;
	border-radius: 6px !important;
	text-align: center !important;
}

.access-restricted p {
	margin: 8px 0 !important;
	font-size: 14px !important;
	color: #721c24 !important;
}

.access-restricted strong {
	color: #721c24 !important;
	font-weight: bold !important;
	font-size: 16px !important;
}

/* 学生研究プロジェクト用スタイル */
.project-downloads {
	margin-top: 20px !important;
}

.project-links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.project-links li {
	margin-bottom: 12px !important;
}

.project-link {
	display: block !important;
	padding: 12px 16px !important;
	background: #f8f9fa !important;
	border: 1px solid #dee2e6 !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	color: #495057 !important;
	transition: all 0.3s ease !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

.project-link:hover {
	background: #ffa500 !important;
	color: #fff !important;
	border-color: #ffa500 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 4px rgba(255, 165, 0, 0.2) !important;
}

.project-link .pdf-size {
	font-size: 12px !important;
	color: #6c757d !important;
	font-weight: normal !important;
	margin-left: 8px !important;
}

.project-link:hover .pdf-size {
	color: #e9ecef !important;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.student-tab-container {
		flex-direction: column !important;
	}
	
	.eport-links {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
	}
	
	.student-tab-nav {
		flex: none !important;
		width: 100% !important;
		max-height: 200px !important;
	}
	
	.student-tab-item {
		display: inline-block !important;
		width: auto !important;
		margin-right: 5px !important;
		margin-bottom: 5px !important;
		border-bottom: 1px solid #e9ecef !important;
		border-radius: 4px !important;
		font-size: 12px !important;
		padding: 8px 12px !important;
	}
	
	.student-info-section {
		padding: 20px !important;
	}
	
	.student-info-section h3 {
		font-size: 18px !important;
	}
	
	.risyu-row {
		flex-direction: column !important;
		gap: 20px !important;
	}
	
	.risyu-spacer {
		display: none !important;
	}
	
	.risyu-item img {
		width: 100px !important;
		height: auto !important;
	}
}
