@charset "UTF-8";
:root{
	--body : #333;
	--link : #333;
	--primary : #5da126;
}
/*--------------------------------------------
COMPANY
---------------------------------------------*/
#company-section01 p{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#company-section01 .wrap{
		padding-top : calc( ( 59 - 3 ) * 100vw / 768 );
		padding-bottom : calc( ( 133 - 13 ) * 100vw / 768 );
	}
	#company-section01 ul{
		margin-top : calc( ( 60 - 3 - 6 ) * 100vw / 768 );
		padding-left : calc( 23 * 100% / 720 );
		padding-right : calc( 23 * 100% / 720 );
	}
	#company-section01 li + li{
		margin-top : calc( ( 52 - 3 - 6 ) * 100vw / 768 );
	}
	#company-section01 p{
		margin-top : calc( ( 20 - 6 ) * 100vw / 768 );
		font-size : 2.6rem;
		line-height : 2;
	}
}
@media print,screen and (min-width: 769px){
	#company-section01 .wrap{
		padding-top : calc( 74px - 4.5px );
		padding-bottom : calc( 104px - 8px );
	}
	#company-section01 ul{
		margin-top : calc( 60px - 4.5px - 6px );
		padding-left : 3px;
		padding-right : 3px;
	}
	#company-section01 li + li{
		margin-top : calc( 34px - 6px - 4.5px );
	}
	#company-section01 p{
		margin-top : calc( 10px - 3px );
		font-size : 1.8rem;
		line-height : 1.8889;
	}
}
@media screen and (max-width: 768px){
	#company-section02 .wrap{
		padding-top : calc( ( 121 - 3 ) * 100vw / 768 );
		padding-bottom : calc( 174 * 100vw / 768 );
	}
	#company-section02 .datalist01{
		margin-top : calc( ( 122 - 3 - 2.6 ) * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#company-section02 .wrap{
		padding-top : calc( 52px - 4.5px );
		padding-bottom : 78px;
	}
	#company-section02 .datalist01{
		margin-top : calc( 56px - 4.5px - 1.8px );
	}
}
#company-section03 p{
	letter-spacing : .1em;
}
#company-section03 dl{
	display : flex;
	align-items : baseline;
	justify-content : flex-end;
}
#company-section03 dt , #company-section03 dd{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#company-section03 .wrap{
		padding-top : calc( ( 137 - 3 ) * 100vw / 768 );
		padding-bottom : calc( 140 * 100vw / 768 );
		padding-left : calc( 47 * 100% / 768 );
		padding-right : calc( 47 * 100% / 768 );
	}
	#company-section03 .box{
		margin-top : calc( ( 101 - 3 - 13 ) * 100vw / 768 );
	}
	#company-section03 p{
		font-size : 2.6rem;
		line-height : 2;
	}
	#company-section03 dl{
		margin-top : calc( ( 20 + 13 ) * 100vw / 768 );
	}
	#company-section03 dt , #company-section03 dd{
		font-size : 2.6rem;
	}
	#company-section03 picture{
		margin-top : calc( 71 * 100vw / 768 );
		margin-left : auto;
		margin-right : auto;
		width : calc( 443 * 100% / 674 );
	}
}
@media print,screen and (min-width: 769px){
	#company-section03 .wrap{
		padding-top : calc( 75px - 4.5px );
		padding-bottom : 127px;
	}
	#company-section03 .box{
		display : flex;
		justify-content : center;
		margin-top : 68px;
	}
	#company-section03 .box > div{
		width : 652px;
	}
	#company-section03 p{
		
		font-size : 1.8rem;
		line-height : 2.5556;
		margin-top : calc( 14px - 16px );
	}
	#company-section03 dl{
		margin-top : calc( 20px + 16px );
	}
	#company-section03 dt , #company-section03 dd{
		font-size : 1.8rem;
	}
	#company-section03 picture{
		width : 246px;
		margin-left : 41px;
		flex-shrink : 0;
	}
}


@media screen and (max-width: 768px){
	#company-section04 .wrap{
		padding-top : calc( ( 137 - 3 ) * 100vw / 768 );
		padding-bottom : calc( 140 * 100vw / 768 );
		padding-left : calc( 47 * 100% / 768 );
		padding-right : calc( 47 * 100% / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#company-section04{
		margin-top:-150px;
		padding-top: 150px;
	}
	
	#company-section04 .wrap{
		padding-bottom : 127px;
	}
	#company-section04 .box{
		margin-top : 20px;
	}
		#company-section04 .box p {
			margin-bottom: 3em;
		}
	#company-section04 h3 {
		margin: 0 auto 20px auto;
	}
	#company-section04 ul.list {
		display: flex;
		flex-wrap: wrap;
		margin: 10px auto 30px auto;
	}
		#company-section04 ul.list li {
			margin-right: 2em;
			width: calc(33% - 2em);
			margin-bottom: 10px;
			line-height: 1.3;
		}
}
	

/*--------------------------------------------
SCHOOL
---------------------------------------------*/
#school .tab-controller{
	display : flex;
	align-items : center;
}
#school .tab-controller li{
}
#school .tab-controller a{
	width : 100%;
	height : 100%;
	letter-spacing : .1em;
	text-indent : .1em;
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	transition : background-color .3s ease-in , color .3s ease-in;
	backface-visibility : hidden;
	will-change : background-color, color;
}
#school .tab-controller li:not(.is-active){
	background-color : #fff2f2;
	}}
#school .tab-controller .is-active a , #school .tab-controller li:hover a{
	color : #fff;
	background-color : #f184a1;
}
#school .tab > li:not(.is-active){
	display : none;
}
#school .title01 + ul > li{
	letter-spacing : .1em;
}
@media screen and (max-width: 768px){
	#school .wrap{
		padding-top : calc( 57 * 100vw / 768 );
		padding-bottom : calc( ( 94 - ( 36 - 8 ) ) * 100vw / 768 );
	}
	#school .tab-controller{
		flex-wrap : wrap;
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	#school .tab-controller li{
		width : calc( 216 * 100% / 672 );
		height : calc( 60 * 100vw / 768 );
	}
	#school .tab-controller li:not(:nth-child(3n+1)){
		margin-left : calc( 12 * 100% / 672 );
	}
	#school .tab-controller li:nth-child(n+4){
		margin-top : calc( 12 * 100vw / 768 );
	}
	#school .tab-controller a{
		font-size : 2.6rem;
	}
	#school .tab{
		margin-top : calc( 74 * 100vw / 768 );
	}
	#school .title02 + ul{
		margin-top : calc( 45 * 100vw / 768 );
	}
	#school .title01 + ul{
		margin-top : calc( ( 23 - 8 ) * 100vw / 768 );
		padding-bottom : calc( ( 36 - 8 ) * 100vw / 768 );
		padding-left : calc( 24 * 100% / 720 );
		padding-right : calc( 24 * 100% / 720 );
	}
	#school .title01 + ul > li{
		font-size : 2.8rem;
		line-height : 1.2;
	}
	#school .title01 + ul > li + li{
		margin-top : calc( 30 * 100vw / 768 );
	}
}
@media print,screen and (min-width: 769px){
	#school .wrap{
		padding-top : 64px;
		padding-bottom : calc( 176px - ( 88px - 8px ) );
	}
	#school .tab-controller{
		justify-content : center;
	}
	#school .tab-controller li{
		width : 160px;
		height : 50px;
	}
	#school .tab-controller li + li{
		margin-left : 10px;
	}
	#school .tab-controller a{
		font-size : 1.8rem;
	}
	#school .tab{
		margin-top : 68px;
	}
	#school .title02 + ul{
		margin-top : 39px;
	}
	#school .title01 + ul{
		margin-top : calc( 23px - 8px );
		padding-bottom : calc( 88px - 8px );
		display : flex;
		flex-wrap : wrap;
	}
	#school .title01 + ul > li{
		width : calc( 100% / 3 );
		font-size : 1.8rem;
		line-height : 1.8889;
	}
	#school .title01 + ul > li.column02{
		width : calc( 100% / 3 * 2 );
	}
	#school .title01 + ul > li.column03{
		width : 100%;
	}
}

/*-- policy ---------------*/

#policy {
	padding: 40px 0 ;
}
	#policy h3 {
		color: #F19EB4;
		margin-bottom: .8rem;
	}
	#policy p {
		line-height: 1.8;
		margin-bottom: 3rem;
	}
@media screen and (max-width: 768px){
	#policy h3 {
		font-size: 3.2rem;
		font-weight: 600;
		margin-bottom: 1em;
	}
	#policy p {
		font-size: 2.6rem;
	}
}
@media print,screen and (min-width: 769px){
	#policy h3 {
		margin-bottom: 1em;
		font-size: 22px;
		font-weight: 600;
	}
	#policy p {
		font-size: 16px;
	}
}

/*-------------------------
sitemap
---------------------------*/
@media screen and (max-width: 768px){
	.sitemap {
		padding: calc( 50 * 100vw / 768 ) 0 ;
	}
	.sitemap .wrap {
		display: flex;
		flex-wrap: wrap;
	}
	.sitemap .wrap .box_sitemap {
		width: 50%;
		margin-bottom: 3em;
	}
		.sitemap .wrap .box_sitemap h3 {
			font-size: 3.5rem;
			color: #F19EB4;
			margin-bottom: calc( 10 * 100vw / 768 );
		}
		.sitemap .wrap .box_sitemap ul {
			margin-right: 2em;
		}
		.sitemap .wrap .box_sitemap ul li {
			line-height: 1.3;
			padding: 10px 5px;
			border-bottom: calc( 3 * 100vw / 768 ) dotted #ccc;
		}
}
@media print,screen and (min-width: 769px){
	.sitemap {
		padding: 50px 0 ;
	}
	.sitemap .wrap {
		display: flex;
		flex-wrap: wrap;
	}
	.sitemap .wrap .box_sitemap {
		width: 25%;
	}
		.sitemap .wrap .box_sitemap h3 {
			font-size: 2rem;
			color: #F19EB4;
			margin-bottom: 5px;
		}
		.sitemap .wrap .box_sitemap ul {
			margin-right: 2em;
		}
		.sitemap .wrap .box_sitemap ul li {
			line-height: 1.3;
			padding: 10px 5px;
			border-bottom: 1px dotted #ccc;
		}
}
