@media screen and (max-width: 1480px){
	.front section.sec01 ul li .text_box { min-width: auto;  margin-top: -75px; }
	.front section.sec01 ul li .text_box .text{ top: 55px; padding: 0 30px; }
	.front section.sec01 ul li .text_box .text a{ bottom: 15px; }
	.front section.sec01 ul li .text_box .text br{ display: none; }
	.front section.sec01 ul li{ width: 30%; }
}


@media screen and (max-width: 1400px){
	.front section.sec01 ul{ padding: 0 30px; }
	.front section.sec01 ul li{ width: 32%; }
	.front section.sec01 ul li .text_box img{ display: none; }
	.front section.sec01 ul li .text_box .text{ position: unset; background: #000; border-radius: 100%; border-radius: 100%; padding: 70px 15px 90px; }
	.front section.sec01 ul li .text_box .text h3{ padding: 0 25px; }
	.front section.sec01 ul li:nth-child(1) .text_box .text{ background: var(--text-color-green); }
	.front section.sec01 ul li:nth-child(2) .text_box .text{ background: var(--text-color-red); }
	.front section.sec01 ul li:nth-child(3) .text_box .text{ background: var(--text-color-yellow); }
	.front section.sec01 ul li .text_box .text a
}

@media screen and (max-width: 1300px){
	.object{background-size: 200px, 200px; }
}


@media screen and (max-width: 1200px){
	footer .left{ padding-right: 50px; }
	.front section.sec03 .click01{ top: -5%; left: 8%; width: 13%; }
	.front section.sec03 .click02{ top: -9%; left: 23%; width: 13%; }
	.front section.sec03 .click01:hover{ transform: translate(0, 10px);　}
	.front section.sec03 .click02:hover{ transform: translate(0, 10px);　}
	.front .slick-slide{ margin: 0 20px; }

	.footimg_box .tree01{ width: 200px; }
	.footimg_box .tree02{ width: 200px; }
}


@media screen and (max-width: 1080px){
	.front section.sec01 ul{ -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 15px; margin-top: 50px; }
	.front section.sec01 ul li{ margin: 0 auto 50px!important; max-width: 500px; width: 31%; border-radius: 20px; overflow: hidden; }
	.front section.sec01 ul li .text_box{ border-radius: 0 0 20px 20px; margin-top: 0; position: unset; background: #000; }
	.front section.sec01 ul li .text_box img{ display: none; }
	.front section.sec01 ul li .pc{ display: none; }
	.front section.sec01 ul li .sp{ display: block; }
	.front section.sec01 ul li .text_box .text{ position: unset; padding: 20px; }
	.front section.sec01 ul li .text_box .text br{ display: none; }
	.front section.sec01 ul li .text_box .text h3{ font-size: 2rem; margin-bottom: 15px; }
	.front section.sec01 ul li:nth-child(1) .text_box{ background: var(--text-color-green); }
	.front section.sec01 ul li:nth-child(2) .text_box{ background: var(--text-color-red); }
	.front section.sec01 ul li:nth-child(3) .text_box{ background: var(--text-color-yellow); }
	.front section.sec01 ul li .text_box .text a{ max-width: 250px; width: 100%; padding: 15px; position: relative; bottom: 0; right: 0; left: 0; margin: 20px auto 0; font-size: 1.6rem; }
	.front section.sec01 ul li .text_box .text h3 span{ line-height: 1.5em; }
	.front section.sec01 ul li .text_box .text p{ line-height: 1.5em; }
	.front section.sec01 ul li .text_box .text h3{ padding: 0; }


}
@media screen and (max-width: 768px){
	.sp { display: block; }
	.pc { display: none; }

	.sp_nav{ display: none; position: fixed; background: #fff; height: 100%; width: 100%; left: 0; top: 0; z-index: 99; overflow-y: scroll; }
	header .nav-list{ display: block; margin-top: 50px; }
	header .nav-list .nav-item{ text-align: left; margin: 0px 20px; padding: 40px 0; }
	header .nav-list .nav-item{ border-bottom: 1px solid #efefef; }
	header .nav-list .nav-item a{ text-align: left; font-size: 2.5rem; }
	header .nav-list .nav-item a span{ display: inline-block; font-size: 1.5rem; padding-left: 15px; }
	header .access{ padding: 50px 0; margin: 0px 20px; text-align: center; }
	header .access p{ font-size: 1.5rem; margin-bottom: 10px; }
	header .access .tel{ text-align: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	header .access .tel a{ font-weight: 700; font-size: 3.85rem; }
	header .access .tel img{ margin-right: 10px; max-width: 30px; }

	header { padding-bottom: 30px; }
	header h1 { max-width: 160px; margin: 0px auto; padding-top: 18px; }
	header nav{ display: none; }
	header .hamburger_btn{ display: block; position: fixed; right: 0; top: 0; width: 60px; height: 60px; z-index: 100; }
	header .hamburger_btn:after{ content: ""; transition: 0.3s; width: 30px; height: 3px; background: #000; position: absolute; top: 23px; left: 15px; margin: auto; }
	header .hamburger_btn:before{ content: ""; transition: 0.3s; width: 30px; height: 3px; background: #000; position: absolute; bottom: 23px; left: 15px; margin: auto; }
	header .hamburger_btn.open:after{ transform:rotate(-45deg); top: 28.5px; }
	header .hamburger_btn.open:before{ transform:rotate(45deg); bottom: 28.5px; }


	footer { padding: 80px 0 20px; }
	footer .left{ float: unset; width: 100%; padding: 0; }
	footer .left .foot_logo { max-width: 250px; margin: 0 auto 30px; }
	footer .left .access{ text-align: center; margin-bottom: 30px; }
	footer .left .access .tel{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	footer .left nav ul li{ font-size: 1.5rem; text-align: center; }
	footer .left nav ul li:nth-child(-n+2) { margin-bottom: 30px; }
	footer .left .map iframe{ width: 100%; height: 200px; }
	footer .left .map { margin-bottom: 60px; }




	.footimg_box .tree01{ width: 100px; bottom: -20px; }
	.footimg_box .tree02{ width: 100px; bottom: -20px; }


	.object{background-size: 80px, 80px; }

	.front .slick-slide { margin: 0 10px; }
	.front section { margin: 80px auto!important; }
	.front h2{ font-size: 3.5rem; }
	.front h2 span{ letter-spacing: normal; }
	.front h2 span.ja{ margin-top: 5px; letter-spacing: 2px; }
	.front section.sec01 { margin-top: 50px!important; background: none; }
	.front section.sec01 ul li:nth-child(3){ margin-bottom: 0!important; }
	.front section.sec02{ padding: 0; background-size: 80px , 80px; background-position: center left, center right; }
	.front section.sec02 .big { margin-bottom: 15px; line-height: 1.5em; font-size: 3rem; }
	.front section.sec02 .big br.sp{ display: none; }
	.front section.sec02 p{ font-size: 1.8rem; }
	.front section.sec03{ margin-bottom: 80px; }
	.front section.sec04{ margin-top: 80px; }
	.front section.sec04 p br.sp{ display: none; }
	.front section.sec04 .big { font-size: 3.5rem; line-height: 1em; margin-bottom: 10px; }
	.front section.sec04 p{ font-size: 1.6rem; line-height: 1.5em; }
	.front section.sec05 ul li{ width: 32%; }
	.front section.sec05 ul li:not(:nth-child(3)) { margin-right: 1.5%; }
	.front section.sec06 ul{ margin: 0 auto 30px; }
	.front section.sec06 ul li a{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.front section.sec06 ul li .text{ width: 100%; text-align: left; padding-top: 10px; }
	.front section.sec06 ul li .term{ font-size: 1.3rem; line-height: 0.8em; }
	.front section.sec06 ul li .date{ width: 120px; }
	.front section:last-child { margin-bottom: 150px; }
	.front section.sec03 .click01{ top: -8%; left: 8%; width: 15%; }
	.front section.sec03 .click02{ top: -12%; left: 23%; width: 15%; }
	#philosophy .sec01, #philosophy .sec02{ margin-bottom: 100px; }
	#philosophy .sec02 .flex .text h4 br{ display: none; }
	#philosophy .sec02 .flex .right.img{ padding-left: 3%; }
	#philosophy .sec02 .flex .left.img{ padding-right: 3%; }
	#philosophy .sec01 .policy_box{ padding: 80px 0; }

	#philosophy .sec01 .policy_box p span.sp{ display: none; }
	#philosophy .sec01 .policy_box h3 br.sp{ display: none; }

	#philosophy section h3.en{ font-size: 3.5rem; letter-spacing: normal; }
	#philosophy section h3.en span.ja{ letter-spacing: 2px; margin-top: 5px; }

	#seminar_detail .other h4{ font-size: 3.5rem; letter-spacing: normal; }
	#seminar_detail .other h4 span.ja{ letter-spacing: 2px; margin-top: 5px; }

	#news .content ul{ margin: 0 auto 50px; }
	#news .content ul li a{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	#news .content ul li .text{ width: 100%; text-align: left; padding-top: 10px; }
	#news .content ul li .term{ font-size: 1.3rem; line-height: 0.8em; }
	#news .content ul li .date{ width: 120px; }

	.front section.sec01 ul{ margin-top: 20px; }
}



@media screen and (max-width: 640px){
	main.sub .content{ min-height: 150px; }
	header { padding-bottom: 10px; }
	.front section.sec01 ul li{ margin: 0 auto 50px!important; max-width: 500px; width: 100%; }
	.front section.sec01 ul li .text_box .text{ padding: 25px; }
	.front section.sec02 .big br.sp{ display: block; }
	.front section.sec04 p br.sp{ display: block; }
	.front section.sec05 ul { margin: 30px 0; -ms-flex-wrap: wrap; flex-wrap: wrap; } 
	.front section.sec05 ul li{ width: 100%; margin-right: 0!important; margin-bottom: 20px; }
	.front section.sec05 ul li .bottom { padding: 30px 20px; }
	.front section.sec03 .click01{ top: -12%; left: 6%; width: 18%; }
	.front section.sec03 .click02{ top: -16%; left: 23%; width: 18%; }

	.sub .title_box { padding-bottom: 50px; padding-top: 30px; }
	.sub .title_box h2{ font-size: 2.5rem; }
	.sub .title_box h2 span{ font-size: 2rem; margin-bottom: 5px; }

	#contact .form_wrapper table th{ display: block; width: 100%; padding-bottom: 10px; }
	#contact .form_wrapper table td{ display: block; width: 100%; padding-bottom: 30px; }
	#contact .form_wrapper table td.flex{ display: -webkit-box; display: -ms-flexbox; display: flex; }
	#contact .form_wrapper table td select{ width: auto; }
	.wpcf7 form .wpcf7-response-output{ margin-top: 20px; }

	#philosophy .sec01 .policy_box h3 br.sp{ display: block; }
	#philosophy .sec01 .policy_box h3{ font-size: 3rem; line-height: 1.5em; margin-bottom: 10px; }
	#philosophy .sec01 .policy_box p{ font-weight: 400; font-size: 1.6rem; line-height: 1.5em; }
	#philosophy .sec01 .policy_box p span.sp{ font-weight: 700; margin-bottom: 10px; display: block; letter-spacing: 1px; font-size: 2rem; line-height: 1.5em;}
	#philosophy .sec01 .policy_box p span.pc{ display: none; }
	#philosophy .sec01 .policy_box { padding: 20px 0; }
	#philosophy .sec01, #philosophy .sec02{ margin-bottom: 80px; }
	#philosophy .sec02 .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; }
	#philosophy .sec02 .flex1{ padding-top: 20px; margin-bottom: 50px; }
	#philosophy .sec02 .flex2 .img{ order: 1; }
	#philosophy .sec02 .flex2 .text{ order: 2; }
	#philosophy .sec02 .flex .img{ width: 100%!important; margin-bottom: 25px; }
	#philosophy .sec02 .flex .left.img{ padding-right: 20px; }
	#philosophy .sec02 .flex .right.img{ padding-left: 20px; }
	#philosophy .sec02 .flex .text h4 .small{ font-size: 1.4rem; }
	#philosophy .sec02 .flex .text h4{ font-size: 2.3rem; line-height: 1.5em; margin-bottom: 15px; }
	#philosophy .sec02 .flex .text{ width: 100%; }
	#philosophy .sec02 .flex .text h4 br.sp{ display: block; }
	#philosophy .sec03 table th{ display: block; border-bottom: none; padding: 40px 0 20px; }
	#philosophy .sec03 table td{ display: block; }
	#philosophy .sec03 table td dl:first-child dt{ padding-top: 0px; }
	#philosophy .sec03 table td dl:last-child dt{ padding-bottom: 40px; }
	#philosophy .sec03 table td dl:first-child dd{ padding-top: 0px; }
	#philosophy .sec03 table td dl:last-child dd{ padding-bottom: 40px; }
	#philosophy .sec03 table td dl:not(:last-child) dd{ padding-bottom: 30px; }
	#philosophy .sec03 table td dl:first-child dt:before{ top: 0; }
	#philosophy .sec03 table tr:first-child dl dt:after{ top: 0; }
	#philosophy .sec03 table td dt.minline:after{ height: calc( 100% + 15px); }
	#philosophy .sec03 table td dt{ padding-left: 30px; width: 90px; }
	#philosophy .sec03 table td dd{ width: calc( 100% - 90px ); font-size: 1.4rem; line-height: 1.5em;}
	#philosophy .sec03 table td dt:after{ height: calc( 100% + 145px); }
	#philosophy .sec03 table td{ padding: 0 10px; }

	footer .left .foot_logo { max-width: 200px; margin: 0 auto 30px; }
	footer .left .foot_logo a{ margin-bottom: 20px; }

	#seminar .content ul li{ width: 100%!important; margin-right: 0!important; }
	#seminar .content ul li:not(:last-child){ margin-bottom: 50px; }
	#seminar .content ul li .bottom { padding: 30px;} 

	#seminar_detail .seminertitle_box .top{ display: block; }
	#seminar_detail .seminertitle_box .top .category{ margin-bottom: 10px; }
	#seminar_detail .seminertitle_box { margin-bottom: 40px; }
	#seminar_detail .seminertitle_box .bottom h3 { letter-spacing: 2px; font-size: 2.5rem; line-height: 1.5em; }
	#seminar_detail .btn_box{ text-align: center; margin: 50px auto 100px; }
	
	.single .content-box h3{ font-size: 2.2rem; padding: 5px 0 5px 20px; margin-bottom: 20px; }
	.single .content-box table{ margin: 0; }
	.single .content-box table td{ width: 100%!important; display: block; padding-left: 0; margin-bottom: 20px; height: auto!important; }
	.single .content-box table th{ width: 100%!important; display: block; margin-bottom: 5px; height: auto!important; }
	.single .content-box table th br{ display: none; }
	.single .content-box table tr:last-child td{ margin-bottom: 0; padding: 0; }
	.single .content-box .teacher h3{ margin-top: 80px; }
	.single .content-box .teacher .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.single .content-box .teacher .flex .left{ width: 100%; padding: 0 40px; margin-bottom: 10px; }
	.single .content-box .teacher .flex .right{ width: 100%; padding: 0; }

	#news_detail .newstitle_box .top .category{ margin-bottom: 0px; }
	#news_detail .newstitle_box .top .category span{ margin-right: 20px; }
	#news_detail .newstext_box h3{ font-size: 2.2rem; padding: 5px 0 5px 20px; margin-bottom: 20px; }
	#news_detail .newstitle_box { margin-bottom: 40px; }
	#news_detail .newstitle_box .bottom h3 { letter-spacing: 2px; font-size: 2.5rem; line-height: 1.5em; }
	#news_detail article{ margin: 0 auto 50px; }
	#news_detail .btn_box { text-align: center; margin: 50px auto 0px; }

	#seminar_detail .other_seminar{ width: calc( 100% + 30px); margin-left: -15px; margin-right: -15px; }
	#seminar_detail .other ul li{ margin: 0 10px!important; }

	.front section.sec05 .top_seminar{ width: calc( 100% + 30px); margin-left: -15px; margin-right: -15px; }
	.front section.sec05 ul li{ margin: 0 0!important; }

	.front section.sec01 .bird03 { left: -40px; }
	.front section.sec01 .bird02 { right: -42px; }
	.front section.sec01 .bird01 { right: 14px; top: -35px; }

	.front section p{ font-size: 1.5rem; line-height: 1.8em; }

	.front section.sec01 ul{ margin-top: 0px; }

}