@charset "utf-8";


#school .flbox{
display:-webkit-box;
display:-ms-flexbox;
display:-webkit-flex;
display:flex;

-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;

-ms-flex-wrap:wrap;
-webkit-flex-wrap:wrap;
flex-wrap:wrap;
}

#school .notes{font-size: 1.4rem;}
#school .boxtitle{
	position: relative;
	color: #C8BB9B;
	text-align: center;
}
#school .boxtitle>span{
	display: block;
	font-size: 3rem;
	color: #C8BB99;
	margin-top: 0.9em;
}
#school .boxtitle>span:before,
#school .boxtitle>span:after{
	position: absolute;
	top: 0.4em;
	content: "";
	display: inline-block;
	height: 5px;
	width: 26%;
	background-color: #C8BB9B;
}
#school .boxtitle>span::before{left: 0;}
#school .boxtitle>span::after{right: 0;}

#school .boxtitle+.box{
	border: 5px solid #C8BB9B;
	border-top: none;
	padding: 50px 30px 35px;
	margin-top: -0.9em;
}


#school .filltitle{
	position: relative;
	color: #C8BB99;
	text-align: center;
	padding-bottom: 0.5em;
}
#school .filltitle:before {
    content: "";
    display: block;
    border-top: solid 1px #C8BB99;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
}
#school .filltitle>span{
	background-color: #000;
    position: relative;
    z-index: 1;
	padding: 0 0.5em;
	font-weight: 600;
}

@media screen and (max-width:750px){
	#school .notes{font-size: 1rem;}
	#school.category .hero .txt {font-size: 3rem;}


	#school .flbox{display:block;}
	#school .boxtitle+.box{
		padding: 35px 20px 25px;
		margin-top: -1em;
	}
	.category .line_title {
		letter-spacing: 0.05em;
	}



.schools,
.timetables,
.others,
.instructors{display: none;}





}



.school{
	padding-bottom: 80px;
	font-weight: 500;
	color: #FFF;
}
.school>.box{margin-top: 80px;}
.school .part1 .lead + .lead{margin-top: 1.5em;}
.school .part1{
	position: relative;
	width: 60%;
	padding: 0 10px 0 40px;
}
.school .part2{
	width: 40%;
	padding: 0 40px;
}
.school .part1 > .title{
	color: #C8BB99;
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 500;
	margin-bottom: 0.8em;
}

.school .txtbox{
	position: relative;
	background-color: #00A483;
	border-radius: 10px;
	padding: 50px 40px 20px;
	margin-top: 71px;
}
.school .txtbox .title{
	font-size: 2.6rem;
	color: #FFFC00;
	margin-bottom: 0.3em;
}

.school .txtbox span{
	position: absolute;
	top: -21px;
	left: 39px;
	display: inline-block;
	background-color: #E4007F;
	height: 40px;
	border-radius: 20px;
	line-height: 40px;
	color: #FFF;
	font-weight: 600;
	text-align: center;
	padding: 0 1em;
}
.school .txtbox span:after{
	content: "";
	position: absolute;
	bottom: -17px;
	left: 18px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 17px 17px 0 0;
	border-color: #E4007F transparent transparent transparent;
}
.school .txtbox .days{font-size: 1.8rem;}
.school .txtbox .days small{font-size: 1.4rem;}
.school .txtbox .lead + .lead{margin-top: 0.5em;}

.school .part2 dd>span{
	display: block;
	margin: 0.5em 0;
}
.school .part2 dd+dt{margin-top: 2.5em;}
.school .part2 dd+dd{margin-top: 1em;}
.school .part2 dd{
	font-size: 2rem;
	margin-top: 0.5em;
	text-align: center;
}
.school .part2 dd>span{font-size: 1.6rem;}
.school .part2 .notes{
	text-align: center;
	line-height: 2;
	margin-top: 1.3em;
}





@media screen and (max-width:750px){
	.school img{width: 100%;}
	.school.wrap{padding: 0 0 40px;}

	.school{padding-bottom: 40px;}
	.school>.box{margin-top: 40px;}
	.school .part1{
		width: 100%;
		padding: 0 20px;
	}
	.school .part2{
		width: 100%;
		padding: 0 0;
	}
	.school .part1 > .title{
		font-size: 1.8rem;
		text-align: center;
	}
	.school .txtbox{
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		padding: 30px 20px 15px;
		margin-top: 30px;
	}
	.school .txtbox .title{font-size: 1.6rem;}
	.school .txtbox span{
		top: -15px;
		left: 20px;
		height: 30px;
		border-radius: 15px;
		line-height: 30px;
	}
	.school .txtbox span:after{
		bottom: -12px;
		left: 14px;
		border-width: 12px 12px 0 0;
	}
	.school .txtbox .days{font-size: 1.4rem;}
	.school .part2,
	.school .part3{padding: 0 20px;}
	.school .part2 dd{font-size: 1.6rem;}
	.school .part2 dd>span{font-size: 1.2rem;}
}









.timetable{
	background-color: #EEE7D7;
	padding: 65px 0 80px;
}
.timetable .h2_title{
	text-align: center;
	color: #A19169;
	font-weight: 500;
}
.timetable .img{
	text-align: center;
	padding: 50px 0 65px;
}
.time_txtbox{
	position: relative;
	margin: 71px 40px 0;
	background-color: #DBD2BE;
	border-radius: 10px;
	padding: 45px 50px;
	font-weight: 500;
	color: #424242;
}

.time_txtbox .title{
	font-size: 3rem;
	color: #424242;
	margin-bottom: 0.3em;
	padding-right: 60px;
}

.time_txtbox .title>span{
	font-size: 2rem;
	display: block;
	font-weight: 600;
	margin-top: 0.8em;

}
.time_txtbox>span{
	position: absolute;
	top: -21px;
	left: 39px;
	display: inline-block;
	background-color: #E4007F;
	height: 40px;
	border-radius: 20px;
	line-height: 40px;
	color: #FFF;
	font-weight: 600;
	text-align: center;
	padding: 0 1em;
}
.time_txtbox>span:after{
	content: "";
	position: absolute;
	bottom: -17px;
	left: 18px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 17px 17px 0 0;
	border-color: #E4007F transparent transparent transparent;
}

.time_txtbox .lead{line-height: 1.8;}
.time_txtbox .notes{
	margin-top: 0.2em;
	line-height: 1.5;
}
.time_txtbox .tbpc>.cell{vertical-align: middle;}

@media screen and (max-width:750px){
	.timetable{padding: 30px 0 40px;}
	.timetable .img-wrap{padding: 10px;}
	.timetable .img-wrap>.img{
		overflow: auto;
    white-space: nowrap;
		padding: 20px 0 10px;
	}
	.timetable .img-wrap>.img>img{width: 550px;}
	.timetable .img-wrap>.img::-webkit-scrollbar{height: 10px;}
	.timetable .img-wrap>.img::-webkit-scrollbar-track{background: #333;}
	.timetable .img-wrap>.img::-webkit-scrollbar-thumb {background: #FFF;}
	.time_txtbox{
		width: 100%;
		margin: 21px auto 0;
		padding: 30px 20px 25px;
	}
	.time_txtbox .title{
		font-size: 1.8rem;
		padding-right: 0;
	}
	.time_txtbox .title>span{
		font-size: 1.2rem;
		margin-top: 0.5em;
		margin-bottom: 1em;
		}
	.time_txtbox>span{
		top: -15px;
		left: 20px;
		height: 30px;
		border-radius: 15px;
		line-height: 30px;
		color: #FFF;
	}
	.time_txtbox>span:after{
		bottom: -12px;
		left: 14px;
		border-width: 12px 12px 0 0;
	}
}







.other{
	padding-top: 125px;
	padding-bottom: 70px;
}
.other .line_title>span:not(.zume):before,
.other .line_title>span:not(.zume):after{width: 31%;}

.other .flbox{
	margin-left: -10px;
	margin-right: -10px;
	color: #FFF;
	font-weight: 500;
}

.other .flbox>div{
	width: 50%;
	padding: 0 30px;
	margin-bottom: 90px;
}
.other .title{
	font-size: 3rem;
	color: #C8BB99;
	margin: 1.5em 0 1em;
	text-align: center;
	letter-spacing: -0.1em;
	vertical-align: bottom;
	min-height: 40px;
}
.other .title>span{
	position: relative;
	    display: inline-block;
    background-color: #E4007F;
    height: 40px;
    border-radius: 20px;
    line-height: 40px;
    color: #FFF;
	font-size: 1.8rem;
    font-weight: 600;
	letter-spacing: 0;
    text-align: center;
    padding: 0 1em;
	top: -3px;
	margin-left: 0.5em;
}

/*2列対応*/
.other .title>.cap-rows{
	position: relative;
	    display: inline-block;
    background-color: #E4007F;
    height: 60px;
    border-radius: 30px;
    line-height: 20px;
    color: #FFF;
	font-size: 1.6rem;
    font-weight: 600;
	letter-spacing: 0;
    text-align: center;
    padding: 0 1.5em;
	padding-top:7px;
	margin-left: 1em;
	top:3px;
}

.other .lead{
	line-height: 1.6;
	min-height: 7.5em;
}
.other .box:nth-of-type(3) .lead{min-height: 4.95em;}
.other .box-wrap{padding: 0 15px;}
#school .other .boxtitle+.box{
	text-align: center;
	padding: 40px 40px 30px;
}

.other .boxtitle+.box span{display: block;margin-bottom: 1rem;}

#school .other .boxtitle+.round {
	padding: 40px 30px 30px;
}
.other .txt{font-size: 2rem;}
.other .notes{
	margin-top: 2em;
	line-height: 1.8;
}
.other .lead2{line-height: 1.8;}
.other .lead2 .lead2-title:before{
	content: "■";
	color: #E4007F;
}
.other .lead2 table td{padding-right: 2em;}
.other .colord{
	font-weight: 600;
	color: #C8BB9B;
	line-height: 1.5;
}
.other .colord+.txt{margin-top: 0.2em;margin-bottom: 1rem;}
.other .txt+.colord{margin-top: 1em;}
.other .txt+.filltitle{
	margin-top: 2em;
}

@media screen and (max-width:750px){
	.other{padding: 60px 0 30px;}
	.other img{width: 100%;}
	.other .line_title>span:not(.zume):before,
	.other .line_title>span:not(.zume):after{width: 22%;}
	.other .flbox{
		margin-left: 0;
		margin-right:0;
	}
	.other .flbox>div{
		width: 100%;
		padding: 0 20px;
		margin-bottom: 40px;
	}
	.other .title{
		font-size: 1.6rem;
		margin: 1.5em 0 1em;
		min-height: auto;
	}
	.other .title>span{
		height: 30px;
		border-radius: 15px;
		line-height: 30px;
		color: #FFF;
		font-size: 1.4rem;
		padding: 0 0.5em;
		top: -1px;
	}
	
	/*2列対応*/
	.other .title>.cap-rows{
		height: 45px;
		border-radius: 22.5px;
		line-height: 15px;
		color: #FFF;
		font-size:1.2rem;
		padding: 0 1.2em;
		padding-top:4px;
		margin-left: 1em;
		top:1px;
	}		
	
	.other .lead{
		line-height: 1.6;
		min-height: auto;
	}
	.other .box:nth-of-type(3) .lead{min-height: auto;}
	.other .box-wrap{padding: 0}
	#school .other .boxtitle+.box{
		padding-left: 20px;
		padding-right: 20px;
		padding: 35px 20px 25px;
	}
	
	.other .boxtitle+.box span{display: block;margin-bottom: 0.5rem;}
	
	.other .txt{font-size: 1.6rem;}
	.other .lead2{margin-top: 0.7em;}
	.other .lead2 table{font-size: 1.2rem;}
	.other .lead2 table td{padding-right: 2em;}
}




.instructor {
	overflow: visible;
}


.instructor .line_title>span:not(.zume):before,
.instructor .line_title>span:not(.zume):after{width: 33%;}
.instructor>section{
	width: 50%;
	margin: 30px auto 165px;
	color: #AAA;
}
.instructor>section:not(last-of-type){
	margin-bottom: 60px;
}
.instructor .h2_title{
	position: relative;
	font-size: 2.5rem;
	color: #FFF;
	margin-bottom: 2.5em;
	margin-top: 60px;
}
.instructor .h2_title>span:not(.zume){
	font-size: 1.2rem;
    margin-left: 1em;
    color: #A19169;
    letter-spacing: 0.15ch;
}
.instructor .img{
	position: relative;
	text-align: center;
}
.instructor .img-b{
	position: absolute;
	right: -20px;
	bottom: -155px;
}
.instructor .subtxt{
	font-size: 1.4rem;
	color: #FFF;
	margin-bottom: 1em;
	line-height: 1.6;
}
.instructor .txt{padding: 0 40px;}
.instructor .lead{color: #FFF;}



@media screen and (max-width:750px){
	.instructor .line_title>span:not(.zume):before,
	.instructor .line_title>span:not(.zume):after{width: 19%;}
	.instructor .h2_title{
		font-size: 2.2rem;
		margin-bottom: 1.0em;
		margin-top: 30px;
	}
	.instructor .h2_title>span:not(.zume){
		margin-left: 1.2em;
	}
	.instructor .subtxt{
		font-size: 1.2rem;
		margin-bottom: 1em;
	}

	.instructor .img img{width: 100%;}
	.instructor.wrap{padding: 0 40px 50px;}
	.instructor>section{
		width: 100%;
		height: auto;
		margin: 50px auto 0;
	}
	.instructor img.img-b{
		width: 140px;
		left: -15px;
		bottom: -28px;
	}
	.instructor .h2_title{
		margin-top: 40px;
		text-align: left;
	}
	.instructor .h2_title>span:not(.zume){font-size: 1.2rem;}
	.instructor .txt{padding: 0 15px;}
	.instructor .esthe .h2_title>span:not(.zume):after{
		font-size: 1.2rem;
		top: -18px;
		left: 14em;
		width: 50px;
		height: 50px;
		line-height: 50px;
	}
}

body#school header li.gn-school:after{
	opacity: 1 !important;
}
