*{
    padding: 0;
    margin: 0;
}

/* 共通 */

body {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    color: #46494D;
    letter-spacing: 2px;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    color: #46494D;
}

.eng_ttl {
    margin-top: 100px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 19px;
    letter-spacing: 3px;
}
.eng_ttl::before {
    content: '';
    width: 113px;
    height: 1px;
    display: inline-block;
    background-color: #01A3E4;
    vertical-align: 6px;
    margin-right: 18px;
}
.eng_ttl02 {
    margin-top: 63px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 19px;
    letter-spacing: 3px;
}
.eng_ttl02::before {
    content: '';
    width: 113px;
    height: 1px;
    display: inline-block;
    background-color: #fff;
    vertical-align: 6px;
    margin-right: 18px;
}

.blue {
    color: #01A3E4;
}

.white {
    color: #FFF;
}

.btnBox_blue {
    display: flex;
    justify-content: space-between;
    border: 1px #01A3E4 solid;
    border-radius: 25px;
    width: 210px;
    padding: 12px 30px;
    color: #01A3E4;
    box-sizing: border-box;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 3px;
    transition: 0.5s;
    margin-bottom: 10px;

}
.btnBox_blue:hover {
    display: flex;
    justify-content: space-between;
    border: 1px #01A3E4 solid;
    background-color: #d8edf6;
    border-radius: 25px;
    width: 210px;
    padding: 12px 30px;
    color: #01A3E4;
    box-sizing: border-box;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 3px;

}
.btnBox_white {
    display: flex;
    justify-content: space-between;
    border: 1px #fff solid;
    background-color: rgba(255,255,255,0.3);
    border-radius: 25px;
    width: 210px;
    padding: 12px 30px;
    color: #fff;
    box-sizing: border-box;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 3px;
    transition: 0.5s;
    margin-bottom: 10px;

}
.btnBox_white:hover {
    display: flex;
    justify-content: space-between;
    border: 1px #fff solid;
    background-color: #d8edf6;
    border-radius: 25px;
    width: 210px;
    padding: 12px 30px;
    color: #fff;
    box-sizing: border-box;
    font-weight: 300;
    font-size: 13px;
    letter-spacing: 3px;

}


.btn02 {
    display: block;
    border: solid 1px #01A3E4;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    position: relative;
}
.btn02:hover {
    display: block;
    border: solid 1px #01A3E4;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    position: relative;
}

.btn02::before {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    background-color: #01A3E4;
    position: absolute;
    transform: rotate(36.87deg);
    top: 9px;
    left: 9px;
}
.btn02::after {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    background-color: #01A3E4;
    position: absolute;
    transform: rotate(-36.87deg);
    top: 12px;
    left: 9px;
}
.btn03 {
    display: block;
    border: solid 1px #fff;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    position: relative;
}
.btn03:hover {
    display: block;
    border: solid 1px #fff;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    position: relative;
}

.btn03::before {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    background-color: #fff;
    position: absolute;
    transform: rotate(36.87deg);
    top: 9px;
    left: 9px;
}
.btn03::after {
    content: '';
    width: 5px;
    height: 1px;
    display: inline-block;
    background-color: #fff;
    position: absolute;
    transform: rotate(-36.87deg);
    top: 12px;
    left: 9px;
}

.w_pc {
    width: 80%;
    /* background-color: red; */
    margin: auto;
} 

.breadcrumb_nav {
    margin-top: 30px;
    margin-bottom: 50px;
}

.breadcrumb {
    list-style: none;
    display: flex;
    font-weight: 300;
}

.breadcrumb_list {
    color: #01A3E4;
    font-size: 13px;
    transition: 0.5s;
}
.breadcrumb_list:hover {
    opacity: 50%;
}

.breadcrumb_box {
    position: relative;
    padding-right: 50px;
}

.breadcrumb_list::after {
    content: '';
    width: 20px;
    height: 1px;
    display: inline-block;
    background-color: #01A3E4;
    position: absolute;
    top: 12px;
    right: 13px;

}

.breadcrumb_text {
    font-size: 13px;
    padding-top: 3px;
}


.ttl {
    height: 278px;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 7%;
    box-sizing: border-box;
}

.ja_ttl {
    font-size: 50px;
    letter-spacing: 20px;
    color: #fff;
    text-shadow: 2px 3px 3px rgba(81, 78, 78, 0.25);
}

/* 共通　tb */
@media screen and (max-width: 960px) {
        .btn01 {
        display: block;
        border: solid 1px #fff;
        border-radius: 50%;
        width: 22px;
        height: 22px;
        position: relative;
    }

    .btn01::before {
        content: '';
        width: 5px;
        height: 1px;
        display: inline-block;
        background-color: #fff;
        position: absolute;
        transform: rotate(36.87deg);
        top: 9px;
        left: 9px;
    }
    .btn01::after {
        content: '';
        width: 5px;
        height: 1px;
        display: inline-block;
        background-color: #fff;
        position: absolute;
        transform: rotate(-36.87deg);
        top: 12px;
        left: 9px;
    }
    .w_pc {
    width: 70%;
    /* background-color: red; */
    margin: auto;
} 


}


/* 共通 sp */

@media screen and (max-width: 767px) {
    body {
        font-family: "Zen Old Mincho", serif;
        font-weight: 700;
        font-style: normal;
        font-size: 14px;
        color: #46494D;
        letter-spacing: 2px;
    }



    .ttl {
        height: 147px;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 10% 7%;
        box-sizing: border-box;
    }

    .ja_ttl {
        font-size: 28px;
        letter-spacing: 16px;
        color: #fff;
        text-shadow: 2px 3px 3px rgba(81, 78, 78, 0.25);
    }


    
}

/* top_bar */

.top_bar {
    width: auto;
    margin: auto;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

h1 {
    width: 300px;
}

h1 a {
    transition: 0.5s;
}

h1 a:hover {
    opacity: 60%;
}

.titleFlex {
    display: flex;
    font-size: 18px;
    height: 37px;
    line-height: 15px;
}

.title_box {
    margin-left: 10px;
    padding-top: 3px;
}

.logoBox {
    background-color: aliceblue;
    width: 37px;
}

.logoBox img {
    width: 37px;
}

.title_small {
    font-size: 11px;
}

.nav_pc {
    display: flex;
    justify-content: space-between;
    width: 70%;
}

.nav_pc li {
    padding-top: 6px;
    box-sizing: border-box;
    font-size: 16px;
}

.nav_list {
    transition: 0.5s;
}

.nav_list:hover {
    opacity: 60%;

} 


.contactBtn {
    padding-top: 0px;
}

.contactBtn a {
    display: block;
    width: 133px;
    height: 37px;
    line-height: 37px;
    background-color: #01A3E4;
    border: solid 1px #01A3E4;
    border-radius: 50px;
    color: #fff;
    text-align: center;
    font-weight: 400;
    padding-top: 0px;
    transition: 0.5s;
}
.contactBtn a:hover {
    display: block;
    width: 133px;
    height: 37px;
    line-height: 37px;
    background-color: #FFF;
    border: solid 1px #01A3E4;
    border-radius: 50px;
    color: #01A3E4;
    text-align: center;
    font-weight: 400;
    padding-top: 0px;
}


.window_icon {
    width: 16px;
}

.menuBtn {
    display: none;
}

.nav_sp {
    display: none;
}
/* top_bar tb */

@media screen and (max-width: 960px) {
    .nav_pc {
        display: none;
    }

        .menuBtn {
        display: block;
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
        width: 23px;
        height: 20px;
        position: relative;
        margin-top: 4px;
        z-index: 100;
    }
    

    .border1 {
        position: absolute;
        display: block;
        width: 23px;
        border-bottom: 1px solid #01A3E4;
        top: 0;
        transition: 0.5s;
        
    }
    .border2 {
        position: absolute;
        display: block;
        width: 23px;
        border-bottom: 1px solid #01A3E4;
        transition: 0.5s;

    }
    .border3 {
        position: absolute;
        display: block;
        width: 23px;
        border-bottom: 1px solid #01A3E4;
        bottom: 0;
        transition: 0.5s;

    }
    .on1 {
        position: fixed;
        display: block;
        width: 23px;
        border-bottom: 1px solid #fff;
        top: 24px;
        transform: rotate(45deg);
        transition: 0.5s;
    }
    .on2 {
        position: fixed;
        display: block;
        width: 23px;
        border-bottom: 1px solid #fff;
        transform: rotate(45deg);
        transition: 0.5s;
        top: 25px;
    }
    .on3 {
        position: fixed;
        display: block;
        width: 23px;
        border-bottom: 1px solid #fff;
        height: 1px;
        top: 24px;
        transform: rotate(-45deg);
        transition: 0.5s;
    }

    .nav_sp {
        display: none;
        background-image: linear-gradient(0deg, rgba(0, 161, 233, 0.9), rgba(127, 196, 227, 0.9));
        width: 40%;
        height: 100vh;
        position: fixed;
        right: 0;
        top: 0;
        padding-top: 80px;
        padding-left: 40px;
        padding-right: 55px;
        box-sizing: border-box;
        z-index: 99;
    }

    .nav_sp li a {
        display: flex;
        justify-content: space-between;
    }
    .nav_list_sp {
        border-bottom: #FFF solid 1px;
        padding-bottom: 20px;
        padding-top: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: auto;
        color: #FFF;
        font-weight: 400;
        transition: 0.5s;
    }

    .nav_list_sp:hover {
        border-bottom: #FFF solid 1px;
        padding-bottom: 9px;
        padding-top: 9px;
        padding-left: 10px;
        padding-right: 10px;
        width: auto;
        color: #FFF;
        font-weight: 400;
        opacity: 80%;
    }
    body .contactBtn a {
        display: block;
        width: auto;
        height: 50px;
        line-height: 50px;
        background-color: #fff;
        border: solid 1px #01A3E4;
        border-radius: 50px;
        color: #01A3E4;
        text-align: center;
        font-weight: 400;
        padding-top: 0px;
        transition: 0.5s;
        margin-top: 17px;
        transition: 0.5s;
    }


    body .contactBtn a:hover {
        display: block;
        width: auto;
        height:50px;
        line-height: 50px;
        background-color: #fff;
        border: solid 1px #01A3E4;
        border-radius: 50px;
        color: #01A3E4;
        text-align: center;
        font-weight: 400;
        padding-top: 0px;
        transition: 0.5s;
        margin-top: 17px;
        opacity: 50%;
    }

    .listSmall {
        display: flex;
        justify-content: space-between;
    }

    .nav_listSmall {
        color: #FFF;
        font-size: 10px;
        margin-top: 12px;
    }
}



/* top_bar sp */

@media screen and (max-width: 767px) {
    header {
        position: relative;
    }
    .top_bar {
        width: 95%;
        margin: auto;
        padding: 10px;
        display: flex;
        justify-content: space-between;
    }
    .titleFlex {
        display: flex;
        font-size: 13px;
        height: 37px;
        line-height: 15px;
    }
    .title_small {
        font-size: 8px;
    }
    .nav_pc {
        display: none;
    }
    .nav_sp {
        width: 80%;
    }
        .nav_list_sp {
        border-bottom: #FFF solid 1px;
        padding-bottom: 12px;
        padding-top: 12px;
        padding-left: 10px;
        padding-right: 10px;
        width: auto;
        color: #FFF;
        font-weight: 400;
        transition: 0.5s;
    }
        body .contactBtn a {
        display: block;
        width: auto;
        height: 37px;
        line-height: 37px;
        background-color: #fff;
        border: solid 1px #01A3E4;
        border-radius: 50px;
        color: #01A3E4;
        text-align: center;
        font-weight: 400;
        padding-top: 0px;
        transition: 0.5s;
        margin-top: 17px;
        transition: 0.5s;
    }

    body .contactBtn a:hover {
        display: block;
        width: auto;
        height: 37px;
        line-height: 37px;
        background-color: #fff;
        border: solid 1px #01A3E4;
        border-radius: 50px;
        color: #01A3E4;
        text-align: center;
        font-weight: 400;
        padding-top: 0px;
        transition: 0.5s;
        margin-top: 17px;
        opacity: 50%;
    }



}

/* fv */

.fvBox {
    background-image: url(../images/fv_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 70vh;
}

.subTitle {
    font-size: 50px;
    line-height: 36px;
    color: #fff;
    text-shadow: 2px 3px 3px rgba(81, 78, 78, 0.25);
    display: block;
    position: absolute;
    top: 39%;
    left: 10%;
}

.fv_desc {
    display: block;
    padding-top: 38px;
    font-size: 16px;
}

/* fv sp */
@media screen and (max-width: 960px) {
    .fvBox {
    background-image: url(../images/fv_tb.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 70vh;
}

}

@media screen and (max-width: 767px) {
    .fvBox {
        background-image: url(../images/fv_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        height: 80vh;
    }

    .subTitle {
        width: 286px;
        height: 208px;
        /* background-color: red; */
        font-size: 28px;
        line-height: 30px;
        color: #fff;
        text-shadow: 2px 3px 3px rgba(81, 78, 78, 0.25);
        display: block;
        position: absolute;
        /* bottom: 6%; */
        top: 63%;
        left: 4%;
        z-index: 98;
    }

    .fv_desc {
        display: block;
        padding-top: 22px;
        font-size: 14px;
    }
}

/* company */

.company {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
}

.secSubTitle {
    padding-top: 20px;
    font-size: 25px;
    line-height: 43px;
    margin-bottom: 30px;
}

.secDesc {
    display: block;
    padding-top: 20px;
    font-size: 16px;
    line-height: 27px;
    font-weight: 300;
}

.company_left {
    padding-bottom: 77px;
    box-sizing: border-box;
}

.company_right {
    width: 50%;
    position: relative;
}
.company_img {
    width: 100%;
    position: absolute;
    bottom: 0;
}

.company_img_sp {
    display: none;
}
@media screen and (max-width: 960px) {
    .company {
    margin-top: 100px;
    display: block;
    justify-content: space-between;
    }
    .company_left {
    padding-bottom: 0px;
    box-sizing: border-box;
}
    .company_right {
    width: 100%;
    height: 300px;
    position: relative;
}
    .company_img {
    width: 59%;
    position: static;
    bottom: 0;
    display: block;
    margin-right: 0;
    border-left: 20px;
    margin-left: auto;
}

}


@media screen and (max-width: 500px) {

    .company {
        display: block;
    }

    .eng_ttl {
        margin-top: 100px;
        font-family: "Zen Maru Gothic", serif;
        font-weight: 700;
        font-style: normal;
        font-size: 13px;
        letter-spacing: 2px;
    }

    .eng_ttl::before {
        content: '';
        width: 75px;
        height: 1px;
        display: inline-block;
        background-color: #01A3E4;
        vertical-align: 6px;
        margin-right: 18px;
    }

    .eng_ttl02 {
        margin-top: 63px;
        font-family: "Zen Maru Gothic", serif;
        font-weight: 700;
        font-style: normal;
        font-size: 13px;
        letter-spacing: 3px;
    }
    .eng_ttl02::before {
        content: '';
        width: 75px;
        height: 1px;
        display: inline-block;
        background-color: #fff;
        vertical-align: 6px;
        margin-right: 18px;
    }

    .secSubTitle {
        padding-top: 20px;
        font-size: 18px;
        line-height: 32px;
        margin-bottom: 30px;
    }

    .secDesc {
        display: block;
        padding-top: 20px;
        font-size: 14px;
        line-height: 27px;
        font-weight: 300;
    }

    .company_img {
        display: none;
    }

    .company_img_sp {
        display: block;
        width: 100%;
    }

    .company_right {
        width: auto;
        position: relative;
    }
}

/* buisiness */

.buisiness {
    background-image: url(../images/buisiness_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 508px;
    margin-top: 100px;

}

.textBox {
    width: 40%;
    margin-left: auto;
    padding-top: 50px;
    box-sizing: border-box;

}
@media screen and (max-width: 960px) {
    .buisiness {
        background-image: url(../images/buisiness_bg_tb.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        height: 558px;
        margin-top: 100px;
    
    }
    .textBox {
    width: 57%;
    margin-left: auto;
    padding-top: 50px;
    box-sizing: border-box;
}


}

@media screen and (max-width: 767px) {
    .buisiness {
        background-image: url(../images/buisiness_bg_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        height: 558px;
        margin-top: 100px;
    
    }

    .textBox {
        width: 80%;
        margin: auto;
        padding-top: 50px;
        box-sizing: border-box;
    }
}

/* partner */

.partner {
    background-image: url(../images/partner_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 508px;

}

.textBox02 {
    width: 40%;
    margin-left: 0;
    padding-top: 50px;
    box-sizing: border-box;
    padding-left: 10%;
}

@media screen and (max-width: 960px) {
    .partner {
    background-image: url(../images/partner_bg_tb.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 508px;
    }
    .textBox02 {
    width: 56%;
    margin-left: 0;
    padding-top: 50px;
    box-sizing: border-box;
    padding-left: 10%;
}
}

@media screen and (max-width: 767px) {
    .partner {
        background-image: url(../images/partner_bg_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        height: 558px;
    
    }

    .textBox02 {
        width: auto;
        margin: auto;
        padding-top: 50px;
        box-sizing: border-box;
    }
}

/* recruit */

.recruit {
    background-color: rgba(109, 202, 240, 0.2);
    border-radius: 80px 13px 80px;
    display: flex;
    justify-content: space-around;
    width: 80%;
    margin: 100px auto;
}

.recruit_right {
    padding-bottom: 100px;
}

.recruit_left {
    width: 40%;
}

.recruit_img {
    width: 100%;
    padding-top: 98px;
}
@media screen and (max-width: 960px) {
    .recruit {
        background-color: rgba(109, 202, 240, 0.2);
        border-radius: 80px 13px 80px;
        display: flex;
        justify-content: space-around;
        width: 80%;
        margin: 100px auto;
        box-sizing: border-box;
    }
    .recruit_left {
    width: 45%;
    }

    .recruit_img {
    width: 100%;
    padding-top: 157px;
}

}

@media screen and (max-width: 767px) {
    .recruit {
        display: flex;
        flex-direction: column-reverse;
    }

    .recruit_right {
        padding-bottom: 30px;
        width: 80%;
        margin: auto;
    }

    .recruit_left {
        width: 80%;
        margin: auto;
    }

    .recruit_img {
        width: 100%;
        padding-top: 0px;
        padding-bottom: 50px;
    }
}

/* footer */

footer {
    background-image: url(../images/footer_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 348px;
    padding-top: 49px;
    box-sizing: border-box;
}

.footerBox {
    width: 90%;
    margin: auto;
    display: flex;
    justify-content: center;
}

.footer_left, .footer_center, .footer_right {
    width: 30%;
}
.footer_center {
    width: 41%;
    display: flex;
    justify-content: center;
    border-left: #01A3E4 1px solid;
    border-right: #01A3E4 1px solid;
}

.footer_left {
    padding-top: 53px;
    width: 33%;
}

.footer_navList{
    padding-bottom: 20px;
    font-weight: 300;
    transition: 0.5s;
}
.footer_navList:hover{
    padding-bottom: 20px;
    font-weight: 300;
    opacity: 50%;
}

.address {
    font-size: 13px;
    font-weight: 300;
    display: block;
    padding-top: 20px;
}


.footer_center {
    display: flex;
    justify-content: center;
}

.nav_right,.nav_left {
    width: 30%;
}

.nav_left li, .nav_right li {
    padding-bottom: 20px;
}

.telNum {
    width: 92%;
    display: block;
    font-size: 28px;
    letter-spacing: 5px;
    color: #fff;
    margin-left: auto;
    text-align: center;
}

.time {
    display: block;
    font-size: 13px;
    padding-top: 10px;
    padding-bottom: 15px;
    padding-right: 26px;
    font-weight: 300;
}

.contactBtn02 {
    display: block;
    width: 100%;
    background-color: rgba(109, 202, 240, 0.7);
    font-size: 16px;
    font-weight: 300;
    border-radius: 50px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    margin-top: 10px;
    transition: 0.5s;
    margin-left: auto;

}
.contactBtn02:hover {
    display: block;
    width: 253px;
    background-color: rgba(109, 202, 240, 1);
    font-size: 16px;
    font-weight: 300;
    border-radius: 50px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    margin-top: 10px;

}


.footer_right {
    width: 30%;
    padding-top: 40px;
}

.footer_sp {
    display: none;
}

small {
    display: block;
    text-align: center;
    color: #c8c1c1;
    padding-top: 19px;
    box-sizing: border-box;
}

@media screen and (max-width: 960px) {

    .footer_pc {
        display: none;
    }

    .footer_sp {
        padding-top: 45px;
        display: block;
        width: 50%;
        margin: auto;
    }

    footer {
        background-image: url(../images/footer_bg_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        display: flex;
        padding-bottom: 826px;
    }

    .ft_size {
        font-size: 17px;
    }

    .ft_title_small {
        font-size: 11px;
    }

    .address {
        font-size: 12px;
        font-weight: 300;
        display: block;
        padding-top: 13px;
        padding-bottom: 40px;
    }

    .footer_navList {
        display: block;
        border-bottom: solid 1px #01A3E4;
        display: flex;
        justify-content: space-between;
        padding: 15px;
        font-weight: 300;
        transition: 0.5s;
    }

    .navList_flex {
        display: flex;
        justify-content: space-between;
        padding: 15px;
    }

    .smallList {
        font-size: 11px;
    }

    .contact_txBox {
        padding-top: 30px;
        text-align: center;
    }

    .time {
        padding-left: 0px;
    }

    .contactBtn02 {
        margin: auto;
    }

    small {
        display: block;
        text-align: center;
        color: #c8c1c1;
        padding-top: 19px;
    }
}
@media screen and (max-width: 767px) {
        .footer_sp {
        padding-top: 45px;
        display: block;
        width: 80%;
        margin: auto;
    }

}



