.contents.none_top { padding-top: 50px; }
.contents.none_bottom { padding-bottom: 50px; }
.contents {
	left: 50%;
	width: 100%; max-width: 1230px; height: 100%;
	padding: 90px 15px 90px;

    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);

	box-sizing: border-box;
}

.box {
	width: 100%; height: auto;
	background-color: #F8F8F8;
}

.program_item:first-child { margin-top: 0px; }
.program_item {
	width: 100%; height: auto;
	margin-top: 50px;
	padding-right: 100px;
	box-sizing: border-box;
}

.program_item > div {
 width: 100%; height: auto;
 box-sizing: border-box;
}

.program_item .program_img.right { padding-left: 50px; }
.program_item .program_img.left { padding-left: 50px; }
.program_item .program_img {
	width: 50%; height: auto;
	box-sizing: border-box;
}
.program_item .program_img > img { 
	width: 100%; height: auto;
	box-sizing: border-box;
}



.program_item .program_desc.right { right: 0px; padding-left: 50px; }
.program_item .program_desc.left { left: 0px; padding-left: 50px; }
.program_item .program_desc {
	top: 50%;
	width: 50%; height: auto;

    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);

	box-sizing: border-box;
}

.program_item .program_desc .program_title {
	width: 100%; height: auto; line-height: 1.2;
	border-bottom: 3px solid #6CD090;
	font-size: 28px; color: #3A3A3B; text-align: left;
	padding-bottom: 30px; 
	box-sizing: border-box;
}


.program_item .program_desc .program_title2 {
	width: 100%; height: auto; line-height: 1.2;
	font-size: 28px; color: #3A3A3B; text-align: left;
	padding-bottom: 15px;
	box-sizing: border-box;
}
.program_item .program_desc .program_title2 > span { font-size: 18px; }
.program_item .program_desc .program_info {
	width: 100%; height: auto; line-height: 1.5;
	font-size: 18px; color: #3A3A3B; text-align: left;
	margin-top: 30px;
	word-break: keep-all;
	box-sizing: border-box;
}


.point_title {
	width: 100%; height: auto; line-height: 1.5;
	text-align: center;
	box-sizing: border-box;
}

.point_title span {
	padding-bottom: 5px;
	font-size: 28px; color: #3A3A3B; text-align: center;
	border-bottom: 3px solid #6CD090;
	box-sizing: border-box;
}



.faq_item.first { border-top: 1px solid #ECECEC; margin-top: 50px; }
.faq_item {
	width: 100%; height: auto;
	box-sizing: border-box;
}

.faq_item > div {
	width: 100%; height: auto;
	border-bottom: 1px solid #ECECEC;
	padding: 20px 35px 20px 30px;
	box-sizing: border-box;
}

.faq_item .faq_item_a {
	display: none;
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: #F8F8F8;
}

.faq_item .faq_item_title {
	width: 100%; height: auto; line-height: 1.5;
	font-size: 18px; color: #3A3A3B; text-align: left;
	box-sizing: border-box;
}

.faq_item .faq_item_q .faq_item_title { 
	font-size: 20px; padding-right: 45px; 

	background-image: url(../images/faq_arrow_down.svg);
    background-size: 20px 11px;
    background-position: right 8px;
    background-repeat: no-repeat;
	box-sizing: border-box;
}

.faq_item.active .faq_item_q .faq_item_title { 
	background-image: url(../images/faq_arrow_up.svg);
}

.faq_item .faq_item_q { cursor: pointer; background-color: #fff; }
.faq_item .faq_item_q:hover {
	background-color: #ECECEC;
}



@media (max-width: 479px){ 
	.contents { padding: 60px 20px 60px; }


	.program_item { padding-right: 0px; }
	.program_item .program_desc.left { padding-left: 0px; }
	.program_item .program_desc.right { padding-left: 0px; }
	.program_item .program_img.right { padding-left: 0px; }
	.program_item .program_img.left { padding-left: 0px; }
	.program_item .program_desc .program_title2 { font-size: 16px; padding-bottom: 0px; }
	.program_item .program_desc .program_info { font-size: 12px; margin-top: 15px; }
	.program_item .program_desc .program_title { font-size: 16px; padding-bottom: 15px; }		

	.program_item .program_desc.left { left: 50%; padding-left: 0px; }
	.program_item .program_desc.right { padding-left: 0px; right: auto; float: left; }

	.program_item .program_desc {
		position: relative; top: auto; left: 50%; bottom: 0px; right: auto;
		width: 100%; height: auto;
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		padding: 30px 0px;
		background-color: rgba(255,255,255,.95);
		box-sizing: border-box;
	}

	.program_item .program_img { 
		width: 100%; 
	}

	.program_item { margin-top: 45px; }
	.program_item .program_img.left > img { float: right; }
	.program_item .program_img.right > img { float: left; }
	.program_item .program_img > img { width: 100%; max-width: 100%; height: auto; max-height: auto; }
	.program_item .program_img.type01 > img { width: 100%; max-width: 100%; height: auto; max-height: auto; }



	.point_title span { font-size: 16px; }

	.faq_item .faq_item_q .faq_item_title { font-size: 14px; padding-right: 30px; background-size: 17px 8px; }
	.faq_item .faq_item_a .faq_item_title { font-size: 14px; }
	.faq_item .faq_item_title { width: 100%; }
	.faq_item .faq_item_a { padding-top: 15px; padding-bottom: 15px; }
	.faq_item > div { padding: 15px 20px 15px 20px; }


	.faq_item .faq_item_q .faq_item_title { font-size: 12px; padding-right: 27px; background-size: 17px 8px; background-position: right 6px; }
	.faq_item .faq_item_a .faq_item_title { font-size: 12px; }
	.faq_item .faq_item_title { width: 100%; margin-top: 3px; }
	.faq_item .faq_item_a { padding-top: 15px; padding-bottom: 15px; }
	.faq_item > div { padding: 15px 20px 15px 20px; }
	.faq_item.first { margin-top: 30px; }
	.program_item .program_desc .program_title2 > span { font-size: 12px; }

}

@media (max-width: 749px) and (min-width: 480px) { 
	.contents { padding: 60px 20px 60px; }



	.program_item { padding-right: 0px; }
	.program_item .program_desc.left { padding-left: 0px; }
	.program_item .program_desc.right { padding-left: 0px; }
	.program_item .program_img.right { padding-left: 0px; }
	.program_item .program_img.left { padding-left: 0px; }
	.program_item .program_desc .program_title2 { font-size: 18px; padding-bottom: 0px; }
	.program_item .program_desc .program_info { font-size: 14px; margin-top: 15px; }
	.program_item .program_desc .program_title { font-size: 18px; padding-bottom: 15px; }		

	.program_item .program_desc.left { left: 50%; padding-left: 20px; }
	.program_item .program_desc.right { padding-left: 20px; }
	.program_item .program_desc {
		top: auto; left: 50%; bottom: 0px;
		width: calc(100% - 30px); height: auto;
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
		padding: 30px 20px;
		box-sizing: border-box;
		background-color: rgba(255,255,255,.95);
	}

	.program_item { margin-top: 45px; }
	.program_item .program_img { 
		width: 100%; 
		padding-bottom: 150px;
	}
	.program_item .program_img.type01 { padding-bottom: 90px; }
	.program_item .program_img.left > img { float: right; }
	.program_item .program_img.right > img { float: left; }
	.program_item .program_img > img { width: auto; max-width: 100%; height: auto; max-height: 450px; }
	.program_item .program_img.type01 > img { width: auto; max-width: 100%; height: auto; max-height: 400px; }


	.point_title span { font-size: 18px; }

	.faq_item .faq_item_q .faq_item_title { font-size: 14px; padding-right: 30px; background-size: 17px 8px; }
	.faq_item .faq_item_a .faq_item_title { font-size: 14px; }
	.faq_item .faq_item_title { width: 100%; }
	.faq_item .faq_item_a { padding-top: 15px; padding-bottom: 15px; }
	.faq_item > div { padding: 15px 20px 15px 20px; }
	.faq_item.first { margin-top: 30px; }
	.program_item .program_desc .program_title2 > span { font-size: 12px; }

}

@media (max-width: 1023px) and (min-width: 750px) { 
	.contents { padding: 60px 20px 60px; }


	.program_item { padding-right: 0px; }
	.program_item .program_desc.left { padding-left: 0px; }
	.program_item .program_desc.right { padding-left: 20px; }
	.program_item .program_img.right { padding-left: 20px; }
	.program_item .program_img.left { padding-left: 0px; }
	.program_item .program_desc .program_title2 { font-size: 20px; padding-bottom: 0px; }
	.program_item .program_desc .program_info { font-size: 14px; margin-top: 15px; }
	.program_item .program_desc .program_title { font-size: 20px; padding-bottom: 15px; }		

	.point_title span { font-size: 20px; }



	.faq_item .faq_item_q .faq_item_title { font-size: 14px; padding-right: 30px; background-size: 17px 8px; }
	.faq_item .faq_item_a .faq_item_title { font-size: 14px; }
	.faq_item .faq_item_a { padding-top: 15px; padding-bottom: 15px; }
	.faq_item > div { padding: 15px 20px 15px 20px; }
	.faq_item.first { margin-top: 30px; }
		.program_item .program_desc .program_title2 > span { font-size: 12px; }

}


@media (max-width: 1279px) and (min-width: 1024px) { 
	.contents { padding: 60px 30px 60px; }

	.program_item { padding-right: 30px; }
	.program_item .program_desc.left { padding-left: 30px; }
	.program_item .program_desc.right { padding-left: 45px; }
	.program_item .program_img.right { padding-left: 45px; }
	.program_item .program_img.left { padding-left: 30px; }
	.program_item .program_desc .program_title2 { font-size: 22px; padding-bottom: 0px; }
	.program_item .program_desc .program_info { font-size: 16px; }
	.program_item .program_desc .program_title { font-size: 22px; padding-bottom: 15px; }		

	.point_title span { font-size: 22px; }

	.faq_item .faq_item_q .faq_item_title { font-size: 16px; }
	.faq_item .faq_item_a .faq_item_title { font-size: 16px; }
	.faq_item.first { margin-top: 30px; }
	
	.program_item .program_desc .program_title2 > span { font-size: 14px; }
}




/*
	@media (max-width: 479px){ 

	}

	@media (max-width: 749px) and (min-width: 480px) { 

	}

	@media (max-width: 1023px) and (min-width: 750px) { 

	}


	@media (max-width: 1279px) and (min-width: 1024px) { 

	}
*/