.construction{
    background:#f4f4f4;
    padding:8em 0 80px;
}

/* ===== FLOW header ===== */
.construction-flow{
    background:#ececec;
    text-align:center;
    padding:40px 20px 30px;
}

.construction-navi{
    max-width:1200px;
    margin:0 auto 30px;
    color:#949494;
}

.construction-flow-title{
    font-size:60px;
    line-height:1;
    font-weight:700;
    color:#18396f;
    letter-spacing:3px;
    margin:0;
}

.construction-flow-subtitle{
    margin-top:10px;
    font-size:16px;
    color:#18396f;
    font-weight:700;
}

/* ===== inner ===== */
.construction-inner{
    max-width:1200px;
    margin:0 auto;
    padding:50px 30px 0;
}

.construction-inner h4{
    text-align:center;
    margin-bottom:30px;
}

.construction-main-title{
    text-align:center;
    color:#18396f;
    font-size:3rem;
    font-weight:700;
    margin-bottom:21px;
    line-height:1.5;
}

/* ===== STEP ===== */
.construction-step{
    display:flex;
    gap:18px;
    margin-bottom:12px;
    align-items:flex-start;
    border:2px solid #1c3f78;
    border-radius:10px;
    background:#fff;
}

.construction-step-number{
    width:72px;
    height:72px;
    border-radius:50%;
    background:#18396f;
    color:#fff;
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:16px 0 0 16px;
}

.construction-step-number span{
    font-size:10px;
    line-height:1;
}

.construction-step-number strong{
    font-size:22px;
    line-height:1;
    margin-top:4px;
}

.construction-step-body{
    flex:1;
    padding:12px 18px 18px;
}

.construction-step-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}

.construction-step-head h4{
    margin:0;
    color:#18396f;
    font-size:30px;
    font-weight:700;
}

.construction-free{
    background:#d22d3d;
    color:#fff;
    font-size:18px;
    font-weight:700;
    line-height:1;
    padding:5px 12px;
    border-radius:3px;
}

.construction-step-content{
    display:flex;
    gap:20px;
    align-items:flex-start;
}

.construction-step-image{
    width:180px;
    flex-shrink:0;
}

.construction-step-image img{
    width:100%;
    display:block;
}

.construction-step-text{
    flex:1;
    font-size:13px;
    line-height:1.8;
    color:#333;
}

/* ===== labels ===== */
.construction-labels{
    margin-bottom:6px;
}

.construction-labels span{
    display:inline-block;
    color:#fff;
    font-size:15px;
    line-height:1;
    font-weight:700;
    padding:4px 10px;
    margin-right:4px;
}

label.label-triangle{
    font-size:8px;
    color:#878787;
    position:relative;
    top:-3px;
}

.label-blue{ background:#22458b; }
.label-orange{ background:#f58b49; }
.label-green{ background:#6ab132; }

/* ===== button ===== */
.construction-btn-wrap{
    text-align:center;
    margin-top:60px;
}

.construction-btn img{
    max-width:540px;
    width:100%;
    display:block;
    margin:0 auto;
}

/* ===== mitsumoa ===== */
.mitsumoa-bg{
    background:#f7f3e9;
    padding:1px 20px 50px;
    border-radius:12px;
    text-align:center;
    max-width:1200px;
    margin:0 auto 40px;
}

.mitsumoa-title{
    color:#6bb300;
    font-size:22px;
    font-weight:bold;
    margin-bottom:20px;
}

.mitsumoa-text{
    font-size:14px;
    line-height:1.8;
    color:#333;
    margin-bottom:35px;
}

.mitsumoa-cards{
    display:flex;
    gap:20px;
    justify-content:center;
    flex-wrap:wrap;
}

.mitsumoa-card{
    background:#fff;
    border-radius:10px;
    padding:25px 20px;
    width:220px;
}

.card-label{
    font-size:14px;
    color:#6bb300;
    margin-bottom:10px;
    font-weight:bold;
}

.card-main{
    font-weight:bold;
    color:#6bb300;
    line-height:1.2;
}

.card-main .number{
    font-size:22px;
}

.card-main .unit{
    font-size:20px;
    margin-left:2px;
}

.card-sub{
    color:#6bb300;
    font-size:16px;
    margin-top:8px;
}

.card-sub img{
    width:80px;
    margin:10px auto;
}

.mitsumoa-link{
    display:inline-block;
    margin-top:30px;
    color:#6bb300 !important;
    font-size:14px !important;
    text-decoration:underline;
    font-weight:bold;
}

/* ===== responsive ===== */
@media screen and (max-width:840px){
    .construction{ padding-bottom:50px; }
    .construction-flow{ padding:25px 15px; }
    .construction-flow-title{ font-size:36px; }
    .construction-flow-subtitle{ font-size:12px; }
    .construction-inner{ padding:30px 15px 0; }
    .construction-main-title{
        font-size:26px;
        text-align:left;
        margin-bottom:30px;
    }

    .construction-step{
        display:block;
        position:relative;
        margin-bottom:18px;
    }

    .construction-step-number{
        position:absolute;
        left:10px;
        top:10px;
        width:60px;
        height:60px;
        margin:0;
    }

    .construction-step-body{ padding:15px; }

    .construction-step-head{
        margin-left:80px;
        min-height:60px;
    }

    .construction-step-head h4{ font-size:22px; }

    .construction-step-content{ display:block; }

    .construction-step-image{
        width:180px;
        margin:10px auto 15px;
    }

    .construction-step-text{
        font-size:12px;
        line-height:1.8;
    }

    .construction-labels span{
        font-size:10px;
        padding:4px 8px;
    }

    .construction-btn-wrap{ margin-top:35px; }
    .construction-navi{ margin:20px; font-size:14px; }
    .mitsumoa-card{
        width: 100%;
    }
}

@media screen and (max-width:768px){
    .mitsumoa-cards{
        flex-direction:column;
        align-items:center;
    }
}