@charset "utf-8";

/* =============================================
	style
============================================= */
.small_header_list li{ display: inline-block; }
#site_header{ padding-right: 0; }

.content_wrap p,.content_wrap li,.content_wrap td{ font-size: 1.4rem; }

#header_ttl{
	padding: 50px 0;
	background: url(../img/bg.jpg) no-repeat center top;
	background-color: #c32f2c;
	text-align: center;
}
.sub_ttl{
	margin: 0 auto 10px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/lead.png) no-repeat left top;
	width: 664px;
	height: 67px;
}
.content_ttl{
	margin: 20px auto 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/ttl.png) no-repeat right top;
	width: 893px;
	height: 147px;
}

.apply_cont{
	margin: 0;
	padding: 25px 0 0;
	background: url(../img/header_bg2.png) repeat left top, url(../img/header_bg.jpg) no-repeat center top,
	url(../img/header_bg3.jpg) repeat-x left top;
	text-align: center;
	height: 540px;
}
.bottom_apply_cont{
	padding: 35px 0 20px;
	height: auto;
}
.price_cont{
	margin: 0 auto 15px;
	text-align: center;
	vertical-align: middle;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/price.png) no-repeat 2px top;
	width: 830px;
	height: 134px;
}

.apply_info{
	margin: 0;
	padding: 20px 0;
	text-align: center;
	font-size: 2.0rem;
	color: #333;
	font-weight: 600;
}
.apply_info strong{
	font-size: 2.4rem;
	color: #e9373b;
	display: inline-block;
	position: relative;
	z-index: 1;
}
.apply_info strong:before{
	content: ' ';
	display: block;
	position: absolute;
	bottom: 8px;
	left: -3px;
	width: 98%;
	height: 5px;
	background-color: #ffe13d;
	z-index: -1;
}

.apply_info strong span{ font-size: 1.8rem; }
.apply_btn{
	margin: 0 auto 0;
	width: 694px;
	width: 970px;
	background-color: #fff;
	position: relative;
}
.apply_btn a{
	margin: 0;
	padding: 17px 20px 17px 0;
	text-align: center;
	background: url(../img/apply_arrow.png) no-repeat 98% center, -webkit-linear-gradient(top, #93ca5c 0%,#7cc035 100%);
	background: url(../img/apply_arrow.png) no-repeat 98% center, linear-gradient(to bottom, #93ca5c 0%,#7cc035 100%);
	color: #fff;
	font-weight: bold;
	font-size: 3.6rem;
	line-height: 1.4;
	display: block;
	border: 5px solid #fff;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
	box-sizing: border-box;
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
}
.apply_btn:hover{
	top: 1px;
	left: 1px;
}
.apply_btn a:hover{
	opacity: 0.8;
	text-decoration: none;
}
.apply_btn a span{
	font-size: 1.6rem;
	display: block;
}
.apply_btn a::after{
	content: none;
}
#content_wrap{ padding: 0; }


/* ポイント */
.point_cont{ margin: -210px 0 40px; }
.point_list li{
	text-align: center;
	border: 1px solid rgba(199, 199, 199, 0.65);
	font-weight: bold;
	line-height: 1.4;
	background-color: #fff;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.1);
}
.point_ttl{ margin: 0 0 15px; }
.point_img{ margin: 0 0 10px; }
.point_list li p{ font-size: 1.8rem; }
.point_list li strong{ color: #e9373b; }


/* 講座概要 */
/* table */
.outline_table{
	margin: 10px 0 15px;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0px;
	background-color: #fff;
	border: 1px solid #c9c9c9;
}
.outline_table th{
	padding: 10px;
	width: 180px;
	font-size: 1em;
	vertical-align: middle;
	/* background-color: #e2eff2; */
	border-top: 1px solid #eff7f8;
	border-left: 1px solid #eff7f8;
	/* border-bottom: 1px solid #bec8d1; */
	color: #5c5c5c;
	text-align: left;
	vertical-align: top;
}
.outline_table td{
	padding: 10px 5px 10px 10px;
	border-bottom: 1px solid #d8d8d8;
}
.outline_table tr:last-child th,
.outline_table tr:last-child td{ border-bottom: none; }
.outline_link{ margin: 5px 0 0; }
.outline_table .price{
	margin: 0 0 5px;
	text-align: left;
}
.outline_table .price li{ font-size: 1.6rem; }
.outline_table .price li span{ font-size: 1.3rem; }
.outline_table .price li .price_type{
	margin-right: 5px;
	padding: 3px 5px;
	border: 1px solid #ccc;
	font-size: 1.2rem;
	vertical-align: middle;
}
.table_basic th{ vertical-align: middle; }

.anchor_path a{
	padding-left: 13px;
	background: url(../img/anchor_path_arrow.png) no-repeat left center;
}


/* カリキュラム */
.curriculum .ttl_lv2{
	margin: 0 0 20px;
	text-align: center;
	background-color: #cc1b1b;
	color: #fff;
	font-size: 1.6rem;
	background-image: none;
}
.curriculum .c_ttl_lv3{
	margin: 0 0 10px;
	padding: 10px 0 10px 13px;
	color: #575f64;
	font-size: 1.55rem;
	position: relative;
	background-color: #e0eaea;
	line-height: 1.4;
}
.curriculum .c_ttl_lv3 span{
	display: block;
	font-weight: normal;
	font-size: 1.3rem;
}
.curriculum_outline{
	margin: 0 0 10px;
	border-bottom: 1px dotted #ccc;
}
.curriculum_outline dt{
	margin: 0 0 3px;
	padding-left: 5px;
	font-weight: bold;
	border-left: 5px solid #da3631;
}
.curriculum_outline dd{
	padding: 0 0 10px 0.8em;
	font-size: 1.3rem;
	line-height: 1.5;
}
.curriculum_outline .theme{
	margin-left: -0.6em;
	font-size: 1.5rem;
}
.curriculum li{
	margin: 0 0 5px;
	font-size: 1.3rem;
	line-height: 1.35;
}

.step_arrow{
	margin: 15px 0 -5px;
	text-align: center;
	z-index: 10;
	position: relative;
}
.testday{
	margin: 0 0 15px;
	padding: 15px;
	text-align: center;
	border: 2px solid #ffa0a5;
	font-size: 1.8rem;
	color: #606060;
	font-weight: bold;
	position: relative;
}


/* 教材 */
.tool_ttl_lv2{
	margin: 0 0 10px;
	padding: 10px;
	color: #fff;
	font-size: 1.5rem;
	background-color: #da3631;
}


/* cmn */
.point_lead{
	margin: 20px 0 25px;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 600;
	color: #333;
}
.point_lead strong{ color: #e9373b; }
.lead{
	margin: 0 0 25px;
	font-size: 1.5rem;
}
.lead p{
	margin: 0 0 10px;
	font-size: 1.5rem;
}

.nikken_info{
	margin: 40px 0;
	text-align: center;
}
.course_info{ text-align: center; }
.course_info li{
	margin-right: 15px;
	display: inline-block;
}
.course_info li:last-child{ margin-right: 0; }

/* cmn */
.basic_section{ margin: 0 0 40px; }



/* ===========================================
	MediaQueries
=========================================== */
/* PC----------------------------- */
@media screen and (min-width: 768px){
	/* ポイント */
	.point_list{
		display: flex;
		justify-content: center;
	}
	.point_list li{
		margin: 0 1% 0 0;
		padding: 15px 15px 15px;
		width: 33%;
	}
	.point_list li:last-child{ margin: 0; }

	/* カリキュラム */
	.curriculum_cont{ display: flex; }
	.curriculum_cont div{
		margin: 0 20px 0 0;
		flex-grow: 1;
	}
	.curriculum_cont div:last-child{ margin: 0; }

	.col_wrap{
		margin: 0 0 40px;
		display: flex;
		flex-wrap: wrap;
	}
	.two_col{
		margin: 0 4% 15px 0;
		width: 48%;
	}
	.two_col:nth-child(2n){ margin-right: 0; }
}

/* スマホ----------------------------- */
@media screen and (max-width: 767px){
	.small_header_menu{ padding-right: 5px; }
	#header_ttl{
		padding: 8% 4%;
		background-size: auto 100%, auto;
	}
	.sub_ttl{
		padding-bottom: 24%;
		background: url(../img/s/lead.png) no-repeat left top;
		background-size: 100% auto;
		width: 90%;
		height: 0;
	}
	.content_ttl{
		margin: 0;
		padding-bottom: 34%;
		background: url(../img/s/ttl.png) no-repeat left top;
		background-size: 100% auto;
		width: 100%;
		height: 0;
	}
	#header_ttl img{ width: 100%; }
	.apply_cont{
		margin: 0;
		padding: 20px 15px 0;
		height: auto;
	}
	.apply_info{
		padding-top: 10px;
		line-height: 1.2;
		font-size: 1.4rem;
	}
	.apply_info strong{ font-size: 1.8rem; }
	.apply_info strong:before{
		bottom: 0;
	}
	.apply_info strong span{ font-size: 1.5rem; }
	.apply_btn {
		margin: 0 auto 0;
		width: 100%;
	}
	.apply_btn a{
		background-position: 97% center;
		background-size: 35px auto, 100% auto;
		font-size: 3.0rem;
	}
	.price_cont{
		margin-bottom: 10px;
		padding-bottom: 17%;
		background: url(../img/s/price.png) no-repeat left top;
		background-size: 100% auto;
		width: 100%;
		height: 0;
	}

	/* ポイント */
	.point_cont{ margin: 0 0 40px; }
	.point_list li{
		margin: 0 10px 10px;
		padding: 12px 12px 10px;
		overflow: hidden;
	}
	.point_ttl img{ width: 30%; }
	.point_list li div{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.point_list p{ flex: 1; }
	.point_list p.point_img{ margin: 0 5px 0 0; }
	.point_list li p.point_text{ font-size: 1.6rem; }
	.info_cont{ padding: 0 15px; }

	.point_lead{
		margin: 15px 0 15px;
		font-size: 1.9rem;
		line-height: 1.3;
	}

	/* 概要 */
	.outline_table th{ width: 100%; }

	/* カリキュラム */
	.curriculum_cont div{ margin: 0 0 25px; }
	.tool_ttl_lv2{
		margin-top: 15px;
		clear: both;
	}
	.two_col{
		margin: 0 0 15px;
		overflow: hidden;
	}
	.two_col img{
		margin: 0 0 5px 5px;
		width: 35%;
	}
	.note_indent1 li{
		margin: 0 0 5px;
		line-height: 1.3;
	}
	.nikken_info{
		margin: 20px 0;
		text-align: center;
	}
	.course_info li{
		margin: 0 0 10px 0;
		display: block;
	}
}

/* print----------------------------- */
@media print{
	/* ポイント */
	.point_list{
		display: flex;
		justify-content: center;
	}
	.point_list li{
		margin: 0 1% 0 0;
		padding: 15px 15px 15px;
		width: 33%;
	}
	.point_list li:last-child{ margin: 0; }

	/* カリキュラム */
	.curriculum_cont{ display: flex; }
	.curriculum_cont div{
		margin: 0 20px 0 0;
		flex-grow: 1;
	}
	.curriculum_cont div:last-child{ margin: 0; }

	.col_wrap{
		margin: 0 0 40px;
		display: flex;
		flex-wrap: wrap;
	}
	.two_col{
		margin: 0 4% 15px 0;
		width: 48%;
	}
	.two_col:nth-child(2n){ margin-right: 0; }
	#footer{ position: static; }
	.page_top{ display: none; }
}

