@charset "UTF-8";

.l-wrapper {
    overflow: hidden;
}

.l-main {
    width: 100%;
    background: url(../images/top/bg_body.webp) no-repeat center / cover;
    padding: 0;
}

.l-main a {
    transition: .4s;
}

.l-main *:hover {
    opacity: 1;
    transition: .4s;
}

.l-main * {
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
}

.top-mv {
    margin: 0 auto;
    max-width: 1920px;
    position: relative;
    height: 570px;
}

.top-mv__image {
    display: block;
    width: 100%;
    height: 570px;
    object-fit: cover;
}

.top-mv__pagination.swiper-pagination {
    z-index: 1;
    bottom: -20px;
}

.top-mv__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}

.top-mv__pagination .swiper-pagination-bullet,
.top-mv__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #0577DD;
}

.top-mv__main-btn--wrapper {
    width: 1140px;
    margin: 0 auto;
    height: 62px;
    position: relative;
    bottom: 128px;
    display: flex;
    justify-content: flex-end;
}

.top-mv__main-btn {
    align-items: center;
    background: #F99E37;
    border-radius: 9999px;
    color: #FFFFFF;
    display: inline-flex;
    gap: 18px;
    font-size: 20px;
    font-weight: 700;
    height: 62px;
    justify-content: center;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-decoration: none;
    width: 334px;
    padding: 0;
    position: relative;
}

.top-mv__main-btn:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../images/top/arw_white.webp) no-repeat center / cover;
    width: 12px;
    height: 5px;
}

.top-mv__main-btn:hover:after {
    background: url(../images/top/arw_orange.webp) no-repeat center / cover;
}

.top-mv__main-btn:hover {
    background: #fff;
}

.top-mv__main-btn:hover .top-mv__main-btn-text {
    color: #F99E37;
}

.top-mv__main-btn-text {
    line-height: 1.4;
}

.top-mv__main-btn-arrow {
    display: block;
    position: relative;
    left: 13px;
}

.top-anchor {
    margin: 50px auto 80px;
    width: 1140px;
    position: relative;
}

.top-anchor:before {
    position: absolute;
    content: "";
    display: block;
    width: 675px;
    height: 670px;
    background: url(../images/top/deco_mv.webp);
    z-index: 0;
    left: -590px;
    top: -330px;
}

.top-anchor:after {
    position: absolute;
    content: "";
    display: block;
    width: 658px;
    height: 653px;
    background: url(../images/top/deco_top.webp);
    z-index: 0;
    right: -500px;
    bottom: -592px;
}

.top-anchor__telop {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    z-index: 1;
}

.top-anchor__telop-inner {
    align-items: center;
    background: #EAF4FA;
    border-radius: 9999px;
    display: flex;
    gap: 17px;
    height: 54px;
    overflow: hidden;
    padding: 7px 40px 7px 20px;
    width: 1140px;
}

.top-anchor__telop-icon {
    flex-shrink: 0;
}

.top-anchor__telop-marquee {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.top-anchor__telop-marquee-track {
    display: flex;
    width: max-content;
    animation: top-anchor-telop-marquee 45s linear infinite;
}

.top-anchor__telop-marquee-track .top-anchor__telop-text {
    color: #2F2F3C;
    flex-shrink: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin: 0;
    padding-right: 3em;
    white-space: nowrap;
}

@keyframes top-anchor-telop-marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

html.is-reduced-motion .top-anchor__telop-marquee-track {
    animation: none;
}

.top-anchor__date {
    color: #0577DD;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

.top-anchor__links {
    display: flex;
    margin-top: 80px;
}

.top-anchor__card {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 268px;
    position: relative;
    width: 570px;
    display: flex;
    justify-content: center;
    padding: 80px 0 0;
}

.top-anchor__card--buy {
    background-image: url('/images/top/top-anchor-buy-bg.webp');
    border-radius: 10px 0 0 10px;
}

.top-anchor__card--rent {
    background-image: url('/images/top/top-anchor-rent-bg.webp');
    border-radius: 0 10px 10px 0;
}

.top-anchor__card-body {
    align-items: center;
    color: #FEF8EF;
    display: flex;
    flex-direction: column;
    left: 68px;
    /* position: absolute; */
    top: 40px;
    width: 434px;
}

.top-anchor__card-brand {
    font-family: cursive;
    font-size: 90px;
    line-height: 1;
    opacity: 0.24;
}

.top-anchor__card-title {
    font-family: 'Arvo', serif;
    font-size: 64px;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-top: -40px;
    color: #fff;
}

.top-anchor__card-sub {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 10px;
    color: #fff;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
}

.top-anchor__btn {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #fff;
    border-radius: 9999px;
    color: #0577DD;
    display: inline-flex;
    justify-content: center;
    margin-top: 20px;
    position: relative;
    text-decoration: none;
    width: 434px;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
}

.top-anchor__btn:hover {
    background: #0577DD;
}

.top-anchor__btn-text {
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 70px;
}

.top-anchor__btn:hover .top-anchor__btn-text {
    color: #fff;
}

.top-anchor__btn-arrow {
    position: absolute;
    right: 24px;
    top: 32px;
}

.top-anchor__btn:hover .top-anchor__btn-arrow {
    filter: brightness(5) invert(0);
}

.top-anchor__btn--rent {
    color: #A98B3F;
}

.top-anchor__btn--rent:hover {
    background: #A98B3F;
}

.top-search-buy {
    background: url(../images/top/bg_buy.webp) no-repeat center / cover;
    height: 1234px;
    padding: 60px 0 0;
    position: relative;
    z-index: 0;
}

.top-buy__inner {
    width: 1140px;
    margin: 0 auto;
}

[class^="buy__title--"] {
    text-align: left;
    color: #fff;
    font-size: 38px;
    font-family: 'Arvo', serif;
    font-weight: 400;
    letter-spacing: 0.06em;
    margin: 0 0 11px;
}

[class^="buy__title--"] span {
    color: #fff;
    font-size: 18px;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    padding: 0 0 0 9px;
    letter-spacing: 0.09em;
    line-height: 1;
}

.top-buy__title-top {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 80px;
}

.top-buy__title-big {
    color: #Fff;
    font-family: 'Arvo', serif;
    font-size: 64px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-buy__title-big-sub {
    font-size: 24px;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
}

.top-buy__title {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 16px;
}

.top-buy__title-icon {
    display: block;
    height: 49px;
    width: 49px;
}

.top-buy__title-main {
    color: #FFF;
    font-family: 'Arvo', serif;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-buy__title-sub {
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
}

.cate {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.cate__item {
    width: 372px;
    height: 112px;
}

[class^="cate__link--"] {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #0577DD;
    font-size: 24px;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
    font-weight: 600;
    background: #fff;
    padding: 20px 0 0 94px;
    letter-spacing: 0.1em;
}

.cate__link--area {
    background: url(../images/top/bg_area-search.webp) no-repeat center / cover;
}

.cate__link--ensen {
    background: url(../images/top/bg_ensen-search.webp) no-repeat center / cover;
}

.cate__link--school {
    background: url(../images/top/bg_school-search.webp) no-repeat center / cover;
}

[class^="cate__link--"]:hover {
    color: #FFF;
}

.cate__link--area:hover {
    background: url(../images/top/bg_area-search-on.webp) no-repeat center / cover;
}

.cate__link--ensen:hover {
    background: url(../images/top/bg_ensen-search-on.webp) no-repeat center / cover;
}

.cate__link--school:hover {
    background: url(../images/top/bg_school-search-on.webp) no-repeat center / cover;
}

.buy__category {
    margin: 0 0 36px;
}

.buy__btm {
    display: flex;
    gap: 50px;
}

.buy__pickup {
    width: 450px;
}

.pickup__list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 12px;
}

.pickup__item {
    width: 219px;
    height: 108px;
    /* overflow: hidden; */
}

.buy__pickup .pickup__item a {
    font-size: 18px;
    padding: 0 0 4px;
    font-weight: 500;
    letter-spacing: 0.1em;
    overflow: hidden;
}

[class^="pickup__link--"] {
    width: 100%;
    height: 100%;
    display: flex;
    border-radius: 5px;
    justify-content: center;
    align-items: flex-end;
    color: #fff;
    font-family: Zen Kaku Gothic Antique;
    font-weight: 700;
    position: relative;
    z-index: 1;
    overflow: hidden;
    font-size: 18px;
    padding: 0 0 4px;
    font-weight: 500;
    letter-spacing: 0.1em;
    overflow: hidden;
}

[class^="pickup__link--"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 219px;
    height: 108px;
    transition: transform 0.3s ease-in-out;
    z-index: -1;
    border-radius: 5px;
}

[class^="pickup__link--"]:hover::before {
    transform: scale(1.05);
}

.pickup__link--renovation::before {
    background: url(../images/top/bg_renovation-pickup.webp) no-repeat center / cover;
}

.pickup__link--pet::before {
    background: url(../images/top/bg_pet-pickup.webp) no-repeat center / cover;
}

.pickup__link--station::before {
    background: url(../images/top/bg_station-pickup.webp) no-repeat center / cover;
}

.pickup__link--year::before {
    background: url(../images/top/bg_year-pickup.webp) no-repeat center / cover;
}

.pickup__link--4ldk::before {
    background: url(../images/top/bg_4ldk-pickup.webp) no-repeat center / cover;
}

.pickup__link--corner::before {
    background: url(../images/top/bg_corner-pickup.webp) no-repeat center / cover;
}

.pickup__link--single::before {
    background: url(../images/top/bg_single-pickup.webp) no-repeat center / cover;
}

.pickup__link--parking::before {
    background: url(../images/top/bg_parking-pickup.webp) no-repeat center / cover;
}

.pickup__link--chiku5c::before {
    background: url(../images/top/top-search-pickup-1-64bc48.webp) no-repeat center / cover;
}

.pickup__link--autolockc::before {
    background: url(../images/top/top-search-pickup-2-1f502b.webp) no-repeat center / cover;
}

.pickup__link--bathtoiletc::before {
    background: url(../images/top/top-search-pickup-3-138e7c.webp) no-repeat center / cover;
}

.pickup__link--freeinternetc::before {
    background: url(../images/top/top-search-pickup-4-23e758.webp) no-repeat center / cover;
}

.pickup__link--shikireizeroc::before {
    background: url(../images/top/top-search-pickup-5-3d99f2.webp) no-repeat center / cover;
}

.pickup__link--petcc::before {
    background: url(../images/top/top-search-pickup-6-15a42f.webp) no-repeat center / cover;
}

.buy__map {
    flex: 1;
}

.map__wrapper {
    position: relative;
}

[class^="map__item--"] {
    position: absolute;
}

.map__item--saga {
    bottom: 14px;
    left: 245px;
}

.map__item--kurume {
    left: 455px;
    bottom: 30px;
}

.map__item--imari {
    left: 29px;
    bottom: 50px;
}

.map__item--ogori {
    left: 485px;
    bottom: 82px;
}

.map__item--tosu {
    left: 363px;
    bottom: 67px;
}

.map__item--chikushino {
    left: 485px;
    bottom: 124px;
}

.map__item--nakagawa {
    left: 344px;
    bottom: 110px;
}

.map__item--onojo {
    left: 373px;
    bottom: 155px;
}

.map__item--dazaifu {
    left: 474px;
    bottom: 195px;
}

.map__item--kasuga {
    left: 341px;
    bottom: 198px;
}

.map__item--fukuoka {
    left: 307px;
    bottom: 246px;
}

.map__item--kasuya {
    right: 95px;
    top: 169px;
}

.map__item--itoshima {
    left: 174px;
    top: 191px;
}

.map__item--koga {
    right: 118px;
    top: 109px;
}

.map__item--fukutsu {
    right: 149px;
    top: 64px;
}

.map__item--munakata {
    right: 95px;
    top: 13px;
}

.map__pop {
    opacity: 0;
    visibility: hidden;
    display: flex;
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    flex-direction: column;
    align-items: center;
    gap: 6px;
    top: 40px;
    width: 138px;
    height: auto;
    background: #fff;
    border-radius: 10px;
    z-index: 1;
    padding: 10px;
}

/* リンクとポップの間の余白をホバー領域でつなぐ（mouseleave が余白で発火するのを防ぐ） */
.map__pop::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 20px;
}

.js-pop__list.js-pop__list--open {
    opacity: 1;
    visibility: visible;
}

.map__pop--item {
    width: 118px;
    height: 30px;
}

.map__pop--item a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0577DD;
    border: 1px solid #0577DD;
    color: #fff;
    border-radius: 9999px;
    font-size: 16px;
    font-weight: 700;
}

.map__pop--item a:hover {
    background: #fff;
    color: #0577DD;
}

.top-search-rent__contents .map__pop--item a {
    background: #A98B3F;
    border: 1px solid #A98B3F;
}

.top-search-rent__contents .map__pop--item a:hover {
    background: #fff;
    color: #A98B3F;
}

.map__link {
    background: #fff;
    color: #0577DD;
    font-size: 18px;
    line-height: 1.6112;
    font-weight: 800;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
    border: 1px solid #0577DD;
    border-radius: 9999px;
    display: block;
    padding: 2px 0;
    letter-spacing: 0.1em;
    width: 118px;
    height: 34px;
    text-align: center;
    position: relative;
}

.top-search-rent__contents .map__link {
    color: #A98B3F;
    border: 1px solid #A98B3F;
}

.map__link span {
    position: absolute;
    top: 10px;
    right: 10px;
}

.map__link:hover {
    background: #0577DD;
    color: #fff;
}

.top-search-rent__contents .map__link:hover {
    background: #A98B3F;
    color: #fff;
}

.js-pop:hover {
    background: #fff;
    color: #0577DD;
}

.top-search-rent__contents .js-pop:hover {
    background: #fff;
    color: #A98B3F;
}

.map__link--saga {
    color: #08AEA6;
    border: 1px solid #08AEA6;
}

.map__link--saga:hover {
    color: #fff;
    background: #08AEA6;
}

.top-search-rent__contents .map__link--saga {
    color: #08AEA6;
    border: 1px solid #08AEA6;
}

.top-search-rent__contents .map__link--saga:hover {
    color: #fff;
    background: #08AEA6;
}

.top-property {
    margin: 0 auto;
    padding: 80px 0;
    position: relative;
}

.top-property--new:after {
    position: absolute;
    content: "";
    display: block;
    width: 658px;
    height: 653px;
    background: url(../images/top/deco_new1.webp);
    z-index: 0;
    right: -213px;
    bottom: -12px;
}

.top-property--recommend:after {
    position: absolute;
    content: "";
    display: block;
    width: 1074px;
    height: 1074px;
    background: url(../images/top/deco_recommend.webp);
    z-index: 0;
    left: -551px;
    bottom: -302px;
}

.top-property--achievement:after {
    position: absolute;
    content: "";
    display: block;
    width: 1056px;
    height: 1018px;
    background: url(../images/top/deco_achievment.webp);
    z-index: 0;
    left: -443px;
    bottom: -382px;
}

.top-property--rent-new:after {
    position: absolute;
    content: "";
    display: block;
    width: 1074px;
    height: 1074px;
    background: url(../images/top/deco_new2.webp);
    z-index: 0;
    left: -520px;
    bottom: -322px;
}

.top-message--rent:after {
    position: absolute;
    content: "";
    display: block;
    width: 739px;
    height: 644px;
    background: url(../images/top/deco_news2.webp);
    z-index: 0;
    left: -553px;
    right: auto;
    bottom: 7px;
}

.top-property--voice:after {
    position: absolute;
    content: "";
    display: block;
    width: 915px;
    height: 915px;
    background: url(../images/top/deco_voice.webp);
    z-index: 0;
    right: -323px;
    bottom: -73px;
}

.top-representative:after {
    position: absolute;
    content: "";
    display: block;
    width: 675px;
    height: 670px;
    background: url(../images/top/deco_message.webp);
    z-index: 0;
    left: -230px;
    bottom: 148px;
}

.top-property--renovation,
.top-property--good-price {
    background: url(../images/top/bg_blue.webp) no-repeat center / cover;
}

.top-property__inner {
    margin: 0 auto;
    position: relative;
    width: 1140px;
    z-index: 1;
}

.top-property__title {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.top-property__title-icon {
    display: block;
    height: 49px;
    width: 49px;
}

.top-property__title-main {
    color: #0577DD;
    font-family: 'Arvo', serif;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-message--rent .top-property__title-main,
.top-property--rent-new .top-property__title-main,
.top-property--rent-recommend .top-property__title-main {
    color: #A98B3F;
}

.top-property__title-sub {
    color: #0577DD;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

.top-message--rent .top-property__title-sub,
.top-property--rent-new .top-property__title-sub,
.top-property--rent-recommend .top-property__title-sub {
    color: #A98B3F;
}

.top-property--rent-recommend {
    background: url(../images/top/top-property-rent-recommend.webp) no-repeat center / cover;
}

.top-property--rent-recommend .top-property__subject {
    color: #58463E;
}

.top-property__subject {
    color: #2F2F3C;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 30px;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

.top-property__list {
    display: flex;
    gap: 25px;
    margin-top: 28px;
    justify-content: center;
}

.top-property__card {
    border-radius: 10px;
    width: 208px;
    min-height: 244px;
}

.top-property--achievement .top-property__card {
    height: 185px;
    min-height: unset;
}

.top-property--voice .top-property__card {
    height: 225px;
    min-height: unset;
}

.top-property--voice .top-property__card-image-wrap {
    border-radius: 10px;
}

.top-property__card-link {
    color: inherit;
    display: block;
    text-decoration: none;
}

.top-property__card-link:hover {
    opacity: 1;
}

.top-property__card-image-wrap {
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    width: 206px;
    height: 154px;
    border: 1px solid #70A3D2;
}

.top-property--rent-new .top-property__card-image-wrap,
.top-property--rent-recommend .top-property__card-image-wrap {
    border: 1px solid #918783;
}

.top-property__card-image-wrap img {
    width: 100%;
    height: 100%;
    transition: .4s;
    object-fit: cover;
}

.top-property__card-link:hover .top-property__card-image-wrap img {
    transform: scale(1.05);
    transition: .4s;
}

.btn__favorite {
    background: url(../images/top/top-new-heart-off.svg);
    width: 32px;
    height: 32px;
    position: absolute;
    right: 5px;
    top: 5px;
}

.btn__favorite.is-checked {
    background: url(../images/top/top-new-heart-on.svg);
}

.top-property__card-image {
    display: block;
    height: 154px;
    object-fit: cover;
    width: 208px;
}

.top-property__card-heart {
    position: absolute;
    right: 6px;
    top: 6px;
}

.top-property__card-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 8px;
}

.top-property__card-head {
    display: flex;
    flex-direction: column;
}

.top-property__card-title {
    color: #2F2F3C;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-property__card-price {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.17;
    font-weight: 600;
}

.top-property__card-price span {
    font-size: 22px;
    font-weight: 700;
    color: #CD5353;
}

.top-property__card-detail {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.top-property__card-detail p {
    color: #2F2F3C;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-property__more-btn {
    align-items: center;
    background: transparent;
    border-radius: 9999px;
    color: #0577DD;
    border: 1px solid #0577DD;
    display: flex;
    height: 40px;
    justify-content: center;
    margin: 30px auto 0;
    position: relative;
    text-decoration: none;
    width: 200px;
}

.top-property__more-btn:hover {
    background: #0577DD;
    color: #FFFFFF;
}

.top-message .top-property__more-btn {
    margin: 0 auto 0;
}

.top-property--achievement .top-property__more-btn,
.top-property--voice .top-property__more-btn,
.top-property--blog .top-property__more-btn {
    margin: 30px auto 0;
}

.top-property__more-btn-text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-property__more-btn-arrow {
    position: absolute;
    right: 12px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/top/arw_blue.webp) no-repeat center / cover;
    width: 12px;
    height: 5px;
}

.top-representative__more:hover .top-property__more-btn-arrow {
    background: url(../images/top/arw_white.webp) no-repeat center / cover;
}

.top-property__more-btn--gold .top-property__more-btn-arrow {
    background: url(../images/top/arw_gold.webp) no-repeat center / cover;
}

.top-property__more-btn:hover .top-property__more-btn-arrow {
    background: url(../images/top/arw_white.webp) no-repeat center / cover;
}

.top-property__more-btn--gold {
    background: transparent;
    border: 1px solid #A98B3F;
}

.top-property__more-btn--gold .top-property__more-btn-text {
    color: #A98B3F;
}

.top-property__more-btn--gold:hover {
    background: #A98B3F;
    color: #FFFFFF;
}

.top-property__more-btn--gold:hover .top-property__more-btn-text {
    color: #FFFFFF;
}

.top-property--voice {
    padding-top: 160px;
    position: relative;
}

.top-property--voice .top-property__title-main,
.top-property--voice .top-property__title-sub {
    color: #0577DD;
}

.top-property--voice .top-property__list {
    margin-top: 26px;
}

.top-property--voice .top-property__card-heart,
.top-property--voice .top-property__card-price {
    display: none;
}

.top-property--voice .top-property__card-image-wrap {
    border: 1px solid #70A3D2;
}

.top-property--voice .top-property__card-body {
    gap: 1px;
    margin-top: 6px;
}

.top-property--voice .top-property__card-detail p {
    white-space: normal;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* BLOG（Figma 12113:1168）— レイアウトは VOICE を流用、装飾 bg は薄水色の右側丸形状 */
.top-property--blog {
    isolation: isolate;
    padding-top: 79px;
    position: relative;
}

.top-property--voice:before,
.top-property--blog::before {
    background: url(../images/top/bg_maru-blue.webp) no-repeat center / cover;
    border-radius: 0 9999px 9999px 0;
    content: '';
    height: 639px;
    max-width: 100%;
    pointer-events: none;
    position: absolute;
    top: 4px;
    width: 1246px;
    z-index: 1;
    right: calc(50% - 570px + 284px);
}

.top-property--voice:before {
    top: 80px;
}

.top-property--blog .top-property__inner {
    position: relative;
    z-index: 1;
}

.top-property--blog .top-property__title-main,
.top-property--blog .top-property__title-sub {
    color: #0577DD;
}

.top-property--blog .top-property__list {
    margin-top: 30px;
}

.top-property--blog .top-property__card-heart,
.top-property--blog .top-property__card-price {
    display: none;
}

.top-property--blog .top-property__card-image-wrap {
    border: 1px solid #70A3D2;
}

.top-property--blog .top-property__card-body {
    align-items: stretch;
    gap: 5px;
    margin-top: 6px;
}

.top-property--blog .top-property__card-title {
    text-align: left;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.top-property--blog .top-property__card-detail p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}

.top-property--blog .top-property__card-meta {
    color: #0577DD;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    margin: 0;
    text-align: left;
    width: 100%;
}

.top-property__decoration {
    display: block;
    left: 628px;
    position: absolute;
    top: 560px;
}

.top-property--achievement {
    padding: 80px 0 0;
}

.top-contact-buy {
    background-image:
        url('/images/top/top-contact-buy-bg-18245e.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 626px;
    position: relative;
    z-index: 0;
}

/* 賃貸 CONTACT（Figma 12464:5325）— 売買と同形式。背景は書き出し画像 top-contact-rent-bg.png */
.top-contact-rent {
    background-image:
        url('/images/top/top-contact-rent-bg.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 626px;
}

.top-contact-buy__inner,
.top-contact-rent__inner {
    height: 100%;
    margin: 0 auto;
    width: 1140px;
}

.top-contact-buy__contents {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    padding-top: 80px;
}

.top-contact-buy__title {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.top-contact-buy__title-icon {
    display: block;
}

.top-contact-buy__title-main {
    color: #FFFFFF;
    font-family: 'Arvo', serif;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-contact-buy__title-sub {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
}

.top-contact-buy__subject {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

.top-contact-buy__item {
    display: flex;
    gap: 18px;
}

.top-contact-buy__phone,
.top-contact-buy__mail {
    border-radius: 10px;
    height: 242px;
    width: 561px;
}

.top-contact-buy__phone {
    background: #0577DD;
    padding: 48px 70px;
}

.top-contact-buy__mail {
    background: #FFFFFF;
    padding: 48px 90px;
}

.top-contact-buy__item-title {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: center;
}

.top-contact-rent .top-contact-buy__item-title {
    color: #a98b3f;
}

.top-contact-buy__item-title--mail {
    color: #0577DD;
}

.top-contact-buy__phone-number {
    align-items: center;
    display: flex;
    gap: 6px;
    margin-top: 20px;
}

.top-contact-buy__phone-text {
    color: #FFF;
    font-family: 'Arvo', serif;
    font-size: 50px;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1;
}

.top-contact-rent .top-contact-buy__phone-text {
    color: #a98b3f;
}

.top-contact-buy__phone-note {
    color: #FFF;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    margin-top: 18px;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

.top-contact-rent .top-contact-buy__phone-note {
    color: #a98b3f;
}

.top-contact-buy__mail-btn {
    align-items: center;
    background: #0577DD;
    border: 1px solid #0577DD;
    border-radius: 9999px;
    display: flex;
    height: 70px;
    justify-content: center;
    margin-top: 14px;
    position: relative;
    text-decoration: none;
    width: 382px;
    padding: 0 0 0 43px;
}

.top-contact-buy__mail-btn:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 125px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../images/top/icn_contact_white.webp) no-repeat center / cover;
    width: 29px;
    height: 22px;
}

.top-contact-buy__mail-btn:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background: url(../images/top/arw_white-b.webp) no-repeat center / cover;
    width: 19px;
    height: 7px;
}

.top-contact-buy__mail-btn:hover {
    background: #fff;
}

.top-contact-buy__mail-btn:hover:before {
    background: url(../images/top/icn_contact_blue.webp) no-repeat center / cover;
}

.top-contact-buy__mail-btn:hover:after {
    background: url(../images/top/arw_blue-b.webp) no-repeat center / cover;
}

.top-contact-rent .top-contact-buy__mail-btn:before {
    background: url(../images/top/icn_contact_white.webp) no-repeat center / cover;
}

.top-contact-rent .top-contact-buy__mail-btn:hover:before {
    background: url(../images/top/icn_contact_gold.webp) no-repeat center / cover;
}

.top-contact-rent .top-contact-buy__mail-btn:after {
    background: url(../images/top/arw_white-b.webp) no-repeat center / cover;
}

.top-contact-rent .top-contact-buy__mail-btn:hover:after {
    background: url(../images/top/arw_gold-b.webp) no-repeat center / cover;
}

.top-contact-buy__mail-btn-content {
    align-items: center;
    display: flex;
    gap: 16px;
}

.top-contact-buy__mail-btn:hover .top-contact-buy__mail-btn-text {
    color: #0577DD;
}

.top-contact-rent .top-contact-buy__mail-btn:hover .top-contact-buy__mail-btn-text {
    color: #FFF;
}

.top-contact-rent .top-contact-buy__mail-btn:hover .top-contact-buy__mail-btn-text {
    color: #A98B3F;
}

.top-contact-buy__mail-btn-text {
    color: #FFFFFF;
    font-family: 'Arvo', serif;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.24;
}

.top-contact-buy__mail-arrow {
    position: absolute;
    right: 24px;
    top: 32px;
}

.top-contact-buy__mail-note {
    color: #0577DD;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    margin-top: 4px;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

/* 賃貸 CONTACT カラー（Figma 12464:5325）— RENT ゴールド系に統一 */
.top-contact-rent .top-contact-buy__phone {
    background: #F8F0CC;
}

.top-contact-rent .top-contact-buy__mail {
    border: 1px solid #D4C4A8;
}

.top-contact-rent .top-contact-buy__item-title--mail {
    color: #A98B3F;
}

.top-contact-rent .top-contact-buy__phone-icon {
    color: #FFFFFF;
    box-sizing: border-box;
    display: block;
    flex-shrink: 0;
}

.top-contact-rent .top-contact-buy__mail-btn {
    background: #CDAB4F;
    border: 1px solid #CDAB4F;
}

.top-contact-rent .top-contact-buy__mail-btn:hover {
    background: #fff;
}

.top-contact-rent .top-contact-buy__mail-note {
    color: #A98B3F;
}

.top-property__achievement-overlay {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    left: 35px;
    letter-spacing: 0.1em;
    line-height: 1.5;
    position: absolute;
    text-align: center;
    top: 54px;
    z-index: 2;
}

.top-property--achievement .top-property__card-price,
.top-property--achievement .top-property__card-heart,
.top-property--achievement .top-property__card-detail {
    display: none;
}

.top-bnr {
    margin: 0 auto;
    padding: 80px 0 80px;
    width: 1140px;
}

.top-bnr__inner {
    background-image: url('/images/top/top-bnr-bg-group.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    height: 334px;
    position: relative;
    width: 1140px;
}

.top-bnr__frame {
    height: 310px;
    left: 12px;
    position: absolute;
    top: 12px;
    width: 1116px;
}

.top-bnr__contents {
    align-items: center;
    display: flex;
    flex-direction: column;
    left: 0;
    position: absolute;
    top: 43px;
    width: 100%;
    z-index: 1;
}

.top-bnr__mini-mark {
    display: block;
    height: 28px;
    width: 104px;
}

.top-bnr__title {
    color: #FFFFFF;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 2px;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
}

.top-bnr__subject {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 10px;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
}

.top-bnr__buttons {
    display: flex;
    gap: 20px;
    margin-top: 25px;
}

.top-bnr__btn {
    align-items: center;
    border-radius: 9999px;
    display: inline-flex;
    height: 80px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 382px;
}

.top-bnr__btn:hover:after {
    width: 19px;
    height: 7px;
    position: absolute;
    content: "";
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.top-bnr__btn--orange {
    background: #F99E37;
    color: #FFFFFF;
}

.top-bnr__btn--orange:hover {
    background: #fff;
}

.top-bnr__btn--orange:hover:after {
    background: url(../images/top/arw_orange.webp) no-repeat center / cover;
}

.top-bnr__btn--orange:hover .top-bnr__btn-text {
    color: #F99E37;
}

.top-bnr__btn--white {
    background: #FFFFFF;
    color: #F99E37;
}

.top-bnr__btn--white:hover {
    background: #F99E37;
}

.top-bnr__btn--white:hover:after {
    background: url(../images/top/arw_white.webp) no-repeat center / cover;
}

.top-bnr__btn--white:hover .top-bnr__btn-text {
    color: #fff;
}

.top-bnr__btn-text-wrap {
    display: inline-block;
    position: relative;
}

.top-bnr__btn-text {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-bnr__btn-text--blue {
    color: #F99E37;
}

.top-bnr__btn-deco {
    left: 12px;
    position: absolute;
}

.top-bnr__btn-deco--top {
    top: 0;
}

.top-bnr__btn-deco--bottom {
    bottom: 0;
}

.top-bnr__btn-arrow {
    position: absolute;
    right: 24px;
    top: 38px;
}

/* セカンダリバナー（Figma 12094:3591）— top-bnr と同型、背景・CTO 色を差別化 */
.top-promo-bnr {
    margin: 0 auto;
    padding: 0 0 80px;
    width: 1140px;
}

.top-promo-bnr__inner {
    background-color: #447498;
    background-image: url('/images/top/top-promo-bnr-bg.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    height: 334px;
    position: relative;
    width: 1140px;
}

.top-promo-bnr__frame {
    height: 310px;
    left: 12px;
    position: absolute;
    top: 12px;
    width: 1116px;
}

.top-promo-bnr__contents {
    align-items: center;
    display: flex;
    flex-direction: column;
    left: 0;
    position: absolute;
    top: 43px;
    width: 100%;
    z-index: 2;
}

.top-promo-bnr__mini-mark {
    display: block;
    height: 28px;
    width: 104px;
}

.top-promo-bnr__title {
    color: #FFFFFF;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 2px;
}

.top-promo-bnr__subject {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 8px;
}

.top-promo-bnr__buttons {
    margin-top: 25px;
}

.top-promo-bnr__btn {
    align-items: center;
    background: #0577DD;
    border-radius: 9999px;
    color: #FFFFFF;
    display: inline-flex;
    height: 80px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 382px;
}

.top-promo-bnr__btn-text-wrap {
    display: inline-block;
    position: relative;
}

.top-promo-bnr__btn-text {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-promo-bnr__btn-deco {
    left: 12px;
    position: absolute;
}

.top-promo-bnr__btn-deco--top {
    top: 0;
}

.top-promo-bnr__btn-deco--bottom {
    bottom: 0;
}

.top-promo-bnr__btn-arrow {
    position: absolute;
    right: 24px;
    top: 38px;
}

.top-message {
    margin: 0 auto;
    padding: 0 0 80px;
    width: 1140px;
    position: relative;
}

.top-message.top-message--rent {
    padding: 81px 0 80px;
}

.top-message__box {
    background: #FFFFFF;
    border-radius: 20px;
    margin-top: 30px;
    padding: 60px 100px 60px 60px;
    position: relative;
    z-index: 1;
}

.top-message:after {
    position: absolute;
    content: "";
    display: block;
    width: 739px;
    height: 644px;
    background: url(../images/top/deco_new1.webp);
    z-index: 0;
    bottom: -3px;
    left: -560px;
}

.top-message__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.top-message__scroll {
    height: 380px;
    width: 100%;
}

.top-message__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.top-message__item {
    border-bottom: 1px solid #E2E2E2;
    padding: 0 0 40px;
}

.top-message__date {
    color: #2F2F3C;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.7;
}

.top-message__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.top-message__text-main {
    color: #2F2F3C;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-message__text-sub {
    color: #2F2F3C;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-message__scroll .simplebar-track.simplebar-vertical {
    opacity: 1;
    pointer-events: auto;
    right: -40px;
    width: 3px;
    background: #D9D9D9;
}

.top-message__scroll .simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
    background: #0577DD;
    border-radius: 0;
    left: 0;
    opacity: 1;
    right: 0;
}

.top-message--rent .top-message__scroll .simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
    background: #A98B3F;
}

.top-search-rent {
    background: url(/images/top/top-search-bg-with-vector.webp) no-repeat center / cover;
    margin: 0 auto;
    padding: 100px 0 79px;
}

.top-search-rent__inner {
    margin: 0 auto;
    width: 1140px;
}

/* 賃貸検索 見出し（Figma 12113:2019）— アンカー賃貸カードと同構造、明背景用にゴールド */
.top-search-rent__rent-title {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
    text-align: center;
}

.top-search-rent__rent-title-brand {
    color: #A98B3F;
    font-family: 'Oooh Baby', cursive;
    font-size: 90px;
    line-height: 1;
    margin: 0;
    opacity: 0.4;
}

.top-search-rent__rent-title-main {
    color: #A98B3F;
    font-family: 'Arvo', serif;
    font-size: 64px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin: -40px 0 0;
}

.top-search-rent__rent-title-sub {
    color: #A98B3F;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 10px 0 0;
}

.top-search-rent__title {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.top-search-rent__title-main {
    color: #A98B3F;
    font-family: 'Arvo', serif;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-search-rent__title-sub {
    color: #A98B3F;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
}

.top-search-rent__contents {
    display: flex;
    flex-direction: column;
    margin-top: 25px;
}

.top-search-rent__content-title-wrap {
    align-items: flex-end;
    display: flex;
    gap: 10px;
}

.top-search-rent__content-title {
    color: #A98B3F;
    font-family: 'Arvo', serif;
    font-size: 38px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
}

.top-search-rent__content-title-sub {
    color: #2F2F3C;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    padding: 0 0 4px;
}

.top-search-rent__pickup {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 450px;
}

.top-search-rent__pickup-list {
    display: grid;
    gap: 18px 18px;
    grid-template-columns: repeat(3, 1fr);
}

.top-search-rent__pickup-link {
    border-radius: 10px;
    color: #FEF8EF;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.top-search-rent__pickup-image {
    display: block;
    height: 145px;
    object-fit: cover;
    width: 368px;
    transition: .4s;
}

.top-search-rent__pickup-link:hover .top-search-rent__pickup-image {
    transform: scale(1.05);
    transition: .4s
}

.top-search-rent__pickup-text {
    bottom: 11px;
    color: #FEF8EF;
    font-size: 20px;
    font-weight: 700;
    left: 0;
    letter-spacing: 0.1em;
    line-height: 1;
    position: absolute;
    right: 0;
    text-align: center;
    z-index: 1;
}

.top-search-rent__category {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.top-search-rent__category-list {
    display: flex;
    gap: 12px;
}

.top-search-rent__category-item {
    width: 564px;
}

.top-search-rent__category-link {
    background-image: url('/images/top/top-search-category-bg.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 564px 112px;
    border-radius: 10px;
    color: #A98B3F;
    display: flex;
    gap: 130px;
    height: 112px;
    padding: 4px 39px 0 8px;
    text-decoration: none;
    align-items: center;
    width: 100%;
}

.top-search-rent__category-link:hover {
    background-image: url('/images/top/top-search-category-bg-on.webp');
}

.top-search-rent__category-icon {
    display: block;
    height: 96px;
    width: 93px;
}

.top-search-rent__category-text {
    color: #A98B3F;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: center;
    position: relative;
    top: 10px;
}

.top-search-rent__category-item2 .top-search-rent__category-text {
    left: 13px;
}

/* MESSAGE（代表挨拶）— セレクタは .top-representative 配下に限定（他ブロックへ影響させない） */
.top-representative {
    isolation: isolate;
    margin: 0 auto;
    padding: 80px 0;
    position: relative;
}

.top-representative__inner {
    margin: 0 auto;
}

.top-representative__header {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.top-representative__header-icon {
    display: block;
    height: 49px;
    width: 49px;
}

.top-representative__header-main {
    color: #0577DD;
    font-family: 'Arvo', serif;
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin: 0;
}

.top-representative__header-sub {
    color: #0577DD;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 0;
}

/*
 * MESSAGE 背景: Figma node 12117-2708「contents」内の img レイヤー（12078:2160）
 * 書き出し: top-message-img-cropped.png（img の IMAGE フィル＋クロップと一致）
 */
.top-representative__row {
    box-sizing: border-box;
    isolation: isolate;
    margin-top: 30px;
    padding-top: 81px;
    min-height: 706px;
    position: relative;
    width: 100%;
    position: relative;
    z-index: 1;
}

.top-representative__row::before {
    background-image: url(/images/top/top-message-img-cropped.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1245px 706px;
    content: '';
    height: 706px;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: min(1245px, 100%);
    z-index: 0;
    left: calc(50% - 570px + 285px);
}

.top-representative__card--wrapper {
    width: 1140px;
    margin: 0 auto;
}

.top-representative__card {
    background: #FFFFFF;
    border-radius: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 80px;
    max-width: 735px;
    padding: 60px 50px;
    margin: 0 auto 0 0;
    position: relative;
    width: 100%;
    z-index: 1;
}

.top-representative__lead {
    color: #0577DD;
    font-family: 'Zen Kaku Gothic Antique', 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin: 0 0 19px;
}

.top-representative__text-block {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin: 0 0 9px;
}

.top-representative__text {
    box-sizing: border-box;
    color: #2F2F3C;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin: 0;
    max-width: 635px;
}

.top-representative__sign {
    box-sizing: border-box;
    color: #2F2F3C;
    font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin: 0 0 20px;
    max-width: 635px;
    text-align: right;
    position: relative;
    left: 2px;
}

.top-representative__more {
    align-items: center;
    align-self: flex-start;
    background: #FFFFFF;
    border: 1px solid #0577DD;
    border-radius: 9999px;
    box-sizing: border-box;
    display: flex;
    height: 40px;
    justify-content: center;
    margin-top: 0;
    position: relative;
    text-decoration: none;
    width: 200px;
}

.top-representative__more:hover {
    background: #0577DD;
}

.top-representative__more-text {
    color: #0577DD;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.top-representative__more:hover .top-representative__more-text {
    color: #fff;
}

.top-representative__more-arrow {
    position: absolute;
    right: 12px;
    top: 18px;
}

.bnr__content {
    width: 1140px;
    margin: 0 auto;
    padding: 80px 0;
    position: relative;
    z-index: 1;
}

.bnr__list {
    display: flex;
    gap: 25px;
}

.bnr__item {
    width: 208px;
    height: 102px;
}

.page__link {
    margin-top: -165px;
    padding-top: 165px;
}

.page__link#link-rent {
    margin-top: -195px;
    padding-top: 195px;
}

.rent__btm {
    display: flex;
    gap: 50px;
    margin-top: 44px;
}

.rent__map {
    flex: 1;
}