@charset "utf-8";
/* =============================================
	建築士学科速修Webコース
============================================= */
:root{
	--main-color: #339966;
	--sub-color: #d9f2d0;
	--set01: #ff0066;
	--set02: #0f9ed5;
	--set03: #11c57b;
}

.font_green{
	color: var(--main-color);
}

.under_green{
	padding: 0 0.15em;
	background-image: linear-gradient(to top,var(--sub-color) 0, var(--sub-color) 40%, transparent 40%);
}

/*---------------------------------------------
	ページヘッダー
---------------------------------------------*/
.page_header_wrap{
	background-color: var(--main-color);
	overflow: hidden;
}

.page_header{
	width: 100%;
}

.header_ttl{
	max-width: 1320px;
}
.header_caption{
	max-width: 1230px;
}
.header_price{
	max-width: 1240px;
}

.anim_move{
	opacity: 0;
	animation-name: anim_move;
	animation-delay: 1s;
	animation-duration: 1s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}


/*****
タイトルアニメーション設定
*****/
@keyframes anim_move{
	0%{
		opacity: 0;
		transform: translateX(-100%);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}


/*---------------------------------------------
	section
---------------------------------------------*/
.section_wrap{
	font-size: clamp(1.4rem,1.33vw,1.6rem);
	width: 100%;
	padding: 6em 0;
}

.normal_section{
	line-height: 1.6;
	width: 94%;
	max-width: calc(1200px + 4em);
	margin: 4em auto 0 auto;
	padding: 2em;
	background-color: #fff;
}
.section_wrap .normal_section:first-of-type{
	margin-top: 0;
}

.bg_section{
	background-color: var(--sub-color);
}

/*****
リード
*****/
.lead_section{
	font-size: 1.125em;
}

.ttl_lead{
	display: inline-block;
	padding: 0 0.5em 0.5em 0.5em;
	margin-bottom: 1.5em;
	border-bottom: solid 2px #575f64;
	position: relative;
}
.ttl_lead::before{
	content: '';
	display: block;
	width: 2em;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 100%;
	left: 3em;
}
.ttl_lead::after{
	content: '';
	display: block;
	width: 0.75em;
	height: 1.5em;
	background-color: #575f64;
	clip-path: polygon(0 0,2px 0,100% calc(100% - 2px),100% 100%,calc(100% - 2px) 100%,0 2px);
	position: absolute;
	top: 1.5em;
	left: 3em;
}

.chart_ttl{
	text-align: center;
	color: #fff;
	margin-bottom: 1em;
}

.lead_chart{}
.lead_chart .lead_chart_box{
	text-align: center;
	color: #fff;
	padding: 1em;
	border-radius: 0.5em;
	text-shadow: 0 0 2px #000;
}
.lead_chart .lead_chart_arrow{
	height: 2em;
}

.lead_chart div:nth-child(1){
	background-color: rgba(51,153,102,0.7);
}
.lead_chart div:nth-child(2){
	background-color: rgba(51,109,153,0.8);
}
.lead_chart div:nth-child(3){
	background-color: rgba(51,153,102,0.85);
}
.lead_chart div:nth-child(4){
	background-color: rgba(51,109,153,1.0);
}
.lead_chart div:nth-child(5){
	background-color: rgba(51,153,102,1.0);
}


/*****
ページアンカーナビ
*****/
.page_nav{
	width: 100%;
}
.page_nav ul{
	display: flex;
	width: 100%;
}
.page_nav ul li{
	width: calc(100% / 3);
	border-right: solid 1px #333;
}
.page_nav ul li:last-of-type{
	border-right: none;
}
.page_nav ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #333;
	height: 100%;
	padding: 1em 0.5em 3em 0.5em;
	background-color: #fff;
	position: relative;
	transition: background 0.5s;
}
.page_nav ul li a::after{
	content: '';
	display: block;
	width: 2em;
	height: 1em;
	background-color: #333;
	clip-path: polygon(0 0,50% calc(100% - 2px),100% 0,100% 2px,50% 100%,0 2px);
	position: absolute;
	bottom: 1em;
	left: 50%;
	transform: translateX(-50%);
}
.page_nav ul li a:hover{
	background-color: var(--sub-color);
}
.page_nav ul li a:hover::after{
	background-color: var(--main-color);
}


/*****
コース紹介
*****/
#soku_web_txt{}
#soku_web{}
#soku_web_option{}

.ttl_sub{
	font-size: clamp(1.5rem,1.66vw,2rem);
	margin-bottom: 0.5em;
}
.ttl_type01{
	display: inline-block;
	font-size: clamp(2rem,2.66vw,3.2rem);
	color: #fff;
	min-width: 65%;
	margin-bottom: 1em;
	padding: 0.5em 2em 0.5em 0.5em;
	clip-path: polygon(0 0,100% 0,calc(100% - 1em) 100%,0 100%);
}
#soku_web_txt .ttl_type01{
	background-color: var(--set01);
}
#soku_web .ttl_type01{
	background-color: var(--set02);
}
#soku_web_option .ttl_type01{
	background-color: var(--set03);
}

.ul_text{
	font-size: clamp(1.5rem,1.66vw,2rem);
	font-weight: bold;
}
.ul_text li{
	margin-top: 0.75em;
	padding-left: 1.2em;
	position: relative;
}
.ul_text li::before{
	content: '';
	display: block;
	width: 0.6em;
	height: 0.8em;
	background-color: #ccc;
	clip-path: polygon(0 0,100% 50%,0 100%);
	position: absolute;
	top: 0.3em;
	left: 0;
}

.ttl_type02{
	font-size: clamp(1.6rem,2.33vw,2.8rem);
	margin: 2em 0 0.5em 0;
}
#soku_web_txt .ttl_type02{
	color: var(--set01);
}
#soku_web .ttl_type02{
	color: var(--set02);
}
#soku_web_option .ttl_type02{
	color: var(--set03);
}

.text_block{}

.textbook_area_wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2em 0 0 0;
}
.textbook_area{}
.textbook_img{
	text-align: center;
	border-radius: 0.5em;
	background-color: #eee;
	position: relative;
}
.textbook_img .textbook_cap{
	font-size: 0.85em;
}
.ttl_textbook{
	margin: 1em;
}

.btn_img{
	text-align: center;
	margin: 1em auto;
}
.btn_img a img{
	transition: transform 0.5s;
}
.btn_img a img:hover{
	opacity: 0.8;
	transform: translateY(-4px);
}


.apply_area{
	margin-top: 3em;
}
.apply_area .btn_normal{}

/*****
オプション講座
*****/
.option_area{
	padding: 6em 1em;
	border-top: solid 6px var(--set03);
}

#soku_web_option .option_area:first-of-type{
	margin-top: 4em;
}
#soku_web_option .option_area:last-of-type{
	padding-bottom: 0;
}

.ttl_type03{
	font-size: clamp(1.8rem,2.56vw,3rem);
	margin: 0 0 1em 0;
	padding-left: 1.5em;
	background-image: url("../img/icon_ttl_type03.png");
	background-repeat: no-repeat;
	background-size: 1em auto;
	background-position: left top 0.25em;
}

.ul_mondai{
	display: flex;
	flex-wrap: wrap;
	margin: 2em 0 1em 0;
}
.ul_mondai li{}

.option_details{
	margin-top: 2em;
	padding: 0 2em;
	border-top: dashed 1px var(--set03);
}
.block_option{}

.option_testimg{
	display: flex;
	justify-content: space-around;
	margin: 2em auto 0 auto;
	padding: 1em 0;
	background-color: #FFFBDD;
}
.block_half{
	text-align: center;
	width: 45%;
}

.option_test_box{
	margin-top: 3em;
	padding: 1em;
	border: solid 1px #333;
}
.ttl_otb{
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	padding: 0.5em 1em;
	border: solid 1px #333;
	background-color: #fff;
	transform: translate(2em,calc(-50% - 1em));
}
.p_line p.ttl_otb{
	margin-bottom: -1.5em;
}

.ul_zubari{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.ul_zubari li{
	text-align: center;
	margin: 1em 1em 0 1em;
}



/* ===========================================
	MediaQueries
=========================================== */
/* PC----------------------------- */
@media (min-width: 768px){
	/*---------------------------------------------
 	ページヘッダー
 ---------------------------------------------*/
	.page_header_wrap{
		font-size: 0.52vw;
		aspect-ratio: 1920 / 860;
		background-image: url("../img/header_img.png");
		background-repeat: no-repeat;
		background-position: right top;
		background-size: contain;
	}
	.page_header{
		padding-top: 7.6em;
	}
	.header_ttl{
		width: 69%;
	}
	.header_caption{
		width: 64%;
		margin-top: 7.6em;
	}
	.header_price{
		width: 65%;
		margin: 3.4em auto 0 3.8em;
	}
	
	/*---------------------------------------------
	section
	---------------------------------------------*/
	/*****
	リード
	*****/
	.lead_section{
		font-size: 1.25em;
	}
	
	.chart_ttl{
		font-size: 1.125em;
		padding: 1em 2em;
		background-image: linear-gradient(to right,rgba(51,153,102,0.7) 0,rgba(51,153,102,1.0) 100%);
		clip-path: polygon(0 0,calc(100% - 1em) 0,100% 50%,calc(100% - 1em) 100%,0 100%);
	}
	
	.lead_chart{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.lead_chart .lead_chart_box{
		font-size: 1.2em;
		width: 30%;
		padding: 1.5em 1em;
	}
	.lead_chart .lead_chart_arrow{
		width: 4%;
		clip-path: polygon(0 25%,65% 25%,65% 0,100% 50%,65% 100%,65% 75%,0 75%);
	}
	
	/*****
	ページアンカーナビ
	*****/
	/*****
	コース紹介
	*****/
	.text_block{
		display: flex;
		flex-wrap: wrap;
	}
	.text_block li{
		margin-right: 1.5em;
	}
	.text_block li:last-of-type{
		margin-right: 0;
	}
	
	.textbook_area{
		width: 22%;
	}
	
	.textbook_img .textbook_cap{
		width: 100%;
		position: absolute;
		bottom: 0.5em;
		left: 0;
	}
	
	.apply_area{
		display: flex;
		justify-content: space-between;
	}
	.apply_area .btn_normal{
		width: 48%;
	}
	
	/*****
	オプション講座
	*****/
	.ul_mondai{
		justify-content: center;
	}
	.ul_mondai li{
		width: 15%;
		margin: 0 1em;
	}
	
	.option_details{
		display: flex;
	}
	.block_option{
		margin-right: 4em;
	}
	
}

/* スマホ----------------------------- */
@media (max-width: 767px){
	/*---------------------------------------------
 	ページヘッダー
 ---------------------------------------------*/
	.page_header_wrap{
		font-size: 1.3vw;
	}
	.page_header{
		padding: 18em 0 4em 0;
		background-image: url("../img/header_img.png");
		background-repeat: no-repeat;
		background-position: right top;
		background-size: auto 100%;
	}
	
	.header_ttl{
		width: 80%;
	}
	.header_caption{
		width: 75%;
		margin-top: 2em;
	}
	.header_price{
		text-align: center;
		width: 90%;
		margin: 0 auto;
		padding: 1em 0 2em 0;
	}
	
 /*---------------------------------------------
	section
	---------------------------------------------*/
	.section_wrap{
		padding: 4em 0;
	}
	.normal_section{
		padding: 1em;
	}
	
	
	/*****
	リード
	*****/
	.lead_section{
		font-size: 1.125em;
	}
	
	.chart_ttl{
		padding: 0.5em 0.5em 2em 0.5em;
		background-image: linear-gradient(to bottom,rgba(51,153,102,0.7) 0,rgba(51,153,102,1.0) 100%);
		clip-path: polygon(0 0,100% 0,100% calc(100% - 1em),50% 100%,0 calc(100% - 1em))
	}
	
	.lead_chart{}
	.lead_chart .lead_chart_box{}
	.lead_chart .lead_chart_arrow{
		width: 4em;
		margin: 0.5em auto;
		clip-path: polygon(25% 0,75% 0,75% 50%,100% 50%,50% 100%,0 50%,25% 50%);
	}
	
	/*****
	ページアンカーナビ
	*****/
	.page_nav ul li a{
		font-size: 0.85em;
	}
	
	/*****
	コース紹介
	*****/
	.ttl_type02{
		margin-top: 1em;
	}
	
	.textbook_area{
		width: 46%;
		margin-bottom: 1.5em;
	}
	.textbook_img .textbook_cap{}
	
	/*****
	オプション講座
	*****/
	.option_area{
		padding: 2em 1em;
	}
	#soku_web_option .option_area:first-of-type{
		margin-top: 2em;
	}
	
	.option_details{
		padding: 0;
	}
	
	.ul_mondai{
		justify-content: space-around;
	}
	.ul_mondai li{
		width: 45%;
	}
	
}
