@charset "UTF-8";
/* CSS Document */
@media all and  (max-width:1700px){
 .top_menu .menu_t .logo{
display: block;  
}  
     
}

@media all and  (max-width:1500px){
footer .footer-box{ 
width: 95%;         
} 
.g-box{
height: 500px;    
} 
.partner-photo3{
width: 100%;
margin: 2% 0;    
}

.partner-text3{
width: 100%;       
}  
.partner-box1 img{
  width: 60%;
}    
.partner-box1{
height: 700px;
}
    .partner-text1{
  width: 60%;    
position: absolute;
top:50%;
right: 10%;
}
}
@media all and  (max-width:1150px){
.background4{
background-attachment:local;   	
} 
.g-text{
width: 95%;  
order: 2;  
display: block;
margin: 0 auto;
}
.g-photo{
width: 100%;    
margin: 3% 0;   
order: 1;    
}  
.btn1{
width: 50%;  
}   
nav ul li a{
font-size:0.9em;
  padding:0 20px 0;    
} 
.top_menu .menu_t .logo{
width: 20%;	
display: block;   
}    
.top_menu .m1{
width: 80%;	   
}  
nav li.has-child ul{
  top:50px;
} 

.flex-text{
width: 100%;  
order: 2;    
margin-top: 5%;  
display: block;
margin: 0 auto;
}
.flex-photo{
width:100%; 
order: 1;      
}

.flex-illust{
width:100%;  
order: 3;       
}
 .flex-illust img{
width: 35% ;   
display: block;
margin: 0;    
}  
.g-box .map_img{
width: 85%;
display: block;
margin: 0;    
}
.g-box .illust_img{
width: 40%;
position:relative;
bottom:0;    
 right: 0;  
float:right;  
margin: 1% 0 2%;    
}
 .scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:20px;
	left:50%;
}
.flex-text1{
width: 100%;
order:2;    
}
.flex-photo1{
width: 100%; 
order:1;    
}

.flex-illust1{
width: 30%;  
margin-bottom: 5%;   
order:3;    
}

.flex-text2{
width:100%; 
order:2;    
}
.flex-photo2{
width: 100%; 
order:1;    
}

.flex-text3{
width: 100%;
order:2;    
}
.flex-photo3{
width: 100%; 
order:1;    
}

.flex-illust3{
width: 30%; 
margin-bottom: 5%; 
order:3;    
} 

.item{
width:calc(100% / 5);  
margin: 1%;  
text-align: center;
line-height: 1.75;
}
.item img{
width:100%;   
display: block;    
}     
    .company{
    width: 95%;
    display: block;
    margin: 0 auto;
    }    
.com-box1{
width:100%;
}
.com-box2{
width: 100%;
} 
.com-box2 img{
width: 30%;
float: right;
}    
.contact-flex{
    width: calc(95% / 2);
}
.g-box{
height: 400px;    
} 
.bus-text1{
top: 130px; 
}    
 .contents{
width:calc(98% / 4);   
} 
.bus-text2{
bottom: 30px;     
}  
.partner-box1{
width: 80%;
height: auto;       
}

.partner-box1 img{
  width: 100%;
}
.partner-text1{
  width: 100%;    
position: relative;
top:0;
right:0;  
}  
.btn2{
width: 50%;     
}   
.bus-text3{
width: 100%;    
}
.bus-photo3{
width: 100%;    
margin: 3% 0;    
}  
.flex-step{
 width: calc(100% / 3);  
} 
.bus-text5{
width: 100%;    
}    
.bus-photo5{
width: 100%; 
}
.bus-photo5 img{
 width: 35%;
float: right;
} 
.bus_p{
width: 95%;
margin: 2% auto;  
display: block;    
}    
}

@media all and  (max-width:950px){
    .kaigyo{
    display: block;    
    }
.text1 strong{
font-size: 1.3em;    
display: block;    
}
.top_menu .m1{
width: 75%;	   
}    
nav ul li li a{
  padding:20px 0px;
}    
    .top_menu .menu_t .logo{
   width: 25%;     
    }
.top_menu .menu_t .logo img{
width:  100%;	
display: block;
margin: 0 ;
}    
  .bus-text1{
top: 90px; 
}    
 .contents{
width:calc(98% / 4);   
} 
.bus-text2{
bottom: 10px;     
}    
 .scrolldown2{
display: none;
}       
.background1{	
background-attachment:local;    
}     
.heading{
 font-size: 1.5em;   
margin: 1% 0;    
}
.midashi h2{
font-size: 2em;		
}

.midashi p{
font-size: 2em;	 
}  
.text1{
font-size: 1em;   
}    
nav ul li a{
font-size:0.9em;
  padding:0 15px 0;    
}     

.f-contact{
width:calc(95% / 1);
padding: 1% 0;    
}   
.f-contact a img{
width: 60%;
display: block;
margin: 1% auto;
}  
.c_fonto{
text-align: center;
} 
.f-contact .f-tel a{
font-size: 1.8em;	    
}

.f-contact .f-fax{
font-size: 1.8em;    
}
   
  
.contact-box2 a{  
width: 90%;  
}
 .f-con a{
width:calc(95% / 3);
font-size: 1.5em;       
} 
    .recruit-img1{
    background: #fff;
    padding: 3%;    
    }    
.recruit-img1 h2{
position:relative;
top:0;
left: 0;    
font-size:2em;     
}

.recruit-img1 h3{
position:relative;    
top:0;
left: 0;      
font-size: 1.5em;      
}    
.recruit-img1 p{
position:relative;    
bottom:0;
left: 0;    
font-size: 1em;        
}
.recruit-img1 .btn{
position:relative;    
bottom:0;
left: 0;    
margin-bottom: 2%;    
}  

   .partner-img1 {
    background: #fff;
    padding: 3%;    
    }    
.partner-img1  h2{
position:relative;
top:0;
left: 0;    
font-size:2em;     
}

.partner-img1  h3{
position:relative;    
top:0;
left: 0;   
font-size: 1.5em;      
}    
.partner-img1  p{
position:relative;    
bottom:0;
left: 0;    
font-size: 1em;        
}
.partner-img1 .btn{
position:relative;    
bottom:0;
left: 0;    
margin-bottom: 2%;    
}    
.tiktok{
width: 30%; 
} 
.partner-box2{
width:100%;
  order: 1;
}
.partner-photo2{
width: 100%;
      order: 2;
    }
.partner-text2{
width: 100%;       
}    
.partner-box1{
width: 100%;   
}    
.flow-box1{
width: 100%;    
}
.flow-box2{
width: 100%;   
}   
.flow-box2 img{
width: 70%;   
display: block;
margin: 0 auto;
}  
.btn2{
width: 70%;    
display: block;
margin: 0 auto;
}  
 .bus-text4{
width: 100%;    
}
.bus-photo4{
width: 100%; 
}
.bus-photo4 img{
width: 35%; 
float: right;
}    
}
@media all and  (max-width:690px){

    .sp_l{
      text-align: left;
    }
    .text1{
    font-size: 0.9em;    
    }    
    .width3{
    width: 70%;    
    }
header{
    position:relative;
}    
    .top_menu .menu_t .logo{
   width: 60%;     
    }
.top_menu .menu_t .logo img{
width:  100%;	
display: block;
margin: 0 ;
}
.text1 strong{
font-size: 1.2em;    
display: block;    
} 
    .text2{
    font-size: 0.9em;    
    }   
.text3{
font-size: 0.9em;  
line-height: 200%;    
}
.text3 strong{
font-size: 1.3em;    
}  
.text4{
font-size: 1em;  
line-height: 200%;    
}
.text4 strong{
font-size: 1.1em;      
}
.text5{
font-size: 1.3em;  
}     
.heading{
 font-size: 1.3em;   
margin: 1% 0;    
}
.midashi h2{
font-size: 1.7em;	
line-height: 1.5;      
}

.midashi p{
font-size: 1.7em;
line-height: 1.5;    
}    

        .fullscreenmenu {
    display: block;    
    }
   .m1{
    display: none;
    }   
.contener{
max-width: 95%; 
display: block;
margin: 0 auto;
} 
.greeting-text strong{
font-size: 1.3em; 
}
.greeting-text { 
font-size:1em;
} 
.g-box {
width: 100%;
}    
.g-box .map_img{
width: 95%;
display: block;
margin: 0;    
}
.g-box .illust_img{
width: 60%;
position:relative;
bottom:0;    
 right: 0;  
float:right;  
margin: 1% 0 2%;    
}
  .f-contact .f-tel a{
font-size: 1.3em;	    
}

.f-contact .f-fax{
font-size: 1.3em;    
}

.f-contact .f-mail a{
font-size: 1.2em;	    
} 
 .flex-illust img{
width: 50% ;   
display: block;
margin: 0;   
     
}  
.f-contact .f-fax{
width: 85%;	    
} 
.f-contact .f-tel a{
width: 85%;	    
}     
.f-contact .f-mail a{
width: 85%;	 
margin-bottom: 2%;    
} 
 .contents{
width:calc(98% / 2);   
}     
.com-box2 img{
width: 50%;
float: right;
}
footer .copyright small{  
font-size: 0.7em;    
} 
.contact-flex{
    width: calc(100% / 1);
    margin-bottom: 2%;
}  

.table1 table th{
width: 100%;
display: block;    
border-bottom: 1px dotted #fff;  
padding: 2% 1%;
}

.table1 table td{
width: 100%;
display: block;  
padding: 1%;    
} 
.flex-illust1{
width: 35%;   
}
.flex-illust3{
width: 35%;       
} 
.item{
width:calc(95% / 2);  
margin-left: 1%;       
}    
.item2{
width:calc(95% / 3);  
margin-left: 1%;    
}     
.support-wrapper .table3{
  width: 100%;  
}
.support-wrapper .table2{
  width: 40%;  
}
.flex-box4{
width: 90%;
}   
.flex-box1{
justify-content:flex-start;  
}
 .organize-box{
 width: calc(90% / 1);   
    margin-top: 2%; 
} 
.table4 table th{
font-size: 0.7em;
padding: 1%;    
}

.table4 table td{
font-size: 0.7em;	
padding: 1%;        
}

.table5 table th{
font-size: 0.7em;	
padding: 1%;        
}

.table5 table td{
font-size: 0.7em;	
padding: 1%;        
}    
.b_a-box a{
font-size: 0.8em;   
}  
.contact-box2 a{   
font-size: 1.3em;   
width: 80%;    
}
.bus-photo{
width:100%;    
display: block;
margin: 0 auto;
    
}    
.bus-text1{
width: 100%;    
position: relative;
top: 0;
padding: 1%;    
}

.bus-text1 p{
color: #333;    
    text-shadow    : 
       1px  1px 0px #ffffff,
      -1px  1px 0px #ffffff,
       1px -1px 0px #ffffff,
      -1px -1px 0px #ffffff,
       1px  0px 0px #ffffff,
       0px  1px 0px #ffffff,
      -1px  0px 0px #ffffff,
       0px -1px 0px #ffffff;   
}
.bus-text2{
width: 90%;    
position:static;
bottom: 0; 
left: 0;  
display: block;
margin: 0 auto;
}
.btn-flex{
position:static;
bottom: 0; 
left: 0;  
display: block;
margin: 0 auto;    
} 
.button3{
    width:40px;
height:40px;  
line-height: 35px;  
font-size: 1em;    
}    
.f-box{
width: calc(98% / 2);    
}
.g-box .map_img1{
width: 90%;  
}   

.border{
border-right: 1px dotted rgba(255,255,255,0);
border-left: 1px dotted rgba(255,255,255,0);   
border-top: 1px dotted #333;
border-bottom: 1px dotted #333;       
 margin: 1% ;   
}    
.f-con{
width:100%;
padding: 3%;  
color:#023859;    
margin-bottom: 2%;    
}  
footer .footer-box .footer-back{
    margin-top: 2%;
    }
.button {

    margin-top: 0%;
}  
.recruit-img1 h2{ 
font-size:1.3em;     
}

.recruit-img1 h3{
font-size: 1.1em;      
}    
.recruit-img1 p{   
font-size: 0.9em;        
} 
 
.partner-img1  h2{ 
font-size:1.3em;     
}

.partner-img1  h3{
font-size: 1.1em;      
}    
.partner-img1  p{   
font-size:0.9em;        
}     
.tiktok{
width: 50%; 
}   
.flow-box1 .flow-text{
font-size: 1.3em;   
}
.flow-box1 .flow-text .number{
font-size:0.7em;    
}   
.flex-step{
 width: calc(100% / 2);  
}  
.step-text p{
 font-size: 0.7em;         
}

.step-text .number{
 font-size: 1.2em;     
}  
.step-box1{
padding: 5%;    
}    
}

@media all and  (max-width:450px){

}
@media all and  (max-width:380px){

} 
    