.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;
}

#subject_filter, #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 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;
}

#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;
}

#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;
}

#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;
}