@charset "UTF-8";

body{
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴシック",sans-serif;
}



.headerWrapper{
    width:100%;
    height: 60px;

}

@media(min-width:768px){
    .headerWrapper{
        width:90%;
        height: 100px;
        display:flex;
        justify-content: space-between;
        margin:0 auto;  
    }
}
@media(min-width:960px){
    .headerWrapper{
        max-width:1100px;
        width:100%;
    }
}


.header img{
    width:212px;
    height:37px ;
    padding: 11.5px 0 0 15px;
    
}
@media(min-width:768px){
    .header img{
        width:286px;
        height:50px ;
        padding-top:25px;
    }
}

.btnArea{
    display: none;
}

@media(min-width:768px){
    .btnArea{
        display:flex;
    }
}
@media(min-width:768px){
a.Btn{
    height: 20px;
    padding:15.335px 60.5px 11.335px 60.5px;
    border: 2px solid #23A2C7;
    border-radius: 10px;
    position: relative;
    top:25px;
    font-size:15px;
    font-weight: bold;
    color:#23A2C7;
    transition-property:color;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;

}
}

@media(min-width:768px){
.Btn{
    color: #23A2C7;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}}

@media(min-width:768px){
.Btn::before,
.Btn::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -155px;
    margin: auto;
    content: "";
    vertical-align: middle;
}}


@media(min-width:768px){
.Btn::before{
    left: 4px;
    width: 6px;
    height: 2px;
    background: #23A2C7;
}}
@media(min-width:768px){
.Btn::after{
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #23A2C7;
    border-right: 2px solid #23A2C7;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}}

@media(min-width:768px){
a.Btn:hover{
    color:#4CC1E4;
    transition-property:color;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;
}
}

.kv img{
    width: 90%;
    height: 140vw;
    object-fit: cover;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 30px;
    margin: 0 auto;
    position: relative;
}
@media(min-width:768px){
    .kv img{
        height: 115vw;

    }
}
@media(min-width:960px){
    .kv img{
        max-width:1100px;
        width:90%;
        height: auto;
        
    }
}


.kvcp{
    position: absolute;
    top:25%;
    right: 35%;
}

@media(min-width:768px){
    .kvcp{
        top:30%;
        right: 25%;

    }
}

@media(min-width:960px){
    .kvcp{
        top:30%;
        right: 28%;
    }
}

.kv h1{
    font-size:24px;
    font-weight:bold;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl; 
    letter-spacing: 0.3em;
    line-height: 180%;

}


.ABOUT{
    width:100%;
    height: 450px;
    background-color: #F2F2F2;
    margin-top:-300px;
    padding-top:300px;
    border-bottom-right-radius: 40px;
  
}

@media(min-width:960px){
    .ABOUT{
        height: 350px;
    }
}



.ABOUT .textarea{
    width:90%;
    margin:0 auto;
    margin-top:50px;
}
@media(min-width:960px){
    .ABOUT .textarea{
        display:flex;
        justify-content: center;
    }
}


.ABOUT h1{
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.12em;
    line-height: 1.6;
}

@media(min-width:960px){
    .ABOUT h1{
        font-size:24px;
        font-weight:bold;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode:vertical-rl; 
        letter-spacing: 0.3em;
        line-height: 150%;
    }
}

.ABOUT p{
    font-size: 15px;
    font-weight:Medium;
    letter-spacing: 0.08em;
    line-height: 2;
    margin-top:15px;
}

@media(min-width:960px){
    .ABOUT p{
        margin-left:30px;
        letter-spacing: 0.08em;
        line-height: 2.4;


    }
}




.SERVICE h2{
    font-size:24px;
    font-weight:bold;
    letter-spacing: 0.08em;
    line-height: 1.33;
    text-align: center;
    

}

.border{
    width: 50px;
    margin:0 auto;
    margin-top:20px;
    border-width: 2px 0px 0px 0px; /* 太さ */
    border-style: solid; /* 線種 */
    border-color: #23A2C7;   /* 線色 */
    height: 1px;         /* 高さ(※古いIE用) */
}

.SERVICE h3{
    font-size:22px;
    font-weight:bold;
    letter-spacing: 0.08em;
    line-height: 1.45;
    color:#333333;
    margin-top:30px;


}

.SERVICE h4{
    font-size:15px;
    font-weight:bold;
    letter-spacing: 0.08em;
    line-height: 2.1;
    color:#23A2C7;
    margin-top:20px;

}

.SERVICE p{
    font-size:15px;
    font-weight:medium;
    letter-spacing: 0.08em;
    line-height: 2;
    color:#333333;
    margin-top:30px;


}

.SERVICE{
    max-width:1000px;
    width:90%;
    margin:0 auto;
    margin-top:70px;
}

.reverse1{
    margin-top:40px;
}

@media(min-width:960px){
    .reverse1{
        display:flex;
    }
}

@media(min-width:960px){
    .reverse1 .txtArea{
        width:40%;
        margin:0 auto;
    }
}

@media(min-width:960px){
    .reverse1 .imgArea{
        width:48%;
        margin:0 auto;
    }
}
.reverse2{
    display: flex;
    flex-direction: column;
    margin-top:50px;

}

@media(min-width:960px){
    .reverse2{
        display: flex;
        flex-direction:initial;
        margin-top:80px;
        

    }
}

.reverse2 .txtArea{
    order:2;
}

@media(min-width:960px){
    .reverse2 .txtArea{
        order:1;
        width:40%;
        margin:0 auto;
    }
}

.reverse2 .imgArea{
    order:1;
}

@media(min-width:960px){
    .reverse2 .imgArea{
        order:2;
        width:48%;
        margin:0 auto;
    }
}

.SERVICE img{
    width: 95%;
}

@media(min-width:960px){
    .SERVICE img{
        width: 100%;
    }
}

@media(min-width:960px){
    .img3{
        margin-top:80px;
    }
}

.RECRUIT{
    max-width:1000px;
    width:90%;
    height: 570px;
    margin:0 auto;
    margin-top:70px;
    background-color:#F2F2F2 ;
    border-radius: 60px;

}

@media(min-width:768px){
    .RECRUIT{
        height: 450px;
        
    }
}

@media(min-width:960px){
    .RECRUIT{
        height: 320px;
    }
}

@media(min-width:960px){
    .VVV{
        display:flex;
        padding-top:30px;
    }
}




.RECRUIT h2{
    font-size:24px;
    font-weight:bold;
    letter-spacing: 0.08em;
}

.RECRUIT p{
    font-size:15px;
    font-weight:Medium;
    letter-spacing: 0.08em;
    line-height: 2;
}
.border1{
    width: 50px;
    margin:0 auto;
    margin-top:20px;
    border-width: 2px 0px 0px 0px; /* 太さ */
    border-style: solid; /* 線種 */
    border-color: #23A2C7;   /* 線色 */
    height: 1px;         /* 高さ(※古いIE用) */
}

@media(min-width:960px){
    .border1{
        width:60px;
        margin:20px 0 0 5px;
        
    }
}


.ttt{
    text-align: center;
    padding-top:50px;
}

@media(min-width:960px){
    .ttt{
        width:12%;
        margin:0 auto;

    }
}


.Rttx{
    width:90%;
    margin:0 auto;
    padding-top:40px;
}

@media(min-width:960px){
    .Rttx{
        width:58%;
        margin:0 auto;
    }
}

.RbtnArea{
    margin-top:40px;
}

@media(min-width:960px){
    .RbtnArea{
        margin:-55px 0 0 7%;
    }
}

a.Rbtn{
    width:296px;
    display:block;
    text-align:center;
    padding:13px 0 13px;
    border: 2px solid #23A2C7;
    border-radius: 10px;
    color: #23A2C7;
    vertical-align:middle;
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
    transition-property:color;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;
    letter-spacing: 0.08em;
    line-height: 1.7;
    position: relative;
    left: 0;
    right: 0;
    margin:auto;
}
@media(min-width:960px){
    a.Rbtn{
        width:196px;
        margin:0;
    }
}

.Rbtn::before,
.Rbtn::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -250px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
@media(min-width:960px){
    .Rbtn::before,
    .Rbtn::after{
        right:-170px;

}
}

.Rbtn::before{
    left: 4px;
    width: 6px;
    height: 2px;
    background: #23A2C7;
}
.Rbtn::after{
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #23A2C7;
    border-right: 2px solid #23A2C7;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


a.Rbtn:hover{
    color:#4CC1E4;
    transition-property:color;
    transition-duration:0.3s;
    transition-timing-function:ease;
    transition-delay:0.1s;

}


#instagram{
    background-color: #F2F2F2;
    height: 520px;
    margin-top:70px;
    
}

@media(min-width:768px){
    #instagram{
        height: 350px;
    }
}

@media(min-width:960px){
    #instagram{
        height: 360px;
    }
}

#instagram img{
    width:155px;
    margin:0 auto;
    padding-bottom:20px;
}
@media(min-width:960px){
    #instagram img{
        width: 220px;
    }
}

.instagram-gallery{
    width: 90%;
    margin:0 auto;
    padding-top:70px;
}

.instagram-gallery__list{
    width:100%;
    margin:0 auto;
    
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-between;

}

@media(min-width:960px){
    .instagram-gallery__list{
        max-width:1000px;
        display: flex;
        justify-content: space-between;
       
    }
}


.instagram_A{
    font-weight:bold;
    line-height: 150%;
    color:#23A2C7;
    margin-left:55%;
    font-size:16px;
}

@media(min-width:768px){
    .instagram_A{
        margin-left:77%;
    }
}

@media(min-width:960px){
    .instagram_A{
        margin-left:72%;
    }
}

.footer{
    width:90%;
    margin:0 auto;

}

@media(min-width:960px){
    .footer{
        display:flex;
        flex-direction:row;
        justify-content:space-between;
        max-width:1000px;
    }
}

.footerCompany {
    border-top: solid 2px #23A2C7;
    border-bottom: solid 2px #23A2C7;
    height: 330px;
    padding:20px 0 40px 0;
    margin-top:50px;
 
}
@media(min-width:960px){
    .footerCompany{
        order:2;
        width:39%;
        margin:0 auto;
        margin-top:50px;
        padding:30px 0 25px 40px;
        height: 240px;;
    }
}



.w28{
    width:85px;
    font-size:15px;
    font-weight:bold;
    letter-spacing: 0.08em;
    line-height: 2;
    padding-bottom:40px;
    position: relative;
    left: 21px;

}
@media(min-width:960px){
    .w28{
        font-weight:normal;
        position: initial;
        left:0;
        padding-bottom:15px;
        
    }
}

.w30{
    font-size:15px;
    font-weight: normal;
    letter-spacing: 0.08em;
    line-height: 2;
    position: relative;
    top:30px; 
    left: -60px;

}
@media(min-width:960px){
    .w30{
        position: initial;
        top:0;
        left:0;
        padding-left:35px;
        
    
    }
}

.footerLogos{
    margin-top:40px;
}
@media(min-width:960px){
    .footerLogos{
        order:1;
        width:36%;
        margin:0 auto;
        margin-top:50px;
    }
}

.footerLogos p{
    font-size:15px;
    font-weight:medium;
    letter-spacing: 0.08em;
    line-height: 1.6;
}
@media(min-width:960px){
    .footerLogos p{
        margin-top:30px;
    }
}

.fimg{
    width: 286px;
}

.footerLogos ul{
    display:flex;
    justify-content: space-between;
    height: 50px;
    margin-top:20px;
}

@media(min-width:960px){
    .footerLogos ul{
        margin-top:40px;

    }
    
}
.footerLogos .Logos1{
    width:45px;
    position: relative;
    top:5px;

}

@media(min-width:768px){
    .footerLogos .Logos1{
        width: 65px;
        position: relative;
        top:8.5px;
    
    }
}
.footerLogos .Logos2{
    width:42px;
    position: relative;
    top:4px;
}

@media(min-width:768px){
    .footerLogos .Logos2{
        width: 65px;
        position: relative;
        top:6px;
    
    }
}

.footerLogos .Logos3{
    height: 33px;
    position: relative;
    top:0;
}
@media(min-width:768px){
    .footerLogos .Logos3{
        height: 40px;
        position: relative;
        top:5px;
    
    }
}
.footerLogos .Logos4{
    width: 63px;
    position: relative;
    top:5px;  
}
@media(min-width:768px){
    .footerLogos .Logos4{
        width:97.6px;
        position: relative;
        top:5px;
    
    }
}
.footerLogos .Logos5{
    width: 60px;
    position: relative;
    top:0;
}
@media(min-width:768px){
    .footerLogos .Logos5{
        width:68.8px;
        position: relative;
        top:5px;
}}
.footerBtm{
    color: #FFFFFF;
    font-size:10px;
    font-weight:Medium;
    letter-spacing: 0.08em;
    height: 30px;
    background-color:#23A2C7 ;
    text-align: center;
    padding-top:25px;
    margin-top:20px;
    
}

@media(min-width:960px){
.footerBtm{
    color: #FFFFFF;
    font-size:11px;
    font-weight:Medium;
    letter-spacing: 0.1em;
    height: 30px;
    background-color:#23A2C7 ;
    text-align: center;   
}
}