@charset "UTF-8";
/* CSS Document */
@media all and  (max-width:1900px){
  .midashi h2{
margin-top: -90px;     
} 
}

@media all and  (max-width:1700px){
.top_menu .logo{
width: 40%;	
padding-left: 1%;
}
.top_menu .logo img{
width:50%;	
display: block;
margin: 0;
} 
.top_menu .m1{
width:60%;
}    
.t-mail{
width:30%;	
} 

.f-menu li{	
font-size: 0.8em;
width: 20%;	
}
.btn1{ 
width: 80%;
display: block;
margin: 0 auto;
}    
.business2 a{
width: 50% ;	    
}     
}
@media all and  (max-width:1350px){
.back2{
background-attachment:inherit;
}
  
.background1{
background-attachment:inherit;
padding-top: 50px;     
}   
.greeting{
background-attachment:inherit;
}
.recruit-wrapper1{
background-attachment:inherit;  
}   
.recruit-box2{
background-attachment:inherit;   
}  
.business1,.business2{
background-attachment:inherit;       
} 
.works_box{    
background-attachment:inherit;       
}  
.company1{
background-attachment:inherit; 
}    
.top_menu .logo{
width: 30%;	
padding-left: 1%;
}
.top_menu .logo img{
width:70%;	
display: block;
margin: 0;
}    
.top_menu .m1{
width:70%;
}
.top_menu .m1 ul{
width: 100%;	
} 
 
.t-mail{
width:40%;	
}
.recruit-wrapper1{
margin-top: 15%;    
background-attachment:inherit; 
}  
.f-menu img{
width: 40%;
}    
	
.con-box p{
font-size: 2em;
top: 65%;
}	
.back{
bottom:-100px; 
}
.contact-text a{
width: 60%;
}    
}

@media all and  (max-width:950px){
.video{
width:calc(100% / 2 - 40px);
margin:20px;    
}    
.child_1{
  order: 1;
}
.child_2{
  order: 2;
}       
section{
width: 95%;
padding-left: 10px;    
}    
    .tb{
    display: block!important;    
    }    
.midashi h2{
margin-top: -130px;    
font-size: 3em;	   
}   
.text2 strong{
  font-size: 2em;
} 
.text2{
  font-size: 1.3em; 
}    
.text1 strong{
  font-size: 1.5em;
}    
.t-tel a{
font-size: 1.3em;	  	    
}     
.top_menu .logo{
width: 25%;	
padding-left: 1%;
}
.top_menu .logo img{
width:90%;	
display: block;
margin: 0;
}    
.top_menu .m1{
width:80%;
}	
.top_menu .m1 ul a{
font-size: 0.7em;
} 
.g-text{
text-align: left;    
}    
.greeting .g-box p{
font-size:1em;   
}
.font-size_b{
font-size: 1.3em;	
}
.con-box p{
font-size: 1.8em;
top: 73%;
}	    
 .yajirushi{
 width: 5%;
height: 0;
border-style: solid;
border-width: 10px 15px 10px 0;
border-color: transparent #b6d8a6 transparent transparent;  
}
.f-box2{
 width:90%; 
    background: #b6d8a6; 
    padding: 15px 20px;
    text-align: left;
    font-size: 1.2em;
}     

.contact_tel-box{
width: 45%;  
}  
.f-menu{
top:120px;    
} 
.flex-photo{
width: 100%;
float:none;
}
.flex-photo img{
width: 100%;
}
.flex-text{
width:100%;  
position:static;
}    
.recruit-box1 .re-photo img{
width: 50%;   
position: absolute;    
bottom:100px;
left: 0;   

}  
.recruit1{
background-image: url("../img/recruit1.png");
background-position: left top;
background-size: 200px;    
}    
.recruit-box1{
width: 100%; 
padding: 3%;    
}
.recruit-box2{
width: 100%;     
}
.contents-box{  
margin-bottom: 5%;      
}  

.con-box{
width: 32%;	
height: 100px;    
position: relative;
cursor: pointer;
transition-duration: 0.7s;   
}
.b_con1{
width:50%;    
}
.b_con2{
width:50%;           
}  
.works_box .table table th{
width: 20%;    
}

.works_box .table table .name{
width: 50%;    
} 
.con_td1{
width: 70%!important;      
}
.con_td2{   
width: 30%!important;     
}    
}
@media all and  (max-width:670px){
.video{
width:calc(100% / 1 - 40px);
margin:20px auto;    
}     
 .fullscreenmenu{
display: block;
}
 .text1 strong{
  font-size: 1.3em;
}    
.pc{
display: none;
    }    
body {
width: 97%; 
display: block;
margin: 0 auto;
}    
.midashi h2{ 
font-size: 2em;	  
margin-top: -10px;     
}    
    .midashi1 h2{   
font-size: 1.5em;	  
}
.midashi1 small{
font-size: 0.7em;   
} 
    .midashi2 h2{   
font-size: 1.5em;	  
}
.midashi2 small{
font-size: 0.7em;   
}    
.text2{
  font-size: 1em; 
}    
.text3{
  font-size: 0.9em;   
} 
.text4{
  font-size: 1em; 

}
.text4 strong{
  font-size: 1.3em; 

margin-top: -15px;   
display: block;   
font-family: paralucent, sans-serif;
font-style: normal;
font-weight: 600;
letter-spacing: 1px;   
}

.text5{
  font-size: 1em;    
}
.text5 strong{
  font-size: 1.3em;   
}    
    .kaigyo{
    display: block;    
    }  
     
.t-logo{
    position: absolute;    /* bodyに対しての絶対位置指定 */
    left: 5px;
    top: 5px;
   width: 80%;
    display: block;
    height:auto;
    cursor: pointer;
    z-index: 99; 
}
.t-logo img{
width:60%;	
margin: 0;   
}
   
.f-menu{
top:280px;    
}    
.f-menu img{
width: 70%;
display: block;
margin: 0 auto;
}  
.con-box:hover{
  box-shadow: 0px 0px 0px rgba(0,0,0,0.0);
  transform: translateY(0px);
  transition-duration: 0s;
}
.greeting .g-box p{
font-size:1em;
}
.service1 table th{
font-size: 1.1em;    
}
.service1 table td{  
font-size:0.9em;    
}
.con-box p{
font-size: 1em;
top: 90%;    
}    
.font-size_b{
font-size: 1.2em;	
}    
.footer_contact-box{
    width: 100%;
}  
 
.map-wrapper img{
width: 80%;
}    
.sp{
display: block!important;    
}
.profile .table table th{
width: 40%;
}
  
.back{
bottom:-55px; 
text-align: left;    
}
 .yajirushi{
 width: 0;
height: 0;
border-style: solid;
border-width: 0;
border-color: transparent #b6d8a6 transparent transparent;  
}
.f-box1{
 width: 15%; 
}    
.f-box2{
 width:100%; 
    background: #b6d8a6; 
    padding: 15px 20px;
    text-align: left;
    font-size: 1.2em;
}     
.f-box3{
 width:100%;  
padding-left: 20px;      
}
.f-box{
width: 90%;  
}    
.f-photo{
 width:100%; 
}    
.top,.f-menu ul{
display: none;
}
.mailform dt{
width:100%;
padding-top: 0px;
padding: 1% 0;    
}

.mailform dd{
 padding-left:0px;
padding: 2% 0;     
} 
.contact_tel-box{
 width: 100%;       
    }    
  .f-menu{
width: 100%;	
height:auto;    
top: 350px; 
z-index: -1;    
} 
    
 .con-box{
height:50px;      
}   
.business2 a{
width: 100% ;	    
}      
.company_box .table table th{
width: 40%;   
}

.company_box .table table td{
width: 60%;   
} 
.company_box .table td iframe{    
height:200px!important; 
}
.con_td1{
width: 90%!important; 
display: inline-block;
font-size: 0.8em;    
}
.con_td2{
width: 10%!important; 
display: inline-block;
font-size: 0.8em;        
}    
.recruit_box .table table th{
width: 40%;     
}

.recruit_box .table table td{
width: 60%;
}    
.business2 .illust1{
width: 100% ;
}

.business3 .illust1{
width: 100% ;
}  
.back_w{
padding: 3%; 
}
.back_w1{
padding: 3%; 
    }
.b_con1{
width:70%; 
display: block;
margin: 2% auto;
}

.b_con2{
width:70%; 
display: block;
margin: 1% auto;    
} 

.mailform dt{
	font-size: 1em;
	width:100%;
	float: left;
	margin-bottom:0px;
}

.mailform dd{
        padding-left: 0;
	font-size: 1em;
}    
    
    
.globalMenuSp {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    height: 100%;
    overflow: auto;
   background:#fff;
    text-align: center;
    transform: translateX(-100%);
    transition: all 0.6s;
    width: 100%;
    -webkit-overflow-scrolling: touch;
	text-align: center;
}
 
.globalMenuSp ul {
    background:#fff;
background-position: center left;
background-size: cover;	
    margin: 0 auto;
    padding: 5% 0;
    width: 60%;
}
 
.globalMenuSp ul li {
    font-size: 1rem;
    list-style-type: none;
    width: 100%;
    border-bottom: 1px dotted #292929;
}
 
 
.globalMenuSp ul li a {
    display: block;
    color: #333;
    padding: 1em 0;
}
 
/* このクラスを、jQueryで付与・削除する */
.globalMenuSp.active {
    transform: translateX(0%);
}
 
/* メニュー内ヘッダ */
.globalMenuSp .menuHeader {
background-color: #FFEDED;
 padding: 1.5em 0;	
}

 
/* メニューだけをスクロールさせる工夫 */
.overflowHidden {
    overflow: hidden;
}
.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 5px;
    top: 1px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 9999;
    text-align: center;
	background:#48A62E;
}
 
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
	
}
 
.navToggle span:nth-child(1) {
    top: 9px;
}
 
.navToggle span:nth-child(2) {
    top: 18px;
}
 
.navToggle span:nth-child(3) {
    top: 27px;
}
 
.navToggle span:nth-child(4) {
    border: none;
    color: #fff;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	border-bottom: solid 3px #fff;
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	border-bottom: solid 3px #fff;
}	
	
.globalMenuSp, .navToggle{
	display:block;
	}

	.sp_otoi .tel_s{
width: 100%;
height: auto;
display: inline-block;
padding: 5% 0;	
	
	}
.tel_s a{
color: #fff;
font-weight: bold;
border: solid 2px #fff;
padding: 2%;
margin: 3% auto;
width: 60%;
border-radius: 50px;
display: block;	
transition: all 0.5s;		
background:#267302;	
	}
.tel_s a:hover{
opacity: 0.8;
text-decoration: transparent;			
	}	
.tel_s small{
font-size: 0.7em;
display: block;	
margin: 3px 0;	
}
.s-sns{
width:100%;
display: flex;	
justify-content:center;
align-items:flex-start;	
}
.s-line,.s-facebook,.s-instagram{
width: 10%;	
}
/*====instagramとLINE===*/
.btn-social-icon-instagram {
  text-decoration: none;
  display: inline-block;
  text-align: center;
  color: #2e6ca5;
  font-size: 25px;
  text-decoration: none;	
}

.btn-social-icon-instagram:hover {
  color:#668ad8;
  transition: .5s;
}

.btn-social-icon-instagram__square {
  border-radius: 13px;
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  font-size: 35px;
  line-height: 50px;
  overflow: hidden;
}

.btn-social-icon-instagram__square:before {
  content: '';
  position: absolute;
  top: 23px;
  left: -18px;
  width: 60px;
  height: 60px;
}

.btn-social-icon-instagram__square .fa-instagram {
    color: #f13f79!important;
  line-height: 50px;
  position: relative;
  z-index: 2}

.btn-social-icon-instagram__square .fa-line {
    color: #06c755!important;
  line-height: 50px;
  position: relative;
  z-index: 2}
/*====Facebook===*/
.btn-social-icon-facebook {
  text-decoration: none;
  display: inline-block;
  text-align: center;
  font-size: 25px;
  text-decoration: none;
}

.btn-social-icon-facebook:hover {
  transition: .5s;
}

.btn-social-icon-facebook__square {
  border-radius: 10px;
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  font-size: 35px;
  line-height: 50px;
  color: #4966a0;
}

.btn-social-icon-facebook__square .fa-facebook {
  position: absolute;
  bottom: -3px;
  right: 6px;
  font-size: 42px;
}	

}
@media all and  (max-width:450px){
.company_box .table table .con_th1{
width: 100%;   
display: block;    
}
    .con_td{
    width: 100%!important;  
    display: block;  
    padding: 5% 0;    
    }
  
  .f-menu{
top: 180px;    
}
.company_box .table td iframe{
     display: block;   
    width: 100%;  
    margin: 0 auto;
    }    
.con_td1{
width: 80%!important; 
}
.con_td2{
width: 20%!important; 
}    
.con-box p{
font-size:0.8em;
top: 60%;    
}  
.company_box .table2 table tr{
width: 100%!important;
font-size: 0.5em;    
}
.company_box .table2 table .con_th2{
width: 30%!important;  
padding: 2%;
line-height: 1.75;    
}
}
@media all and  (max-width:357px){
     
}