
@media screen and (max-width: 1280px) {
	header .box .right ul li a{ font-size: 1.3rem; }

}
@media screen and (max-width: 1180px) {
	#top .fv .link-box{ display: none; }
}
@media screen and (max-width: 1024px) {
	.ipad { display: block; }
}

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


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

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

	header{ height: 53px; }
	header .left{ width: 100%; }
	header .right{ width: 53px; padding-left: 0; }
	header .logo{ left: 2px; width: auto; height: 100%; }
	header .logo img{ padding: 2px 0; height: 70px; }
	header .modalbtn{ width: 53px; height: 53px; right: -15px; }
	header .modalbtn span{ width: 13px; }
	header .modalbtn:before{ width: 13px; top: 20px; }
	header .modalbtn:after{ width: 13px; bottom: 20px; }
	header .modalbtn.active{ right: 235px; }
	header .modalbtn.active:before{ top: 26px; }
	header .modalbtn.active:after{ bottom: 26px; }
	header .nav-box{ transition: 0.3s; position: fixed; top: 0; bottom: 0; right: -100%; height: 100%; width: 250px; background: #fff; }
	header .nav-box.active{ right: 0; }
	header .right{ position: relative; z-index: 999; }
	header .right ul{ margin-right: 0; display: block; }
	header .right ul li:not(:last-child) { margin-right: 0; }
	header .right ul li a{ padding: 18px 15px; display: block; }
	header .right ul li{ margin-bottom: 0!important; border-bottom: 1px solid #16336c3d; }
	header .right ul li:before{ content: none; }

	header .right .nav-btn a{ position: fixed; bottom: 0; width: 100%; left: 0; height: 53px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	.fixed header .right .nav-btn{ transition: 0.3s; }
	.fixed header .right .nav-btn{ display: none; }

	footer{ margin-top: 100px; }
	footer .top{ padding: 55px 0; }
	footer .top .flex{ display: block; }
	footer .top .left{ width: 100%; padding-right: 0; margin-bottom: 30px; }
	footer .top .right{ width: 100%; }
	footer .top .right .btn{ font-size: 1.9rem; }

	footer .bottom{ padding: 55px 0 53px; }
	footer .bottom .flex-box{ display: block; }
	footer .bottom .left{ text-align: center; width: 100%; padding-right: 0; margin-bottom: 30px; }
	footer .bottom .left .logo{ margin: 0 auto 13px; }
	footer .bottom .left .tel-box{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	footer .bottom .right{ width: calc( 100% + 30px); margin-left: -15px; margin-right: -15px; }
	footer .bottom .right nav { -ms-flex-wrap: wrap; flex-wrap: wrap; }
	footer .bottom .right ul.arrow-list{ width: 100%; margin-right: 0; }
	footer .bottom .right ul.arrow-list li{ margin-bottom: 0!important; border-bottom: 1px solid #ffffff57; }
	footer .bottom .right ul.arrow-list li a{ padding: 17px 15px; }
	footer .bottom .right ul.arrow-list li a:before{ right: 15px; }
	footer .bottom small{ font-size: 1rem; margin-top: 0; padding: 15px 0;  }

	.sectitle-box span{ font-size: 1.4rem; }

	.sectitle-box h3{ font-size: 2.5; }
	.sectitle-box h3 small{ font-size: 2rem; }

	#top section { margin: 75px 0; }

	#top .fv{ padding: 80px 0; }
	#top .fv br.sp,
	#top .fv .content .text-box h2 br.sp{ display: none!Important; }
	#top .fv .content .text-box { margin-bottom: 25px; }

	#top #sec01 .top { padding: 55px 0 50px; }
	#top #sec01 .arrow::before { top: -1px; border-right: calc(50vw - 0px) solid var(--sub-color); }
	#top #sec01 .arrow::after { top: -1px; border-left: calc(50vw - 0px) solid var(--sub-color); }
	#top #sec01 .bottom{ padding-bottom: 55px; }
	#top #sec01 .bottom .title-box p { font-size: 1.8rem; }
	#top #sec01 .bottom .title-box p strong{ font-size: 2.8rem; }
	#top #sec01 .bottom .title-box h3{ margin-bottom: 25px; font-size: 1.8rem; }
	#top #sec01 .bottom .title-box h3 strong { font-size: 3.1rem; }
	#top #sec01 .bottom:before,
	#top #sec01 .bottom:after{ content: none; }


	#top #sec02 .box ul.flex{ padding: 0; display: block; background: none; }
	#top #sec02 .box ul.flex li{ padding: 50px 30px; background: var(--sub-color); width: 100%; }
	#top #sec02 .box ul.flex li:not(:last-child) { border-right: none; margin-bottom: 80px; }
	#top #sec02 .box ul.flex li:before{ top: -50px; }
	#top #sec02 .box ul.flex li:after { top: -25px; }
	#top #sec02 .box ul.flex li h4{ font-size: 2rem; }

	#top #sec03 .img-box img{ max-width: 400px; margin: auto; }


	#top #sec04 ul{ margin-bottom: 0; }
	#top #sec04 ul li { margin: 0 5px; }
	#top #sec04 ul li h4{ font-size: 1.6rem; }
	#top #sec04 ul li .img-box { margin-bottom: 10px; }

	#top #sec05 .flex{ margin-top: 0; display: block; }
	#top #sec05 .left{ width: 100%; margin-bottom: 30px; }
	#top #sec05 .left table tr th,
	#top #sec05 .left table tr td{ padding: 25px 15px; }
	#top #sec05 .left table tr th{ word-break: keep-all; }
	#top #sec05 .right{ width: 100%; padding-left: 0; }
	#top #sec05 .right .map-box iframe{ height: 300px; }

	.btn{ max-width: 420px; width: 100%; padding: 17px; }

	#sub aside{ padding-left: 40px; }

}
@media screen and (max-width: 768px) {
	#sub .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	#sub main{ width: 100%; margin-bottom: 70px; }
	#sub aside{ width: 100%; padding-left: 0; }
	
}

@media (max-width: 640px) {
	#top .fv{ padding: 70px 0; }
	#top .fv br.sp,
	#top .fv .content .text-box h2 br.sp{ display: block!Important; }
	/*#top .fv .content .flex-box{ display: block; }
	#top .fv .content .flex-box .box{ max-width: 250px; width: 100%; margin: auto; }
	#top .fv .content .flex-box .box:not(:last-child){ margin-bottom: 10px; }*/
	/*#top .fv .content .flex-box { margin-bottom: -38px; }*/
	#top .fv .content .flex-box .box{ padding: 17px 5px; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;  }
	#top .fv .content .flex-box .box p{ display: none; }
	#top .fv .content .flex-box .box h3{ width: 100%; margin: 0; padding: 0; font-size: 1.6rem; line-height: 1.3em; }
	#top .fv .content .flex-box .box h3:before{ content: none; }
	#top .fv .content .text-box h2{ font-size: 12vw; line-height: 1.1em; }
	#top .fv .content .text-box p{ margin-bottom: 10px; line-height: 1.7em; font-size: 1.8rem; border-bottom: none; padding-bottom: 0; }

	#top #sec01 .top .container{ max-width: 380px; }
	#top #sec01 .top h3{ margin-bottom: 40px; display: block; font-size: 2.2rem; }
	#top #sec01 .top ul li{ font-size: 1.7rem; width: 100%; }
	#top #sec01 .top ul li:not(:last-child) { margin-bottom: 20px; }

   .contact .flex { flex-direction: column; }
   .contact .check-inner { width: 100%; }
   .contact .check-inner .flex .left, .check-inner .flex .right { width: 100%; }
   .contact .box { flex-wrap: wrap; }
   .contact .right { width: 100%; }
   .contact .selectbox { width: 100%; }
   .form-check.pl-0 { margin-top: 19px; }
   .contact .myform { padding-top: 0; }
   .contact .left { margin-bottom: 10px; padding-top: 0; }
   .contact .button{ padding-top: 20px; }
   .contact .btn{ max-width: 100%; }
   .contact #confirm_button_container .button { width: 100%; }

   #sub article .box{ padding: 20px; }
   .archive main ul{ gap: 50px; }
   .archive main ul li{ width: 100%; }
}

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

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