@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');

body.kids{
	background-image: url("../img/back_ground.webp");
	background-size: 100%;
	background-repeat: repeat-y;
}

header{
	background-image: url("../img/back_ground.webp");
	background-size: 100%;
	background-repeat: repeat-y;
}

.header > ul > li > ul{
	background-image: url("../img/back_ground.webp");
	background-size: 100%;
	background-repeat: repeat-y;
}

.print_head_logo{
	margin: auto;
	max-width:260px;
	text-align:center;
}

.mv_area{
	position: relative;
	border-bottom:20px #de0000 solid;
}
.mv_area::before,
.mv_area::after{
	content: "";
	position: absolute;
	display: block;
	top:0;
	width:12%;
	height:100%;
	background-size: 100%;
	background-repeat: repeat-y;
}
.mv_area::before{
	left:0;
	background-image: url("../img/mv_left.webp");
}
.mv_area::after{
	right:0;
	background-image: url("../img/mv_right.webp");
	z-index: -1;
}


.mv_img{
	position: relative;
	margin: auto;
	max-width:1160px;
	line-height: 0;
}
.mv_img h1{line-height:0;}


/*==============================*/

.event_area{
	
}
.event_area h2{
	margin:-1px auto 0;
	text-align: center;
	font-weight:600;
	font-size:30px;
	color:#fff;
	background-color: #de0000;
	border-bottom:15px #de0000 solid;
	text-shadow: 1px 1px 3px rgba(0,0,0,.3);
}
.event_area h2 span{display:block;}
.event_area h2 span:nth-child(1){font-size:75%;line-height:1.2em;}

.event_nanda{
	margin: auto;
	max-width:770px;
	padding:20px;
}

@media only screen and (min-width: 768px) {
	.event_nanda a img:hover{
		animation: poyoyon3 5s infinite;
	}
	/*:active*/
}
@keyframes poyoyon3 {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  2% {
    transform: skew(3deg, 3deg);
  }
  4% {
    transform: skew(-2deg, -2deg);
  }
  6% {
    transform: skew(2deg, 2deg);
  }
  8% {
    transform: skew(-1deg, -1deg);
  }
  10% {
    transform: skew(-0.6deg, 0.6deg);
  }
  12% {
    transform: skew(-0.3deg, -0.3deg);
  }
  14% {
    transform: skew(0.2deg, 0.2deg);
  }
}

/*==============================*/

#problem{
	background: linear-gradient(to right,rgba(226,215,181,.6),rgba(240,230,228,.4),rgba(226,215,181,.6));
	overflow-x:hidden;
}

.problem_area{
	position: relative;
}
.problem_area::before,
.problem_area::after{
	content: "";
	position: absolute;
	display: block;
	top:0;
	width:8%;
	height:100%;
	background-size: 100%;
	background-repeat: repeat-y;
}
.problem_area::before{
	left:0;
	background-image: url("../img/mv_left.webp");
	z-index: -1;
}
.problem_area::after{
	right:0;
	background-image: url("../img/mv_right.webp");
	z-index: -1;
}

.problem_box{
	margin: auto;
	max-width:1300px;
	padding:80px 30px 120px;
}

.problem_intro{
	text-align: center;
	font-size:30px;
	font-weight:600;
	line-height:1.2em;
}

.problem_h2_sub{
	text-align: center;
	font-weight:600;
	font-size: 22px;
	padding-bottom:10px;
}

.problem_box h2{
	text-align: center;
	font-weight:600;
	font-size: 34px;
	letter-spacing: 0.02em;
	line-height: 1.3em;
	padding-bottom:50px;
}
.problem_box h2 span{
	padding-bottom:4px;
	border-bottom:#de0000 3px dotted;
}

.problem_list-wrap{
	position:relative;
}

.problem_list-inner{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
}

.problem_list-inner li{
	position: relative;
	width:calc((100% - (20px * 3)) / 4);
	background-color:rgba(255,255,255,.75);
	border-radius:18px;
	filter:drop-shadow(2px 2px 2px rgba(199, 186, 140, .4));
}

.problem_list-text{
	text-align:center;
	font-weight:600;
	padding:15px 25px;
}

.problem_list-img{
	line-height:0;
}
.problem_list-img img{
	border-radius:0 0 18px 18px;
}

.problem_list-inner li span{
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .6) 50%);
}


/*==============================*/

#solution{
	background-image:url("../img/problem_bk.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.solution_box{
	margin: auto;
	max-width: 800px;
	padding:60px 30px;
	text-align: center;
}
.solution_intro{
	margin: auto;
	max-width: 460px;
	padding:2px 0;
	color:#fff;
	background-color:#de0000;
	font-size:24px;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin-bottom:30px;
}

.solution_box img{
	max-width: 460px;
}

.solution_img_box{
	display: flex;
	flex-wrap: wrap;
}
.solution_img_box img{
	width:calc(100% / 6);
}


/*==============================*/


#labo{}

.labo_area{
	margin: auto;
	padding:60px 30px 80px;
}
.labo_area h2{
	text-align: center;
	font-size: 35px;
	font-weight:600;
}

.labo_box{
	text-align: center;
	font-size:18px;
	font-weight:600;
}
.labo_box a{
	text-decoration: underline;
}

.catch_copy{
	margin: auto;
	padding:20px 0 0;
	font-size:30px;
	font-weight:600;
	text-align: center;
}

.lead_copy{
	margin: auto;
	padding:50px 0 0;
	font-size:22px;
	font-weight:600;
	text-align: center;
}

/*==============================*/

.merit_area{
	background-image: url("../img/back_ground2.webp");
	background-size:50%;
	background-repeat: repeat;
	padding:65px 30px;
}

.merit_box{
	max-width:1200px;
	margin:auto;
	padding:30px 0 50px;
	background-color:rgba(255,243,234,.75);
	border-radius:30px;
}

.merit_h2{
	display:flex;
	flex-wrap:wrap;
	padding-bottom:20px;
}
.merit_h2 h2{
	margin:auto;
	text-align: center;
    font-size:30px;
	color:#333;
    font-weight: 600;
    letter-spacing: .05em;
	border-radius:2em;
}
.merit_h2 h2 span{
	color:#222;
	font-size:1.5em;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .75) 50%);
}

.merit_index{
	display:flex;
	flex-wrap:wrap;
	padding:40px 40px 0;
	gap:30px;
	margin: auto;
	background-color:rgba(241,193,52,1);
	margin-bottom:50px;
}
.merit_index_text{
	margin: auto 0 40px;
	width:calc(100% - 300px);
	padding:40px 50px;
	background-color:rgba(255, 255, 255,.8);
	filter: drop-shadow(0 0 4px rgba(199,186,140,.7));
	border-radius:30px;
}
.merit_index_text p{
	font-weight:600;
	padding-bottom:14px;
}
.merit_index_text p:last-child{
	padding-bottom:0;
}
.merit_index_text p span{
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .75) 50%);
}

.merit_index_img{
	line-height:0;
	width:270px;
	margin:auto 0 0;
}

.merit_main{
	padding:0 30px;
}

.merit_inner{
	display:flex;
	flex-wrap:wrap;
	gap:35px;
	max-width:1000px;
	margin: auto;
	padding-bottom:60px;
}
.merit_inner:last-child{
	padding-bottom:0;
}

.merit_inner_img{
	width:200px;
}
.merit_inner_img img{
	border-radius: 50%;
	filter: drop-shadow(2px 2px 2px rgba(199,186,140,.4));
}
.merit_inner_text{
	width:calc(100% - 235px);
	margin:auto;
}

.merit_inner_text h3{
	position: relative;
    padding-left: 35px;
    font-size: 22px;
    font-weight: 600;
}
.merit_inner_text h3::before {
    content: "";
    position: absolute;
    display: block;
    top: 2px;
    left: 0;
    width: 28px;
    height: auto;
    aspect-ratio: 1 / 1;
    background-image: url(../img/merit_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.merit_inner_text p{
    padding-top: 10px;
	font-size: 15px;
}
.merit_inner_text p span{
	font-weight:600;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .8) 50%);
}
.merit_inner_text p a{
	text-decoration:underline;
}

.merit_inner_text p.note{
	font-size:70%;
}


/*==============================*/

.contents_area{
	padding:80px 30px;
	background-color:rgba(225,211,186,.5);;
}

.contents_area h2{
    text-align: center;
    font-size: 35px;
    font-weight: 600;
	letter-spacing:.05em;
	padding-bottom:20px;
}

.contents_front{
	text-align:center;
	font-weight:600;
	font-size:18px;
	padding-bottom:10px;
}

.contents_part{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	padding-bottom:5px;
}

.contents_part > span{display:block;margin:auto 0;font-weight:600;}
.contents_part > span:nth-child(odd){
	background-color:#de0000;
	padding:1px 18px;
	color:#fff;
	font-size:20px;
	border-radius:2em;
}
.contents_part > span:nth-child(even){
	line-height:1.2em;
	padding:0 8px;
}

.contents_index{
	text-align:center;
	font-weight:600;
	font-size:18px;
	padding-bottom:70px;
}

.contents_wrap{
	margin: auto;
	max-width:1360px;
	padding:0 30px;
}

.contents_inner{
	padding-bottom:50px;
}

.contents_inner.double{
	display:flex;
	flex-wrap:wrap;
	gap:35px;
}

.contents_inner.double.ltr{
	flex-direction: row-reverse;
}

.contents_inner_img{
	width:55%;
	filter: drop-shadow(0 0 4px rgba(199,186,140,.7));
}
.contents_inner_img img{border-radius:30px;}

.contents_inner_text{
	width:calc(45% - 35px);
}
.contents_inner_text h3{
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	font-weight:600;
	font-size:30px;
	padding-bottom:10px;
}
.contents_inner_text h3 span{display:block;margin:auto 0 0;}
.contents_inner_text h3 span:nth-child(1){
	color:#de0000;
	font-family: "M PLUS 1p", sans-serif;
	font-size:1.75em;
	letter-spacing:-0.04em;
	padding-right:.1em;
	line-height:1.3em;
}
.contents_inner_text h3 span:nth-child(2){
	padding-bottom:.2em;
}

.contents_inner_text h3 span:nth-child(3){
	font-size:.6em;
	padding-bottom:.45em;
}

.contents_inner_detail p{
	font-weight:600;
	padding-bottom:13px;
}

.contents_inner_detail p span.yellow{background: linear-gradient(transparent 60%, yellow 30%);}
.contents_inner_detail p span.red{color:#de0000;}

.contents_text_btn{
	padding-top:10px;
}

.contents_text_btn a{
	position:relative;
	background-color:#de0000;
	color:#fff;
	font-size:18px;
	font-weight:600;
	padding:5px 35px 5px 15px;
	border-radius:2em;
	border:2px solid #de0000;
	transition: 0.2s;
	filter: drop-shadow(0 0 3px rgba(199,186,140,.6));
}
.contents_text_btn a::after{
	position: absolute;
	content: "";
	margin: auto;
	width: 5px;
	height: 5px;
	border-bottom: #fff 2px solid;
	border-right: #fff 2px solid;
	bottom:10px;
	right: 14px;
	transform: rotate(-45deg);
	transition: 0.2s;
}
@media screen and (min-width:768px) {
	.contents_text_btn a:hover{
		filter:none;
		background-color:rgba(255,255,255,0);
		color:#de0000;
	}
	.contents_text_btn a:hover::after{
		border-color:#de0000;
	}
}


.contents_inner h4{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom:20px;
}
.contents_inner h4 span{
	position:relative;
	display:block;
	font-weight:600;
	font-size:28px;
	padding:0 1.5em 0 1.8em;
}
.contents_inner h4 span::before,
.contents_inner h4 span::after{
	position:absolute;
	content:"";
	display:block;
	background-image:url("../img/sensu.webp");
	background-size:contain;
	background-position:center;
	background-repeat: no-repeat;
	width:auto;
	height:100%;
	aspect-ratio:1/1;
	top:0;
}
.contents_inner h4 span::before{
	left:0;
}
.contents_inner h4 span::after{
	right:0;
}

.contents_inner h4 span i{font-style:normal;}

.contents_h4_sub{
	margin-top:-20px;
	font-size:15px;
	text-align:center;
	padding-bottom:25px;
}
.contents_h4_sub a{
	text-decoration:underline;
	font-weight:600;
}

.contents_inner h5{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom:7px;
}
.contents_inner h5 span{
	display:block;
	font-weight:600;
	font-size:18px;
	text-align:center;
	border:2px solid #333;
	border-radius:2em;
	padding:0 25px;
}

.contents_movie_list{
	display:flex;
	flex-wrap:wrap;
	margin:auto;
	max-width:1100px;
	gap:10px;
	padding-bottom:20px;
}
.contents_movie_list div{
	width:calc((100% - (10px * 2))/ 3);
}
.contents_movie_list div:nth-child(3){display:none;}

.spotify_box{
	margin:auto;
	max-width:1100px;
}

.contents_book_list{
	display:flex;
	flex-wrap:wrap;
	margin:auto;
	max-width:900px;
	gap:20px;
}

.contents_book_list div{
	width:calc((100% - (20px * 2))/ 3);
}

.contents_book_list div a{
	display: block;
	filter: drop-shadow(0 0 4px rgba(199,186,140,.7));
	transition:.2s;
}
.contents_book_list div a[href*="29861715"]{
	padding:0 1.6%;
}
@media screen and (min-width:768px) {
	.contents_book_list div a:hover{
		opacity:.7;
		filter: drop-shadow(0 0 4px rgba(199,186,140,0));
	}
}

.contents_movie_single{
	margin:auto;
	max-width:760px;
}

.contents_line{
	margin: 0 auto 60px;
	border-bottom: dotted #222 3px;
}

.contents_movie_double{
	display:flex;
	flex-wrap:wrap;
	margin:auto;
	max-width:1100px;
	gap:20px;
}
.contents_movie_double > div{
	width:calc((100% - (20px * 1))/ 2);
}

.contents_movie_q{
	background-color: rgba(241, 193, 52,.8);
	padding:3px 10px;
	font-size:17px;
	color:#333;
	font-weight:600;border-radius:10px 10px 0 0;
}
.contents_movie_q::before{
	content:"Ｑ.";
	padding-right:5px;
	font-size:120%;
}

/*==============================*/

.teacher_area{
	padding: 60px 20px;
}

.teacher_area h2{
	margin:auto;
	padding:30px 0 50px;
	max-width:460px;
	text-align:center;
	font-weight:600;
	color:#111;
	line-height: 1.7em;
}

.teacher_box{
	margin:auto;
	padding:0 30px;
	max-width:1100px;
}

.teacher_detail{
	margin:auto;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 50px;
}

.teacher_name h3{
	font-size:28px;
	font-weight:600;
}
.teacher_name_sub{
	font-size:16px;
	font-weight:600;
}
.teacher_headline{
	padding:5px 0;
}


.teacher_detail_img{
	position: relative;
	width:50%;
	overflow: hidden;
}
.teacher_detail_img img{
	position: absolute;
	top:-25%;
	left:50%;
	transform: translateX(-50%);
}
.teacher_detail_text{
	padding-left: 23px;
	width:50%;
}

.teacher_lead{
	padding:20px 0 0;
}

.teacher_lead h4{
	position: relative;
	font-size:20px;
	font-weight:600;
	padding-left: 34px;
	padding-bottom: 5px;
}
.teacher_lead h4::before{
	content: "";
	position: absolute;
	display: block;
	top:4px;
	left:0;
	width:28px;
	height:auto;
	aspect-ratio:1 / 1;
	background-image: url("../img/teacher_lead_icon.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

.teacher_lead p{
	padding-bottom:10px;
}

.teacher_detail_link{
	
}
.teacher_detail_link a{
	margin: auto 0;
    font-weight: 700;
    background-color: #de0000;
    color: #fff;
    padding: 3px 8px 3px 18px;
    border-radius: 4px;
	border:#de0000 2px solid;
	transition: .2s;
}
@media screen and (min-width:768px) {
	.teacher_detail_link a:hover{
		color: #de0000;
    	background-color:rgba(255,255,255,0);
	}
}


.teacher_career{
	margin:auto;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}
.teacher_career_img{
	width:45%;
	position: relative;
	overflow: hidden;
}
.teacher_career_img img{
	position: absolute;
	width:auto;
	height: 100%;
	top:0;
	left:50%;
	transform: translateX(-50%);
}

.teacher_career_btn{
	display: none;
}

.teacher_career_text{
	display: block;
	width:55%;
	padding-right:23px;
}
.teacher_career_text div{
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	padding-bottom: 10px;
}

.teacher_career_text div span:nth-child(1){
	display: block;
	width: 90px;
	font-size: 13px;
}
.teacher_career_text div span:nth-child(2){
	width:calc(100% - 90px);
	line-height: 1.2em;
}

/*==============================*/

.flow_box{
	padding: 60px 30px;
	background-color: rgba(225, 211, 186, .5);
}

.flow_box h2{
	padding:30px 0;
	text-align:center;
	font-size: 28px;
	font-weight:600;
	color:#111;
	line-height: 1.7em;
}

.flow_wrap{
	margin:auto;
	max-width:1100px;
}

.flow_inner{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	padding-bottom:50px;
}

.flow_icon{
	margin:0 0 auto;
	display:flex;
	flex-wrap:wrap;
	width:120px;
	height:auto;
	aspect-ratio:1 / 1;
	border-radius:50%;
	background-color:#de0000;
}
.flow_icon img{
	margin:auto;
	width:65%;
}
.flow_icon img[src*="01"]{
	width:55%;
}

.flow_text{
	margin:auto 0;
	width:calc(100% - 140px);
}

.flow_box h3{
	font-size: 20px;
	font-weight:600;
	color:#111;
	line-height: 1.7em;
}

.flow_text_box p{
	padding-bottom:15px;
}

.flow_btn a{
	display:inline-block;
	background-color: rgba(254, 195, 0, 1);
	padding:5px 30px;
	text-align: center;
	font-weight: 600;
	font-size:18px;
	border-radius: 8px;
	filter: drop-shadow(2px 2px 2px rgba(199, 186, 140, .4));
	transition:.2s;
}
@media screen and (min-width:768px) {
	.flow_btn a:hover{
		color:#222;
		background-color: rgba(254,195,0,.4);
		filter: drop-shadow(2px 2px 2px rgba(199,186,140,0));
	}
}

.flow_text_box p.flow_attention{
	font-size: 80%;
	padding: 15px;
	background-color: rgba(255, 255, 255, .4);
	border-radius: 8px;
}

/*==============================*/

.performance_box{
	margin:auto;
	max-width:960px;
	padding:0 30px;
}

.performance_box h2{
	padding:30px 0 20px;
	text-align:center;
	font-size: 28px;
	font-weight:600;
	color:#111;
	line-height: 1.7em;
}

.performance_list ul{
	display:flex;
	flex-wrap:wrap;
}
.performance_list ul li{
	line-height:1.8em;
}

.performance_list ul li::after{
	content:"/";
	padding:0 7px;
}
.performance_list ul li:last-child::after{
	content:none;
}
.performance_list ul li a{
	text-decoration:underline;
}

/*==============================*/

.partnership_area{
	padding:70px 0 100px;
}

.partnership_box{
	margin:auto;
	max-width:1100px;
	padding:50px 50px;
	background-color:rgba(255,252,241,.55);
	border-radius:20px;
}

.partnership_box h2{
	padding:0 0 20px;
	text-align:center;
	font-size: 28px;
	font-weight:600;
	color:#111;
	line-height: 1.7em;
}

.partnership_box h3{
	text-align:center;
	font-weight:600;
	padding-top:40px;
	padding-bottom:3px;
}

.partnership_main p{
	font-size:18px;
	padding-bottom:10px;
}
.partnership_main p a{
	text-decoration:underline;
}

.partnership_banner{
	margin: auto;
	max-width:800px;
	transition:.2s;
}

@media screen and (min-width:768px) {
	.partnership_banner:hover{
		opacity:.7;
	}
}


/*==============================*/

.btn_area{
	padding:10px 0 40px;
}

ul.btn_box{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	max-width: 1200px;
	margin: auto;
	padding:10px 20px 10px;
}

ul.btn_box li{
	width:calc(((100% - (8px * 5)) / 6));
	border:#222 2px solid;
	font-weight:600;
	border-radius: 8px;
	filter: drop-shadow(2px 2px 2px rgba(199,186,140,.4));
	transition: .2s;
}
ul.btn_box li a{
	display:flex;
	width:100%;
	height:100%;
	padding:12px 0;
	line-height:1.35em;
	letter-spacing: 0.02em;
	background-color: rgba(255,255,255,.75);
	border-radius: 8px;
}
ul.btn_box li a span{
	display: block;
	margin: auto;
	text-align: center;
}

.btn_signup{
	max-width: 600px;
	margin: auto;
	padding:10px 20px;
}
.btn_signup a{
	display: block;
	background-color:#de0000;
	text-align: center;
	color:#fff;
	font-size:28px;
	font-weight:600;
	letter-spacing: 0.02em;
	padding:5px 20px;
	border-radius: 50px;
	filter: drop-shadow(0 6px 0 rgba(30,10,0,.4));
}
@media screen and (min-width:768px) {
	
	ul.btn_box li:hover{
		border:rgba(0,0,0,0) 2px solid;
		filter: drop-shadow(2px 2px 2px rgba(199,186,140,0));
	}
	ul.btn_box li:hover a{
		color:#222;
		background-color: rgba(255,255,255,1);
	}
	
	.btn_signup a:hover{
		filter: drop-shadow(0 0 0 rgba(0,0,0,0));
		transform: translateY(6px);
	}
}

.cap{display:none;}

/*==========================*/



@media screen and (max-width:1150px) {
	.teacher_detail_img img{
		top: -20%;
	}
}

@media screen and (max-width:1100px) {
	
	.problem_list-text{font-size:14px;}
	
	.contents_inner_text {width: calc(52% - 35px);}
	.contents_inner_img{width:48%;}
}

@media screen and (max-width:980px) {

	.problem_box{padding: 60px 30px 45px;}
	.problem_area::before, .problem_area::after {width:13%;}
	.problem_list-inner{margin:auto;max-width:600px;}
	.problem_list-inner li{width:calc((100% - (20px * 1)) / 2);}
	
	.labo_area{padding:120px 30px 60px;}
	
	.solution_img_box img{width:calc(100% / 5);}
	.solution_img_box img[src*="5"]{display:none;}
	
	.merit_area{padding:80px 30px;}
	.merit_index{margin-bottom:70px;}
	.merit_index_img{display:none;}
	.merit_index_text{width:100%;}
	.merit_main {padding:0 40px;}
	.merit_inner{gap:25px;}
	.merit_inner_img{width:160px;}
	.merit_inner_text{width:calc(100% - 185px);}
	
	
	.contents_area{padding:120px 30px;}
	.contents_inner{margin:auto;max-width:720px;}
	.contents_inner.double{gap:0;}
	.contents_inner_text{display:contents;}
	.contents_inner_text h3{order:1;width:100%;padding-bottom:3px;}
	.contents_inner_img{order:2;width:100%;line-height:0;}
	.contents_inner_img img{border-radius:20px;}
	.contents_inner_detail{order:3;padding-top:20px;}
	
	.contents_movie_list div:nth-child(3){display:block;}
	.contents_movie_list div{width: calc((100% - (10px * 1)) / 2);}
	
	.contents_movie_double > div{margin:auto;width:80%;}
	
	.teacher_area{padding:100px 20px;}
	.teacher_detail_img img{top:50%;transform:translateX(-50%) translateY(-50%);}
	
	.flow_box{padding:90px 30px;}
	.flow_wrap{margin:auto;max-width:720px;}
	
	.performance_list{margin:auto;max-width:720px;}
	.performance_list ul li{font-size:15px;}

	.partnership_box{margin:auto;max-width:720px;}
	.partnership_main p{font-size:16px;}
	
	ul.btn_box{max-width: 800px;}
	ul.btn_box li{width: calc(((100% - (8px * 2)) / 3));}
	

}

@media screen and (max-width:850px) {
	
	.teacher_detail_img img{width: 120%;}
}

@media screen and (max-width:767px) {
	
	.mv_img{width: 100%;height:auto;}

	.problem_box h2{}
	
	.solution_img_box img{width:calc(100% / 4);}
	.solution_img_box img[src*="3"]{display:none;}
	
	.merit_area{background-size:100%;padding:0;}
	.merit_box{border-radius:0;}
	
	.contents_area{padding:70px 30px;}
	.contents_part{padding-bottom:15px;}
	.contents_part > span:nth-child(even){width:100%;text-align:center;padding:.1em;font-size:20px;}
	.contents_index{padding-bottom:35px;}
	.contents_inner h4{padding-bottom:10px;}
	
	.teacher_area{padding:60px 20px;}
	.teacher_area h2{max-width:400px;}
	.teacher_detail{padding-bottom: 20px;}
	
	.teacher_detail_img{margin:auto;width:80%;height:auto;aspect-ratio:7 / 10;order:2;}
	.teacher_detail_text{display: contents;}
	.teacher_name{order:1;width:80%;margin:auto;text-align:center;}
	
	.teacher_headline{padding: 5px 0 11px;}
	.teacher_lead{order:4;}
	.teacher_detail_link{order:3;width:100%;text-align: right;padding-top:10px;}
	
	.teacher_career_img{display:none;}
	.teacher_career_text{width:100%;padding-right:0;}
	
	.flow_box {padding:60px 40px;}
	
	.partnership_area{padding-bottom:0;}
	.partnership_box{border-radius:0;}
	.partnership_main{padding-bottom:40px;}
	
}


@media screen and (max-width:630px) {
	
	.mv_area{border-bottom-width:2.2vw;}
	
	.event_area h2{font-size:5vw;border-bottom-width:2vw;}
	.event_area h2 span:nth-child(1){line-height:1.25em;font-size:65%;}
	
	.labo_area h2{font-size:5.5vw;}
	.labo_box{font-size:3vw;}
	.catch_copy{font-size:4vw;}
	.lead_copy{font-size:3.5vw;}
	
	.problem_intro{font-size:5vw;}
	.problem_h2_sub{font-size:4.5vw;}
	.problem_box h2{font-size:5.6vw;}
	
	.contents_movie_double > div{width:100%;}
	
	.flow_inner{gap:15px;}
	.flow_icon{width:60px;}
	.flow_text{width: calc(100% - 75px);}
	
	.btn_signup{padding:0;}
	.btn_signup a{font-size:25px;}
	
}

@media screen and (max-width:520px) {
	
	.mv_area {border-bottom-width:2.8vw;}
	.mv_area::before,.mv_area::after{width:15%;}
	.mv_img{aspect-ratio:auto;}
	.mv_img h1{width:100%;padding:15px 0 0;}

	.event_area h2{font-size:8vw;border-bottom-width:2.4vw;}
	.event_nanda{
		background-image: url("../img/back_ground2.webp");
		background-size: 200%;
		background-repeat: repeat;
		position: relative;
	}
	
	.solution_box{padding: 10vw 30px;}
	.solution_intro{font-size:6.5vw;}
	.solution_box img{max-width: 300px;}
	.solution_img_box img{width: calc(100% / 3);}
	.solution_img_box img[src*="6"]{display:none;}
	
	.btn_area{padding:0;}
	.btn_signup{display: block;width:94%;margin:5vw auto;}
	.btn_signup a{font-size: 5vw;}
	
	.problem_area::before,.problem_area::after{width:15%;}
	
	.problem_box{padding:10vw 15px;}
	.problem_intro{font-size:4.5vw;}
	.problem_h2_sub{font-size:5.1vw;}
	.problem_box h2{font-size: 6.2vw;padding-bottom:7vw;}
	.problem_box h2 span{color:#de0000;margin:0 0 0 1vw;font-size:6.5vw;letter-spacing:-0.03em;}
	
	.problem_list-inner li{display:flex;flex-wrap:wrap;width:100%;border-radius:3vw;}
	.problem_list-text{margin:auto;width:60%;font-size:3.7vw;padding:4vw;line-height:1.5em;}
	.problem_list-inner li span {background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .75) 50%);}
	.problem_list-img{width:40%;}
	.problem_list-img img{border-radius: 0 3vw 3vw 0;}
	
	.labo_area{padding:6vw 15px;}
	.labo_area h2{letter-spacing:-0.05em;font-size:7.6vw;padding-bottom:3vw;}
	.labo_box{font-size:4.2vw;line-height:1.4em;}
	.catch_copy{font-size:4.2vw;padding:5vw 0 0;}
	.lead_copy{font-size:4.2vw;padding:5vw 0 0;}
	
	.merit_box{padding:12vw 0 15vw;}
	.merit_h2{padding-bottom:3vw}
	.merit_h2 h2{font-size:6vw;line-height:1.2em;}
	
	.merit_index{padding:15px;margin-bottom:15vw;}
	.merit_index_text{padding:7vw;margin-bottom:0;}
	.merit_index_text p{font-size:14px;}
	
	.merit_main{padding:0 25px;}
	.merit_inner{gap:10px;padding-bottom:8vw;}
	.merit_inner_img{margin:auto;}
	.merit_inner_text{width:100%;}
	
	.contents_area{padding:10vw 25px 5vw;}
	.contents_area h2{font-size:8vw;padding-bottom:0;}
	.contents_front{font-size:4vw;line-height:1.4em;padding-bottom:5vw;}
	.contents_part{max-width:300px;margin:auto;}
	.contents_part > span{width:100%;text-align:center;}
	.contents_part > span:nth-child(odd){font-size:min(5vw,18px);}
	.contents_index{font-size:4vw;padding-bottom:7vw;}
	.contents_wrap{padding:0;}
	.contents_inner{padding-bottom:7vw;}
	.contents_inner_text h3{font-size:8vw;padding-bottom:0;}
	.contents_inner_text h3 span:nth-child(1){}
	.contents_inner_text h3 span:nth-child(2){font-size:0.75em;padding-bottom: .45em;}
	.contents_inner_img img{border-radius:15px;}
	.contents_inner_detail{padding-top:15px;}
	.contents_inner_detail p{font-size:15px;line-height:1.4em}
	.contents_text_btn{text-align:center;}
	.contents_text_btn a{font-size:4.5vw;}
	.contents_text_btn a::after{bottom:2.7vw;}
	.contents_inner h4{padding-bottom: 6px;}
	.contents_inner h4 span{font-size:6vw;letter-spacing:-0.03em;}
	.contents_h4_sub{margin-top:0;font-size:14px;padding-bottom:15px;}
	.contents_inner h5 span{font-size:4.2vw;}
	.contents_movie_list{gap:4px;}
	.contents_movie_list div{width:100%;}
	.contents_book_list{gap:8px;}
	.contents_book_list div {width: calc((100% - (8px * 2)) / 3);}
	.contents_movie_q{font-size:4vw;}
	.contents_line{margin:0 auto 7vw;}
	
	.teacher_area{padding:30px 20px;}
	.teacher_area h2{padding:20px 0 30px;}
	.teacher_box{padding:0;}
	.teacher_detail{padding-bottom: 0;}
	.teacher_detail_img,.teacher_name{width:100%;}
	.teacher_lead {padding:10px 0 0;}
	.teacher_career_btn{
		display:block;
		position: relative;
		text-align: right;
		margin: auto 0;
		font-weight: 700;
		background-color: #de0000;
		color: #fff;
		padding: 5px 10px 5px 35px;
		border-radius: 4px;
		transition: .2s;
	}
	.teacher_career_btn::before{content:"金原亭世之介の略歴";transition:.2s;}
	.teacher_career_btn.open::before{content:"閉じる";}
	.teacher_career_btn::after{
		position: absolute;
		content: "";
		width: 10px;
		height: 10px;
		border-bottom: #fff 2px solid;
		border-right: #fff 2px solid;
		bottom: 13px;
		left: 14px;
		transform: rotate(45deg);
		transition: 0.2s;
	}
	.teacher_career_btn.open::after{
		bottom: 7px;
		transform: rotate(-135deg);
	}
	.teacher_career_text{display: none;}
	.teacher_career_text div{padding-bottom: 13px;}
	.teacher_career_text div span:nth-child(1){width:100%;padding-bottom:2px;}
	.teacher_career_text div span:nth-child(2){padding-left:10px;width:100%;}
	
	.flow_box{padding:12vw 15px;}
	.flow_box h2{padding:0 0 4vw;font-size:6.6vw;}
	.flow_text_box p{font-size:14px;}
	.flow_inner{padding-bottom:8vw;}
	
	.performance_box{padding:0 20px;}
	.performance_box h2{padding:9vw 0 3vw;}
	.performance_list ul li{font-size:12px;}
	
	.partnership_area{padding:10vw 0 0;}
	.partnership_box{padding:8vw 25px;}
	.partnership_box h2{padding:6vw 0 3vw;}
	.partnership_main p {font-size:14px;}
	.partnership_box h3{padding-top:7vw;}
	
	
}

@media screen and (max-width:374px) {
	
}


.print_only{display:none;}
.no_print{}
@media print {
	
	.no_print{display:none;}
	.print_only{display:block}
	
	header,footer{display:none;}
	.mv_area{border-bottom:none;}
	.mv_area::before, .mv_area::after{content:none;}
	.event_area h2{
		border-bottom:none;
		color:#333;
		background-color:rgba(255,255,255,0);
		text-shadow:none;
		padding:20px 0;
	}
	.event_nanda{display:none;}
	
	#problem{background:none;}
	.problem_area::before, .problem_area::after{content:none;}
	.problem_box{padding:20px 30px;}
	.problem_list-inner li{width:calc((100% - (20px * 1)) / 2);display:flex;flex-wrap: wrap;border-radius:2.2vw;}
	.problem_list-inner li span{background:none;}
	.problem_list-text{margin:auto;width:60%;font-size:1.5vw;padding:1vw;line-height:1.5em;}
	.problem_list-img {width:40%;}
	.problem_list-img img{border-radius:0 2.2vw 2.2vw 0;}
	
	.solution_box{padding:0 30px 30px;}
	.solution_box img{max-width:400px;}
	.solution_intro{color:#222;background-color:rgba(255,255,255,0);margin-bottom:10px;}
	
	.labo_area{padding:40px 0 40px;}
	.catch_copy{font-size:14px;padding-top:10px;}
	.lead_copy{font-size:14px;padding-top:10px;}
	.labo_box br,.catch_copy br,.lead_copy br{display:none;}
	
	.merit_area{padding:0}
	.merit_box{padding:20px;border-radius:0;}
	.merit_h2 h2{font-size:20px;}
	.merit_index{padding:0;margin-bottom:0;background-color:rgba(255,255,255,0);}
	.merit_index_text{width:100%;filter:none;padding:0;background-color:rgba(255,255,255,0);}
	.merit_index_text p{font-size:14px;padding-bottom:8px;}
	.merit_index_img{display:none;}
	
	.merit_main{padding:30px 0 0;}
	.merit_inner{gap:25px;padding-bottom:40px;}
	.merit_inner_img{width:130px;}
	.merit_inner_text{width: calc(100% - 155px);}
	.merit_inner_text h3{padding-left:0;}
	.merit_inner_text h3::before{content:none;}
	.merit_inner_text p{font-size:14px;padding-top:6px;}
	
	#contents{page-break-before:always;}
	.contents_area{padding:10px 0 0;background-color:rgba(255,255,255,0);}
	.contents_area h2{padding-bottom:5px;}
	.contents_front{font-size:16px;padding-bottom:0;}
	.contents_part{padding-bottom:0;}
	.contents_part > span:nth-child(odd){padding:0;background-color:rgba(255,255,255,0);color:#de0000;}
	.contents_index{padding-bottom:10px;}
	
	.contents_inner{margin:auto;padding-bottom:30px;}
	.contents_inner.double{gap:0;}
	.contents_inner.double.break{page-break-before:always;}
	.contents_inner_text{display:contents;}
	.contents_inner_text h3{order:1;width:100%;padding-bottom:3px;}
	.contents_inner_img{order:2;width:80%;line-height:0;margin:auto;}
	.contents_inner_img img{border-radius:20px;}
	.contents_inner_detail{order:3;padding-top:20px;width:100%;}
	.contents_inner_detail p{font-size:14px;padding-bottom:8px;}
	.contents_inner_detail p br{display:none;}
	.contents_text_btn{display:none;}
	.contents_book_list{max-width:400px;}
	.contents_h4_sub{padding-bottom:0;}
	.contents_movie_double{display:none;}
	.contents_line {margin: 0 auto 30px;}
	.print_img{max-width:600px;}
	
	.teacher_area{padding:10px 20px;}
	.teacher_area h2{max-width:400px;}
	.teacher_detail{padding-bottom: 20px;}
	.teacher_detail_img{margin:auto;width:80%;height:auto;aspect-ratio:1 / 1;order:2;}
	.teacher_detail_img img{width:120%;top:-26%;transform:translateX(-50%)}
	.teacher_detail_text{display:contents;}
	.teacher_name{order:1;width:80%;margin:auto;text-align:center;}
	.teacher_headline{padding: 5px 0 11px;}
	.teacher_lead{order:3;}
	.teacher_lead p{font-size:14px;}
	.teacher_lead h4{padding-left:0;}
	.teacher_lead h4::before{content:none;}
	.teacher_detail_link{display:none;}
	.teacher_career_img{display:none;}
	.teacher_career_text{width:100%;padding-right:0;}
	.teacher_code{max-width:400px;margin:auto;padding-top:30px}
	
	#flow{page-break-before:always;}
	.flow_box{padding:0 20px;}
	.flow_inner{padding-bottom:25px;}
	.flow_icon{display:none;}
	.flow_text{width:100%;}
	.flow_text_box p{font-size:14px;padding-bottom:7px;}
	.flow_btn{display:none;}
	
	.performance_box h2{padding:10px 0 5px;}
	.performance_list ul li{font-size:13px;}
	
	.partnership_area{padding:30px 20px;}
	.partnership_box{padding:30px 20px;}
	.partnership_main p{font-size:14px;padding-bottom:6px;}
	
	.btn_area{display:none;}
	
	.cap{display:block;text-align:center;margin:auto;max-width:300px;}
	.cap p{margin-top: -10px;font-family: serif;font-size: 13px;margin-bottom: 20px;}
	
	#page_top.show{display:none;}
	
}
