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

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

	:target { scroll-margin-top: 60px; }

	.btn{ padding: 18px; font-size: 1.6rem; }

	/*body.fixed{ position: fixed; }*/

	header{ padding: 15px 0; margin-bottom: 0; position: unset; }
	header { -webkit-transform: unset; transform: unset; }
	.header {padding: 26px 0 30px;}
	header .right{ position: fixed; top: 10px; right: 10px; z-index: 999;}
	header .container{ padding: 0 20px!important; background: none!important; border-radius: 0!important; box-shadow: none!important; }
	header .left{ position: relative; z-index: 999; }
	header .left h1 a img{ max-height: 30px; }
	header .right .modalbtn{ transition: 0.3s; position: relative; z-index: 999; }
	header .right .modalbtn:before{ content: ""; position: absolute; transition: all .3s; left: 0; right: 0; top: -3px; bottom: 0; margin: auto; width: 13px; height: 1px; background: #000; }
	header .right .modalbtn:after{ content: ""; position: absolute; transition: all .3s; left: 0; right: 0; top: 0; bottom: -3px; margin: auto; width: 13px; height: 1px; background: #000; }
	header .right .modalbtn.active:before{ -webkit-transform: rotate(315deg); transform: rotate(315deg); top: 0; }
	header .right .modalbtn.active:after{ -webkit-transform: rotate(45deg); transform: rotate(45deg); bottom: 0; }

	header .right nav{ display: none; height: 100%; overflow-y: auto; padding: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; position: fixed; top: 0; right: 0; bottom: 0; left: 0; height: 0; height: 100%; background: #f8f8f8; width: 100%; }
	header .right nav.active{}
	header .right ul{ gap: 0 50px; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 60px; }
	header .right ul li{ width: 100%; }
	header .right ul li.nav-list a{ display: block; width: 100%;  padding: 20px; text-align: left; }
	header .right ul li.nav-list:not(:last-child){ border-bottom: 1px solid #e7e7e7; }
	header .right ul li.nav-list > a:before{ content: ""; position: absolute; transition: all .3s; right: 20px; top: 0; bottom: 0; margin: auto; width: 5px; height: 5px; border-top: 2px solid #000; border-right: 2px solid #000; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	header .right ul li.nav-list.lang-list{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	header .right ul li.nav-list.lang-list a{ width: auto; }
	header .right ul li.nav-list.hover-nav a{ position: relative; }
	header .right ul li.nav-list.hover-nav a:before{ content: ""; position: absolute; transition: all .3s; right: 20px; top: 0; bottom: 0; margin: auto; width: 5px; height: 5px; border-top: 2px solid #000; border-right: 2px solid #000; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
	header .right ul li.nav-list.hover-nav.active > a:before{ -webkit-transform: rotate(-45deg); transform: rotate(-45deg);  }
	header .right ul li.nav-list.blank:after{ position: absolute; right: 18px; top: 0; bottom: 0; margin: auto; }
	header .right ul li.nav-list.blank a:before,
	header .right ul li.nav-list.lang-list a:before{ content: none; }
	header .right ul li.nav-list .in-nav{ background: #fff; position: unset; width: 100%; padding: 0; }
	header .right ul li.nav-list .in-nav:before{ content: none; width: 100%; }
	header .right ul li.nav-list .in-nav li:not(:last-child){ margin: 0; }
	header .right ul li.nav-list .in-nav li a:before{ -webkit-transform: rotate(45deg); transform: rotate(45deg); }

	header.is-animation{ padding: 10px 0; backdrop-filter: none; }
	header .right .modalbtn .menu-icon{ gap: 4.5px; width: 30px; height: 30px; -ms-flex-wrap: wrap; flex-wrap: wrap; cursor: pointer;}
	header .right .modalbtn .menu-icon .box { transition: 0.3s; width: 7px; height: 7px; background: var(--main-color); display: inline-block; }
	header .right .modalbtn.active .menu-icon .box:nth-child(2),
	header .right .modalbtn.active .menu-icon .box:nth-child(4),
	header .right .modalbtn.active .menu-icon .box:nth-child(6),
	header .right .modalbtn.active .menu-icon .box:nth-child(8){ opacity: 0; }

	footer { padding: 70px 0 30px; }
	footer .top{ margin-bottom: 40px; }
	footer .top nav{ width: 100%; }
	footer .top nav ul{ gap: 15px; }
	footer .top nav ul li.nav-list{ width: calc( 100% / 3 - ( 10px )) }
	footer .middle{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
	footer .middle .address .bottom p{ font-size: 1.4rem; }
	footer .middle .address .top{ margin-bottom: 30px; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
	footer .middle .address .top *{ font-size: 1.6rem; }
	footer .bottom{ margin-bottom: 0; padding: 0;}
	footer .bottom small { font-size: 1.1rem; }
	footer .bottom .label { max-width: 70px; gap: 0 5px; }


	footer .left .logo { max-width: 135px; margin-bottom: 40px; }
	footer .left{ text-align: center; width: 100%; max-width: 100%; }
	footer .left .address{ margin-bottom: 40px; display: block; }
	footer .left .address p{ margin-bottom: 25px; font-size: 1.4rem; }
	footer .left .address a{ font-size: 1.4rem; }
	footer .left .nav-box{ width: calc( 100% + 40px ); margin-left: -20px; margin-right: -20px; }
	footer .left .nav-box nav{ gap: 0; border-top: 1px solid #414141; }
	footer .left .nav-box nav ul{ width: 50%; border-bottom: 1px solid #414141; }
	footer .left .nav-box nav ul li a{ font-size: 1.3rem; padding: 18px 15px; width: 100%; display: inline-block; text-align: center; }
	footer .left .nav-box nav ul li:not(:last-child) { border-bottom: 1px solid #414141; margin-bottom: 0; }
	footer .left .nav-box nav ul:nth-child(odd){ border-right: 1px solid #414141; }
	footer .left .tel{ margin-bottom: 40px; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	footer .left .tel .tel-box .num{ font-size: 3.1rem; }
	footer .left .tel .tel-box .text{ font-size: 1rem; }
	footer .right{ position: fixed; bottom: 0; left: 0; width: 100%; z-index: 100; }
	footer .right .foot-btn{ width: 50%; }
	footer .right .foot-btn a{ background: var(--main-color); display: block; padding: 15px; }
	footer .right .foot-btn a p{ text-align: center; }
	footer .right .foot-btn a p .en{ margin: 0; font-size: 2rem; }
	footer .right .foot-btn a p .ja{ display: none; }
	footer .right .foot-btn a:before{ content: none; }
	footer .right .foot-btn a:nth-child(even){ background: #000; }
	footer #page-top{ display: none; }
	footer small{ font-size: 1rem; }

	.btn.mail span {　padding-left: 20px;　}

	.contents-box{ margin-bottom: 100px; }

	.pagination{ margin-top: 60px; }
	.pagination .nav-links a,
	.pagination .nav-links span{ font-size: 1.5rem; }

	#sidebar > div:not(:last-child) { margin-bottom: 55px; }
	#sidebar h2 { margin-bottom: 25px; }
	#sidebar ul li:not(:last-child) { margin-bottom: 17px; }
	#sidebar a { font-size: 1.6rem; }

	.sub .title-box { margin: 50px 0 80px; }
	.sub .title-box span{ font-size: 5.5rem; }

	.sub .flex-box main{ order: 1; width: 100%; }
	.sub .flex-box aside{ order: 2; }

	#single-detail .meta-box { padding-bottom: 35px; margin-bottom: 35px; }
	#single-detail .meta-box .meta { margin-bottom: 15px; }
	#single-detail .meta-box .meta span{ font-size: 1.4rem; }
	#single-detail .meta-box .content-title { font-size: 2.5rem; }

	#single-detail .contents h3,
	#single-detail .contents h4,
	#single-detail .contents h5{ margin-bottom: 20px; }
	#single-detail .contents > h3:not(:first-child) { margin-top: 75px; }
	#single-detail .contents > h4:not(:first-child),
	#single-detail .contents > blockquote:not(:first-child){ margin-top: 65px; }
	#single-detail .contents > h5:not(:first-child) { margin-top: 55px; }

	main .flex-all{flex-direction: column;}
	main .flex-all .main-contents{width: 100%;margin-bottom: 50px;}
	main .flex-all .side{width: 100%;}
	main{margin-bottom: 0;padding-top: 0px;}
	footer .top h4{font-size: 20px;}
	footer .top p{font-size: 14px;}
	.fv .container h1{    font-size: 24px;margin-bottom: 10px;line-height: 1.3;padding-top: 20px;}
	.fv .container p{font-size: 14px;}
	.fv{height: 29vh;margin-bottom: 60px; }
	.header img {max-width: 80%;}
	main .flex-all .main-contents .ttl h2{font-size: 26px;}
	main .flex-all .main-contents .ttl h2.tax span{font-size: 16px;}
	.greeting{padding: 30px 16px;}
	.greeting .flex{flex-direction: column;}
	.greeting .flex p{width: 100%;}
	.greeting .flex img{width: 100%;margin: 15px 0;}
	.fv .container{padding: 0 10px;}
	.menuSub {display: none;}
	main .flex-all .main-contents .info li.blank a {padding-right: 45px;}
	  .page-header .page-title {
    width: 100%;
  }

  .page-header {padding-top: 0;}
  .page-header .header-img {
    width: 100%;
  }
	.page-header .page-title h2,
  .page-header .page-title h2.en {
    line-height: 1.2;
  }

  .page-header .page-title .en {
    margin-bottom: 9px;
  }
	.page-header .header-img img {
    width: 100%;
  }
	.page-header .flex.f_jc-between.f_ai-end{
		flex-direction: column-reverse;
	}
	.page-header .container {
    padding-right: 0;
}
.page-header .header-img{
	height: 150px;
	margin-bottom: 20px;
}
.history p{
	font-size: 13px;
}
.history p.name{
	font-size: 12.5px;
}


}

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

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

@media screen and (max-width: 420px) {
	.btn{ max-width: 100%; }
}

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