@media screen and (max-width: 1280px) {
	#top .fv .left{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; padding-left: 25px; }
	#top .fv .left .container { width: 20%; left: 0; right: auto; bottom: 50px; }
	#top .fv .left .scroll{ left: 0; right: 0; margin: auto; }
}

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

@media screen and (max-width: 991.98px) {
	#top section .box .text p{ line-height: 2.5em; font-size: 1.4rem;  }
	#top section .box a{ font-size: 1.4rem; }
	#top section .flex .text.right{ padding-left: 50px; }
	#top section .flex .text.left{ padding-right: 50px; }
	#top #concept .left p{ font-size: 8vw; }
	#top #staff .box .right p { margin-bottom: 40px; }
	#top #staff .box .right dl dt{ font-size: 1.4rem; }
	#top #staff .box .right dl dd{ font-size: 1.4rem; }
	#top #quality-safety .text p{ margin-bottom: 40px; }
	#top #price .box .table-box dl dt{ font-size: 1.5rem; }
	#top #price .box .table-box dl dd{ font-size: 1.5rem; }
	#top #price .box .table-box{ padding: 30px 35px; }
	#top #price p{ margin-bottom: 35px; font-size: 1.4rem; }
	#top #price a{ margin-bottom: 35px; font-size: 1.4rem; }
}


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

	.pc{ display: none; }
	.sp{ display: block; }

	header .flex { height: 60px; }
	header .right .sns { margin-right: 20px; }
	header .modalbtn{ width: 55px;height: 60px;margin-right: -15px; }
	header .modalbtn:before{ width: 25px; }
	header .modalbtn:after{ width: 25px; }
	header .right .sns img { max-width: 30px; max-height: 30px; }

	#top .fv{ padding-top: 60px; }
	#top .fv .left{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-left: 0; width: 60px; }
	#top .fv .left .container{ width: 60px; padding: 0; }
	#top .fv .left .scroll{ left: -1px; }
	/* #top .fv .right{ width: calc( 100% - 60px); } */

	/* #top section{ padding: 80px 0; } */
	#top section h2{ font-size: 2.8rem; margin-bottom: 70px; }
	#top section .box{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	#top section .box .img{ width: 100%!important; padding: 0!important; }
	#top section .box .img img{ width: 100%; }
	#top section .box .left.img img{ margin-left: 0; }
	#top section .box .text{ width: 100%!important; padding: 0!important; }
	#top section .box p{ font-size: 1.4rem; line-height: 2.2em; }
	#top section .box a{ font-size: 1.4rem; }
	#top section .img{ margin-bottom: 30px; }

	#top #concept .left{ text-align: center; margin-bottom: 70px; display: block; width: 100%; }
	#top #concept .left p{ font-size: 10vw; text-align: center; }
	#top #concept .left img{ width: 65%; max-width: 300px; }
	#top #staff .box .right dl dt{ margin-bottom: 15px; font-size: 1.4rem; }
	#top #staff .box .right dl dd{ font-size: 1.4rem; }

	#top #staff .left.img img{ transform: translateX(-35px); }
	#top #staff .box .right dl:nth-child(1){ margin-right: 50px; }

	#top #quality-safety .right{ order: 1; }
	#top #quality-safety .right.img img{ transform: translateX(35px); }
	#top #quality-safety .left{ order: 2; width: 100%; }
	#top #quality-safety .text p { margin-bottom: 35px; }

	#top #message .left.img{ width: 100%; }

	#top #price .box:not(:last-child){ margin-bottom: 10px; }
	#top #price .box:nth-child(7){ margin-bottom: 20px; }
	#top #price .box h3{ padding: 20px 0; font-size: 1.7rem; }
	#top #price .box h3:before{ width: 10px; right: 15px; }
	#top #price .box h3:after{ width: 10px; right: 15px; }
	#top #price .box .table-box{ padding: 25px 30px; }
	#top #price .box .table-box .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #top #price .box .table-box dl{ width: 100%; }
  #top #price .box:nth-child(2) .table-box .flex{ margin-bottom: 0!important; }
  #top #price .box:nth-child(4) .table-box .flex{ margin-bottom: 0!important; }
  #top #price .box .table-box dl:not(:last-child){ margin-bottom: 40px;  }
  #top #price .box .table-box dl dt{ padding-bottom: 15px; font-size: 1.5rem; }
	#top #price .box .table-box dl dd{ font-size: 1.5rem; }
	#top #price .box .table-box dl.pc-dl{ display: none; }
	#top #price .box .table-box .flex:not(:last-child){ margin-bottom: 40px; }
	#top #price .attention{ font-size: 1.3rem; }
	#top #price p{ margin-bottom: 35px; font-size: 1.4rem; }
	#top #price a{ margin-bottom: 35px; font-size: 1.4rem; }

	#top #access .left{ order: 2; width: 100%; }
	#top #access .right{ margin-bottom: 30px; order: 1; width: 100%; }
	#top #access .right #map { height: 250px; }
	#top #access .left dl dt{ margin-bottom: 5px; }
	#top #access .left dl.flex dt{ margin-bottom: 0px; }

	header .flex .left h1 img{ max-width: 100px; }
	footer { padding: 0px 0 80px; }

#top #sec01 .left{width: 100%;}
#top #sec01 .right{width: 100%;}
#top #sec01 .left .pa{width: 110px;z-index: 1;}
#top #sec02 .container .top p{width: 60%;}
#top #sec02 .container .point-box .box{width: 100%;}
#top #sec03 .container .feature .f-box .box{width: 100%;padding: 50px 10px 30px;}
#top #sec03 .container .feature .f-box .instructor{padding: 0px 0px 30px;}
#top #sec05 .accordion-area li section{padding: 0;}


}

@media screen and (max-width: 768px) {
	/* header .right .modalnav ul { width: 80%; } */
	/* header .right .modalnav ul li a{ font-size: 2.5rem; } */
	header .right nav{width: 100%;}
}

@media screen and (max-width: 640px) {
	header .right .modalnav{ max-height: 290px; height: 70%;}
	header .right .modalnav ul{  width: 100%; top: calc( 50% + 20px); }
	header .right .modalnav .btn-box{ height: auto; width: 95%;margin: 15px auto 0;}
	header .right .modalnav .btn-box a:nth-child(1){margin-right: 10px;}
	header .right .modalnav .btn-box a:nth-child(2)::after{right: 5px;}
	header .right .modalnav .btn-box a:nth-child(1)::after{right: 5px;}
	header .right .modalnav .btn-box a{padding: 15px; font-size: 1.4rem;}
	header .right .modalnav ul li:nth-child(2){ order: 2; }
	header .right .modalnav ul li:nth-child(3){ order: 3; }
	header .right .modalnav ul li:nth-child(4){ order: 4; }
	header .right .modalnav ul li:nth-child(5){ order: 5; }
	header .right .modalnav ul li:nth-child(6){ order: 6; }
	header .right .modalnav ul li a{ font-size: 1.4rem; margin: 15px 0; }
	header .right .head-btn1,header .right .head-btn2{width: 90px;font-size: 1.2rem;padding-right: 0;}
	header .right .head-btn1 svg,header .right .head-btn2 svg{display: none;}
	header .right nav{padding-top: 20px;}
	header .flex .left h1{font-size: 1.4rem;}
	header .flex .left h1 span{font-size: 1.2rem;}
	header .container{padding-right: 15px;}
	#top .fv .text h2 .text2{font-size: 2.5rem;letter-spacing: 0.1em;}
	#top #sec01 .left h3{font-size: 3rem;}
	#top #sec01 .left{padding: 100px 0px 40px 0;}
	#top #sec01 .left .pa{width: 80px;right: 10px;}
	.cta1 p{font-size: 2.5rem;}
	.cta1 .btn-box a{font-size: 1.4rem;}
	#top #sec02 .container,#top #sec05 .container{padding: 0 10px;}
	#top #sec02 .container .top .topttl .right span{font-size: 6.7rem;}
	#top #sec02 .container .top .topttl .left{font-size: 1.8rem;}
	#top #sec02 .container .top .topttl .right{font-size: 3.9rem;}
	#top #sec02 .container .top::after{top: 70px;width: 130px;}
	#top #sec02 .container .point-box .box .pa{width: 80px;}
	#top #sec03 .container .ttl{font-size: 21px;line-height: 1.5;margin-bottom: 30px;}
	#top #sec03 .container .trouble img{max-width: 100%;}
	#top #sec03 .container .trouble p{font-size: 1.8rem;}
	#top #sec06 .container .place ul li{width: 100%;}
	#top #sec07 .container{padding: 0;}
	footer .container img{margin-bottom: 60px;}
	footer .container .sp ul li{margin-bottom: 20px;}
	#top #sec02 .container .top p{font-size: 1.6rem;line-height: 1.4;}
	#top #sec02 .container .point-box .box:last-child{margin-bottom: 0;}
	#top #sec03 .container{padding: 0 10px;}
	#top #sec03 .container .feature{margin-top: 50px;}
	#top #sec03 .container .feature .f-ttl{font-size: 2.5rem;}
	#top #sec03 .container .feature .f-box .box h4{font-size: 1.8rem;}
	#top #sec03 .container .feature .f-box .box:nth-child(3) h4{min-width: 300px;}
	#top #sec03 .container .feature .f-box .instructor .name{top: 310px;font-size: 1.6rem;}
	#top #sec04 p{padding: 10px 18px;font-size: 1.4rem;}
	#top #sec05 .title .flex .right{line-height: 1.3;font-size: 1.7rem;}
	#top #sec05 .answer-box .flex .right{font-size: 1.7rem;}
	#top #sec05 .answer-box p{font-size: 1.4rem;}
	#top #sec05 .title .flex .left,#top #sec05 .answer-box .flex .left{width: 35px;min-width: 35px;height: 35px;line-height: 30px;font-weight: 600;font-size: 1.8rem;}
	#top #sec06 .container{padding-top: 60px;padding-bottom: 60px;}
	#top #sec07 img{height: 110px;object-fit: cover;}
	#top #sec07 .container .cta1 p{font-size: 1.6rem;}
	#top #sec07 .container .cta1 .contact-box p{font-size: 1.7rem;}
	.cta1 .btn-box a:nth-child(2)::after,.cta1 .btn-box a:nth-child(1)::after{right: 5px;}
		#top #sec04 .sns li a img{width: 55px;}
}

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


}