@media screen and (max-width: 1150px){
	#gnavi li{
		margin-left: 20px;
		font-size: 93%;
	}
	#gnavi li:nth-child(1).parent,
	#gnavi li:nth-child(1).parent ul{
		width: 70px;
	}
	#gnavi li:nth-child(3).parent,
	#gnavi li:nth-child(3).parent ul{
		width: 130px;
	}
}
@media screen and (max-width: 1000px){
	/*
	Base
	------------------------------------------------------------
	*/
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	#container_wrap {

	}
	#main {
		width: 100%;
		margin-bottom: 50px;
		float: none;
	}
	#sub {
		width: 150px;
		margin: 0 auto;
		float: none;
	}

	/*
	Header
	------------------------------------------------------------
	*/
	header {
		padding: 10px 3%;
		height: 46px;
	}
	#header_left {
		display: none;
	}
	.logo{
		position: fixed;
		top: 10px;
		left: 3%;
		width: 250px;
		z-index: 250;
	}
	#header_right {
		display: none;
	}
	.button-area {
		display: inline;
		position: fixed;
		right: 5%;
		top: 5px;
		z-index: 250;
		font-size: 30px;
	}
	.panel-btn{
		display: inline-block;
		position: relative;
		width: 28px;
		height: 40px;
	}
	.panel-btn-icon{
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 28px;
		height: 1px;
		margin: -1px 0 0 -7px;
		background: #fff;
		transition: .2s;
	}
	.panel-btn-icon:before, .panel-btn-icon:after{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 28px;
		height: 1px;
		background: #fff;
		transition: .3s;
	}
	.panel-btn-icon:before{
		margin-top: -9px;
	}
	.panel-btn-icon:after{
		margin-top: 7px;
	}
	.panel-btn .close{
		background: transparent;
	}
	.panel-btn .close:before, .panel-btn .close:after{
		margin-top: 0;
	}
	.panel-btn .close:before{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.panel-btn .close:after{
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	.sp_nav_wrap {
		display: none;
		position: fixed;
		top: 0;
		height: 100%;
		width: 100%;
		background: #666;
		overflow: auto !important;
		z-index: 240;
	}
	.sp_nav_wrap .wrap {
		padding: 110px 5% 60px;
	}
	.sp_nav_wrap .wrap ul li{
		margin-bottom: 20px;
	}
	.sp_nav_wrap .wrap ul li.child{
		margin-top: -15px;
		font-size: 62%;
	}
	.sp_nav_wrap .wrap ul li.child a{
		padding-left: 100px;
	}
	.sp_nav_wrap .wrap ul li a{
		display: block;
		position: relative;
		font-size: 192%;
		font-weight: 200;
	}
	.sp_nav_wrap .wrap ul li a span{
		font-size: 60%;
		font-family: 'Jost','Noto Sans JP',"メイリオ",Meiryo,Helvetica,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
		font-weight: 300;
		display: inline-block;
		text-align: right;
		width: 90px;
		margin-right: 10px;
	}
	.sp_nav_wrap .wrap ul li a:link,
	.sp_nav_wrap .wrap ul li a:visited{
		color: #FFF;
	}
	.sp_nav_wrap .wrap ul li a:hover{
		text-decoration: none;
	}	


    
	/*
	footer
	------------------------------------------------------------
	*/
	#footer{
		padding: 20px 5%;
		background: rgba(0,0,0,.7);
	}
	#footer .bg_bk{
		background: none;
		padding: 0;
	}
	.pd5 footer{
		position: relative;
		padding: 20px 0;
	}
	.pd5 footer:before{
		position: absolute;
		width: 200%;
		height: 100%;
		content: "";
		background: rgba(0,0,0,.7);
		left: -6%;
		top: 0;
	}
	.pd5 #footer{
		padding: 0;
		background: none;
	}
	#footer .bg_bk:after,
	#footer .bg_bk:before{
		background: none;
	}
	#f_navi {
		margin: 30px 0;
	}
	#f_navi li{
		min-height: inherit;
		margin-right: 2%;
		margin-bottom: 20px;
		width: 48%;
		border-left: #9a001a 4px solid;
	}
	#f_navi li:nth-child(2n){
		margin-right: 0;
	}
	#f_navi li ul li{
		display: inherit;
		min-height: inherit;
		width: inherit;
		border-left: none;
		padding: 0;
		margin-right: 0;
		margin-bottom: 0;
	}
	#f_logo{
		max-width: 320px;
		width: 80%;
		display: block;
		margin: 0 auto 20px;
	}
	#f_logo.pc{
		display: none;
	}
	.add{
		text-align: center;
		padding-left: 0;
		margin-bottom: 20px;
	}
	.f_btn_wrap{
		padding-left: 0;
		text-align: center;
		margin-bottom: 30px;
	}
	.f_btn_wrap a{
		width: 250px;
		line-height: 50px;
		margin: 0 auto;
	}
	.copy {
		text-align: center;
	}



	/*
	top
	------------------------------------------------------------
	*/
	.top_section{
		margin-bottom: 60px;
	}
	section{
		margin-bottom: 60px;
	}
	#scroll_bar_wrap{
		top: 60%;
	}
	#main_txt .inner{
		width: 80%;
		margin: 0 auto 0 5%
	}
	#main_txt_sp{
		width: 60%;
	}
	.bg_aw{
		background: rgba(255,255,255,1);
	}
	.bg_aw:after{
		background: rgba(255,255,255,1);
		-webkit-transform: translateX( -99.9%);
		transform: translateX( -99.9%);
	}
	.bg_aw:before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,1);
		-webkit-transform: translateX( 99.9%);
		transform: translateX( 99.9%);
	}
	ul.list_info li .ti{
		display: block;
		padding-top: 5px;
	}
	#top_company{
		display: inherit;
	}
	#top_company .img_wrap{
		width: 105%;
	}
	.flex_box{
		max-width: inherit;
		padding: 0 0 50px;
	}
	h3.top_ti{
		font-size: 257%;
		margin-bottom: 25px;
	}
	h3.top_ti span{
		font-size: 55%;
	}
	h3.top_ti_style1:after{
		-webkit-transform: translate( 180px,-50%);
		transform: translate( 180px,-50%);
	}
	ul.link_nav li:before{
		top: 10px;
		margin-top: -0;
	}
	ul.link_nav li .small{
		display: block;
	}
	#top_identity{
		display: inherit;
	}
	#top_identity .img_wrap{
		width: 105%;
	}
	#top_identity h3.top_ti_style1:after{
		-webkit-transform: translate( 250px,-50%);
		transform: translate( 250px,-50%);
	}
	#top_identity ul.link_nav li .link_bar{
		top: 10px;
		left: 70px;
	}
	#top_identity ul.link_nav li span.block{
		padding-right: 0;
	}
	#top_service_inner{
		padding: 60px 5% 30px;
	}
	h3.top_ti_style2:before{
		height: 40px;
		top: -60px;
	}
	#link_virus{
		line-height: 50px;
		font-size: 114%;
		border: 6px solid #FFF;
	}
	.ichiran_ti{
		font-size: 100%;
	}
	.ichiran_ti:after{
		display: none;
	}
	ul.list_ichiran li{
		width: 170px;
		padding-right: 3%;
	}
	ul.list_ichiran li ul li{
		width: 100%;
	}
	.btn_wrap2{
		margin-top: 35px;
	}
	.btn{
		line-height: 50px;
		font-size: 116%;
	}
	#top_works_inner{
		padding: 60px 5% 60px;
	}
	#top_works .bx-wrapper{
		margin: 30px auto;
	}
	.bx-wrapper .bx-prev{
		left: -15px;
	}
	.bx-wrapper .bx-next{
		right: -35px;
	}
	#top_recruit_inner{
		display: inherit;
	}
	#top_recruit_inner div{
		width: 100%;
		padding: 40px 5%;
	}
	#top_recruit_inner div img{
		display: block;
		margin: 35px auto;
	}
	#top_recruit{
		margin-bottom: 40px;
	}
	#top_sns_wrap{
		display: inherit;
	}
	.sns_box_wrap{
		width: 100%;
		padding: 30px 5%;
	}
	h3.sns_ti{
		font-size: 257%;
		margin-bottom: 25px;
	}
	#top_contact .bg_bk{
		padding: 25px 5% 40px;
	}
	.bg_bk:before{
		width: 100%;
		height: 100%;
		content: "";
		position: absolute;
		background: rgba(0,0,0,.7);
		right: 0;
		top: 0;
		-webkit-transform: translateX( -100%);
		transform: translateX( -100%);
	}
	#top_contact .inner{
		display: inherit;
	}
	#top_contact .inner .top_con_left{
		width: 100%;
	}
	#top_contact .inner .top_con_right{
		max-width: 100%;
		text-align: center;
	}
	h3.top_contact_ti{
		font-size: 257%;
		text-align: center;
	}
	.top_con_right .tel{
		font-size: 257%;
	}
	#sbi_load{
		margin-top: 40px;
	}

	/*
	下層共通
	------------------------------------------------------------
	*/
	.secound {
		padding: 230px 5% 0;
	}
	.sp_sec{
		padding: 100px 5% 0;
	}
	.secound #scroll_bar_wrap{
		top: 55%;
	}
	h2.main_ti{
		font-size: 257%;
		margin-bottom: 180px;
	}
	.sp_sec h2.main_ti{
		margin-bottom: 60px;
	}
	.sp_sec #scroll_bar_wrap{
		display: none;
	}
	#breadcrumbList {
		padding: 10px 0 50px;
	}
	.bg_w:before {
		left: -6%;
		width: 200%;
		-webkit-transform: translateX( 0);
		transform: translateX( 0);
	}
	h3.main_ti{
		font-size: 228%;
		letter-spacing: 0;
	}
h4.main_ti{
	font-size: 128%;
	font-weight: 500;
	margin-bottom: 20px;
	line-height: 1.5;
	padding: 5px 10px;
	background: #eaeaea;
}
	.bar_red_wrap{
		padding-right: 100px;
	}
.bar_red{
	position: absolute;
	top: 50%;
	right: 0;
	height: 1px;
	background: rgba(154,0,26,.3);
	width: 90px;
}
.bar_red:before{
	height: 1px;
	background: #9a001a;
	width: 20%;
	left: 0;
	top: 50%;
	content: "";
	position: absolute;
	transition: 0.5s;
}
.bar_red.style2:before{
	width: 50%;
}
a:hover .bar_red:before{
	width: 100%;
}
	.section{
		margin-bottom: 45px;
	}
	.flex_wrap{
		display: inherit;
	}
	.img_right{
		width: 95vw;
	}
	.f18{
		font-size: 114%;
	}
	.box_w{
		padding: 50px 5%;
	}
	.pr5{
		padding-right: 0;
	}
	.pb120{
		padding-bottom: 60px;
	}
	.txt_link .bar_red_wrap{
		padding-left: 20px;
		display: inline-block;
	}
	.txt_link .bar_red_wrap:before{
		left: 7px;
	}
	.anchor{
		padding-right: 25px;
	}
	/*
	about
	------------------------------------------------------------
	*/
	.about_l_box{
		width: 100%;
	}
	.about_r_box{
		width: 100%;
		padding-bottom: 50px;
		text-align: center;
	}
	.w46_box{
		width: 100%;
	}
	p.syaze{
		font-size: 214%;
		margin-bottom: 20px;
	}
	table.table_about th{
		padding-right: 10px;
		width: 30%;
	}
	.about_l{
		width: 100%;
		padding-right: 0;
		margin-bottom: 30px;
	}
	.about_r_img{
		margin: 0 auto 30px;
	}
	.border_b{
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	dl.list_about{
		border-top: 6px solid #eaeaea;
		padding-top: 40px;
		margin-bottom: 40px;
	}
	dl.list_about dt{
		clear: inherit;
		float: inherit;
		text-align: center;
		margin-bottom: 30px;
	}
	dl.list_about dd{
		margin-left: 0;
	}

	/*
	company
	------------------------------------------------------------
	*/
	.company_l_box{
		width: 100%;
	}
	.company_l_box .img_right{
		width: 95vw;
		margin-bottom: 50px;
	}
	.company_r_box{
		width: 100%;
		margin-bottom: 0;
	}
	.company_r_box .img_right{
		width: 110vw;
		margin-left: -6%;
	}
	.company_l_box2{
		width: 100%;
		margin-bottom: 50px;
	}
	.company_r_box2{
		width: 100%;
	}
	.company_r_box2 .section{
		padding-bottom: 50px;
		border-bottom: 2px solid #000;
	}
	.company_r_box2 .section:last-child{
		margin-bottom: 0;
	}
	.company_l_box3{
		width: 100%;
	}
	.company_r_box3{
		width: 100%;
	}
	.company_r_sp{
		margin-top: 50px;
	}
	.company_r_sp2{
		margin-bottom: 50px;
	}
	.company_r_sp_b{
		padding-bottom: 50px;
		border-bottom: 2px solid #000;
	}
	.img_left{
		position: inherit;
		top: auto;
		right: 6%;
		width: 95vw;
	}
	ul.list_company{
		margin-bottom: 10px;
	}



	/*
	identity
	------------------------------------------------------------
	*/
	.intro_identity{
		font-size: 114%;
		margin-bottom: 45px;
	}
	.identity_l_box{
		width: 100%;
	}
	.identity_l_box{
		width: 100%;
		padding-top: 0;
	}
	.identity_r_box{
		width: 100%;
		text-align: center;
	}
	.identity_r_box img{
		width: 50%;
		max-width: 366px;
	}
	.list_identity li{
		font-size: 116%;
	}
	.list_identity li .bar_red_wrap{
		padding-right: 0;
	}
	.list_identity li .bar_red{
		display: none;
	}
	.anchor_box{
		padding-top: 46px;
		margin-top: -46px;
	}
.dark_box{
	position: relative;
	z-index: 1;
	color: #FFF;
}
	.dark_box:before{
		height: 100%;
	}
	.identity_box{
		padding: 40px 0;
	}
	.identity_box dt{
		font-size: 857%;
		clear: inherit;
		float: inherit;
		margin-bottom: 5px;
	}
	.identity_box dd{
		margin-left: 0;
	}
	.identity_img_wrap .vw25{
		width: 100vw;
	}
	.identity_img_box img{
		width: 50vw;
	}
	h3.identity_ti{
		font-size: 228%;
	}
	#identity4 dl dd img{
		margin: 25px auto 50px;
		display: block;
	}
	#identity5 dl dd img{
		display: block;
		margin: 25px auto 0;
	}
	#identity5.dark_box:before{
		height: 98%;
	}


	/*
	service
	------------------------------------------------------------
	*/
	.ichiran_ti_s{
		float: inherit;
		margin: 0 auto 35px;
	}
	.ichiran_ti_s:before{
		left: 0;
		right: 0;
		margin: auto;
	}
	ul.list_s_anchor li{
		display: inherit;
		margin-right: 0;
	}
	ul.list_s_anchor li ul li{
		margin: 0 0 20px;
	}
	.ml{
		margin-left: 0;
	}
	.service_wrap{
		padding-bottom:50px;
		margin-bottom: 50px;
	}
	.service_wrap:after{
		height: 15px;
	}
	.service_l_box{
		width: 100%;
	}
	.service_l_box ul.list_ichiran{
		margin-left: 0;
	}
	.service_r_box{
		width: 100%;
		overflow: hidden;
		margin-top: 10px;
		text-align: center;
	}
	.img_s_left{
		width: 48%;
	}
	.img_s_right{
		width: 48%;
	}
	.txt_ti{
		float: inherit;
		margin: 0 auto 20px;
		display: block;
	}
	#service4 .list_ichiran{
		max-width: inherit;
		float: inherit;
	}
	#service4 .list_ichiran li{
		width: 100%;
	}
	#service5 .img_s_left{
		width: 45%;
		margin-right: 10px;
	}
	h3.flow_ti{
		margin-bottom: 35px;
	}
	dl.list_flow.last{
		margin-bottom: 0;
	}
	dl.list_flow dt{
		clear: inherit;
		float: inherit;
		margin-bottom: 20px;
	}
	dl.list_flow dd{
		margin-left: 0;
	}

	/*
	antibacterial
	------------------------------------------------------------
	*/
	.antibacterial_l_box{
		width: 100%;
	}
	.antibacterial_l_box .img_right{
		margin-bottom: 30px;
	}
	.antibacterial_r_box{
		width: 100%;
	}
.antibacterial_r_box .img_right{
	width: 42vw;
}
.antibacterial_r_box img{
	margin-bottom: 60px;
}
	.intro_anti{
		font-size: 114%;
	}
	.anti_box{
		padding: 50px 0;
	}
	.of_h{
		margin-top: 20px;
	}
	.of_h img{
		width: 48%;
		float: left;
		margin-right: 4%;
	}
	.of_h img:last-child{
		margin-right: 0;
	}
	.of_h .alignleft{
		width: 45%;
		margin-right: 0;
	}
	.of_h .alignleft:last-child{
		width: 55%;
	}
	.compare_box {
		padding: 50px 5%;
		margin-bottom: 20px;
	}
	.compare_box p{
		text-align: left;
	}
	.compare_box .inner_w{
		padding: 40px 5%;
		margin: 40px auto 0;
	}
	.compare_box .inner_w img.sp{
		display: block;
		margin: 0 auto 30px;
	}
.merit_box{
	position: relative;
}
	#img_virus{
		position: inherit;
		left: 0;
		right: 0;
		margin: -40px auto 0;
		top: 0;
		display: block;
	}
	h4.ti_anti{
		font-size: 171%;
		background: url(../img/antibacterial/bg_ti_sp.svg) no-repeat center/100% auto;
		padding: 5px;
		margin: 0 auto 40px;
		text-align: center;
	}
	h4.ti_anti:before{
		display: none;
	}
	dl.list_merit{
		width: 100%;
		margin-bottom: 50px;
	}
	dl.list_merit dt{
		text-align: center;
	}
	h5.ti_merit{
		font-size: 228%;
		text-align: center;
	}
	.service_wrap dl.list_merit:first-child{
		padding-bottom: 90px;
		position: relative;
	}
	.service_wrap dl.list_merit:first-child:after{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 200%;
		background: url(../img/service/bg_box.svg) repeat-x left center/cover;
		height: 15px;
		content: "";
	}
	.list_merit_sp{
		padding-bottom: 90px;
		position: relative;
	}
	.list_merit_sp:after{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 200%;
		background: url(../img/service/bg_box.svg) repeat-x left center/cover;
		height: 15px;
		content: "";
	}
	.list_ex_wrap{
		margin-top: 70px;
	}
	dl.list_ex{
		width: 100%;
		margin-top: 45px;
	}
	.list_ex_wrap h4.ti_anti{
		margin-bottom: 40px;
	}
	.list_ex_wrap h5.ti_merit{
		margin-bottom: 30px;
	}
	.list_ex{
		overflow: hidden;
	}
	.list_ex dt{
		float: inherit;
		clear: inherit;
		width: 100%;
	}
	.list_ex dd{
		margin-left: 0;
	}
	.list_ex dd .ti{
		font-size: 178%;
		text-align: center;
	}

	/*
	recruit
	------------------------------------------------------------
	*/
	.intro_recruit{
		font-size: 114%;
		margin-bottom: 60px;
	}
	h3.recruit_ti{
		font-size: 214%;
		margin-bottom: 20px;
	}
	.recruit_l{
		width: 100%;
		padding-bottom: 45px;
		border-bottom: 1px solid #9a001a;
	}
	.recruit_r{
		width: 100%;
		position: relative;
		z-index: 10;
		margin-bottom: 20px;
		text-align: center;
	}
	h4.recruit_ti{
		font-size: 257%;
		margin-bottom: 20px;
	}
	h4.recruit_ti:after{
		display: none;
	}
	.recruit_box{
		margin-bottom: 60px;
	}
	table.recruit_table th{
		border-bottom: none;
		padding: 15px 0 0;
		width: 100%;
		display: block;
	}
	table.recruit_table td{
		padding: 0 0 15px;
		width: 100%;
		display: block;
	}
	.btn_recruit{
		margin: 0 auto;
	}

	/*
	news
	------------------------------------------------------------
	*/
	ul.list_cat{
		text-align: left;
	}
	ul.list_cat li{
		width: 48%;
		font-size: 100%;
		margin-right: 2.5%;
		margin-bottom: 25px;
		text-align: center;
	}
	ul.list_cat li:nth-child(2n){
		margin-right: 0;
	}
	ul.list_cat li:last-child(2n){
		margin-right: 3%;
	}
	h3.news_ti{
		font-size: 128%;
		margin-bottom: 20px;
	}
	#news_nav{
		text-align: center;
	}
	#news_nav span a{
		margin: 0 10px;
	}

	
	/*
	works
	------------------------------------------------------------
	*/
	.works_day_wrap{
		max-width: inherit;
	}
	ul.list_works{
		overflow: hidden;
		margin: 0 auto 50px;
	}
	ul.list_works li{
		width: 48%;
		margin: 0 3% 30px 0;
		float: inherit;
		display: inline-block;
		vertical-align: top;
	}
	ul.list_works li:nth-child(2n){
		margin: 0 0 30px;
	}
	ul.list_works li:nth-child(3n){
		margin: 0 3% 30px;
	}
	ul.list_works li:nth-child(6n){
		margin: 0 0 30px;
	}
	ul.list_works li img{
		display: block;
		margin: 0 auto;
	}
	/*
	sitemap
	------------------------------------------------------------
	*/
	ul.list_sitemap li{
		display: inherit;
		width: 100%;
		margin: 0 0 30px 0;
	}

	
	/*
	コンタクトフォーム
	------------------------------------------------------------
	*/
	.contact_txt{
		font-size: 114%;
	}
	table.table_form  {
		margin: 30px 0 30px;
		font-size: 100%;
	}
	table.table_form th {
		padding: 10px;
		text-align: left;
		border-top: none;
		border-bottom: none;
		border-right: none;
		width: 60%;
		display: block;
	}
	table.table_form td {
		padding: 10px;
		-webkit-border-top-right-radius: 0;
		-moz-border-top-right-radius: 0;
		border-top-right-radius: 0;
		-webkit-border-bottom-right-radius: 0;
		-moz-border-bottom-right-radius: 0;
		border-bottom-right-radius: 0;
		border-top: none;
		border-bottom: 20px solid #FFF;
		width: 100%;
		display: block;
	}
	input, textarea, select{
		width: 100%;
	}
	input[type="radio"],
	input[type="checkbox"]{
		width: 20px;
	}
	input[type="submit"], form.wpcf7-form input[type="button"] {
		border-radius: 0;
		font-size: 114%;
		max-width: 315px;
		width: 100%;
		line-height: 50px;
	background: #9a001a url(../img/base/right_w.svg) no-repeat 95% center;        
	}
	.btn_back, form.wpcf7-form-mode-confirm .buttons-area .btn_back {  /* MTL MAC 2025.5 */
		width: 47%;
		margin-right: 3%;
	}
	.mw_wp_form_confirm input[type="submit"], form.wpcf7-form-mode-confirm .wpcf7-submit {  /* MTL MAC 2025.5 */
		width: 47%;
	}


}
@media screen and (max-width: 767px){
	ul.list_works li{
		width: 100%;
		margin: 0 0 30px 0;
	}
	ul.list_works li:nth-child(2n){
		margin: 0 0 30px;
	}
	ul.list_works li:nth-child(3n){
		margin: 0 0 30px;
	}
	ul.list_works li:nth-child(6n){
		margin: 0 0 30px;
	}
}
@media screen and (max-width: 500px){
	ul.list_ichiran li{
		width: 48%;
		padding-right: 3%;
	}
	ul.list_ichiran li:nth-child(2n){
		margin-right: 0;
	}
}
