@charset "UTF-8";

.org-main * {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-main-color);
    font-family: var(--text-main-font);
}
.org-main * a:hover {
    opacity: 1;
}

.org-main {
    overflow: hidden;
    background: #FFF;
}

.section__inner,
.contents__inner {
    width: 1140px;
    margin: 0 auto;
}
.section__headline {
    display: flex;
    align-items: baseline;
    gap: 0 10px;
    font-size: 72px;
    font-weight: 700;
    font-family: var(--text-Lato-font);
    margin-bottom: 12px;
}
.section__headline.white,
.section__headline.white span {
    color: var(--text-white-color);
}
    .section__headline span {
        font-size: 16px;
        font-weight: 500;
        font-family: var(--text-main-font);
    }
.contents__title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 1.2px;
    padding-bottom: 19px;
    border-bottom: 1px solid #DADADA;
    margin-bottom: 30px;
}
    .contents__title span {
        font-size: 30px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: 1.2px;
        color: var(--text-orange-color);
    }
.arrow__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    padding-left: 1px;
    background: var(--orange);
    border-radius: 50%;
}
    .arrow__icon svg {
        width: 5px;
        height: 8px;
        fill: none;
        stroke: var(--white);
    }
    .more__button a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 280px;
        height: 50px;
        margin: 0 auto;
        padding-right: 5px;
        background: var(--black);
        border-radius: 5px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        color: var(--white);
        position: relative;
    }
.more__button a .arrow__icon {
    width: 22px;
    height: 22px;
    background: #FFF;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}
    .more__button a .arrow__icon svg {
        stroke: var(--black);
    }

[class*="img_mascot--"] {
    display: block;
    position: absolute;
    z-index: 1;
    animation: fluffy 2s infinite;
}
[class*="img_mascot--"] a {
    display: block;
}
[class*="img_mascot--"] a img {
    width: 100%;
}
@keyframes fluffy {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.slide__contents {
    margin-bottom: 30px;
}
/* カード間隔はエリアトップ prefectures.css の .bkn__contents.no-slide .bkn__list と同値。変更時は両方更新 */
.slide__contents.no-slide .slide__list {
    gap: 0 20px;
}
    .slide__card {
        width: 270px;
    }
        [class*="slide__image--"] {
            width: 100%;
            height: 203px;
            overflow: hidden;
            margin-bottom: 8px;
        }
            [class*="slide__image--"] img {
                width: 100%;
                height: 100%;
                transition: .4s;
            }
            .slide__card a:hover [class*="slide__image--"] img {
                transform: scale(1.05);
            }

/*--------------------- メイン画像 ---------------------*/

.mainview__section {
    width: 100%;
    height: 620px;
    background: url(/images/top/bg_mainview.webp) no-repeat center / cover;
}
    .mainview__inner {
        width: 1226px;
        margin: 0 auto;
        position: relative;
    }
        .mainview__catch {
            width: fit-content;
            font-size: 46px;
            font-weight: 700;
            line-height: 1.35;
            letter-spacing: 3.68px;
            padding-top: 59px;
            margin-bottom: 47px;
            position: relative;
        }
            .mainview__catch::before {
                content: '';
                background: url(/images/top/img_mainview-logo.webp);
                display: block;
                width: 272px;
                height: 129px;
                position: absolute;
                bottom: -27px;
                right: 9px;
            }
        .mainview__text {
            width: 426px;
            font-size: 20px;
            font-weight: 500;
            line-height: 1.5;
            letter-spacing: 3.2px;
            text-align: center;
            margin-bottom: 20px;
        }
        .mainview__list {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0 50px;
            width: 424px;
            padding: 16px 26px;
            border: 1px solid #E3E3E3;
            margin-bottom: 47px;
            position: relative;
        }
        .mainview__list::before,
        .mainview__list::after {
            content: '';
            display: block;
            background: #E3E3E3;
            width: 1px;
            height: 86px;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }
        .mainview__list::before {
            left: 137px;
        }
        .mainview__list::after {
            right: 141px;
        }
            [class*="mainview__item--"] {
                width: 90px;
                height: 84px;
                font-size: 14px;
                font-weight: 500;
                line-height: 1.25;
                text-align: center;
            }
            [class*="mainview__item--"]::before {
                content: '';
                display: block;
                width: 40px;
                height: 40px;
                margin: 4px auto 13px;
            }
            .mainview__item--01::before {
                background: url(/images/top/icon_mainview-01.webp) no-repeat center / cover;
            }
            .mainview__item--02::before {
                background: url(/images/top/icon_mainview-02.webp) no-repeat center / cover;
            }
            .mainview__item--03::before {
                margin: 4px auto 4px;
                background: url(/images/top/icon_mainview-03.webp) no-repeat center / cover;
            }
        .mainview__other-list {
            display: flex;
            gap: 0 13px;
        }
            [class*="mainview__other-item--"] {
                position: relative;
                padding-left: 37px;
                padding-right: 33px;
            }
            .mainview__other-item--kuchikomi {
                padding-right: 83px;
            }
                [class*="mainview__other-item--"]::before,
                [class*="mainview__other-item--"]::after {
                    content: '';
                    background: url(/images/top/img_mainview-deco.webp) no-repeat center / cover;
                    display: block;
                    width: 28px;
                    height: 72px;
                    position: absolute;
                    top: 3px;
                }
                [class*="mainview__other-item--"]::before {
                    left: -1px;
                }
                [class*="mainview__other-item--"]::after {
                    right: 0;
                    transform: scale(-1, 1);
                }
                    .other__title {
                        font-size: 16px;
                        font-weight: 500;
                        line-height: 1.25;
                    }
                    .other__count {
                        font-size: 50px;
                        font-weight: 700;
                        letter-spacing: 2px;
                        line-height: 1;
                        font-family: var(--text-Lato-font);
                        color: var(--text-red-color);
                    }
                        .other__count span {
                            font-size: 16px;
                            font-weight: 500;
                            line-height: 1;
                        }
                    .kuchikomi__chikunen {
                        font-size: 10px;
                        line-height: 1;
                        margin-top: 6px;
                    }
                    .kuchikomi__count {
                        margin-top: 10px;
                        position: relative;
                    }
                        .kuchikomi__hoshi {
                            width: 88px;
                        }
                        .kuchikomi__review {
                            font-size: 50px;
                            font-weight: 700;
                            letter-spacing: 2px;
                            font-family: var(--text-Lato-font);
                            color: var(--yellow);
                            position: absolute;
                            top: -37px;
                            right: -52px;
                        }
            .marp__search {
                position: absolute;
                top: 75px;
                right: 144px;
            }
                .marp__search-pop {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 130px;
                    height: 130px;
                    border: 1px solid var(--color-primary-grayscale-light-gray);
                    background: rgba(0, 0, 0, 0.03);
                    border-radius: 50%;
                    font-size: var(--size-XS);
                    font-weight: 500;
                    line-height: 1.5;
                    text-align: center;
                    position: absolute;
                    top: -18px;
                    right: -160px;
                }
                /* 都道府県リストホバー時のハイライト（is-hover の付け外しは /js/topmap.js） */
                .mainview__map path.is-hover {
                    fill: var(--orange);
                }
                [class*="map__area-group--"] {
                    position: absolute;
                    min-width: 84px;
                    max-width: 164px;
                }
                .map__area-group--hokkaido {
                    top: 12px;
                    left: 284px;
                }
                .map__area-group--tohoku {
                    top: 177px;
                    right: -113px;
                }
                .map__area-group--kanto {
                    top: 321px;
                    right: -123px;
                }
                .map__area-group--chubu {
                    top: 106px;
                    left: 180px;
                }
                .map__area-group--kinki {
                    top: 414px;
                    right: 72px;
                }
                .map__area-group--chugoku {
                    top: 217px;
                    left: 74px;
                }
                .map__area-group--shikoku {
                    top: 434px;
                    left: 121px;
                    max-width: 108px;
                }
                .map__area-group--kyushu {
                    top: 267px;
                    left: -104px;
                }
                .map__area-group--okinawa {
                    top: 414px;
                    left: -70px;
                }
                    .map__region-name {
                        font-size: 12px;
                        font-weight: 500;
                        line-height: 1;
                        padding-bottom: 6px;
                        margin-bottom: 6px;
                        border-bottom: 1px solid #B9B9B9;
                        position: relative;
                    }
                        .map__region-name::before {
                            content: '';
                            display: block;
                            width: 28px;
                            height: 1px;
                            background: var(--orange);
                            position: absolute;
                            bottom: -1px;
                            left: 50%;
                            transform: translateX(-50%);
                        }
                    .map__area-list {
                        display: flex;
                        flex-wrap: wrap;
                        gap: 4px;
                    }
                        .map__area-name a {
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            padding: 6px 12px;
                            background: #FFF;
                            border-radius: 3px;
                            font-weight: 500;
                            line-height: 1;
                        }
                        .map__area-name.is-disabled a {
                            color: #B9B9B9;
                            pointer-events: none;
                            cursor: default;
                        }
                        .map__area-name.is-disabled .u-hover-orange {
                            color: #B9B9B9;
                        }

/*-------------------- バナー郡 --------------------*/

.banner__section {
    margin: 40px 0;
}
        .banner__item {
            width: 515px;
            transition: all 0.3s ease;
            position: relative;
        }
        .campaign-left {
            display: block;
            width: 50%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
        }
        .campaign-right {
            display: block;
            width: 50%;
            height: 100%;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
        }

/*-------------------- 物件検索 --------------------*/

.search__section {
    padding: 52px 0 70px;
}
    .search__contents--condition {
        margin-bottom: 70px;
        position: relative;
    }
        .img_mascot--condition {
            display: block;
            width: 95px;
            height: 125px;
            top: -56px;
            right: 34px;
        }
    [class*="search__contents"]:nth-of-type(even) {
        margin-inline: calc(50% - max(50%, 50vw));
        background: #F4F4F4;
    }
        .condition__list {
            display: flex;
            justify-content: space-between;
            margin-bottom: 30px;
        }
            .condition__icon {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 168px;
                height: 158px;
                background: #F9F9F9;
                box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 6px 1px;
                margin-bottom: 7px;
            }
            .condition__text {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 0 5px;
                font-size: 16px;
                font-weight: 500;
                line-height: 1;
            }
            .condition__text .arrow__icon {
                width: 20px;
                height: 20px;
            }
        .search__link-list {
            display: flex;
            flex-wrap: wrap;
            gap: 11px;
        }
            .search__link a {
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 8px 19px;
                border: 1px solid #EBEBEB;
                border-radius: 60px;
                font-size: 16px;
                font-weight: 500;
                line-height: 1;
            }
    .search__contents--situation {
        padding: 70px 0;
        background: #F4F4F4;
    }
        .situation__list {
            display: flex;
            gap: 0 20px;
            margin-bottom: 30px;
        }
            .situation__card a {
                display: block;
                width: 270px;
                padding: 15px 15px 12px;
                background: var(--white);
                border-radius: 5px;
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.12);
            }
                .situation__image {
                    margin-bottom: 12px;
                }
                .situation__text {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1.25;
                }
    .search__contents--grade {
        padding-top: 70px;
    }
        .grade__list {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
        }
            .grade__card a {
                display: flex;
                justify-content: space-between;
                width: 560px;
                height: 141px;
                background: #FFF;
                border-radius: 5px;
                box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.12);
                overflow: hidden;
                position: relative;
            }
                .grade__detail {
                    padding: 27px 25px 0;
                }
                    .grade__type {
                        font-size: 20px;
                        font-weight: 700;
                        line-height: 1;
                        margin-bottom: 8px;
                    }
                    .grade__text {
                        line-height: 1.5;
                    }
                .grade__image {
                    min-width: 244px;
                    width: 244px;
                    height: 100%;
                }
                .grade__card a .arrow__icon {
                    position: absolute;
                    right: 10px;
                    bottom: 8px;
                }

/*-------------------- 新着物件 --------------------*/

.newbkn__section {
    padding: 82px 0 100px;
    background: #F4F4F4;
}
    .newbkn__card {
        width: 270px;
        /* バッジ・割引行の有無で中身の高さが変わっても「詳細はこちら」を最下部に揃える（swiper の stretch でカード高さは揃う） */
        display: flex;
        flex-direction: column;
    }
        .newbkn__card .more__button {
            margin-top: auto;
        }
        .newbkn__image {
            width: 100%;
            height: 203px;
            margin-bottom: 10px;
            position: relative;
        }
            .newbkn__image img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            .newbkn__favorite {
                background: url(/images/top/icon_favorite.webp) no-repeat center / cover;
                display: block;
                width: 40px;
                height: 40px;
                position: absolute;
                top: 8px;
                right: 8px;
            }
            .newbkn__favorite.is-checked {
                background: url(/images/top/icon_favorite_on.webp) no-repeat center / cover;
            }
            /* グレードバッジは物件画像の左上に重ねる（該当時のみ） */
            .newbkn__image .newbkn__type-slot {
                position: absolute;
                left: 8px;
                top: 8px;
                z-index: 1;
                min-height: 0;
                margin-bottom: 0;
            }
                .newbkn__image .newbkn__type-slot .newbkn__type {
                    margin-bottom: 0;
                }
        .newbkn__summary {
            margin-bottom: 9px;
        }
            .newbkn__label-list {
                display: flex;
                gap: 0 3px;
                /* 割引が無い物件でもラベル1行分（.newbkn__label-item-- の padding×2 ＋ 行高）を確保し、
                   物件名以下の縦位置を全カードで揃える */
                min-height: calc(6px * 2 + 12px);
                margin-bottom: 10px;
            }
            /* li が無い空リストは領域ごと非表示（PHP の空 ul ＋ min-height 対策。空白ノードがあるため :empty は使わない） */
            .newbkn__label-list:not(:has(li)) {
                display: none;
            }
                [class*="newbkn__label-item--"] {
                    flex: 1;
                    display: flex;
                    justify-content: center;
                    align-content: center;
                    width: 100%;
                    height: fit-content;
                    padding: 6px 0;
                    font-size: 12px;
                    font-weight: 700;
                    color: var(--white);
                    line-height: 1;
                    text-align: center;
                }
                .newbkn__label-item--01 {
                    background: var(--orange);
                }
                .newbkn__label-item--02 {
                    background: var(--red);
                }
                .newbkn__label-item--03 {
                    background: var(--yellow);
                }
                .newbkn__label-item--04 {
                    background: #5FB530;
                }
            .newbkn__name {
                font-size: 20px;
                font-weight: 700;
                line-height: 1;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                margin-bottom: 10px;
            }
            .newbkn__type {
                display: flex;
                justify-content: center;
                align-items: center;
                width: fit-content;
                height: fit-content;
                padding: 6px 12px;
                background: #FFF;
                border-radius: 999px;
                font-size: 12px;
                font-weight: 700;
                line-height: 1;
                color: var(--text-orange-color);
                margin-bottom: 5px;
            }
            [class*="newbkn__short-wrap"] {
                display: flex;
                gap: 0 8px;
            }
            .newbkn__short-wrap--sshort {
                margin-bottom: 5px;
            }
                .short__label {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    min-width: 88px;
                    width: 88px;
                    height: auto;
                    min-height: 24px;
                    background: #FFF;
                    font-size: 12px;
                    font-weight: 700;
                    border: 1px solid var(--color-primary-grayscale-border-light, #EBEBEB);
                }
                .newbkn__short-wrap--sshort .short__label {
                    min-height: 51px;
                }
                .short__price-wrap {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: flex-start;
                    gap: 5px;
                }
                    .short__days {
                        display: flex;
                        align-items: center;
                        gap: 0 20px;
                    }
                        [class*="short__price--"] {
                            font-weight: 500;
                        }
                        [class*="short__price--"],
                        [class*="short__price--"] span {
                            line-height: 1.2;
                        }
                        .price-off {
                            font-size: 12px;
                            font-weight: 700;
                            line-height: 1;
                            color: var(--red);
                        }
                        .short__price--change {
                            position: relative;
                        }
                            .short__price--change::before {
                                content: '';
                                background: url(/images/top/icon_change-arrow.webp) no-repeat center / cover;
                                display: block;
                                width: 8px;
                                height: 6px;
                                position: absolute;
                                top: 5px;
                                left: -11px;
                            }
                        .change {
                            text-decoration: line-through;
                        }
                        .price-change {
                            font-weight: 700;
                            color: var(--red);
                        }
            .newbkn__info {
                display: flex;
                flex-direction: column;
                gap: 4px;
                margin-top: 10px;
            }
                .newbkn__text {
                    font-weight: 500;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                }
        .newbkn__card .more__button a {
            width: 100%;
        }
.newbkn__contents .newbkn__list {
    display: flex;
    gap: 20px;
    /* バッジ・割引行の有無に関わらず全カードを最大高に揃える（swiper の .swiper-slide{height:100%} が
       auto 高ラッパー内で stretch を無効化するため、slide を height:auto に戻して stretch を効かせる） */
    align-items: stretch;
}
    .newbkn__contents .newbkn__card.swiper-slide {
        height: auto;
    }

/*-------------------- 弊社の強み --------------------*/

.strengths__section {
    background: url(/images/top/bg_strengths.webp) no-repeat center / cover;
    padding: 82px 0 126px;

    .section__headline {
        margin-bottom: 0;
    }
}
    .strengths__section .section__inner {
        position: relative;
    }
    #anchor-strengths {
        padding-top: 150px;
        margin-top: -150px;
    }
    .strengths__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 62px 60px;
        position: relative;
    }
    .img_mascot--strengths {
        width: 116px;
        height: 110px;
        right: 30px;
        bottom: 55px;
    }
        .strengths__item {
            width: 340px;
        }
        .strengths__item:first-child {
            transform: translatey(52px);
        }
        .strengths__item:nth-child(2),
        .strengths__item:nth-child(4) {
            transform: translateY(26px);
        }
            .strengths__top {
                display: flex;
                gap: 0 3px;
                margin-bottom: 10px;
            }
                .strengths__image {
                    min-width: 306px;
                }
                .strengths__title {
                    writing-mode: vertical-rl;
                    font-size: 24px;
                    font-weight: 700;
                    color: var(--white);
                    margin-top: 4px;
                    letter-spacing: 0.24em;
                }
            .strengths__text {
                font-weight: 500;
                line-height: 1.8;
                color: var(--white);
            }

/*-------------------- ご利用ガイド --------------------*/

.guide__section {
    padding: 82px 0 100px;
    background: #F4F4F4;
}
    .guide__org-list {
        display: flex;
        flex-wrap: wrap;
        gap: 15px;
        margin-bottom: 30px;
    }
        .guide__org-card a {
            display: flex;
            align-items: center;
            gap: 0 10px;
            width: 370px;
            height: 140px;
            padding-left: 20px;
            background: #FFF;
            border-radius: 4px;
            box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.12);
            position: relative;
        }
            .guide__image {
                width: 100px;
            }
            .guide__title {
                font-size: 20px;
                font-weight: 500;
                line-height: 1.5;
            }
                .guide__title span {
                    font-weight: 500;
                    line-height: 1.5;
                }
            .guide__org-card a .arrow__icon {
                position: absolute;
                top: 50%;
                right: 20px;
                transform: translateY(-50%);
            }
    .guide__flow-contents .contents__title {
        padding-bottom: 29px;
        margin-bottom: 43px;
    }
        .guide__flow-list {
            display: flex;
            gap: 0 24px;
            margin-bottom: 30px;
            position: relative;
            z-index: 1;
        }
            .guide__flow-list::before {
                content: '';
                background: #FFF;
                width: 100%;
                height: 4px;
                position: absolute;
                top: 81px;
                left: 0;
                right: 0;
                z-index: -1;
            }
            .guide__flow-item {
                width: 170px;
                position: relative;
            }
                .guide__flow-num {
                    display: flex;
                    align-items: center;
                    padding: 6px 15px;
                    background: var(--black);
                    border-radius: 110px;
                    font-weight: 700;
                    line-height: 1;
                    color: var(--white);
                    position: absolute;
                    top: -13px;
                    left: 50%;
                    transform: translateX(-50%);
                }
                .guide__flow-image {
                    width: 100%;
                    margin-bottom: 8px;
                }
                .guide__flow-title {
                    font-weight: 700;
                    line-height: 1.25;
                    text-align: center;
                    margin-bottom: 5px;
                }
                .guide__flow-text {
                    line-height: 1.5;
                }

/*-------------------- 物件リクエスト --------------------*/

.request__section {
    padding: 100px 0 100px;
    background: url(/images/top/bg_request.webp) no-repeat center / cover;
}
    .request__contents {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
        .request__headline {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: 1.2px;
            color: var(--white);
            margin-bottom: 17px;
        }
            .request__headline span {
                display: block;
                font-size: 16px;
                font-weight: 700;
                line-height: 1;
                letter-spacing: 0;
                color: var(--white);
                margin-bottom: 11px;
            }
        .request__text {
            font-weight: 500;
            line-height: 2.15;
            color: var(--white);
        }
        .request__button a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 400px;
            height: 96px;
            padding-right: 11px;
            background: var(--orange);
            border-radius: 5px;
            font-size: 20px;
            font-weight: 700;
            line-height: 1;
            color: var(--white);
            position: relative;
        }
            .request__button a .arrow__icon {
                background: #FFF;
                position: absolute;
                top: 50%;
                right: 25px;
                transform: translateY(-50%);
            }
                .request__button a .arrow__icon svg {
                    stroke: var(--orange);
                }

/*-------------------- よくある質問 --------------------*/

.faq__section {
    padding: 81px 0 100px;
}
#anchor-faq {
    padding-top: 80px;
    margin-top: -80px;
}
    .faq__contents {
        margin-bottom: 30px;
    }
        .faq__detail:not(:last-of-type) {
            margin-bottom: 20px;
        }
            .faq__question {
                display: flex;
                align-items: center;
                gap: 0 10px;
                padding: 12px;
                background: #F4F4F4;
                border-bottom: 5px;
                line-height: 1.8;
            }
                .faq__question::before {
                    content: '';
                    background: url(/images/top/img_faq-question.webp) no-repeat center / cover;
                    display: block;
                    width: 58px;
                    height: 58px;
                }
            .faq__answer {
                display: flex;
                align-items: center;
                gap: 0 10px;
                padding: 20px 12px;
                line-height: 1.8;
            }
                .faq__answer::before {
                    content: '';
                    background: url(/images/top/img_faq-answer.webp) no-repeat center / cover;
                    display: block;
                    width: 58px;
                    height: 58px;
                }

/*-------------------- 専門家監修 --------------------*/

/* セクション本体・マスコット装飾は共通CSS（/css/pc/staff-section.css）が正本。
   ただしトップだけはリンク付きの実体 <img>（.img_mascot--staff、markup は index.phtml）を持つため、
   その位置指定はサイト共通の [class*="img_mascot--"] パターンに合わせてここに置く
   （staff-section.css 側は .staff__mascot-host 配下で ::before を打ち消す。BraTTo君表示対応 FB）。
   位置は旧 .section__inner 基準（top:-74px / left:119px）を、
   staff__section の padding-top:100px と inner 幅 1140px から換算している。
   fluffy キーフレームは他箇所（本ファイル内）でも使うためここに残す。 */
.staff__mascot-host {
    position: relative;
}
    .img_mascot--staff {
        width: 97px;
        height: 134px;
        top: 26px;
        left: calc((100% - 1140px) / 2 + 119px);
    }

/*-------------------- お役立ちコラム --------------------*/

.column__section {
    padding: 83px 0 0;
    background: #F4F4F4;
}
    .slide__image--column img {
        object-fit: cover;
    }
    .column__date {
        font-weight: 500;
        line-height: 1;
        margin-bottom: 5px;
    }
    .column__title {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.25;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

/*-------------------- お客様の声 --------------------*/

.voice__section {
    padding: 83px 0 0;
    background: #F4F4F4;
}
    .slide__image--voice img {
        object-fit: contain;
    }
    .voice__name {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        margin-bottom: 5px;
    }
    .voice__text {
        line-height: 1.5;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

/*-------------------- 更新情報 --------------------*/

.news__section {
    padding: 100px 0;
    background: #F4F4F4;
}
    .news__contents {
        padding: 41px 0 70px;
        position: relative;
        z-index: 1;
    }
        .news__contents::before {
            content: '';
            background: #FFF;
            min-width: 1600px;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            right: -70px;
            bottom: 0;
            z-index: -1;
        }
        .news__head {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            margin-bottom: 11px;
        }
            .news__head .section__headline {
                margin-bottom: 0;
            }
            .news__head .more__button {
                margin-bottom: 18px;
            }
            .news__head .more__button a {
                margin: 0;
            }
        .news__list {
            max-height: 380px;
            padding-right: 30px;
        }
            .news__item {
                display: flex;
                gap: 11px;
            }
            .news__item:not(:last-child) {
                padding-bottom: 19px;
                border-bottom: 1px solid #D2D2D2;
                margin-bottom: 20px;
            }
                .news__date {
                    min-width: fit-content;
                    font-weight: 500;
                    line-height: 1.5;
                }
                .news__title {
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.5;
                    margin-bottom: 5px;
                }
                .news__text {
                    line-height: 1.5;
                }
                .simplebar-track.simplebar-vertical {
                    width: 10px;
                    background: #D2D2D2;
                    border-radius: 0;
                }
                .simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 1;
                    background: var(--black);
                    border-radius: 0;
                    opacity: 1;
                }

/*-------------------- 空室にお困りのオーナー様・不動産会社様・管理会社様 --------------------*/

.owner__section {
    position: relative;
    z-index: 1;
}
    .owner__section::before {
        content: '';
        background: #F4F4F4;
        width: 100%;
        height: calc(100% - 65px);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
    }
    .owner__headline {
        padding: 51px 0;
        background: url(/images/top/bg_owner.webp) no-repeat center / cover;
        font-size: 30px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: 1.2px;
        color: var(--white);
        text-align: center;
        margin-bottom: 50px;
    }
    .owner__worries-wrap {
        margin-bottom: 40px;
    }
        .owner__worries-head {
            font-size: 24px;
            font-weight: 700;
            line-height: 1.25;
            text-align: center;
            margin-bottom: 16px;
        }
            .owner__worries-head span {
                font-size: 24px;
                font-weight: 700;
                line-height: 1.25;
                color: var(--orange);
            }
        .owner__worries-box {
            display: flex;
            gap: 0 31px;
            padding-left: 204px;
        }
            [class*="owner__worries-list--"] {
                margin-top: 63px;
            }
            .owner__worries-item:not(:last-child) {
                margin-bottom: 20px;
            }
                .owner__worries-title {
                    display: flex;
                    align-items: center;
                    gap: 0 5px;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1.25;
                    color: var(--orange);
                    margin-bottom: 5px;
                }
                    .owner__worries-title::before {
                        content: '';
                        background: var(--orange);
                        display: block;
                        width: 14px;
                        height: 14px;
                        border-radius: 50%;
                    }
                .owner__worries-text {
                    line-height: 1.5;
                }
            .owner__worries-image {
                width: 250px;
            }
    .owner__banner-wrap {
        position: relative;
    }
    .img_mascot--owner {
        width: 96px;
        height: 119px;
        top: -43px;
        right: 227px;
        z-index: 2;
    }
    .owner__banner-head {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 5px;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.25;
        margin-bottom: 15px;
        position: relative;
    }
        .owner__banner-head span {
            width: 207px;
        }
    .owner__banner-list {
        display: flex;
        justify-content: center;
        gap: 0 20px;
    }
        [class*="owner__banner-item--"] a {
            display: flex;
            align-items: center;
            width: 560px;
            height: 130px;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.5;
            color: var(--white);
            padding-left: 40px;
            position: relative;
            z-index: 1;
        }
        .owner__banner-item--owner a {
            background: url(/images/top/bg_banner-owner.webp) no-repeat center / cover;
        }
        .owner__banner-item--contact a {
            background: url(/images/top/bg_banner-contact.webp) no-repeat center / cover;
        }
            [class*="owner__banner-item--"] a .arrow__icon {
                position: absolute;
                top: 50%;
                right: 54px;
                transform: translateY(-50%);
            }

/*-------------------- 公式SNS --------------------*/

.sns__section {
    padding: 100px 0;
}
    .sns__contents {
        display: flex;
        gap: 0 30px;
        padding: 50px 50px;
        background: var(--black);
    }
        .sns__headline {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: 1.2px;
            color: var(--white);
            margin-top: 14px;
        }
            .sns__headline span {
                display: block;
                font-size: 16px;
                font-weight: 700;
                line-height: 1;
                letter-spacing: 0;
                margin-bottom: 6px;
                color: var(--white);
            }
        .sns__list {
            display: flex;
            gap: 0 20px;
        }
            [class*="sns__item--"] a {
                display: flex;
                align-items: center;
                gap: 0 20px;
                width: 254px;
                height: 90px;
                padding-left: 30px;
                background: var(--white);
                border-radius: 5px;
                font-size: 20px;
                font-weight: 700;
                line-height: 1.5;
                position: relative;
            }
            [class*="sns__item--"] a::before {
                content: '';
                display: block;
                width: 40px;
                height: 40px;
            }
            .sns__item--line a::before {
                background: url(/images/top/icon_sns-line.webp) no-repeat center / cover;
            }
            .sns__item--instagram a::before {
                background: url(/images/top/icon_sns-instagram.webp) no-repeat center / cover;
            }
            .sns__item--tiktok a::before {
                background: url(/images/top/icon_sns-tiktok.webp) no-repeat center / cover;
            }
                [class*="sns__item--"] a .arrow__icon {
                    width: 22px;
                    height: 22px;
                    position: absolute;
                    top: 50%;
                    right: 30px;
                    transform: translateY(-50%);
                }
                .sns__item--line a .arrow__icon {
                    background: var(--green);
                }
                .sns__item--instagram a .arrow__icon {
                    background: #EA3383;
                }
                .sns__item--tiktok a .arrow__icon {
                    background: var(--black);
                }
                    [class*="sns__item--"] a .arrow__icon svg {
                        stroke: var(--white);
                    }

/*-------------------- 採用情報-----------------*/

.recruit__section {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}
    .recruit__bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        overflow: hidden;
        pointer-events: none;
    }
        .recruit__bg img {
            position: absolute;
            left: 0;
            top: -146%;
            width: 100%;
            height: 1280px;
            max-width: none;
            object-fit: cover;
            object-position: center;
            will-change: transform;
        }
    .recruit__section .section__inner {
        position: relative;
        z-index: 1;
    }
    .recruit__contents {
        display: flex;
        align-items: center;
        gap: 0 120px;
        padding-left: 58px;
    }
        .recruit__headline {
            font-size: 16px;
            font-weight: 700;
            line-height: 1;
            color: var(--white);
            margin-bottom: 10px;
        }
        .recruit__catch {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.5;
            letter-spacing: 1.2px;
            color: var(--white);
            margin-bottom: 30px;
        }
        .recruit__type {
            display: flex;
            align-items: center;
            gap: 0 20px;
            padding: 20px;
            background: rgba(255, 255, 255, 0.15);
            position: relative;
        }
            .recruit__type-title {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 72px;
                height: 24px;
                background: var(--white);
                font-size: 14px;
                font-weight: 500;
                line-height: 1;
                position: absolute;
                top: -12px;
            }
            .recruit__type-text {
                font-weight: 500;
                line-height: 1;
                color: var(--white);
            }
        .recruit__right {
            position: relative;
        }
        .recruit__right::before {
            content: '';
            display: block;
            background: #FFF;
            width: 1px;
            height: 200px;
            position: absolute;
            top: -61px;
            left: -61px;
        }
            .recruit__eigyotime {
                font-size: 12px;
                line-height: 1.7;
                color: var(--white);
                margin-bottom: 8px;
            }
            .recruit__right .more__button a {
                margin: 0;
                background: var(--white);
                width: 280px;
                height: 50px;
                color: var(--black);
                font-weight: 500;
                line-height: 1.5;
            }
                .recruit__right .more__button a .arrow__icon {
                    width: 22px;
                    height: 22px;
                    background: var(--black);
                }
                    .recruit__right .more__button a .arrow__icon svg {
                        stroke: var(--white);
                    }

/*-------------------- 関連サイト一覧-----------------*/

.relation__section {
    padding: 80px 0 100px;
}
    .relation__title {
        font-size: 30px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: 1.2px;
        text-align: center;
        margin-bottom: 30px;
    }
    .relation__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 15px;
    }
        [class*="relation__item--"] a {
            display: block;
            width: 370px;
            height: 150px;
            position: relative;
        }
            [class*="relation__item--"] a .arrow__icon {
                width: 22px;
                height: 22px;
                position: absolute;
                right: 10px;
                bottom: 10px;
            }
            .relation__item--group a .arrow__icon {
                background: var(--black);
            }
                .relation__item--group a .arrow__icon svg {
                    stroke: var(--white);
                }
            .relation__item--group2 a .arrow__icon {
                background: var(--white);
            }
                .relation__item--group2 a .arrow__icon svg {
                    stroke: var(--black);
                }