.realEstate__area {
    font-size: var(--fontSize18);
    font-weight: 700;
    line-height: 1.2;
    color: var(--colorBlack);
    font-family: var(--fontNotoSansJP);
}

.realEstate__banner {
    background: url(../images/realEstate/realestate_banner.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}

.realEstate__banner .topVisual__sideBar--container {
    top: 162px;
}

.realEstate__category {
    font-size: 11px;
    font-weight: 700;
    line-height: 2;
    color: var(--colorBlack);
    font-family: var(--fontNotoSansJP);
    background: #d9d9d9;
    padding: 8px 16px;
}

.realEstate__categoryGroup {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.realEstate__contactHead {
    text-align: center;
    font-size: var(--fontSize48);
    color: var(--colorBlack);
    font-weight: 700;
    font-family: var(--fontNotoSansJP);
}

.realEstate__desc {
    margin-top: 80px;
}

.realEstate__desc--text {
    font-family: var(--fontNotoSansJP);
    color: var(--colorBlack);
    font-size: var(--fontSize18);
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

.realEstate__posts {
    margin-top: 50px;
    padding: 0 20px;
}

.realEstate__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 54px;
}

.realEstate__listItem {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.realEstate__subtitle {
    font-family: var(--fontNotoSansJP);
    color: #fff;
    font-size: var(--fontSize15);
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    padding-bottom: 145px;
}

.realEstate__text {
    font-family: var(--fontNotoSansJP);
    color: var(--colorBlack);
    font-size: var(--fontSize15);
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

.realEstate__textArea {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.realEstate__thumbnail img {
    max-width: 324px;
    width: 100%;
    height: auto;
}

.realEstate__title {
    font-family: var(--fontRoboto);
    color: #fff;
    font-size: clamp(2.5rem, 1.769rem + 3.12vw, 3.875rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 4px;
    text-align: center;
    padding-top: 145px;
    margin-top: 8px;
}

.voiceHead::before, .voiceHead::after {
    width: 20vw;
}

@media screen and (max-width: 767px) {
    .realEstate__banner .topVisual__sideBar--container {
        position: fixed;
    }

    .realEstate__list {
        display: flex;
        flex-direction: column;
        place-items: center;
    }
}