/*---------
共通
----------*/

.mv {
    background: url("../images/resort-development/mv_img_sp.jpg") center / cover no-repeat;
}



@media (min-width:768px) {

    .l-page {
        padding-bottom: 160px;
    }

    section {
        padding-inline: 20px;
    }

    .mv {
        background: url("../images/resort-development/mv_img.jpg") bottom / cover no-repeat;
        height: 423px;
    }

}


/*---------
concept
----------*/

.section_content--concept {
    background: url("../images/resort-development/concept_bg_sp.jpg") center / cover no-repeat;
}


@media (min-width:768px) {
    .section_content--concept {
        background: url("../images/resort-development/concept_bg.jpg") center / cover no-repeat;
    }

    .section_content--concept .en-title {
        margin-bottom: 25px;
    }
}



/*---------
management
----------*/

.section_content--management {
    padding-top: 80px;
}

.step-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.step-icon {
    width: 100%;
    margin: 0 auto 30px;
}

.step-item:nth-child(1) .step-icon {
    max-width: 172px;
}

.step-item:nth-child(2) .step-icon {
    max-width: 211px;
}

.step-item:nth-child(3) .step-icon {
    max-width: 112px;
}

.step-body {
    background: #F4F4F4;
    border-radius: 0 0 16px 16px;
    padding: 16px clamp(0.875rem, -3.061rem + 16.79vw, 5rem);
    min-height: 236px;
}

.step-number {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    font-family: var(--sub-font);
    margin-bottom: 15px;
}

.step-title {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    font-family: var(--sub-font);
    margin-bottom: 15px;
}

.step-text {
    font-size: 16px;
    font-weight: 500;
    line-height: calc(32 / 16);
    font-family: var(--sub-font);
}

@media (min-width:768px) {

    .section_content--management {
        padding-top: 160px;
    }

    .step-list {
        flex-direction: row;
        justify-content: center;
        gap: clamp(25px, calc(38px + 50vw - 570px), 38px);
    }

    .step-item {
        max-width: 312px;
        width: 100%;
    }

    .step-icon {
        height: 160px;
    }

    .step-body {
        padding: 20px 24px;
        min-height: 252px;
    }

    .step-number {
        font-size: clamp(28px, calc(32px + 50vw - 570px), 32px);
        margin-bottom: 10px;
    }

    .step-title {
        font-size: clamp(18px, calc(20px + 50vw - 570px), 20px);
        margin-bottom: 10px;
    }
}



/*---------
propertylist
----------*/

.section_content--propertylist {
    position: relative;
    overflow: visible;
}

.section_content--propertylist::after {
    content: "";
    position: absolute;
    background: url("../images/common/bg_deco_wave_sp.png") center / contain no-repeat;
    top: -27.67vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: clamp(13.125rem, -0.592rem + 58.52vw, 27.5rem);
}

.section_content--propertylist .section_space {
    width: 100%;
}

.section_content--propertylist .content_box {
    position: relative;
    z-index: 1;
}


@media (min-width:768px) {

    .section_content--propertylist {
        padding: 0;
    }

    .section_content--propertylist::after {
        content: "";
        position: absolute;
        background: url("../images/common/bg_deco_wave.png") center / contain no-repeat;
        top: -27.09vw;
        width: 100%;
        height: 56.22vw;
        pointer-events: none;
    }

    .section_content--propertylist .section_space {
        max-width: 100%;
    }

}