@charset "UTF-8";
/* PREFIX
l-/ Layout
*/

/*common*/

.inner-container{
	width: 1200px;
	padding:0 50px;
	margin:0 auto;
}


/****************************

header

****************************/


.l-header-block{
	background: -webkit-linear-gradient(45deg, rgba(0, 150, 65,.4), rgba(0, 82, 165,.4));
	background: linear-gradient(45deg, rgba(0, 150, 65,.4), rgba(0, 82, 165,.4));
	height:110px;
	display: flex;
	padding:0 50px;
	padding-top: 30px;
	position:fixed;
	top:0;
	left:0;
	width: 100%;
	z-index:10000;
}


.l-header-block h1{
	margin-right: auto;
}

.main-logo img{
	height:52px;
}

.header-navi{
/*	display: flex;
	width: 350px;*/
	text-align: right;
}

.header-navi>li{
	/*width: 50%;*/
	position:relative;
	padding: 13px 0 0 35px;
}

.header-navi li a{
	color:#fff;
	font-size: 16px;
}

.header-navi li a img{
	height:30px;
	display: inline-block;
	margin-top: 5px;
	display: block;
	position: absolute;
	top:5px;
	left:0;

}


.main-visual{
	height: 80vh;
	min-height:550px;
	background: url(../images/top_mainvisual.png) center top no-repeat;
}

.l-main-visual-block{
	height: 80vh;
	min-height:550px;
	padding-top: 100px;
	width: 45vw;
	background: url(../images/main-visual-bg.png) right top no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

.l-main-visual-block>img{
	width:90%;
}

.top-heading{
	font-size: 35px;
	background: #FFF;
	padding:100px 0;
	text-align: center;
}

/*

main-container

*/

.l-main-container{
	padding:75px 0;
background: #DFEEFA;
}



.main-container-heading{
	font-size: 30px;
	text-align: center;
	position:relative;
	margin-bottom: 100px;
}

.main-container-heading::after{
	content:"";
	width: 100%;
	height:1px;
	width: 100px;
	background: #000;
	position:absolute;
	bottom:-20px;
	left:0;
	right:0;
	margin:0 auto;
}
.main-container-heading span{
	font-size: 60px;
	font-family: 'EB Garamond', serif;
}


.point-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}


.point-list-title{
	background: -webkit-linear-gradient(45deg, rgba(0, 150, 65,1), rgba(0, 82, 165,1));
	background: linear-gradient(45deg, rgba(0, 150, 65,1), rgba(0, 82, 165,1));
	color:#fff;
	font-family: 'EB Garamond', serif;
	text-align: center;
	font-size: 20px;
	margin-bottom: 40px;
}

.point-list-title span{
	font-family: 'EB Garamond', serif;
	text-align: center;
	font-size: 35px;	
}

.point-list-heading{
	font-size: 35px;
	margin-bottom: 20px;
	vertical-align:bottom;
}

.point-list-heading span{
	font-size: 24px;
}

.point-list-text{
	font-size: 16px;
}


.point-list__detail{
	width: 40%;
}

.point-list__photo{
	width: 50%;
	display: block;
	position:relative;
}

.point-list:nth-of-type(2n) .point-list__detail{
	order:2;
}

.point-list:nth-of-type(2n) .point-list__photo{
	order:1;
}

.point-list__photo p{
width: 100%;
position:relative;
display: block;
}


.point-list__photo > p::before , .point-list__photo>p::after{
	content:"";
	width: 42px;
	height: 42px;
	background: url(../images/sq-icon.png) no-repeat;
	display: inline-block;
	z-index:10;
}

.point-list__photo > p::before{
	position: absolute;
	top:-10px;
	left:-10px;
}
.point-list__photo > p::after{
	position: absolute;
	bottom:-10px;
	right:-10px;
}


/***********


curriculum


***********/

.curriculum-list__title {
	margin-top: 20px;
	font-size: 30px;
	margin-bottom: 10px;
}
.curriculum-list__subtitle {
	margin-top: 20px;
	font-size: 24px;
	margin-bottom: 10px;
}



.white-contaoner{
	background: #FFF;
	padding:75px 0;
}


.curriculum-title{
	text-align: center;
	margin-bottom: 50px;
}

.curriculum-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
.curriculum-list li{
width: 30%;	
}

.curriculum-list li dl dt{
	font-size: 22px;
	color:#009641;
	text-align: center;
	margin-bottom: 20px;
}

.curriculum-list li dl dd{
	font-size: 16px;
}

.curriculum-list li:nth-of-type(2n) dl dt{
	color:#0052A5;
}

.l-point-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


.l-point-list > li{
	width: 48%;
}

.point-title{
border-top: 2px solid #000;	
border-bottom: 2px solid #000;	
font-size: 30px;
padding:10px 0;
text-align: center;
margin-bottom: 60px;
}

.price-table{
	width: 100%;
}
.price-table th{
	font-size: 16px;
	background: #009447;
	text-align: center;
	vertical-align: middle;
	padding: 5px;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.price-table td{
	font-size: 14px;
	vertical-align: middle;
	text-align: center;
	padding: 10px 20px;
	border: 1px solid #ddd;
}

.price-table-text{
	font-size: 14px;
	padding-top: 10px;
	margin-bottom: 50px;
}
.price-table-text li{
	display: table;
	margin-bottom: 5px;
}
.price-table-text li span{
	display: table-cell;
	min-width: 4.5em;
}


.date-info-table{
	width: 100%;
}
.date-info-table th{
	font-size: 16px;
	background: #009447;
	text-align: center;
	padding: 5px;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.date-info-table td{
	font-size: 14px;
	text-align: center;
	vertical-align: middle;
	padding: 10px 5px;
	border: 1px solid #ddd;
}
.date-info-table-text{
	font-size: 14px;
	padding-top: 10px;
	margin-bottom: 50px;
}


.point-title__circle{
	font-size: 16px;
}

.point-title__circle li{
	line-height:1;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px dotted #666;
}

.point-title__circle li:first-child{
	border-top: 1px dotted #666;
padding-top: 20px;
}

.point-title__circle li::before{
	content:"";
	width: 15px;
	height:15px;
	display: inline-block;
	background: #009447;
	border-radius:50%;
	margin-right: 10px;
}

.btn-more{
	background: #FFF6D0;
	width: 95%;
	display: block;
	margin:0 auto;
	font-size: 24px;
	text-align: center;
	padding: 15px 0;
	border:1px #666 solid;
	position:relative;
}

.btn-more::before{
	content:"";
	width: 28px;
	height:85px;
	display: inline-block;
	background: url(../images/btn-icon-left.png)no-repeat center center;
	background-size: cover;
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	left:-15px;
}


.btn-more::after{
	content:"";
	width: 28px;
	height:85px;
	display: inline-block;
	background: url(../images/btn-icon-right.png)no-repeat center center;
	background-size: cover;
	position: absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:-15px;
}

.btn-more span::after{
		content:"";
	width: 56px;
	height:7px;
	display: inline-block;
	background: url(../images/btn-icon-arw.png)no-repeat center center;
	background-size: cover;
}

.middle-visual{
	background: url(../images/top_img04.png) no-repeat center top;
	background-size: cover;
	height:70vh;
	width: 100%;
}

/*
footer
*/


.l-footer{
		background: -webkit-linear-gradient(45deg, rgba(0, 150, 65,.4), rgba(0, 82, 165,.4));
	background: linear-gradient(45deg, rgba(0, 150, 65,.4), rgba(0, 82, 165,.4));
	padding:50px 0 ;
	margin-bottom: 50px;
	border-bottom: 50px solid #fff;
}
.l-footer>.inner-container{
	text-align: center;
	font-size: 16px;
}

.footer-navi{
	display:flex;
	justify-content: space-between;
	/*width: 600px;*/
	width: 300px;
	margin:20px auto 0;
	font-size: 16px;
}

.footer-navi li{
	/*width: 48%;*/
	width: 100%;
}

.footer-navi li a{
	display: block;
	border:1px solid #000;
	width: 100%;
	padding:10px 0;
	text-align: center;
}

.footer-navi li a:hover{
	background: #FFF;
}

.footer-logo{
	height:100px;
	margin:0 auto 40px;
	display: block;
}

/* -- Media query	767px以下の場合 タブレット設定------------------------------------------------------------- */
@media screen and (max-width: 780px ) {


.l-header-block{
	height:20vw;
	display: flex;
	align-items: center;
	padding:0 5vw 0;
	position:fixed;
}

.l-header-block h1{
	margin-right: auto;
	width: 70%;
}

.main-logo img{
	height:auto;
	width: 100%;
}

.header-navi{
/*	display: flex;
	width: 350px;*/
	text-align: right;
}

.header-navi>li{
	/*width: 50%;*/
	position:relative;
	padding: 0;
	display: inline-block;
}

.header-navi li a{
	color:#fff;
	font-size: 14px;
	text-align: center;
	padding:4px 10px 4px 35px;
	border:1px solid #FFF;
	display: block;

}

.header-navi li a img{
	height:auto;
	width: 25px;
	display: inline-block;
	margin-top: 5px;
	display: block;
	position: absolute;
	top:calc(50% - 18px);
	left:8px;

}




.main-visual{
	height: 65vh;
	min-height:inherit;
	background: url(../images/top_mainvisual_res.png) center center no-repeat;
	background-size: cover;
}

.l-main-visual-block{
	height: 65vh;
	min-height:inherit;
	padding-top: 0;
	width: 100%;
	background: url(../images/main-visual-bg_res.png) right bottom no-repeat;
	background-size: 100%;
	display: block;
	margin:0 ;
}

.l-main-visual-block>img{
	width:40%;
	margin:40vh 30% 0;
}



.main-container-heading{
	font-size: 22px;
	margin-bottom: 60px;
	line-height:40px;
}

.main-container-heading::after{
	content:"";
	width: 100%;
	height:1px;
	width: 100px;
	background: #000;
	position:absolute;
	bottom:-20px;
	left:0;
	right:0;
	margin:0 auto;
}
.main-container-heading span{
	font-size: 40px;
}



.inner-container{
	width: 100%;
	padding:0 10%;
	margin:0 auto;
}



.curriculum-title img{
	width: 100%;
	display: block;
	margin: 0 auto;
}

.curriculum-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}

.top-heading{
	font-size: 22px;
	background: #FFF;
	padding:40px 5%;
	text-align: center;
}


.point-title{
font-size: 25px;
padding:10px 0;
margin-bottom: 30px;
}


.point-list{
	display: block;
	margin-bottom: 100px;
}

.l-point-list > li{
	width: 100%;
}
.point-list__detail{
	width: 100%;
}
.point-list-heading{
	font-size: 24px;
	margin-bottom: 20px;
	vertical-align:bottom;
}

.point-list-heading span{
	font-size: 20px;
}

.point-list__photo {
	margin-top: 30px;
}

.point-list__photo ,
.point-list__photo img{
	width: 100%;
}



.point-title__circle{
	font-size: 15px;
}

.point-title__circle li{
	padding-left: 1.8em;
	line-height:1.5em;
}
.point-title__circle li::before{
	margin-left: -1.7em;
}


.footer-logo{
	width: 80%;
	height:auto;
	margin:0 auto 40px;
	display: block;
}
}

/* -- Media query	767px以下の場合 スマートフォン設定------------------------------------------------------------- */
@media screen and (max-width: 472px ) {

.l-header-block{
	height:32vw;
	display: block;
	padding:4vw 5vw 0;
	position:fixed;
}

.l-header-block h1{
	margin-right: auto;
	width: 100%;
}

.main-logo img{
	height:auto;
	width: 100%;
}

.header-navi{
/*	display: flex;
	width: 350px;*/
	text-align: right;
}

.header-navi>li{
	/*width: 50%;*/
	position:relative;
	padding: 0;
	display: inline-block;
}

.header-navi li a{
	color:#fff;
	font-size: 14px;
	text-align: center;
	padding:4px 10px 4px 35px;
	border:1px solid #FFF;
	display: block;

}

.header-navi li a img{
	height:auto;
	width: 25px;
	display: inline-block;
	margin-top: 5px;
	display: block;
	position: absolute;
	top:calc(50% - 18px);
	left:8px;

}




.main-visual{
	height: 65vh;
	min-height:inherit;
	background: url(../images/top_mainvisual_res.png) center center no-repeat;
	background-size: cover;
}

.l-main-visual-block{
	height: 65vh;
	min-height:inherit;
	padding-top: 0;
	width: 100%;
	background: url(../images/main-visual-bg_res.png) right bottom no-repeat;
	background-size: cover;
	display: block;
	margin:0 ;
}

.l-main-visual-block>img{
	width:40%;
	margin:30vw 13% 0;
}


.l-header-block{
	height:32vw;
	display: block;
	padding:4vw 5vw 0;
	position:fixed;
}


.main-visual{
	height: 65vh;
	min-height:inherit;
	background: url(../images/top_mainvisual_res.png) center center no-repeat;
	background-size: cover;
}

.l-main-visual-block{
	height: 65vh;
	min-height:inherit;
	padding-top: 0;
	width: 100%;
	background: url(../images/main-visual-bg_res.png) right bottom no-repeat;
	background-size: cover;
	display: block;
	margin:0 ;
}

.l-main-visual-block>img{
	width:74%;
	margin:60vw 13% 0;
}
}

@media screen and (orientation: landscape) and (max-width: 767px ) {
	
.l-header-block{
	height:11vw;
	display: flex;
	padding:0 5vw 0;
	position:fixed;
	align-items: center;
}

.main-visual{
	height: 90vh;
	min-height:inherit;
	background: url(../images/top_mainvisual_res.png) center center no-repeat;
	background-size: cover;
}

.l-main-visual-block{
	height: 90vh;
	min-height:inherit;
	padding-top: 0;
	width: 100%;
	background: url(../images/main-visual-bg_res.png) right bottom no-repeat;
	background-size: cover;
	display: block;
	margin:0 ;
}


.l-main-visual-block>img{
	width:40%;
	margin:20vw 30% 0;
}


.header-navi {
	width: 35%;
}
.main-logo img{
	height:auto;
	width: 70%;
}

}


