:root {
    --theme_sub:#0F3867;
    --theme_intro: 15, 56, 103;
  }

/* 対象研修・開催予定 */
.datarow:hover {background-color:#E8F1FF}

/*テーブル中身*/
table.datatable {
	font-size: 14px;
	color: #333333;
	border-collapse:collapse;
}

table.datatable tr {
	vertical-align: middle;
}

table.datatable th {
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
	background-color: #194A72;
	text-align: center;
	font-weight: normal;
	font-size: 14px;
	padding: 3px;
}

table.datatable td {
	border: 1px solid #000000;
	border-collapse:collapse;
  padding: 5px;
}

table.datatable td p {
	vertical-align: middle;
	margin: 0px;
	padding: 0px;
}

table.datatable td .memo {
	text-align: left;
	vertical-align: middle;
	margin: 0px;
}

table.datatable td p.price, table.datatable td p.price-item {
	text-align: right;
	margin-right: 5px;
	padding-right: 0px;
	font-size: 14px;
}

table.datatable td .video p {
	text-align: left;
	margin-right: 5px;
	padding-right: 0px;
	font-size: 14px;
}

table.datatable td a:not(.btn) {
	margin: 0px;
	padding: 0px;
}

table.datatable td a img {
	margin-top: 2px;
	margin-bottom: 2px;
	padding-left: 3px;
	text-align:center;
}

.m_scheduleBox__table {
  width: 750px;
}

table.datatable td .venue-link {
  color: #F26A32;
  font-weight: bold;
  font-size: 12px;
}

/** 申込ボタン **/
a.btn {
	text-decoration: none;
	display: inline-block;
	padding: 2px 5px;
	margin: 2px 1px;
	border-radius: 5%;
}

a.btn--hp-app{
	color: #FFFFFF!important;
	background-color: #4EA0DE;
	background-image: none;
  padding: 5px;
	font-size: 14px;
	margin: 5px;
	display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

a.btn--hp-app:hover{
	color: #FFFFFF;
	background-color: #82BCE8;
}

a.btn--webins-app{
	color: #FFFFFF!important;
	background-color: #2352A4;
  background-image: none;
  padding: 5px;
	font-size: 14px;
	margin: 5px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

a.btn--webins-app:hover{
	color: #FFFFFF;
	background-color: #6485BF;
}

.price-width{
	width: 90px;
}

/** SP CSS **/
@media (max-width: 599px) {
  .m_scheduleBox__table {
    width: 100%;
  }
	table {
		border: none;
	}
	table thead {
		display: none;
	}
	table tr {
		border-top: 1px solid #999;
		display: block;
		margin-bottom: 20px;
	}
	table td {
		border-right: 1px solid #999;
		border-bottom: 1px solid #999;
		display: block;
		padding: 10px;
		text-align: right;
	}
	table td::before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
	}
	table.datatable td p {
		text-align: right;
	}
	table.datatable td a img {
		text-align:right;
	}
	table.datatable .no-plan p{
		text-align: center;
	}
	.partner-application{
		flex-direction: row;
	}
  table.datatable th,
  table.datatable td {
    width: 100% !important;
  }
  table.datatable td div {
		text-align: right;
	}
  table.datatable .kozaName {
    text-align: left;
    display: block;
    margin-top: 1.5em;
  }
}

.heder-application{
	width: 200px;
}

.heder-price{
	min-width: 160px;
}

.heder-seat{
	min-width: 40px;
}

.training-information{
	text-align: left;
	font-weight: normal;
}

.body-data{
	font-size: 14px;
	text-align: left;
}

.application {
	text-align: center;
	vertical-align: middle;
}

.flex-center{
	display: flex;
	justify-content: center;
}

.flex-right{
	display: flex;
	justify-content: right;
}

.flex-left{
	display: flex;
	text-align: left;
	justify-content: left;
	align-items: center; 
}

.mb5{
	margin-bottom: 5px;
}

.mt5{
	margin-top: 5px;
}

.ml5{
	margin-left: 5px;
}

.mr5{
	margin-right: 5px;
}

thead::after{
	content: "";
	height: 1px;
	width: 100%;
	padding: 0.5px 0;
	display: block;
}

table.datatable {
  width: 100%;
  table-layout: fixed;
}

table.datatable th:nth-child(1),
table.datatable td:nth-child(1) {
  width: 15%;
}

table.datatable th:nth-child(2),
table.datatable td:nth-child(2) {
  width: 45%;
}

table.datatable th:nth-child(3),
table.datatable td:nth-child(3) {
  width: 23%;
}

table.datatable th:nth-child(4),
table.datatable td:nth-child(4) {
  width: 17%;
}