@media only screen and (max-width:800px){

body{
font-size:1.4rem;
}

h1{
width:100%;
font-size:2.5rem;
line-height:1.8;
margin:0 0 40px 0;
}
h1 span{
width:100%;
font-family:'Noto Sans JP', sans-serif;
font-size:1.6rem;
font-weight:400;
line-height:1;
text-align:center;
margin:15px auto 0 auto;
display:table;
}

#bottom-catch{
margin:60px auto 0 auto;
}

h2{
font-size:2rem;
line-height:1.5;
margin:20px 0;
}
h2 span{
font-size:1rem;
font-weight:400;
margin:6px auto 0 auto;
}

h3{
font-size:2.6rem;
padding:0 0 20px 0;
}
h3 span{
font-size:1.2rem;
margin:6px auto 0 auto;
}

h4{
font-size:2rem;
margin:30px 0;
}

h5{
font-size:2rem;
font-weight:500;
line-height:2;
margin:40px 0 20px 0;
}

#home-sec, #common-sec, #post-sec{
padding:40px 0;
}
#home-sec, #common-sec, #post-sec{
width:90%;
}

.inv-a{
display:none;
}
.inv-b{
display:table;
}

p{
text-align:left !important;
}

#home-contents-box{
width:100%;
min-width:inherit;
max-width:inherit;
margin:20px auto 0 auto;
display:table;
}

#home-contents-box a{
width:90%;
max-width:320px;
margin:20px auto;
}
#home-contents-box img{
}

#news-box{
width:47%;
font-size:1.2rem;
font-weight:390;
line-height:1.5;
max-width:360px;
padding:0;
margin:0 1.5% 30px 1.5%;
}
#news-box div{
height:120px;
}
#news-box div img{
}
#news-box span{
font-size:1rem;
}


#home-box, #common-contents-box{
max-width:inherit;
min-width:100%;
padding:0;
margin:40px auto 0 auto;
display:flex;
}
.home-box-img-left, .contents-box-img-left{
flex-flow:wrap;
}
.home-box-img-right, .contents-box-img-right{
flex-flow:wrap;
}
#home-box dt, #common-contents-box dt{
width:100%;
padding:0;
margin:0;
}
#home-box dd, #common-contents-box dd{
width:100%;
font-size:1.4rem;
line-height:1.8;
padding:0 0;
margin:auto 0;
display:table;
}
#home-box dd a{
font-size:1.4rem;
line-height:2.4;
padding:0 40px;
margin:15px auto 0 auto;
}

#common-lnk-box{
justify-content:center;
}
#common-lnk-box a{
font-size:1.2rem;
line-height:2;
padding:0 10px;
margin:0 6px 10px 6px;
}
#common-lnk-box label{
font-size:1.2rem;
line-height:2;
padding:0 10px;
margin:0 6px 10px 6px;
}

#contents-box{
width:100%;
display:block;
}
#contents-box div{
width:100%;
max-width:inherit;
font-size:1.4rem;
font-weight:500;
line-height:1.8;
margin:20px auto;
}
#contents-box div img{
width:auto;
max-width:100%;
display:table;
}
#contents-box div div{
width:100%;
text-align:right;
dsiplay:block;
}
#contents-box div span{
font-size:2rem;
margin-left:10px;
}

#contents-box div table{
width:100%;
font-family:'Noto Sans JP', sans-serif;
border-collapse:collapse;
}
#contents-box div table th{
width:25%;
font-size:1.4rem;
font-weight:400;
line-height:1.5;
vertical-align:top;
padding:5px 0;
margin:0;
}
#contents-box div table td{
width:75%;
font-size:1.4rem;
font-weight:400;
line-height:1.5;
padding:5px 0;
margin:0;
}


#common-flow-box{
width:100%;
padding-left:0;
flex-flow:wrap;
justify-content:flex-start;
}
#common-flow-box img{
width:50%;
max-width:260px;
margin:0 0 20px 0;
}
#flow-item{
margin-right:0px;
}

.back-color01, .back-color02{
padding-top:0;
margin-top:0;
}


#common-contents-box dd div{
font-size:2.4rem;
margin:20px 0;
}
#common-contents-box dd div span{
font-size:1.2rem;
}
#common-contents-box dd img{
margin:10px auto 30px auto;
}

#contents-box dl{
width:100%;
max-width:320px;
margin:40px auto 0 auto;
display:block;
}
#contents-box dl dt{
width:92%;
padding:10px 4%;
}
#contents-box dl dt img{
max-width:50%;
}
#contents-box dl dd{
width:92%;
font-size:1.3rem;
line-height:1.5;
padding:10px 4%;
}
#contents-box dl dd span{
font-size:1.6rem;
margin:0 0 10px 0;
}

#enkaku-box{
}
#enkaku-box th{
width:25%;
font-size:1.2rem;
padding:6px 0;
}
#enkaku-box td{
font-size:1.2rem;
padding:6px 0;
}

#recruit-head{
width:100%;
height:auto;
}
#recruit-head span{
width:90%;
font-size:1.8rem;
line-height:1.5;
text-align:center;
padding:10px;
}


#recruit-box{
margin:20px 0;
display:table;
}
#recruit-box dt{
width:100%;
max-width:inherit;
margin:0 0 20px 0;
}
#recruit-box dd{
width:100%;
font-size:1.4rem;
line-height:2;
}
#recruit-box dd div{
width:100%;
font-size:2rem;
margin:0 0 20px 0;
}


#recruit-table{
width:100%;
border-collapse:collapse;
}
#recruit-table th{
width:25%;
font-size:1.2rem;
font-weight:390;
text-align:center;
vertical-align:top;
line-height:1.5;
padding:6px 0;
}
#recruit-table td{
width:75%;
font-size:1.2rem;
font-weight:390;
line-height:1.5;
padding:10px 0;
}

#recruit-contents-box{
width:100%;
display:block;
}
#recruit-contents-box dl{
width:100%;
max-width:320px;
margin:40px auto 0 auto;
}
#recruit-contents-box dl dd{
width:92%;
font-size:1.3rem;
line-height:1.5;
padding:10px 4%;
}
#recruit-contents-box dl dd span{
font-size:1.6rem;
margin:0 0 10px 0;
}


#products-box{
margin:60px 0 0 0;
}

#products-box dl{
width:47%;
margin:0 1.5% 40px 1.5%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#products-box dl dt{
height:140px;
}
#products-box dl dt img, #products-box dl a img{
max-width:110%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#products-box dl a{
height:60px;
margin:0px 1% 0 1%;
}
#products-box dl span{
padding:0;
margin:6px 0;
}
#products-box dl div{
font-size:1.2rem;
font-weight:390;
line-height:1;
}

#tel{
font-size:3rem;
}


#contact-box{
width:100%;
margin:30px auto;
}
input[type="text"], input[type="email"] {
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #bf0d23;
border-radius:4px;
}

textarea{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #bf0d23;
border-radius:10px;
}

input[type="submit"]{
width:200px;
height:auto;
color:#fff;
font-size:1.5rem;
line-height:3;
text-align:center;
padding:0 20px;
margin:60px auto 0 auto;
background:#f5ba00;
border:0px;
border-radius:0px;
display:table;
}

.wpcf7-not-valid-tip{
color:#ff8ca3;
font-size:1.4rem;
font-weight:normal;
display:block;
}


#header-box{
width:100%;
background:rgba(255,255,255,1);
}

#hader-box-logo{
width:auto;
margin:10px auto;
}
#hader-box-logo img{
width:120px;
}

#navi-box{
display:none;
}


#navi{
display:inherit;
}

.navi-menu{
width:36px;
height:40px;
cursor:pointer;
position:fixed;
top:14px;
right:14px;
z-index:100;
}

.navi-menu-btn01, .navi-menu-btn02, .navi-menu-btn03{
width:100%;
height:1px;
background:#bf0d23;
position:absolute;
opacity:1;
}

.navi-menu-btn01{
top:0;
left:0;
}
.navi-menu-btn02{
top:25%;
left:0;
}
.navi-menu-btn03{
top:50%;
left:0;
}

.navi-menu-check{
display:none;
}

.navi-content{
width:0;
height:0;
padding:0;
overflow:hidden;
transition:0.1s;
opacity:0;
background:rgba(191,13,35,1);
display:table;
position:fixed;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:-1;
}

.navi-menu-check:checked + .navi-menu + .navi-content{
width:90%;
height:90vh;
border-radius:20px;
opacity:1;
transition:0.1s;
z-index:300;
}
#navi-content-inner{
width:100%;
text-align:center;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

.navi-content span{
color:#fff;
font-size:2rem;
font-weight:390;
margin:0 auto 40px auto;
border-bottom:1px solid #fff;
display:table;
}

#menu-tx-lnk{
color:#fff;
font-size:1.5rem;
font-weight:350;
line-height:1;
margin:0 auto 20px auto;
display:table;
}

.navi-content dl{
width:200px;
margin:20px auto;
display:flex;
}
.navi-content dl dt{
width:30px;
padding:0;
margin:0;
display:table;
}
.navi-content dl dd{
width:170px;
color:#fff;
font-size:1.4rem;
padding:0;
margin:auto 0;
display:table;
}



.navi-content table{
width:160px;
margin:0 auto;
border-collapse:collapse;
}
.navi-content  td{
width:33%;
text-align:center;
}
.navi-content  a{
}

.navi-menu-close{
color:#fff;
font-size:1.3rem;
font-weight:400;
line-height:1.5;
text-align:center;
padding:0;
margin:30px auto 0 auto;
cursor:pointer;
display:table;
}


#company-outline-box{
margin-top:-40px !important;
padding-top:40px !important;
}
#company-title{
font-size:2rem;
}


#footer-box img{
height:40px;
width:auto;
}









}