/* Seminar Consultation */
#seminarsBox {
	padding: 0  0 80px;
}
.seminarBox {
	margin: 48px 0 0;
}
.seminarBox:first-of-type {
	margin: 0;
}

.seminarBox .titleBox {
	color: #2f40af;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 168%;
	border: solid 1px #2f40af;
	border-radius: 8px;
	margin: 24px 0 0;
	padding: 8px 0;
}

.venueInfoBox {
	margin: 32px 0 0;
}
.venueInfoBox table {
	width: 56%;
	border-collapse: collapse;
	border-top: dotted 1px #afafaf;
	margin: 0 auto;
}
.venueInfoBox table tr {
	border-bottom: dotted 1px #afafaf;
}
.venueInfoBox table th {
	position: relative;
	width: 200px;
	height: 56px;
	font-size: 1.4rem;
	text-align: left;
	padding-left: 40px;
}
.venueInfoBox table th:before {
	position: absolute;
	top: 50%;
	left: 24px;
	width: 6px;
	height: 6px;
	border-top: solid 1px #2f40af;
	border-right: solid 1px #2f40af;
	display: inline-block;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}
.venueInfoBox table td {
	font-size: 1.4rem;
	line-height: 168%;
	padding: 8px 0;
}

/* Seminar */
.seminarBox .seminarList {
	margin: 32px 0 0;
}
.seminarBox .seminarList table {
	width: 80%;
	border-collapse: collapse;
	margin: 0 auto;
}
.seminarBox .seminarList th,
.seminarBox .seminarList td {
	border-right: solid 1px #afafaf;
	border-bottom: solid 1px #afafaf;
	font-size: 1.4rem;
}
.seminarBox .seminarList th {
	border-left: solid 1px #afafaf;
}
.seminarBox .seminarList tr:first-of-type th,
.seminarBox .seminarList tr:first-of-type td {
	border-top: solid 1px #afafaf;
}
.seminarBox .seminarList tr:first-of-type th {
	height: 40px;
}
.seminarBox .seminarList tr:first-of-type td {
	background-color: #efefef;
	text-align: center;
}
.seminarBox .seminarList th {
	width: 120px;
	height: auto;
	min-height: 56px;
	background-color: #eff3ff; 
}
.seminarBox .seminarList td {
	height: 56px;
	min-height: 56px;
	line-height: 168%;
	background-color: #fff;
	padding: 8px 16px;
}
.seminarBox .seminarList td:first-of-type {
	width: 160px;
	text-align: center;
}
.seminarBox .seminarList td:nth-of-type(2) {
	width: 248px;
}
.seminarBox .seminarList td span.department {
	color: #8f8f8f;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1;
	border: solid 1px #afafaf;
	border-radius: 4px;
	display: inline-block;
	margin: 0 0 4px;
	padding: 4px 12px;
}
.seminarBox .seminarList td span.cancel {
	color: #f00;
}
.seminarBox .seminarList p {
	width: 80%;
	font-size: 1.4rem;
	margin: 16px auto 0;
}

/* Consultation */
.seminarBox .consultationList {
	margin: 32px 0 0;
}
.seminarBox .consultationList table {
	width: 80%;
	border-collapse: collapse;
	margin: 0 auto;
}
.seminarBox .consultationList th,
.seminarBox .consultationList td {
	font-size: 1.4rem;
	border-right: solid 1px #afafaf;
	border-bottom: solid 1px #afafaf;
}
.seminarBox .consultationList th {
	border-left: solid 1px #afafaf;
}
.seminarBox .consultationList tr:first-of-type th,
.seminarBox .consultationList tr:first-of-type td {
	border-top: solid 1px #afafaf;
}
.seminarBox .consultationList tr:first-of-type td {
	background-color: #efefef;
	text-align: center;
}
.seminarBox .consultationList th {
	width: 120px;
	height: auto;
	background-color: #eff3ff;
}
.seminarBox .consultationList td {
	height: 48px;
	line-height: 168%;
	background-color: #fff;
	padding: 8px 16px;
}
.seminarBox .consultationList th.hidden,
.seminarBox .consultationList td.hidden {
	display: none;
}
.seminarBox .consultationList td:first-of-type {
	width: 200px;
	text-align: center;
	padding: 8px 0;
}
.seminarBox .consultationList td:last-of-type {
	width: 240px;
}
.seminarBox .consultationList p {
	width: 80%;
	font-size: 1.4rem;
	margin: 16px auto 0;
}

@media screen and (max-width: 520px) {
	/* Seminar Consultation */
	#seminarsBox {
		padding: 0  0 64px;
	}
	.seminarBox {
		margin: 32px 0 0;
	}
	
	.seminarBox .titleBox {
		line-height: 144%;
		margin: 16px 0 0;
	}
	
	.venueInfoBox {
		margin: 24px 0 0;
	}
	.venueInfoBox table {
		width: 100%;
	}
	.venueInfoBox table tr {
		border-bottom: none;
	}
	.venueInfoBox table th,
	.venueInfoBox table td {
		display: block;
	}
	.venueInfoBox table th {
		width: 100%;
		height: auto;
		padding: 16px 0 0 16px;
	}
	.venueInfoBox table th:before {
		top: auto;
		bottom: 8px;
		left: 0;
		transform: translateY(0) rotate(45deg);
	}
	.venueInfoBox table td {
		border-bottom: dotted 1px #afafaf;
		padding: 8px 16px 16px;
	}
	
	/* Seminar */
	.seminarBox .seminarList {
		margin: 24px 0 0;
	}
	.seminarBox .seminarList .innerBox {
		width: 100%;
		overflow: auto;
		padding: 0;
	}
	.seminarBox .seminarList table {
		width: calc(80px + 128px + 200px + 280px);
		border-collapse: separate;
		border-spacing: 0;
		margin: 0;
	}
	.seminarBox .seminarList th {
		position: sticky;
		top: 0;
		left: 0;
		width: 80px;
		z-index: 1;
	}
	.seminarBox .seminarList td {
		padding: 8px;
	}
	.seminarBox .seminarList td:first-of-type {
		width: 128px;
	}
	.seminarBox .seminarList td:nth-of-type(2) {
		width: 200px;
	}
	.seminarBox .seminarList td:last-of-type {
		width: 280px;
	}
	.seminarBox .seminarList p {
		width: 100%;
	}
	
	/* Consultation */
	.seminarBox .consultationList {
		margin: 24px 0 0;
	}
	.seminarBox .consultationList .innerBox {
		width: 100%;
		overflow: auto;
	}
	.seminarBox .consultationList table {
		width: calc(56px + 168px + 280px + 144px);
		border-collapse: separate;
		border-spacing: 0;
		margin: 0;
	}
	.seminarBox .consultationList th {
		position: sticky;
		left: 0;
		width: 56px;
		z-index: 1;
	}
	.seminarBox .consultationList td {
		padding: 8px;
	}
	.seminarBox .consultationList td:first-of-type {
		width: 168px;
	}
	.seminarBox .consultationList td:nth-of-type(2) {
		width: 280px;
	}
	.seminarBox .consultationList td:last-of-type {
		width: 144px;
	}
	.seminarBox .consultationList td:last-of-type span {
		display: block;
	}
	.seminarBox .consultationList p {
		width: 100%;
	}
}


