@charset "utf-8";
/* =============================================
	建築士 The 模擬試験
============================================= */
/*---------------------------------------------
	common
---------------------------------------------*/
.font_blue{
	color: #0070C0;
}
.bg_blue{
	background-color: #0070C0;
}


/*** 拡大表示 ***/
#overlay{
	width: 100%;
	background-color: rgba(0,0,0,0.75);
	position: fixed;
	/*position: absolute;*/
	top: 0;
	left: 0;
}

#overlay #view_container{
	width: 100%;
	max-width: 970px;
	margin: 0 auto;
}

#overlay #view_container #view_img{
	text-align: center;
	width: 94%;
 max-width: 740px;
	max-height: 80vh;
 margin: 0 auto;
	overflow-y: scroll;
}

#overlay #view_container #view_img img{
	max-width: 100%;
	height: auto;
}

#overlay #view_container #nav_area{
	display: none;
}
/*** 拡大表示 ここまで ***/

/*---------------------------------------------
	page header
---------------------------------------------*/
#page_header_wrap{
	font-size: clamp(1.4rem,2vw,2rem);
	padding: 1em 0 2em 0;
	background-color: #eff3f4;
	background-image: url("../img/header_bg.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.header_bar{
	background-image: linear-gradient(to bottom,transparent 0,transparent 10%,#0070C0 10%,#0070C0 64%,transparent 64%,transparent 100%);
}
.header_bar .header_txt{
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
}

.page_header{
	width: 94%;
	max-width: 1500px;
	margin: -1em auto 0 auto;
}
.header_ttl{
	max-width: 1146px;
	margin: 0 0 0 auto;
}

/***期間***/
.period_area{
	font-weight: bold;
	background-color: #deeaf4;
}
.period_box{
	padding: 0.5em;
}
.period_ttl{
	flex-shrink: 0;
	display: inline-block;
	padding: 0.5em 0.5em  0.25em  0.5em;
	border: solid 1px #333;
	border-radius: 0.25em;
	background-color: #fff;
}
.period_date{
	display: inline-block;
}


/*****
タイトルアニメーション設定
*****/
.anim_h1{
	opacity: 0;
	animation-name: anim_h1;
	animation-duration: 1s;
	animation-delay: 1s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
.anim_fade{
	opacity: 0;
	animation-name: anim_fade;
	animation-duration: 3s;
	animation-delay: 1.5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
@keyframes anim_h1{
	0%{
		opacity: 0;
		transform: scale(1.5, 1.5) translateY(35%);
	}
	100%{
		opacity: 1;
		transform: scale(1, 1) translateY(0);
	}
}

@keyframes anim_fade{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

/*---------------------------------------------
	コンテンツ
---------------------------------------------*/
.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;
}

.bn_section{
	line-height: 1.6;
	width: 94%;
	max-width: 1000px;
	margin: 4em auto 0 auto;
	padding: 2em;
	background-color: #fff;
}

/*****
3つのポイント
*****/
.point_section{
	line-height: 1.6;
	width: 94%;
	max-width: calc(1200px + 4em);
	margin: 4em auto 0 auto;
	padding: 2em 2em 2em 15em;
	border-radius: 1em;
	background-color: #ddf6ef;
	position: relative;
}

.point_ttl_wrap{
	text-align: center;
}
.point_ttl{
	display: inline-block;
	max-width: 496px;
	padding: 1em;
	position: relative;
}
.point_ttl::before,
.point_ttl::after{
	content: '';
	display: block;
	width: 1em;
	height: 100%;
	border-color: #0070c0;
	border-style: solid;
	position: absolute;
	top: 0;
}
.point_ttl::before{
	border-width: 2px 0 2px 2px;
	right: 100%;
}
.point_ttl::after{
	border-width: 2px 2px 2px 0;
	left: 100%;
}

.point_subttl{
	max-width: 240px;
	position: absolute;
	top: 2em;
	left: -2em;
}

.ttl_type01{
	font-size: clamp(1.8rem,2.66vw,3.2rem);
	color: #0070c0;
	margin-bottom: 1em;
}

.point01_img{
	max-width: 226px;
}

.point02_img_wrap{
	text-align: center;
	max-width: 240px;
}
.point02_img{
	border: solid 1px #ccc;
}
.point02_img a{
	display: block;
	position: relative;
}
.point02_img a .icon_large{
	width: 3em;
	position: absolute;
	bottom: 1em;
	right: 1em;
}

.point03_img{
	max-width: 182px;
}

.point_lead{
	font-size: 1.125em;
	font-weight: bold;
	padding-left: 1.2em;
	position: relative;
}
.point_lead::before{
	content: '';
	display: block;
	width: 0.6em;
	height: 0.8em;
	background-color: #0070c0;
	clip-path: polygon(0 0,100% 50%,0 100%);
	position: absolute;
	top: 0.3em;
	left: 0;
}

.large_area{
	display: flex;
	justify-content: center;
	margin-top: 2em;
}

/*****
概要詳細
*****/
.ttl_type02{
	font-size: clamp(1.6rem,2.5vw,3rem);
	color: #0070c0;
	margin-bottom: 1em;
	border-bottom: solid 2px #0070c0;
}

.time_list_area{}
.time_list{}
.time_list tr{}
.time_list tr:nth-of-type(odd){
	background-color: #b1dbe6;
}
.time_list tr:nth-of-type(even){
	background-color: #ddf6ef;
}
.time_list th,
.time_list td{
	padding: 0.5em 1em;
	border-bottom: solid 2px #fff;
}
.time_list th{
	white-space: nowrap;
}
.time_list td{}


/***フローチャート***/
.flow_chart{
	display: flex;
}
.flow_chart li{
	font-size: 1.6rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	/*width: 24%;*/
	width: 32%;
	padding: 1em 1em 1em 1em;
	border: solid 1px #4179aa;
	border-right: none;
	position: relative;
}
.flow_chart li:nth-of-type(1){
	background-color: #fff;
	z-index: 3;
}
.flow_chart li:nth-of-type(2){
	background-color: #deeaf4;
	z-index: 2;
}
.flow_chart li:nth-of-type(3){
	background-color: #c6dcef;
	z-index: 1;
}
.flow_chart li:nth-of-type(4){
	background-color: #b5d3ec;
}

.ttl_type03{
	font-size: clamp(1.5rem,2vw,2.4rem);
	color: #00518a;
	margin-bottom: 1em;
	padding: 0 0 0 1.5em;
	background-image: url("../img/icon_check.jpg");
	background-repeat: no-repeat;
	background-size: 1em auto;
	background-position: 0 0.25em;
}


/*****
講座コース紹介
*****/

/***タブ***/
.course_tab{
	display: flex;
	margin-top: 1em;
}
.course_tab li{
	font-size: 1.8rem;
	font-weight: bold;
	margin-right: 1em;
}
.course_tab li a{
	display: block;
	color: #333;
	padding: 0.5em 1em;
	background-color: #ccc;
	border-radius: 0.5em 0.5em 0 0;
}
.course_tab li a:hover{
	text-decoration: none;
}
.course_tab li a.show_box{
	cursor: default;
	color: #fff;
	background-color: #273949;
}

.tab_box .course_list_table{
	margin-top: 0;
	border-top: none;
}

/*------------------------------
タブ表示用のクラス
------------------------------*/
/*** タブにする ***/
.tab_nav{}

/*** 表示中のタブ ***/
.show_box{
 cursor: default;
}

/*** タブで表示するエリア ***/
.tab_box{}
/*------------------------------
end タブ表示用のクラス
------------------------------*/


/* ===========================================
	MediaQueries
=========================================== */
/* PC----------------------------- */
@media (min-width: 768px){
	.wide_w48_pc{
		width: 48%;
	}
	
	/*---------------------------------------------
 	page header
 ---------------------------------------------*/
	#page_header_wrap{
		aspect-ratio: 1920 / 780;
	}
	.header_ttl{
		width: 76.5%;
	}
	
	/***期間***/
	.period_area{
		display: flex;
		font-size: clamp(1.4rem,1.7vw,2.4rem);
	}
	.period_box{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50%;
	}
	.period_area .period_box:first-of-type{
		border-right: solid 1px #b1dbe6;
	}
	.period_area .period_box:last-of-type{
		border-left: solid 1px #b1dbe6;
	}
	.period_ttl{
		font-size: 0.7em;
		margin-right: 1em;
	}
	.period_date{}
	
	/*---------------------------------------------
 	コンテンツ
 ---------------------------------------------*/
	
	/*****
	3つのポイント
	*****/
	.point_subttl{
		width: 15em;
	}
	
	.point_ttl{
		width: 41.5%;
	}
	
	.point01_img{
		flex-shrink: 0;
		margin-left: 2em;
	}
	
	.point02_img_wrap{
		margin: 0 2em;
	}
	.point02_img{}
	
	.point03_img{
		flex-shrink: 0;
		margin-left: 2em;
	}
	
	/*****
	概要詳細
	*****/
	.time_list_area{}
	.time_list{
		width: 48%;
	}
	.time_list th{
		width: 8em;
	}
	.time_list td{
		border-left: solid 2px #fff;
	}
	
	/***フローチャート***/
	.flow_chart li::after{
		content: '';
		display: block;
		width: 2.12em;
		height: 2.12em;
		border-top: solid 1px #4179aa;
		border-right: solid 1px #4179aa;
		position: absolute;
		top: 50%;
		right: -1.15em;
		transform: translateY(-50%) rotateZ(45deg);
	}
	.flow_chart li:nth-of-type(1)::after{
	background-color: #fff;
	z-index: 3;
}
.flow_chart li:nth-of-type(2)::after {
	background-color: #deeaf4;
	z-index: 2;
}
.flow_chart li:nth-of-type(3)::after {
	background-color: #c6dcef;
	z-index: 1;
}
.flow_chart li:nth-of-type(4)::after {
	background-color: #b5d3ec;
}
	
	
}

/* スマホ----------------------------- */
@media (max-width: 767px){
 /*---------------------------------------------
 	common
 ---------------------------------------------*/
 
 /*---------------------------------------------
 	page header
 ---------------------------------------------*/
	#page_header_wrap{}
	.page_header{
		margin: 0 auto;
	}
	.header_ttl{
		width: 85%;
	}
	
	/***期間***/
	.period_area{
		font-size: clamp(1.4rem,2.6vw,2rem);
		line-height: 1.5;
	}
	.period_box{}
	.period_ttl{
		font-size: 0.85em;
		margin-right: 0.5em;
	}
	.period_date{}
	
	/*---------------------------------------------
 	コンテンツ
 ---------------------------------------------*/
	.section_wrap{
		padding: 3em 0;
	}
	.normal_section{
		margin: 3em auto 0 auto;
		padding: 0;
	}
	
	/*****
	3つのポイント
	*****/
	.point_section{
		margin: 3em auto 0 auto;
		padding: 1em 1em 1em 20%;
		border-radius: 0.5em;
	}
	.point_subttl{
		width: 20%;
	}
	.point_ttl{
		width: 60%;
	}
	
	.point01_img{
		width: 60%;
		margin: 1em auto 0 auto;
	}
	
	.point02_img_wrap{
		margin: 0 1em;
	}
	.point02_img{}
	
	.point03_img{
		width: 60%;
		margin: 1em auto 0 auto;
	}
	
	.point02_img a .icon_large{
		width: 1.5em;
		bottom: 0.5em;
		right: 0.5em;
	}
	
	/*****
	概要詳細
	*****/
	.time_list_area{}
	.time_list{
		width: 100%;
	}
	.time_list tr{
		display: block;
		margin-bottom: 1em;
		border-radius: 0.5em;
	}
	.time_list th,
	.time_list td{
		display: block;
		width: 100%;
	}
	
	/***フローチャート***/
	.flow_chart{
		display: block;
	}
	.flow_chart li{
		font-size: 1.4rem;
		width: 100%;
		margin-bottom: 2em;
		border-right: solid 1px #4179aa;
	}
	.flow_chart li:last-of-type{
		margin-bottom: 0;
	}
	.flow_chart li::after{
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1em 1em 0 1em;
		border-color: #4179aa transparent transparent transparent;
		position: absolute;
		bottom: -1.5em;
		left: 50%;
		transform: translateX(-50%);
	}
	#mogi02 .flow_chart li::after{
		border-color: #86372a transparent transparent transparent;
	}
	.flow_chart li:last-of-type::after{
		display: none;
	}
	
	/*****
	講座コース紹介
	*****/
	
	/***タブ***/
	.course_tab{
		flex-wrap: wrap;
	}
	.course_tab li{
		font-size: 1.4rem;
	}
 
}

