@charset "UTF-8";

/* MainVisual */
.main-visual{
    background: url(../images/mv.png) no-repeat center / cover;
    width: 100%;
    height: 500px;
    position: relative;
}

.main-visual p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    font-size: 2.5vw;
}

/* Flow */
.flow{
    width: 100%;
    padding: 100px 0;
}

.inner h2{
    font-size: 2.2em;
    text-align: center;
    margin: 0 0 60px;
    letter-spacing: 3px;
    position: relative;
    padding: 0 0 20px;
    font-weight: 600;
}

.inner h2::after{
    position: absolute;
    content: "";
    width: 50px;
    height: 2px;
    background-color: #538FBF;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.inner p{
    font-size: 1em;
    text-align: center;
    margin: 0 0 55px;
    line-height: 1.5;
}

.flow-list{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 65px;
}

.flow-list li{
    padding: 50px;
    border: 1px #CCCCCC solid;
    position: relative;
}

.flow-list > li::before{
    position:absolute;
    content:"";
    width:25px;
    height: 65px;
    background-color:#538FBF;
    bottom: -66px;
    left:50px;
    z-index: -1;
}

.flow-list > li:nth-of-type(5)::before{
    display:none;
}

.flow-list li h3{
    font-size: 2em;
    margin: 0 0 40px;
}

.flow-list li h3 span{
    font-size:1.8em;
    color:#D6CA1B;
    margin: 0 15px;
}

.flow-list li h3 br{
    display: none;
}

.flow-list li p{
    text-align: left;
}

.flow-inner-list{
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: auto;
    gap: 30px;
}

.flow-inner-list li{
    width: 33.33%;
    border: 1px #000 solid;
    background-color: #fff;
    text-align: center;
    padding: 60px 0;
}

.flow-inner-list li p:nth-of-type(1){
    font-size: max(1.1vw,17px);
    font-weight: 600;
    margin: 0 0 30px;
    position: relative;
    display: inline-block;
    padding: 0 0 0 1.5vw;
}

.flow-inner-list li p:nth-of-type(2){
    font-size: max(1.8vw,23px);
    font-weight: 600;
    margin: 0 0 30px;
    display: inline-block;
}

.flow-inner-list li p:nth-of-type(3){
    font-size: max(1vw,12px);
    font-weight: 500;
    display: inline-block;
    margin: 0;
}

.flow-inner-list li:nth-of-type(1) p:nth-of-type(1)::after{
    position: absolute;
    content: "";
    left: -.5vw;
    top: 0;
    width: 1.5vw;
    height: 1.5vw;
    background: url(../images/icon-f-tel.png) no-repeat center / cover;
}

.flow-inner-list li:nth-of-type(2) p:nth-of-type(1)::after{
    position: absolute;
    content: "";
    left: -.5vw;
    top: 0;
    width: 1.5vw;
    height: 1.5vw;
    background: url(../images/icon-fax.png) no-repeat center / cover;
}

.flow-inner-list li:nth-of-type(3) p:nth-of-type(1)::after{
    position: absolute;
    content: "";
    left: -.5vw;
    top: 0;
    width: 1.5vw;
    height: 1.5vw;
    background: url(../images/icon-mail.png) no-repeat center / contain;
}

.flow-inner-list li:nth-of-type(2) p:nth-of-type(2){
    margin: 0 0 10px;
}

.flow-inner-list li:nth-of-type(2) p:nth-of-type(3) a{
    border: 1px #538FBF solid;
    display: inline-block;
    width: 15vw;
    padding: 15px 0 12px 3.3vw;
    color: #538FBF;
    position: relative;
}

.flow-inner-list li:nth-of-type(2) p:nth-of-type(3) a::after{
    position: absolute;
    content: "";
    left: 1vw;
    top: 50%;
    transform: translateY(-50%);
    width: 1.4vw;
    height: 1.6vw;
    background: url(
    ../images/icon-pdf.png) no-repeat center / contain;
}

.flow-inner-list li:nth-of-type(3) p:nth-of-type(1){
    margin: 20px 0 30px;
}

.flow-inner-list li:nth-of-type(3) p:nth-of-type(2){
    font-size: max(1vw,12px);
    margin: 0;
    display: inline;
}

.flow-inner-list li:nth-of-type(3) p:nth-of-type(2) a{
    background-color: #538FBF;
    color: #fff;
    display: inline-block;
    width: 80%;
    padding: 14px 0 12px 2vw;
    font-weight: 500;
    position:relative;
}

.flow-inner-list li:nth-of-type(3) p:nth-of-type(2) a::after{
    position:absolute;
    content:"";
    width: 2.5vw;
    height:1px;
    background-color:#fff;
    right:0;
    top:50%;
}

@media screen and (max-width:968px) {
    /* MainVisual */
    .main-visual{
        background: url(../images/mv.png) no-repeat center / cover;
        width: 100%;
        height: 460px;
        position: relative;
    }

    .main-visual p{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        color: #fff;
        font-size: 2.8em;
        white-space: nowrap;
    }

    /* Flow */
    .flow{
        width: 100%;
        padding: 60px 15px;
    }

    .inner h2{
        font-size: 2.2em;
        text-align: center;
        margin: 0 0 60px;
        letter-spacing: 3px;
        position: relative;
        padding: 0 0 20px;
        font-weight: 600;
    }

    .inner h2::after{
        position: absolute;
        content: "";
        width: 50px;
        height: 2px;
        background-color: #538FBF;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .inner p{
        font-size: 1em;
        text-align: left;
        margin: 0 0 55px;
        line-height: 1.5;
    }

    .flow-list{
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 65px;
    }

    .flow-list > li{
        padding: 15px;
        border: 1px #CCCCCC solid;
        position: relative;
    }

    .flow-list > li::before{
        position:absolute;
        content:"";
        width:25px;
        height: 65px;
        background-color:#538FBF;
        bottom: -66px;
        left:50px;
        z-index: -1;
    }

    .flow-list > li:nth-of-type(5)::before{
        display:none;
    }

    .flow-list li h3{
        font-size: 1.3em;
        margin: 0 0 40px;
    }

    .flow-list li h3 span{
        font-size:1.8em;
        color:#D6CA1B;
        margin: 0 15px;
    }

    .flow-list li h3 br{
        display: block;
    }

    .flow-list li p{
        text-align: left;
    }

    .flow-inner-list{
        width: 100%;
        display: block;
        justify-content: space-between;
        margin: auto;
        gap: 30px;
    }

    .flow-inner-list li{
        width: 100%;
        border: 1px #000 solid;
        background-color: #fff;
        padding: 60px 0;
        margin: 0 0 20px;
    }

    .flow-inner-list li p:nth-of-type(1){
        font-size: max(2.5vw,20px);
        font-weight: 600;
        margin: 0 0 10px;
        position: relative;
        display: inline-block;
        padding: 0 0 0 40px;
    }

    .flow-inner-list li p:nth-of-type(2){
        font-size: max(4vw,30px);
        font-weight: 600;
        margin: 0 0 10px;
        display: block;
        text-align: center;
    }

    .flow-inner-list li p:nth-of-type(3){
        font-size: max(2vw,18px);
        font-weight: 500;
        display: inline-block;
        margin: 0;
    }

    .flow-inner-list li:nth-of-type(1) p:nth-of-type(1)::after{
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
        background: url(../images/icon-f-tel.png) no-repeat center / cover;
    }

    .flow-inner-list li:nth-of-type(2) p:nth-of-type(1)::after{
        position: absolute;
        content: "";
        left: -.5vw;
        top: 0;
        width: 30px;
        height: 30px;
        background: url(../images/icon-fax.png) no-repeat center / cover;
    }

    .flow-inner-list li:nth-of-type(3) p:nth-of-type(1)::after{
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
        background: url(../images/icon-mail.png) no-repeat center / contain;
    }

    .flow-inner-list li:nth-of-type(2) p:nth-of-type(2){
        margin: 0 0 10px;
    }

    .flow-inner-list li:nth-of-type(2) p:nth-of-type(3) a{
        border: 1px #538FBF solid;
        display: inline-block;
        width: 250px;
        padding: 15px 0 12px 55px;
        color: #538FBF;
        position: relative;
    }

    .flow-inner-list li:nth-of-type(2) p:nth-of-type(3) a::after{
        position: absolute;
        content: "";
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        background: url(
        ../images/icon-pdf.png) no-repeat center / contain;
    }

    .flow-inner-list li:nth-of-type(3) p:nth-of-type(1){
        margin: 20px 0 30px;
    }

    .flow-inner-list li:nth-of-type(3) p:nth-of-type(2){
        font-size: max(2vw,18px);
        margin: 0;
        display: inline;
    }

    .flow-inner-list li:nth-of-type(3) p:nth-of-type(2) a{
        background-color: #538FBF;
        color: #fff;
        display: block;
        width: 250px;
        padding: 14px 20px 12px 0;
        font-weight: 500;
        position:relative;
        margin: auto;
    }

    .flow-inner-list li:nth-of-type(3) p:nth-of-type(2) a::after{
        position:absolute;
        content:"";
        width: 40px;
        height:1px;
        background-color:#fff;
        right:0;
        top:50%;
    }
}