/*					 				*/
/*			header					*/
/*									*/
/*	rgb(149,192,236);	空色／スカイブルー	#95c0ec	*/
/*	rgb(238,244,252);	薄い	#eef4fc	*/
/*	rgb(125, 168, 211);	濃い	#7da8d3	*/

/*	rgb(218, 83, 110);	カメリア／#da536e	*/
/*	rgb(148, 139, 219);	藤紫／#948bdb	*/


html{
	background:rgb(238,244,252,.5);
	color:rgb(77,75,74);
}


header li a,
header li i,
header .navbar_bt .bt{
    font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Verdana, sans-serif;
    font-weight: bold;	
}


.navbar_toggle_icon{
	background:rgb(149,192,236);
}

.navbar_menu > ul > li,
.navbar_menu > ul > li > a{
}

.arrow::before{
	border-top-color:rgb(77,75,74,.5);
	border-right-color:rgb(77,75,74,.5);
}

.navbar_menu > ul > li{
	border-top-color:rgb(77,75,74,.5);
}

.navbar_menu .sub ul {
	border-radius:.125rem;
	border-color:rgb(77,75,74,.75);	
	background:rgb(255,255,255);
	opacity:1;
}

/*	スマホは色替えのみ		*/
.navbar_menu > ul li.active > a{
	color:rgb(125, 168, 211);
}

.navbar_menu .sub li.divider{
	border-top-color:rgb(77,75,74,.25);
}

.navbar_brand{
	left:22px;
	height:22px;
	top:22px;
	transform: translate(0,0);
}

.navbar_bt{
	display:block !important;
	position: relative;
}

.navbar_bt ul{
	list-style: none;
	padding:0;
	margin:13px 0;
	position: absolute;
	right:50px;
	top:0;
	display: flex;
}

.navbar_bt li {
	padding:0;
	margin:0;
	margin-right:10px;
	padding-right:10px;
	position: relative;
}

.navbar_bt li::after{
	content: '';
	display: block;
	position: absolute;
	top:0;
	right:0;
	width:1px;
	height:40px;
	background:#ddd;
}


.navbar_bt li img{
	height:40px;
	margin-bottom:0;
	width:auto;
}

header.mini,
.navbar_menu > ul{
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
	transition: box-shadow 0.5s;		
}




@media screen and (min-width: 568px) {	
	header{
		height:115px;
		box-shadow: none;
	}

	
	header nav{
		font-size:13px;		
	}
	
	main{
		padding-top:115px;
		font-size:14px;		
	}
	
	
	.navbar_brand{
		left:0;
		top:20px;
		height:44px;
		margin-left:-10px;	
	}

	.navbar_menu{
		top:77px;
		transform: translate(0,0);
	}
		
	.navbar_menu > ul{
		justify-content: end;
		margin-right:45px;
		box-shadow: none;
	}
	.navbar_menu > ul > li{
		padding: 4px 0.72em 0 0.72em;
	}

	.navbar_menu > ul > li,
	.navbar_menu > ul > li > a{
		color:rgb(77,75,74);
		border:none;		
	}

	.arrow::before{
		border-top-color:rgb(77,75,74,.5);
		border-right-color:rgb(77,75,74,.5);
	}

	
	.navbar_menu > ul li:hover{
		opacity:inherit;
	}

	.navbar_menu > ul > li > a::after{
		content: '';
		display: block;
		height: 1px;
		width: 80%;
		margin:3px 10% 0 10%;
		background: 
			linear-gradient(rgb(149,192,236) 0 0) 
			bottom /var(--d, 0) 1px 
			no-repeat;
		transition:0.3s;
	}

	.navbar_menu > ul  li  a:hover{
		transition:0.3s;
		color:rgb(149,192,236);
	}
		
	.navbar_menu > ul > li.active > a::after{
		content: '';
		display: block;
		height: 1px;
		width: 80%;
		margin:3px 10% 0 10%;
		background-color:rgb(149,192,236);
	}
	
	.navbar_menu > ul > li > a:hover{
		--d: 100%;
	}
	
	.navbar_menu > ul > li:first-child{
		padding-left:0;
	}

	.navbar_menu > ul > li:last-child{
		padding-right:0;
	}
	
	
	.navbar_menu ul li{
		position: relative;
	}
	
	.navbar_menu li:nth-child(2) ul{
		width:5.5em;
	}
	.navbar_menu li:nth-child(3) ul{
		width:10.5em;
	}
	.navbar_menu li:nth-child(4) ul{
		width:9.5em;
	}
	
	.navbar_menu li.sub.selected::after {
		content: "";
		position: absolute;
		top: 22px;
		left: 3em;
		border-left: 0.5px solid rgb(149,192,236);
		height:18px;
		z-index: 100;
	}

	.navbar_menu .sub ul {
		border-color:rgb(255,255,255,.1);	

		padding:0.75em 1.25em 0.5em 1.25em;
		margin-top:0.5em;
	}
	
	
	.navbar_menu .sub li {
		margin:0.5em 0;
	}
	
	.mini .navbar_menu .sub ul {
		box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
		transition: box-shadow 0.5s;				
	}
	.navbar_bt{
		position: absolute;
	}
	.navbar_bt ul{
		display: none;
	}

}
@media screen and (min-width: 768px) {
	header{
		height:88px;
	}

	.navbar_brand{
		top:50%;
		transform: translate(0,-50%);
	}

	.navbar_menu{
		top:50%;
		transform: translate(0,-50%);
	}
	
	header nav{
		font-size:14px;		
	}
		
	.navbar_menu{
	}
	.navbar_menu > ul > li{
		padding-left:0.75em;
		padding-right:0.75em;
	}
	main{
		padding-top:88px;
	}	
}


@media screen and (min-width: 1024px) {
	header{
		height:99px;
	}
	
	header nav{
		font-size:15px;
	}
	
	header.mini{
		height:77px !important;	
	}
	
	
	main{
		font-size:15px;	
		padding-top:99px;		
	}
	
	.navbar_brand {
		height:55px;
	}
	
	
	.navbar_menu > ul{
		margin-right:158px;
	}
	
	.navbar_menu > ul > li{
		padding-left:1.25em;
		padding-right:1.25em;
	}	
}


/*		ヘッダー問い合わせボタン		*/
.navbar_bt{
	display:none;
}

@media screen and (min-width: 568px) {
	
	.navbar_bt, .navbar_bt .wrap, .navbar_bt .bt{
		width:150px;
		height:44px;
	}
	
	header.mini	.navbar_bt, header.mini	.navbar_bt .wrap, header.mini .navbar_bt .bt{
		width:44px;
	}
		
	.navbar_bt{
		right:0;
		top:20px;
		display:block;
	}

	.navbar_bt .wrap{
		color:rgba(0,0,0,0);
		text-decoration: none;
		transition:background 0.3s;
		border-radius: .125rem;
		background-image: -webkit-gradient(linear, left top, right top, from(#95c0ec), color-stop(51%, #948bdb), to(#95c0ec));
		background-size: 200% auto;
		overflow: hidden;
		float:left;
	}
	
	.navbar_bt .wrap:hover{
		background-position: right center;
	}
	
	.navbar_bt .bt{
		height:44px;
		width:150px;		
		background:url('../img/contact.svg');
	}

	/*	mini menu		*/
	header.mini .navbar_bt{
		transform: translate(0, -50%);	
		top:50%;
	}
	
	.navbar_bt .bt,
	header.mini	.navbar_bt .bt{
		padding:10px 0 0 44px;
		width:calc(150px - 44px);
		color:white;
	}	
}

@media screen and (min-width: 768px) {
	.navbar_bt{
		top:50%;
		transform: translate(0,-50%);
	}
	
	.navbar_bt, .navbar_bt .wrap,
	header.mini	.navbar_bt, header.mini	.navbar_bt .wrap {
		width:44px;
		height:44px;
	}
}

@media screen and (min-width: 1024px) {
	.navbar_bt, .navbar_bt .wrap,
	header.mini	.navbar_bt, header.mini	.navbar_bt .wrap{
		width:150px;
	}
}

/*					 		*/
/*			main			*/
/*							*/


main img{
	border-radius:.125rem;
}

legend h1{
	font-size:7.7vw;
	font-family:  'Noto Serif JP', serif, '游明朝', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HG明朝E', 'MS P明朝', 'MS 明朝', serif;
	font-weight: 500;
	text-align: center;
}

legend.title{
	height:320px;	
}


legend.title img.image{
	height:320px;		
	opacity:1;
}
legend.title img.image.animate{
	opacity:0;
}


legend .box_school{
	border:0.5px solid rgb(77,75,74);
	color:rgb(77,75,74);
	display: inline-block;
	padding:0.125em 0.5em;
	margin-top:0.25em;
	width:auto;
}

legend.sub .box_school{
	border-color:white;
	color:white;
}



legend.title .wrap{
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	margin-top:-1.2em;
}
legend.title.sub .wrap{
	margin-top:0;
}


legend.title .wrap.w{
	background:white;
	padding:0.25em 1em 0.5em 1em;
}

legend.title.sub{
	height:166px;
	background:rgb(149,192,236, .66);
	margin-bottom:3em;
}

legend.title.sub h1,
legend.title.sub {
	color:white;
}

.animate, .animate2, .animate3, .animate4{
	opacity:0;
}


.subMenu.top{
	display: block;
	position:relative;	
	margin:-77px 0.5em 1em 0.5em;
	background-color:white;	
	border-top:3px solid rgb(149,192,236);
}

.subMenu.top ul{
	margin:0;
	padding:0.75em 0 0.5em 0;
	list-style:none;
	display:flex;	
	justify-content: center;
	flex-wrap: wrap;
}

.subMenu.top li{
	width:25%;
	text-align:center;
	margin-bottom:0.3em;
}


.subMenu.top li.active a{
	color:rgb(149,192,236);
	text-decoration: none;
}


.subMenu.bottom{
	margin:0;
}

.subMenu.bottom ul{
	margin:0;
	padding:0;
	list-style:none;
}

.subMenu.bottom ul li{
	border-top:1px solid rgb(149,192,236, .66);
	padding:0;
	margin:0;
	text-align:center;
}

.subMenu.bottom a{
	padding:0.5em;
	display:block;
	text-decoration: none;
	color:rgb(149,192,236);
}

main .box {
	border-color:rgb(149,192,236);
}

.danger{
	border-color:rgb(218, 83, 110) !important;
}


main h2.marker_b{
	left:50%;
	transform: translateX(-50%);
}
main h2.marker_b::after{
	background:rgb(149,192,236,.6);
}


/*	ベル		 */
.bell blockquote {
	font-size:5.25vw;
	margin-bottom:3em;
}
.song blockquote {
	font-size:5.25vw;
	margin-bottom:3em;	
}

blockquote p{
	font-family: 'Noto Serif JP', serif, '游明朝', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HG明朝E', 'MS P明朝', 'MS 明朝', serif;
	font-weight: 500;
	margin-bottom:1em;
}

blockquote small{
	font-size:14px;
	position: absolute;
	left:0;
}


main .bell p.small{
	text-align:center;
}

main img.bell ,
main .bell table{
	width:80%;
	margin-left:10%;
}


main img.bell {
	height:auto !important;	
	margin-bottom:1em;
}

main .bell table{
	margin-top:1em;
}

main ul.download {
	list-style: none;
	padding-left:1em;
}

main ul.download li{
	position: relative;	
	margin-left:3em;
	padding-right:1em;
	text-align:left;
	background-color:inherit !important;
	border:none !important;
}

main ul.download li::before{
	content:'';
	display:inline-block;
	position:absolute;
	margin:0.2em 0 0 -2.25em;
	width:1.5em;
	height:1.5em;
	background:url('https://www.kochigakuen.jp/cdn/site/lab/img/download.svg');	
}

main ul.download li.dummy{
	display:none;
}

main div.download{
	text-align:center;
	margin-top:1em;
}

@media screen and (min-width: 568px) {
	legend.title,
	legend.title img.image{
		height:360px;	
	}
	
	legend.title .wrap.w{
		padding:0.5em 1em 0.75em 1em;
	}
	
	legend.title .wrap h1{
		font-size:1.88em;
		margin-bottom:0;
	}
	
	legend.title.sub{
		margin-bottom:0.5em;
	}

	
	.subMenu.top{
		max-width:600px;
		margin:-4em auto 1em auto;
		
	}
	.subMenu.top ul{
		padding:0.77em 0 0.33em 0;
		flex-wrap: nowrap;
	}
	.subMenu.top li{
		width:auto;
		margin-right:1em;
		border-right:1px dotted #ccc;
		padding-right:1em;
		margin-bottom:0;
	}	
	
	.subMenu.top li:last-child{
		padding-right:0;
		margin-right:0;
		border-right:none;
	}
	
	.subMenu.bottom{
		display:none;
	}
	
	
	main img.bell ,
	main .bell table{
		width:100%;
		margin-left:0;
	}
	
	.bell blockquote{
		font-size:1.33em;
	}
	.song blockquote {
		font-size:1.33em;
	}
}

@media screen and (min-width: 768px) {
	legend.title,
	legend.title img.image{
		height:400px;	
	}
	
	.subMenu.top{
		max-width:780px;
	}
	
	.subMenu.top ul{
		padding:1em 0 0.5em 0;
	}
	
	.subMenu.top li{
		margin-right:1.5em;
		padding-right:1.5em;
	}	
	
	
	.bell blockquote {
		font-size:1.8em;
	}
	.song blockquote {
		font-size:1.2em;
	}
}
@media screen and (min-width: 1024px) {
	
	legend.title,
	legend.title img.image{
		height:440px;
	}
	legend.title .wrap.w{
		padding:0.75em 1em 1em 1em;
	}

	.subMenu.top{
		max-width:1060px;
	}
	.subMenu.top li{
		margin-right:2em;
		padding-right:2em;
	}	
	
	.bell blockquote {
		font-size:2.2em;
	}
}

@media screen and (min-width: 1280px) {
	legend.title,
	legend.title img.image{
		height:480px;
	}
	
	.subMenu.top{
		max-width:1280px;
	}
	
	.subMenu.top li{
		margin-right:3em;
		padding-right:3em;
	}		
}


main audio{
	width:80%;
	max-width:300px;
	margin-top:0.5em;
	color:black;
}

@media screen and (min-width: 568px) {
	main audio{
		width:300px;
	}
}

main ul.contact{
	list-style:none;
	margin:0;
	padding:0;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

main .contact li{
	margin:0;
	position: relative;
	text-align:center;
}

main .contact li img{
	vertical-align: top;
	position: relative;
	border-radius: 0;
	z-index:2;
}

main .contact li a{
	opacity: 1 !important;
}


main .contact li::after{
	content:'';
	display: block;
	position: absolute;
	top:0;
	height:100%;
	width:100%;
	transition:background 0.3s;
	background-size: 200% auto;
	overflow: hidden;
	z-index:1;
}
main .contact li:nth-child(1)::after{
	background-image: -webkit-gradient(linear, left top, right top, from(#fda085), color-stop(51%, #ffd44d), to(#fda085));
}
	
main .contact li:nth-child(2)::after{
	background-image: -webkit-gradient(linear, left top, right top, from(#95c0ec), color-stop(51%, #948bdb), to(#95c0ec));
}
	
main .contact li:hover::after {
	background-position: right center;
}
	
@media (min-width: 568px) {
	main ul.contact{
		flex-direction: row;
	}
	main ul.contact li{
		width:50%;
	}
}

@media (min-width: 768px) {
	main .contact li img{
		width:300px;
	}
}

main ul.sns{
	list-style:none;
	margin:0;
	padding:1em 0;
	background:rgb(149,192,236, .66);
	display: flex;
	justify-content: center;
}

main .sns li{
	margin:0 0.66em;
}

main .sns li img{
	height:44px;
	width:auto;
	vertical-align: middle;
}



/* sm */
@media (min-width: 768px) {
	main ul.sns{
		list-style:none;
		padding:0;
	}
	
	main .sns li img{
		height:30px;
	}
	main .sns li{
		margin:0.66em;
	}
}




/*	schedule 	*/
main a.reserve{
	width:20vw;
	height:20vw;
	border-radius: 10vw;
	bottom:1em;
	right:1em;
	background-color:#fda085;
}

main a.reserve::after{
	background:#ffd44d;
	width:20vw;
	height:20vw;
	border-radius: 10vw;
}

main a.reserve img{
	width:66%;
	height:66%;
	margin:17%;
}

@media screen and (min-width: 568px) {
	main a.reserve,
	main a.reserve::after{
		width:7em;
		height:7em;
		border-radius: 3.5em;
	}
	main a.reserve{
		bottom:1.5em;
		right:1.5em;
	}
}

/*		mobile Banner  		*/
main #mobile_banner .banner{
	width:100%;
	height:33.33vw;
	position: fixed;
	z-index:999;
	bottom:0;
	display:none;
}

main #mobile_banner .banner a{
	opacity:1 !important;
}


main #mobile_banner .banner .close{
	content: '';
	position:absolute;
	width:5vw;
	height:5vw;
	top:2.5vw;
	right:2.5vw;
	z-index:1000;
	background: url(../img/close.svg);
	opacity:.6;
	cursor: pointer;
}

.mobile_Bottom{
	margin-bottom:33.33vw;
}

@media screen and (min-width: 568px) {
	main #mobile_banner .banner{
		display:none !important;
	}
	.mobile_Bottom{
		margin-bottom:0;
	}
	
}


/*	topics 	*/
main .topicsBt{
	right:0;	
	top:50%;
	transform: translateY(-50%);
	z-index:1003;
	position:fixed;
	
}

main .topicsBt .library,
main .topicsBt .club{
	border-radius:0.25rem 0 0 0.25rem;
	background:#ccc;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;	
	text-align:center;
	vertical-align: middle;
	padding:1em 0.5em;
}

main .topicsBt .club{
	background:rgb(218, 83, 110, .6);
	margin-bottom:0.5em;
}

main .topicsBt a{
	color:white;
	text-decoration: none;
}

main .topicsBt .club a:first-child{
	margin-bottom:0.5em;
	padding-bottom:0.5em;
	border-bottom:1px solid #fff;
}


main .topicsBt .library{
	background:rgb(100,191,170, .6);
}



/*					 		*/
/*			footer			*/
/*							*/
footer {
	padding-top:3em;
}

footer img.logo{
	width:255px;
	height:auto;
	position: relative;
	left:50%;
	transform: translateX(-50%);
}

footer p.link{
	text-align:center;
	margin:1em 0;
}

footer .menu{
	display:none;
	margin-bottom:2em;
}

footer h4{
	font-size:1.2em;
	margin:0;
	margin-bottom:0.75em;
}

footer h4 a{
    font-weight: bold;
}

footer ul{
	list-style:none;
	padding-left:0;
	margin:0;
}
footer li{
	margin-bottom:0.5em;
}

footer .copyright{
	font-size:97%;
	text-align:center;
	margin-bottom:1em;	
}


@media screen and (min-width: 568px) {
	footer .menu{
		width:calc(100% - 255px);
		float:left;
		display:block;
	}
	
	footer .contents > div:nth-child(3){
		padding-left:3em;
	}
	footer .contents > div:nth-child(4){
		padding-left:6.8em;
	}
	
	footer .info{
		float:left;
	}
	footer p.link{
		margin:2em 0;
	}
}
@media screen and (min-width: 768px) {
	footer .menu{
		width:100%;
		float:none;
		margin-bottom:3em;
	}
	footer .info{
		float:none;
	}
	
	footer img.logo{
		left:0;
		transform: translateX(0);
	}

	footer .contents > div:nth-child(3){
		padding-left:1.5em;
	}
	footer .contents > div:nth-child(4){
		padding-left:4.5em;
	}	
	
	footer p.link{
		margin:1.11em 0.5em 0 0;
		float:right;
	}
	footer .copyright{
		margin:1em 0;
		text-align:left;
	}
}

@media screen and (min-width: 1024px) {
	footer .contents > div:nth-child(3){
		padding-left:4.3em;
	}
	footer .contents > div:nth-child(4){
		padding-left:8.6em;
	}	
}

@media screen and (min-width: 1280px) {
	nav,
	.contents {
		max-width:1200px;
	}
	main .contents div[class*="pure-u-"],
	main .contents div.pure-u-1,
	main .contents div.pure-u-sm-1,
	main .contents div.pure-u-md-1,
	main .contents div.pure-u-lg-1{
		padding-left:2.5em;
		padding-right:2.5em;
	}
	
	main .contents div[class*="pure-u-"]:first-child,
	main .contents div.pure-u-xl-1{
		padding-left:0;
	}
	main .contents div[class*="pure-u-"]:last-child,
	main .contents div.pure-u-xl-1{
		padding-right:0;
	}

	main .contents div[class*="pure-u-"].order-sm-1,
	main .contents div[class*="pure-u-"].order-md-1,
	main .contents div[class*="pure-u-"].order-lg-1{
		padding-right:2.5em;
	}
	main .contents div[class*="pure-u-"].order-sm-2,
	main .contents div[class*="pure-u-"].order-md-2,
	main .contents div[class*="pure-u-"].order-lg-2{
		padding-left:2.5em;
	}
}

.editor{
	margin-bottom:2em;
}

.editor h2,
.editor h3,
.editor h4,
.editor p,
.editor img{
	border-bottom:none !important;
	margin-bottom:1em;
	padding-bottom:0 !important;
}

ul.editor{
	list-style:none;
	margin:0;
	padding:0;
}

.editor-layout li{
}

@media screen and (min-width: 768px) {
	.editor-layout{
		display:flex;
	}
	.editor-layout > li:first-child{
		margin-right:3%;
	}
	.editor-layout > li:last-child{
		margin-left:3%;
	}
	
	.editor-layout.layout7-3 > li:first-child{
		width:67%;
	}
	.editor-layout.layout7-3 > li:last-child{
		width:27%;
	}
	.editor-layout.layout6-4 > li:first-child{
		width:57%;
	}
	.editor-layout.layout6-4 > li:last-child{
		width:37%;
	}
	.editor-layout.layout5-5 > li:first-child{
		width:47%;
	}
	.editor-layout.layout5-5 > li:last-child{
		width:47%;
	}
	.editor-layout.layout4-6 > li:first-child{
		width:37%;
	}
	.editor-layout.layout4-6 > li:last-child{
		width:57%;
	}
	.editor-layout.layout3-7 > li:first-child{
		width:27%;
	}
	.editor-layout.layout3-7 > li:last-child{
		width:67%;
	}
}

.easyImg{
    display: flex;
    align-items: flex-start;
    width:100%;	
}

.easyImg img{
    margin:0 2% 1.5em 2%;
    display:flex;
    object-fit: contain;
}

.easyImg img:first-child{
    margin-left:0;
}

.easyImg img:last-child{
    margin-right:0;
}
@media screen and (min-width: 568px) {
    .easyImg.adjust_025{
        width:25%;
        margin-left:37.5%;
    } 
    .easyImg.adjust_050{
        width:50%;
        margin-left:25%;
    } 
    .easyImg.adjust_075{
        width:75%;
        margin-left:12.5%;
    } 
}

