@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 .modalbtn{ height: 60px; }
	header .right .sns { margin-right: 20px; }
	header .modalbtn{ width: 25px; }
	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 50px; }
	
}

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

@media screen and (max-width: 640px) {
	header .right .modalnav ul{ flex-direction: column; width: 90%; top: calc( 50% + 20px); }	
	header .right .modalnav ul li{ width: auto; }
	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: 2.2rem; margin: 30px 0; }
}

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

}