/* ft0001 --------------------------- */

.ft0001 {
    background: linear-gradient(78.59deg, #F5FAFF 0%, rgba(156, 159, 164, 0.82) 53.17%, #F5FAFF 100%);
    position: relative;
    font-size: 14px;
}



.ft0001 .footer-flex {
    display: flex;
    justify-content: space-between;
    padding: 64px 0;
    padding-left: 40px;
}

.ft0001 .footer-info {
    width: 37%;
    font-weight: normal;
}

.ft0001 .btnwrap {
    margin-top: 1.5em;
}


.ft0001 .footer-nav-flex {
    display: flex;
    justify-content: space-between;
    width: 60%;
    font-weight: normal;
    padding-left: .5em;
}

.ft0001 .footer-nav-flex li {
    margin-bottom: .7em;
}

.ft0001 .footer-nav-flex li.bold {
    font-weight: bold;
}



.ft0001 .sub-nav li {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 1em;
}

.ft0001 .sub-nav li:before {
    position: absolute;
    content: "";
    display: inline-block;
    background: #5C5C5C;
    width: 8px;
    height: 1px;
    left: 0;
}


.ft0001 .note {
    font-weight: bold;
    font-size: 14px;
    margin: 1em 0;
}

.ft0001 .sns-flex {
    display: flex;
    align-items: center;
}

.ft0001 .sns-flex li {
    margin-right: 16px;
}

.ft0001 .size-m {
    width: 30px;
}

.ft0001 .size-l {
    width: 48px;
}
.ft0001 .size-ll {
    width: 97px;
}

.ft0001 .footer-logo {
    font-weight: bold;
    font-size: 20px;
    white-space: nowrap;
}


.ft0001 .footer-logo img {
    width: 244px;
}

.ft0001 .address {
    margin-bottom: .7em;
    margin-top: 24px;
}

.ft0001 .copyright {
    text-align: center;
    line-height: 3;
    font-weight: normal;
    color: #fff;
    background: #231815;
}

.ft0001-fixedbar-bottom {
    display: none;
}

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

    .ft0001 .main-nav {
        font-size: 1.3vw;
    }
}

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

    .ft0001 .main-nav {
        font-size: 14px;

    }

    .ft0001 .footer-flex {
        flex-direction: column;
        padding: 7% 0;
    }

    .ft0001 .footer-info {
        order: 0;
        margin-top: 5%;
        width: 100%;
    }

    .ft0001 .note {
        margin: 2em 0;
        font-size: 14px;
    }

    .ft0001 .footer-nav-flex {
        flex-wrap: wrap;
        width: 100%;
        margin-top: 40px;
        padding-left: 0;
    }

    .ft0001 .footer-nav-flex ul {
        margin-bottom: 0;
        width: 100%;

    }

    .ft0001 .footer-nav-flex p {
        width: 50%;
    }

    .ft0001 .iso-flex li {
        width: calc((100% - 63px)/ 4);
        margin-right: 21px;
    }

    .ft0001 .footer-nav-flex li {
        border-top: 1px solid #fff;
        margin-bottom: 0;
    }

    .ft0001 .footer-nav-flex .main-nav:last-child {
        border-bottom: 1px solid #fff;
    }

    .ft0001 .main-nav li a {
        display: inline-block;
        width: 100%;
        padding: 1em 0;
    }


    .ft0001 .address {
        margin-top: 5%;
    }

    .ft0001 .copyright {
        font-size: 12px;
    }


    /* acordion ---------------------- */

    .ft0001 .sub-nav {
        display: none;
        opacity: 0;
        transition: opacity 3s;
    }

    .ft0001 .sub-nav.is-open {
        display: block;
        width: 100%;
        border-bottom: none;
        position: unset;
        animation: fadeIn 0.5s ease;
        visibility: visible;
        opacity: 1;
        border-top: solid 1px #fff;
        padding: .5em 0;
        font-weight: normal;
    }

    .ft0001 .sub-nav li {
        border-top: none;
        width: 100%
    }

    .ft0001 .sub-nav li a {
        padding: .5em 0;
    }

    .ft0001 .main-nav li span.is-active::before {
        display: none;
    }

    .ft0001 .main-nav li {
        position: relative;
    }

    .ft0001 .main-nav li span {
        position: absolute;
        right: 0;
        top: 0;
        display: block;
        width: 40px;
        height: 40px;
    }

    .ft0001 .main-nav li span::before {
        content: "";
        position: absolute;
        right: 6px;
        top: 20px;
        display: block;
        width: 2px;
        height: 14px;
        background-color: #000;
        opacity: 1;
        transition: opacity 5.7s;
    }

    .ft0001 .main-nav li span::after {
        content: "";
        position: absolute;
        right: 0;
        top: 26px;

        display: block;
        width: 14px;
        height: 2px;
        background-color: #000;
    }

    .is-active span::before {
        /* display: none; */
        opacity: 0;

    }

    /* fixed bottom-bar ------------ */

    /* .ft0001-m {
        margin-bottom: 64px;
    } */

    .ft0001-fixedbar-bottom {
        display: block;
        position: fixed;
        z-index: 3;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 64px;
        padding: 10px;
        background: #fff;
    }

    .ft0001-fixedbar-bottom ul {
        display: flex;
        justify-content: space-between;
    }

    .ft0001-fixedbar-bottom li {
        width: 49%;
        text-align: center;
        font-size: 14px;
    }

    .ft0001-fixedbar-bottom .line-btn {
        background: rgb(12, 212, 65);
        display: inline-block;
        border-radius: 10px;
        width: 100%;
        padding: .4em 0;
        height: 50px;
        line-height: 1.2;
    }

    .ft0001-fixedbar-bottom .mail-btn {
        background: #0693e3;
        color: #fff;
        display: inline-block;
        border-radius: 10px;
        width: 100%;
        padding: .4em 0;
        height: 50px;
        line-height: 1.2;
    }

    .ft0001-fixedbar-bottom .fa-line {
        font-size: 23px;
    }

    .ft0001-fixedbar-bottom .fa-envelope {
        font-size: 20px;
    }

}



/* corporate info  
----------------------------------- */

.info-bg {
    background: url(../img/infomation-bg.jpg);
    background-size: cover;
}

.info-p {
    padding-top: 80px;
    padding-bottom: 100px;
}

.info h2 {
    line-height: 1.4;
}

.info .ttl-en {
    font-size: 48px;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 0.1em;
}

.info .ttl-ja {
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 0.5;
    margin-bottom: 52px;
}

.info-flex {
    display: flex;
    flex-wrap: wrap;
}

.info-flex li {
    width: calc((100% - 60px)/ 3);
    margin-bottom: 24px;
    margin-right: 30px;
}

.info-flex li:nth-child(3n) {
    margin-right: 0;
}

@media (max-width:1000px) {
    .info-flex li {
        width: calc((100% - 60px)/ 2);
    }

    .info-flex li:nth-child(3n) {
        margin-right: 30px;
    }
}


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

    .info-p {
        padding-top: 64px;
        padding-bottom: 64px;
    }


    .info .ttl-en {
        font-size: 32px;
        line-height: 1.2em;
    }

    .info .ttl-ja {
        font-size: 14px;
        margin-top: .8em;
    }

    .info-flex li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 12px;
    }

    .info-flex li:nth-child(3n) {
        margin-right: 0;
    }
}


/* contact-ft  
----------------------------------- */

.contact-ft-bg {
    background: url(../img/contact-bg.jpg);
    background-size: cover;
}

.contact-ft-p {
    padding-top: 80px;
    padding-bottom: 100px;
}

.contact-ft h2 {
    line-height: 1.4;
}

.contact-ft .ttl-en {
    font-size: 48px;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 0.1em;
}

.contact-ft .ttl-ja {
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 52px;
}

.contact-ft-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contact-ft-text {
    width: 50%;
    color: #fff;
    line-height: 2;
}





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

    .contact-ft-p {
        padding-top: 64px;
        padding-bottom: 64px;
    }


    .contact-ft .ttl-en {
        font-size: 32px;
        line-height: 1.2em;
    }

    .contact-ft .ttl-ja {
        font-size: 14px;
        margin-top: .8em;
    }

    .contact-ft-flex {
        justify-content: center;
    }

    .contact-ft-btnwrap {
        margin-top: 40px;
    }

    .contact-ft-text {
        width: 100%;
    }

    .contact-ft-flex li:nth-child(3n) {
        margin-right: 0;
    }
}



/* recruit-ft  
----------------------------------- */

.recruit-ft-bg {
    background: #F2F3F4;
}

.recruit-ft-p {
    padding-top: 80px;
    padding-bottom: 100px;
}

.recruit-ft h2 {
    line-height: 1.4;
}

.recruit-ft .ttl-en {
    font-size: 48px;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 0.1em;
    color: #15459B;
}

.recruit-ft .ttl-ja {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 40px;
    font-weight: bold;
}

.recruit-ft-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.recruit-ft-text {
    width: 50%;
    color: #fff;
    line-height: 2;
}

.recruit-ft-btnwrap {
    max-width: 465px;
    width: 48%;
}



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

    .recruit-ft-p {
        padding-top: 64px;
        padding-bottom: 64px;
    }


    .recruit-ft .ttl-en {
        font-size: 32px;
        line-height: 1.2em;
    }

    .recruit-ft .ttl-ja {
        font-size: 14px;
        margin-top: .8em;
        margin-bottom: 0;
    }

    .recruit-ft-flex {
        justify-content: center;
        flex-direction: column;
    }

    .recruit-ft-btnwrap {
        margin-top: 40px;
    }

    .recruit-ft-text {
        width: 100%;
    }

    .recruit-ft-flex li:nth-child(3n) {
        margin-right: 0;
    }

    .recruit-ft-btnwrap {
        width: 100%;
        max-width: 100%;
    }
}