.filter
{ 
	border-collapse: separate; 
	border-spacing: 0; 
	width:99%;
	font-family: 'Bonvalet';
	font-size: 25px;
	table-layout: fixed;
}
.filter a
{
	text-decoration: none;
	color:#000;
	padding-right: 20px;
	box-sizing: border-box;
	position: relative;
	display: block;
}

.filter a font
{
	display: block; 
	overflow: hidden; 
	white-space: nowrap; 
	width: 100%;
	text-overflow: ellipsis;
	width: 100%;
}



.filter td 
{
	position:relative;
	height: 48px;
	padding:0 9px 3px;
	vertical-align: middle;
	border-top:2px solid #000;
	border-bottom:2px solid #000;
}
.filter td:first-child
{
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
	border-left:2px solid #000;
}
.filter td:first-child, .filter td:nth-child(2), .filter td:nth-child(3)
{
	border-right:2px solid #000;
}
.filter td:nth-child(2)
{
	width:90px;
}
.filter td:first-child a, .filter td:nth-child(2) a, .filter td:nth-child(3) a
{
	display: block;
	width:100%;
}
.filter td:first-child a svg, .filter td:nth-child(2) a svg, .filter td:nth-child(3) a svg, .filter td:nth-child(4) a svg
{
	position: absolute;
	top: 11px;
	width: 18px;
	right: 0px;
}
.filter td:nth-child(4)
{
	width:160px;
	padding-left: 14px;
}
.filter td:nth-child(5)
{
	width:10px;
	padding:0;
}
.filter td:nth-child(5) img
{
	position:absolute;
	top:-2px;
	left:0;
	height:55px;

}
.filter td:nth-child(6) img
{
	position:absolute;
	top:-2px;
	right:-12px;
	height:55px;
}
.filter td:last-child
{
	width:260px;
}
input[type=radio],#filter_benefit_div input[type="checkbox"]
{
	display: none;
}
input[type=radio]+label, #filter_benefit_div input[type="checkbox"] + label  
{
	display: inline-block;
	cursor: pointer;
	padding:0 5px 3px;
	margin-top:3px;
}
input[type=radio]+label:hover, #filter_benefit_div input[type="checkbox"] + label:hover
{
	 color:#006cd9;
}
input[type=radio]:checked + label, #filter_benefit_div input[type="checkbox"]:checked + label 
{
	color:#fff;
	background: #0072da;
	border-radius:3px;
}
.filter input[type=checkbox]
{
	display: none;
}
.filter input[type=checkbox]+label
{
	display: inline-block;
	cursor: pointer;
	position: relative;
	padding-left: 27px;
}
.filter input[type=checkbox]+label:before 
{
	content: "";
	display: inline-block;
	width: 49px;
	height: 53px;
	margin-right: 50px;
	position: absolute;
	left: 0;
	bottom: 4px;
	background-color: #ccc;
	background: url('/images/check-box-off.png') bottom left no-repeat;
	background-size: 21px;
}
.filter input[type=checkbox]:checked+label:before
{
	background: url('/images/check-box-on.png') bottom left no-repeat;
	background-size: 24px 26px;
}

#region_filter
{
	display: none;
	position:absolute;
	height:286px;
	width:97%;
	background: #fff;
	border-bottom-left-radius: 6px;
	border:2px solid #036cd8;
	border-right: none;
	z-index: 6;
}

#subject_filter
{
	display: none;
  	flex-direction: row;
  	flex-wrap: wrap;
	position:absolute;
	height:286px;
	width:97%;
	background: #fff;
	border-bottom-left-radius: 6px;
	border:2px solid #036cd8;
	border-right: none;
	z-index: 6;
	grid-template-columns: repeat(8,1fr);
}

#subject_filter .sc_pop_sub
{
	order: 2;
	width: 25%;
}

#subject_filter .sc_pop_sub.popular
{
	order: 1;
	width: auto;
}


#subject_filter img, #region_filter img
{
	display: block;
	position: absolute;
	height: 290px;
	top:-2px;
	right:-30px;
}
.all_sc_pop_sub
{
	display: block;
	margin: 10px 0 20px 17px;
}
.sc_pop_sub, .sc_sub
{
	display: inline-block;
	white-space: nowrap;
}
.sc_pop_sub
{
	float:left;
}

.sc_sub
{
	max-width: 100%;
}
#region_filter .sc_sub
{
	margin:10px 0 0 10px;
}

#subject_filter table td, #region_filter table td
{
	width:20%;
}
#subject_filter table, #region_filter table
{
	width:100%;
	min-width: 900px;
	table-layout: fixed;
}
#subject_filter input[type=checkbox], #region_filter input[type=checkbox]
{
	display: none;
}
#subject_filter input[type=checkbox]+label, #region_filter input[type=checkbox]+label
{
	display: block;
	font-family: 'Bonvalet';
	font-size: 25px;
	color:#006cd9;
	cursor: pointer;
	margin: 1px 9px 1px 3px;
	padding: 2px 3px 4px 3px;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
}

#subject_filter .sc_pop_sub input[type=checkbox]+label
{
	font-size: 20px;
}

#subject_filter .sc_pop_sub.popular input[type=checkbox]+label
{
	font-size: 25px;
	margin-right: 60px;
	padding: 2px 10px 4px 10px;
}

#region_filter input[type=checkbox]+label
{
	padding-left: 5px;
}
#subject_filter .sc_pop_sub input[type=checkbox]+label, #region_filter .sc_pop_sub input[type=checkbox]+label
{
	padding: 2px 3px 4px 3px;
	margin: 1px 9px 1px 3px;

}
#subject_filter input[type=checkbox]:checked+label, #region_filter input[type=checkbox]:checked+label
{
	background-color: #0072da;
	border-radius: 3px;
	color:#fff;
	padding-right: 30px;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	background: #0072da url('/images/cross-filters.svg') no-repeat;
	background-position:right 13px top 14px;
	text-overflow: ellipsis;
	background-size: 11px 11px;
}
#subject_filter input[type=checkbox]+label span,  #region_filter input[type=checkbox]+label span
{
	display: inline-block;
	text-align: center;
	width:32px;
}
#subject_filter .sc_pop_sub input[type=checkbox]+label span, #region_filter .sc_pop_sub input[type=checkbox]+label span
{
	width:auto !important;
	margin-right:2px;
}

#class_filter 
{
	display:none;
	position:absolute;
	width:108px;
	left:360px;
	background: #fff;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	border:2px solid #036cd8;

	font-family: 'Bonvalet';
	font-size: 25px;
	color:#006cd9;
	z-index: 6;
	padding-bottom: 10px;
}

#type_filter 
{
	display:none;
	position:absolute;
	width:108px;
	left:460px;
	background: #fff;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	border:2px solid #036cd8;

	font-family: 'Bonvalet';
	font-size: 25px;
	color:#006cd9;
	z-index: 6;
	padding-bottom: 10px;
}

#class_filter input[type=radio] + label
{
	display: block;
	padding:0 10px 2px;
	margin:3px 0;
}
#class_filter input[type=radio]:checked + label
{
	border-radius: 0px;
}

#type_filter input[type=radio] + label
{
	display: block;
	padding:0 10px 2px;
	margin:3px 0;
}
#type_filter input[type=radio]:checked + label
{
	border-radius: 0px;
}

#period_filter
{
	display:none;
	position:absolute;
	left:360px;
	background: #fff;
	width:370px;
	max-height:385px;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	background-size: 370px 285px;
	border:2px solid #036cd8;
	z-index: 6;

}

#period_filter #top_period
{
	display: block;
	padding: 5px 10px;
	border-bottom: 2px solid #036cd8;
}

#period_filter span
{
	display: block;
	font-weight: bold;
	font-size: 16px;
}

.calendar
{
	width: 210px;
	border-spacing: 1px;
	border-collapse: separate;
}

.calendar td
{
	width: 70px;
	text-align: center;
	cursor: pointer;
}

.calendar td:last-child
{
	color:#e11000;
}

.calendar td.last_date
{
	color:#b4b4b4;
}

.calendar td.month_name
{
	color: #000;
	text-align: left;
}

.calendar td span
{
	color:#0072da;
	line-height: 5px;
	padding-bottom: 8px;
}

.calendar td.chkd_date
{
	background-color: #0072da !important;
	border-radius: 3px;
	color: #fff;
}

.calendar td span span
{
	line-height: 10px;
	padding-bottom: 0px;
}


.calendar td.last_date span
{
	color:#fff;
}

.period_left
{
	display: block;
	float:left;
	width:210px;
	border-right: 2px solid #036cd8;
	padding: 12px 20px 10px 5px;
	height: 292px;
	overflow-y:auto;
}
.period_right
{
	display: block;
	padding:12px 3px 5px 0;
	float:right;
	width:120px;
	height: 294px;
	overflow-y:auto;
}
#period_filter input[type=radio] + label
{
	position: relative;
	font-family: 'Bonvalet';
	font-size: 25px;
	color:#036cd8;
	margin:0 0 3px -5px;
}
#period_filter input[type=radio]:checked + label
{
	color:#fff;
	background: #036cd8;
}
.month_list
{
	display: block;
}

.month_list a
{
	margin-bottom: 4px;
	cursor: pointer;
}
input[name=period_date]
{
	border:none;
	border-bottom: 1px solid #cdcdcd;
	font-family: 'Bonvalet';
	font-size: 25px;
}
.filter td:first-child a:hover,.filter td:first-child a:hover svg, .filter td:nth-child(2) a:hover,.filter td:nth-child(2) a:hover svg, #period_filter label:hover, .filter td:nth-child(4) a:hover,.filter td:nth-child(4) a:hover svg
{ 
	color:#006cd9 !important;
	fill: #006cd9 !important;
}
.filter td:nth-child(3) a:hover,.filter td:nth-child(3) a:hover svg, #subject_filter label:hover, #class_filter label:hover,  #region_filter label:hover
{
	color:#0072da !important;
  	fill: #0072da !important;
}
#subject_filter input[type="checkbox"]:checked + label:hover, #region_filter input[type="checkbox"]:checked + label:hover
{
	color:#fff !important;
	background-color: #e11000;
}
#class_filter input[type="radio"]:checked + label:hover, #period_filter input[type="radio"]:checked + label
{
	color:#fff !important;
	cursor: default;
}
.period_filter  label:hover
{
	color:#006cd9 !important;
}

#filter_fixed
{
	display: block;
	position: relative;
	/*background: #fff;*/
	z-index: 5;
}

#filter_fixed td
{
	background-color: #fff;
}

#top_flag
{
	display: none;
	position: absolute;
	min-width: 22px;
	height: 22px;
	width: auto;
	background: #e11000;
	border:1px solid #e11000;
	border-radius: 0px;
	top:60px;
	left:0;
	padding-left: 1px;
	color: #fff;
	font-weight: bold;
	box-sizing: border-box;
	z-index: 1;
	cursor: pointer;
	font-family: 'BuSan-N';
font-size: 14px;
line-height: 18px;
}

#top_flag span
{
	padding: 0px 10px 2px 4px;
	display: block;
}

#top_flag img
{
	position: absolute;
	right: -10px;
	top:-1px;
	display: block;
	height: 22px;
	z-index: 2;
}

.filter_action
{
	display: block;
	width:100%;
	box-sizing:border-box;
	position: absolute;
	bottom:3px;
	background: #fff;
	padding-right: 40px;
}
.filter_action table 
{
	width:100%;
}
.filter_action table td
{
	width:33%;
}
.filter_action a
{
	text-decoration: none;
	color:#e11000;
	display: block;
	font-size: 25px;
	padding: 5px 15px;
	font-family: 'Bonvalet';
}
.filter_action table td:nth-child(3) a
{
	float: right;
	color: #fff;
	background: #e11000;
	border-radius: 5px;
}

#filter_fixed.poehali
{
	position:fixed;
	top:0;
	width:100%;
	left:0;
	right:0
}
#filter_fixed_div.uehali
{
	display: block;
}

@media all and (max-width: 700px)
{
	.filter tr
	{
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-gap: 5px;
	}

	#period_filter #top_period
	{
		display: flex;
justify-content: space-between;
	}

	.filter tr td {width: auto !important; border:1px solid #000 !important; border-radius: 3px !important; display: flex; align-items: center; justify-content: space-between;}

	.filter tr td img
	{
		display: none;
	}

	.filter tr td:nth-child(5) {display: none;}
	.filter tr td:nth-child(1), .filter tr td:nth-child(4), .filter tr td:nth-child(6)
	{
		grid-column: span 2;
	}
	#act_filter
	{
		position: relative;
	}
	#subject_filter
	{
		display: none;
	  	position:absolute;
		max-height:286px;
		overflow: auto;
		box-sizing: border-box;
		width:calc(100% - 4px);
		background: #fff;
		border-bottom-left-radius: 6px;
		border:2px solid #036cd8;
		border-right: 2px solid #036cd8;
		z-index: 6;
		grid-template-columns: repeat(8,1fr);
	}
	#subject_filter .sc_pop_sub
	{
		display: block;
		width: auto;
		float: none;
	}
	#subject_filter .sc_pop_sub.popular input[type=checkbox]+label
	{
		font-size: 20px;
		margin-right: 0px;
		padding: 2px 3px 4px 3px;
	}

	#class_filter
	{
		max-height: 250px;
		overflow: auto;
	}

	#subject_filter input[type=checkbox]:checked+label
	{
		background-position: right 13px top 10px;
	}

	#period_filter
	{
		/*display: block;*/
		width: calc(100% - 4px);
		box-sizing: border-box;
	}

	#period_filter .period_right
	{
		display: none !important;
	}

	#period_filter input[type=radio] + label
	{
		font-size: 18px;
	}

	.period_left
	{
		border:none;
		float: none;
		width: 100%;
		box-sizing: border-box;
	}

	.calendar
	{
		width: auto;
	}

	#period_filter span
	{
		display: none;
	}
	#filter_fixed.poehali
{
	position:relative;
	top:auto;
	width:auto;
	left:auto;
	right:auto;
}
#filter_fixed_div.uehali
{
	display: none;
}

	.filter tr td.mfhidden
	{
		display: none;
	}

	.full-search
	{
		display: block;
		text-align: right;
		padding: 15px 4px 0;
	}

	.full-search a
	{
		text-decoration: none;
		color: #000;
		font-size: 15px;
		line-height: 18px;
	}
}