@charset 'UTF-8';

/* common */
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}
@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}

/* fv */
.fv {
    background: url(../img/fv_pc.webp) no-repeat;
    background-size: cover;
    background-position-x: right;
    width: 100%;
    /*max-height: 700px;*/
    @media screen and (max-width: 599px) {
        background: url(../img/fv_sp.png) no-repeat;
        background-size: 100%;
        background-position-x: right;
        background-position-y: top;
        display: inline-block;
    }
    h1 {
        margin: 0;
        max-width: 175px;
        margin-left: 30px;
        @media screen and (max-width: 599px) {
            margin-left: 10px;
            max-width: 115px;
        }
    }
    .fv-wrap {
        max-width: 800px;
        margin: -50px auto 0;
        padding-right: 20rem;
        @media screen and (max-width: 599px) {
            padding: 0 10px;
            margin: -20px auto 0;
        }
        .main-txt {
            max-width: 600px;
            margin: 0 auto 30px;
            width: 35vw;
            @media screen and (max-width: 599px) {
                width: 100%;
                margin: 0 0 0 -10px;
            }
        }
        .sub-txt {
            width: 55vw;
            margin: -50px auto -20px;
            max-width: 800px;
            @media screen and (max-width: 768px) {
                margin: -30px auto -10px;
            }
            @media screen and (max-width: 599px) {
                margin: 20px 0 10px;
                width: 100%;
            }
        }
        a {
            @media screen and (max-width: 599px) {
                width: 100%;
            }
        }
        >span {
            font-size: 9px;
            color: #4b4b4b;
            line-height: 1.2;
            display: block;
            padding: 15px 0;
            margin: 0 auto;
            width: 80%;
            @media screen and (max-width: 599px) {
                font-size: 8px;
                width: 100%;
            }
        }
    }
}

/* reason */
.reason {
    .tit-inner {
        background: var(--back-blue);
        padding: 60px 0 160px;
        @media screen and (max-width: 599px) {
            padding: 30px 0 140px;
        }
        h2 {
            color: #fff;
        }
    }
    .reason-container {
        margin-top: -110px;
        ul {
            max-width: 1510px;
            margin: 0 auto;
            li {
                max-width: 1300px;
                margin-right: auto;
                margin-bottom: 40px;
                @media screen and (max-width: 599px) {
                    margin-bottom: 20px;
                }
                &:nth-child(2) {
                    margin-left: auto;
                    margin-right: 0;
                }
            }
        }
    }
    .reason-cv {
        background: var(--back-blue);
        padding: 170px 0 80px;
        margin-top: -150px;
        @media screen and (max-width: 599px) {
            padding: 40px 0;
            margin: -30px 0 0;
            display: block;
        }
    }
}

/* recruit */
.recruit {
    background: url(../img/recruit_back.jpg) no-repeat;
    background-position: center;
    padding: 0 0 80px;
    @media screen and (max-width: 599px) {
        padding: 0px 0px 20px;
        background-position: right;
        background-size: cover;
    }
    .tit-inner {
        background: var(--back-blue);
        padding: 40px 0;
        @media screen and (max-width: 599px) {
            padding: 20px 0;
        }
        h2 {
            color: #fff;
        }
    }
    .recruit-inner {
        max-width: 1100px;
        margin: 0 auto;
        @media screen and (max-width: 599px) {
            padding: 0 20px;
        }
        ul {
            margin-top: 40px;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            @media screen and (max-width: 599px) {
                margin-top: 20px;
            }
            li.recruit-box {
                background: #fff;
                width: 28%;
                padding: 25px;
                margin-bottom: 15px;
                position: relative;
                display: flex;
                flex-direction: column;
                &::after {
                    content: '';
                    border-left: 30px solid transparent;
                    border-top: 30px solid var(--basic);
                    position: absolute;
                    top: -2px;
                    right: -2px;
                }
                @media screen and (max-width: 599px) {
                    width: 100%;
                    margin-bottom: 20px;
                }
                .desc {
                    margin-bottom: 15px;
                    .attr {
                        color: var(--red);
                        border: 2px solid var(--red);
                        border-radius: 20px;
                        font-size: 14px;
                        padding: 4px 8px;
                        font-weight: 600;
                        margin-right: 10px;
                    }
                    h3 {
                        font-size: 20px;
                        line-height: 1;
                        padding-bottom: 15px;
                        margin: 15px 0;
                        border-bottom: 1px solid var(--basic);
                    }
                    font-size: 14px;
                    >span {
                        font-weight: 600;
                    }
                }
                .income {
                    margin-top: auto;
                    background: var(--back-blue);
                    color: var(--back-beige);
                    padding: 10px 0;
                    text-align: center;
                    font-family: "Hiragino Mincho ProN", "YuMincho", "Times New Roman", "Yu Mincho", "MS PMincho", serif;
                    .numbers {
                        font-size: 24px;
                    }
                }
            }
        }
    }
}

/* protect */
.protect {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        border-top: 11vw solid var(--back-blue);
        border-right: 40vw solid transparent;        
    }
    &::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        border-bottom: 14vw solid var(--back-blue);
        border-left: 60vw solid transparent;
        z-index: -1;
    }
    @media screen and (max-width: 599px) {
        padding: 40px 20px;
    }
    .protect-inner {
        max-width: 1000px;
        margin: 0 auto;
        ul {
            margin: 50px 0;
            display: flex;
            justify-content: space-between;
            @media screen and (max-width: 599px) {
                flex-direction: column;
            }
            .protect-box {
                width: 30%;
                @media screen and (max-width: 599px) {
                    width: 100%;
                }
                img {
                    max-height: 125px;
                    margin: 0 auto;
                    display: block;
                }
                h3 {
                    text-align: center;
                    font-size: 20px;
                }
            }
        }
        a {
            @media screen and (max-width: 599px) {
                width: 100%;
            }
        }
    }
}

/* voice */
.voice {
    background: var(--back-beige);
    padding: 80px 0 60px;
    @media screen and (max-width: 599px) {
        padding: 40px 20px;
    }
    .voice-inner {
        max-width: 1000px;
        margin: 40px auto 0;
        .voice-box {
            background: #fff;
            margin-bottom: 20px;
            box-shadow: 4px 4px var(--back-blue);
            display: flex;
            @media screen and (max-width: 599px) {
                flex-direction: column;
            }
            .voice-box__img {
                width: 15%;
                @media screen and (max-width: 599px) {
                    width: 100%;
                    height: 130px;
                }
            }
            .man_01 {
                background: url(../img/voice_01.jpg) no-repeat;
                background-size: cover;
                background-position: 67%;
                @media screen and (max-width: 599px) {
                    background-position: -50px 20%;
                    background-size: 120%;
                }
            }
            .man_02 {
                background: url(../img/voice_02.jpg) no-repeat;
                background-size: 39rem;
                background-position: 71% 27%;
                @media screen and (max-width: 599px) {
                    background-position: 85% 20%;
                    background-size: 170%;
                }
            }
            .voice-box__txt {
                width: 85%;
                padding: 20px;
                .prof {
                    margin-bottom: 15px;
                    p {
                        font-size: 14px;
                        margin-bottom: 4px;
                    }
                    .item-b {
                        background: var(--back-blue);
                        color: #fff;
                        padding: 4px;
                        margin-right: 5px;
                    }
                    .item-r {
                        background: var(--red);
                        color: #fff;
                        padding: 4px;
                        margin-right: 5px;
                        @media screen and (max-width: 599px) {
                            width: 36%;
                            max-width: 84px;
                            height: fit-content;
                        }
                    }
                    .sp-flex {
                        @media screen and (max-width: 599px) {
                            display: flex;
                            align-items: baseline;

                        }
                    }
                }
            }
        }
    }
}

/* flow */
.flow {
    padding: 80px 0 0;
    position: relative;
    overflow: hidden;
    &::before, &::after {
        content: '';
        border-top: 1px solid var(--basic);
        width: 400px;
        display: block;
        position: absolute;
        transform: rotate(-24deg);
    }
    &::before {
        top: 50px;
        left: -50px;
    }
    &::after {
        top: 120px;
        left: -230px;
    }
    @media screen and (max-width: 599px) {
        padding: 40px 0 0;
        &::before {
            top: -10px;
            left: -86px;
        }
        &::after {
            top: 90px;
            left: -330px;
        }
    }
    .flow-inner {
        max-width: 1250px;
        margin: 0 auto;
        @media screen and (max-width: 599px) {
            padding: 0 20px;
            h2 {
                margin-bottom: 30px;
            }
        }
    }
    .flow-cv {
        background: var(--back-blue);
        padding: 80px 0;
        margin-top: 80px;
        position: relative;
        &::before {
            content: '';
            background: url(../img/cv_back.jpg) no-repeat;
            background-size: cover;
            background-position: left;
            width: 100%;
            height: 100%;
            display: block; 
            position: absolute;     
            top: 0;
            left: 0;
            opacity: 0.16;    
        }
        @media screen and (max-width: 599px) {
            margin-top: 40px;
            padding: 40px 0;
        }
    }
}

/* faq */
.faq {
    background: var(--back-beige);
    padding: 80px 0 60px;
    position: relative;
    overflow: hidden;
    &::before, &::after {
        content: '';
        border-top: 1px solid var(--basic);
        width: 400px;
        display: block;
        position: absolute;
        transform: rotate(-24deg);
    }
    &::before {
        top: 20px;
        right: -114px;
    }
    &::after {
        top: -3px;
        right: -190px;
    }
    @media screen and (max-width: 599px) {
        padding: 40px 20px 20px;
        &::before {
            top: -40px;
            right: -314px;
        }
        &::after {
            top: -42px;
            right: -296px;
        }
    }
    .faq-inner {
        max-width: 1000px;
        margin: 0 auto;
        .faq-container {
            margin-top: 50px;
            @media screen and (max-width: 599px) {
                margin-top: 30px;
            }
            .faq-box {
                background: #fff;
                padding: 30px;
                margin-bottom: 20px;
                @media screen and (max-width: 599px) {
                    padding: 30px 20px 20px;
                }
                .question, .answer {
                    display: flex;
                    p {
                        font-size: 16px;
                    }
                    img {
                        width: 45px;
                        height: fit-content;
                        margin-right: 10px;
                        @media screen and (max-width: 599px) {
                            width: 35px;
                        }
                    }
                }
                .question {
                    margin-bottom: 25px;
                    align-items: center;
                    font-weight: 600;
                    @media screen and (max-width: 599px) {
                        align-items: flex-start;
                        >img {
                            margin-top: -10px;
                        }
                    }
                }
                .answer {
                    align-items: flex-start;
                    strong {
                        display: block;
                    }
                    >img {
                        margin-top: -10px;
                    }
                }
            }
        }
    }
}

/* footer */
.footer-cv {
    padding: 80px 0;
    @media screen and (max-width: 599px) {
        padding: 40px 0;
    }
}
footer {
    background: var(--back-blue);
    letter-spacing: 1px
}

footer .inner {
    color: #fff;
    font-size: 12px;
    line-height: 1.5em;
    max-width: 510px;
    padding: 45px 0;
    margin: 0 auto;
    @media screen and (max-width: 599px) {
        padding: 40px 20px;
    }
}

footer .inner hr {
    margin: 15px 0;
    border: 0;
    border-top: solid 1px #fff;
}

footer .inner a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px
}

footer #copy {
    color: #555;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1px;
    text-align: center;
    background: #fff;
    padding: 20px;
    @media screen and (max-width: 599px) {
        font-size: 10px;
        letter-spacing: 0;
        padding: 20px 0;
    }
}

footer #copy img {
    display: inline-block;
    max-width: 175px;
    margin: -30px 0 -20px;
}

.fixed-cv {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 999;
    a.btn {
        padding: 15px 0 20px;
        @media screen and (max-width: 599px) {
            &::after {
                display: none;
            }
        }
    }
    span {
        font-size: 15px;
        color: #ecee44;
        display: block;
        margin-bottom: 5px;
        @media screen and (max-width: 599px) {
            font-size: 13px;
        } 
    }
}