@charset "UTF-8";

.l-contents {
    background: #fff;
}
.l-main {
    width: 100%;
}

/* スクロール連動フェードイン（.js-fadein は各セクションに付与） */
.js-fadein {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.25s ease-out, transform 1.25s ease-out;
}

.js-fadein.is-fadein-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .js-fadein {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.l-main *{
    box-sizing: border-box;
    font-weight: 400;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 400;
}
.contents__inner {
    width: 1140px;
    margin: 0 auto;
    position: relative;
}
.mv__wrap {
    min-height: 42.4vw;
}
.mv__wrap .contents__inner {
    width: 59.4vw;
    margin: 0 auto;
    position: relative;
    max-width: 1140px;
}
.main__mv--01 {
    width: 51.3vw;
    height: 28.2vw;
    overflow: hidden;
    position: absolute;
    right: -20.4vw;
    top: 0.9vw;
    border-radius: 10px 0 0 10px;
}

.main__mv--01 .main__mv-fade-slider,
.main__mv--01 .main__mv-fade-slider.slick-slider,
.main__mv--01 .slick-list,
.main__mv--01 .slick-track {
    height: 100%;
}

.main__mv--01 .slick-slide {
    height: 100%;
}

.main__mv--01 .slick-slide > div {
    height: 100%;
}

.main__mv-fade-slider__item,
.main__mv-fade-slider__item > a {
    display: block;
    height: 100%;
}

.main__mv-fade-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.main__mv--02 {
    width: 16.7vw;
    height: 16.7vw;
    overflow: hidden;
    border-radius: 10px;
    position: absolute;
    top: 10.3vw;
    left: -13.8vw;
}

.main__mv--02 .main__mv-fade-slider,
.main__mv--02 .main__mv-fade-slider.slick-slider,
.main__mv--02 .slick-list,
.main__mv--02 .slick-track {
    height: 100%;
}

.main__mv--02 .slick-slide {
    height: 100%;
}

.main__mv--02 .slick-slide > div {
    height: 100%;
}

.main__mv--03 {
    width: 12.4vw;
    height: 13.1vw;
    overflow: hidden;
    border-radius: 10px;
    top: 24.2vw;
    position: absolute;
    left: -20.3vw;
}

.main__mv--03 .main__mv-fade-slider,
.main__mv--03 .main__mv-fade-slider.slick-slider,
.main__mv--03 .slick-list,
.main__mv--03 .slick-track {
    height: 100%;
}

.main__mv--03 .slick-slide {
    height: 100%;
}

.main__mv--03 .slick-slide > div {
    height: 100%;
}

/*
 * MV 02/03：枠が小さく Slick が .slick-list の高さを画像内容で決めるため、
 * img の height:100% が効かず横長画像で縦が足りない → リスト高さを枠に固定し img を cover で敷き詰める
 */
.main__mv--02 .slick-list,
.main__mv--03 .slick-list {
    height: 100% !important;
}
.main__mv--02 .slick-slide,
.main__mv--03 .slick-slide {
    height: 100% !important;
}
.main__mv--02 .main__mv-fade-slider__item,
.main__mv--02 .main__mv-fade-slider__item > a,
.main__mv--03 .main__mv-fade-slider__item,
.main__mv--03 .main__mv-fade-slider__item > a {
    position: relative;
    height: 100%;
    min-height: 100%;
}
.main__mv--02 .main__mv-fade-slider__item img,
.main__mv--03 .main__mv-fade-slider__item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.main__textbox {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 1px 2px 10px 0 rgba(0, 0, 0, 0.14);
    padding: 2.7vw 3.4vw 2.1vw;
    position: absolute;
    right: -3.7vw;
    top: 26.4vw;
    width: 38.8vw;
}
.main__textbox-ttltext {
    font-size: 1vw;
    color: #4E627E;
    text-align: center;
    margin-bottom: 1.6vw;
    letter-spacing: 0;
    font-weight: 500;
}
.main__textbox-flex {
    display: flex;
    gap: 4.8vw;
    align-items: center;
    position: relative;
}
.main__textbox-flex::before {
   position: absolute;
   content: "";
   background: #B1BCD5;
   width: 1px;
   top: -0.9vw;
   bottom: 0;
   margin: auto;
   left: 12.1vw;
}
.main__textbox-text {
    font-size: 1.3vw;
    color: #4480A1;
    font-weight: 500;
    letter-spacing: 0.9px;
    margin-left: 0px;
    position: relative;
}
.l-main .main__textbox-text::after {
    position: absolute;
    content: "";
    background: #4480A1;
    width: 0.5vw;
    height: 1px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2.8vw;
}
.main__textbox-num--num {
    font-family: "Jost", sans-serif;
    font-size: 4.6vw;
    color: #4480A1;
    font-weight: 400;
    line-height: 1.2;
}
.main__textbox-num {
    font-size: 1.3vw;
    color: #4480A1;
    font-weight: 500;
    margin-left: 0.3vw;
}
.main__textbox-number--member {
    color: #1C457D;
    font-size: 2.2vw;
    font-weight: 400;
    font-family: "Jost", sans-serif;
    margin-left: 1.3vw;
    line-height: 1;
    position: relative;
    width: fit-content;
}
.main__textbox-number--member::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -0.9vw;
    background: #1C457D;
    width: 0.5vw;
    height: 1px;
}
.main__textbox-num--member {
    font-size: 42px;
    color: #1C457D;
    font-weight: 400;
}
.main__textbox-num--member {
    font-size: 1.2vw;
    font-style: normal;
    font-weight: 500;
    padding-top: 6px;
}
.mv__member__btn {
    background: #1C457D;
    color: #fff;
    border-radius: 99999px;
    padding: 0.6vw 0.6vw;
    height: 2.6vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8vw;
    font-weight: 500;
    width: 17.3vw;
    margin-top: 0.7vw;
    letter-spacing: 0.75px;
}
.mv__member__btn:hover {
background: #4480A1;
opacity: 1;
}
.mv__member__text {
    color: #4E627E;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 0.8vw;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 15px */
    letter-spacing: 0.75px;
    margin-top: 0.6vw;
}
.main__textbox-text--member {
    margin-left: 0.7vw;
    display: flex;
    gap: 0px;
    position: relative;
    letter-spacing: 0.4px;
    color: #1C457D;
}
.main__textbox-text--member::after {
    display: none;
    }

.main__textbox-ttltext--sub__wrap {
    width: fit-content;
    height: fit-content;
    position: absolute;
    top: 5.9vw;
    left: 10.2vw;
}
.main__textbox-ttltext--sub__ttl {
    width: fit-content;
    height: fit-content;
    display: flex;
    gap: 1vw;
}

.main__textbox-ttltext--sub {
    color: #4E627E;
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    font-size: 1.6vw;
    letter-spacing: 20.7px;
    line-height: 170%;
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: block;
    font-style: normal;
}

.main__textbox-ttltext--sub02 {
    padding-top: 51px;
}

.main__textbox-ttltext--sub03 {
    padding-top: 101px;
}

/* MV見出し：1文字ずつ出現（.l-main * より Zen Old Mincho を優先） */
.l-main .js-mv-ttl .js-mv-ttl-line,
.l-main .js-mv-ttl .js-mv-ttl-line > span {
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
}

.js-mv-ttl {
    contain: layout style;
}

.js-mv-ttl .js-mv-ttl-line {
    overflow: visible;
}

.js-mv-ttl .js-mv-ttl-line > span {
    display: inline-block;
    opacity: 0;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

/* スライド切替で is-visible を外したとき、animation:forwards の見た目を確実にリセット */
.js-mv-ttl:not(.is-visible) .js-mv-ttl-line > span {
    animation: none;
    opacity: 0;
    transform: translateZ(0);
}

/* opacity のみで負荷を抑える（vertical-rl + translateY はカクつきやすい） */
@keyframes mv-ttl-char-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* 表示順：3列目「非日常を日常に」→ 2列目 → 1列目「不動産の専門家」（文字間隔に合わせて列の間隔も約2倍） */
.js-mv-ttl .js-mv-ttl-line:nth-child(1) > span {
    --line-base: 1120ms;
}

.js-mv-ttl .js-mv-ttl-line:nth-child(2) > span {
    --line-base: 560ms;
}

.js-mv-ttl .js-mv-ttl-line:nth-child(3) > span {
    --line-base: 0ms;
}

.js-mv-ttl.is-visible .js-mv-ttl-line > span {
    animation: mv-ttl-char-in 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(var(--line-base, 0ms) + var(--char-index, 0) * 90ms);
}

@media (prefers-reduced-motion: reduce) {
    .js-mv-ttl .js-mv-ttl-line > span {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .js-mv-ttl:not(.is-visible) .js-mv-ttl-line > span {
        opacity: 1;
        transform: none;
    }
}

/* ----- org1: 更新情報（見出しは常時表示・リストのみ条件分岐） ----- */
.section__contents--news {
    width: 100%;
    background-color: #ffffff;
    padding: 80px 0 0;
}

.section__contents--news .contents__inner {
    width: 1140px;
    margin: 0 auto;
}

.section__contents--news .contents-info__box {
    width: 100%;
}

.section__contents--news .section__title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.section__contents--news .section__title__text {
    margin: 0;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: #4e627e;
}

.section__contents--news .section__title__text--sub {
    margin: 0;
    flex: 1 1 auto;
    min-width: 120px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    color: #838c98;
}

.section__contents--news .morebtn__box {
    flex-shrink: 0;
}

.section__contents--news .btn--primary {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 999px;
    border: 1px solid #4e627e;
    background-color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #4e627e;
    text-decoration: none;
}

.section__contents--news .btn--primary:hover {
    background-color: #f5f7fa;
}

.section__contents--news .btn--primary__icon {
    display: block;
    flex-shrink: 0;
}

.section__contents--news .scroll__box {
    width: 100%;
}

.section__contents--news .deta__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.section__contents--news .deta__item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    padding: 20px 0;
    border-bottom: 1px solid #e3e7ec;
}

.section__contents--news .deta__item:first-child {
    padding-top: 0;
}

.section__contents--news .deta-date__text {
    margin: 0;
    flex-shrink: 0;
    width: 100px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    color: #838c98;
}

.section__contents--news .deta__body {
    flex: 1 1 auto;
    min-width: 0;
}

.section__contents--news .deta-ttl {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #4e627e;
}

.section__contents--news .deta-text {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #4e627e;
}

.section__contents--news .deta__empty {
    margin: 0;
    padding: 24px 0;
    font-size: 14px;
    line-height: 1.7;
    color: #838c98;
}

/* ----- org1: コンタクトバナー（Figma: bnr_wrap / node 13327-1312） ----- */
.bnr-wrap {
    width: 100%;
    background-color: #ffffff;
}

.bnr-wrap__inner {
    width: 1140px;
    margin: 0 auto;
    padding: 128px 0 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 33px;
}

.bnr-info {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    width: 1140px;
    min-height: 100px;
    padding: 20px 30px;
    border-radius: 10px;
    background-color: #f5f5f5;
    text-decoration: none;
    color: inherit;
}

.bnr-info:hover {
    opacity: 0.92;
}

.bnr-info__label {
    margin: 0;
    flex-shrink: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    color: #838c98;
    text-transform: lowercase;
}

.bnr-info__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #4e627e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bnr-info__arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #E4E4E4;
}

.bnr-info__arrow-img {
    display: block;
}

.bnr-wrap__line {
    width: 1140px;
    height: 1px;
    margin-top: 8px;
    background-color: #b1bcd5;
}

.bnr-wrap__list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 40px;
    margin-top: 9px;
}

.bnr-card {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 550px;
}

.bnr-card__head {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 550px;
    height: 196px;
    padding: 0 0 24px 26px;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: #ffffff;
}

.bnr-card__head-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    border-radius: 10px;
    background-image: url(/images/top/bnr01.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(1);
    transition: transform 0.45s ease;
}

.bnr-card:nth-child(2) .bnr-card__head-bg {
    background-image: url(/images/top/bnr02.webp);
}

.bnr-card__head:hover .bnr-card__head-bg,
.bnr-card__head:focus-visible .bnr-card__head-bg {
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
    .bnr-card__head-bg {
        transition: none;
    }

    .bnr-card__head:hover .bnr-card__head-bg,
    .bnr-card__head:focus-visible .bnr-card__head-bg {
        transform: scale(1);
    }
}
.bnr-card__head-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.bnr-card__title {
    margin: 0;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.4px;
    color: #ffffff;
}

.bnr-card__icon {
    display: block;
    line-height: 0;
    margin-top: 4px;
}

.bnr-card__note {
    margin: 0;
    width: 100%;
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #4e627e;
}

/* ----- org2: 物件検索（Figma: search 13890-1700 / contents 13890-1705） ----- */
.property-search {
    position: relative;
    width: 100%;
    padding: 160px 0;
    overflow: visible;
}

.property-search__bg {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    width: 1920px;
    height: 1025px;
    margin-left: -960px;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%),
        linear-gradient(131.56deg, rgb(215, 246, 253) 13.56%, rgb(196, 229, 255) 86.55%);
}

.property-search__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.property-search__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: #4e627e;
}

.property-search__title {
    margin: 0;
    font-family: 'Zen Old Mincho', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #4E627E;
}

.property-search__subtitle {
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    text-transform: lowercase;
    color: #4E627E;
}

.property-search__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.property-search__tabs {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    width: 834px;
    margin: 0 0 40px;
    border: 1px solid #1c457d;
    border-radius: 100px;
    background-color: #ffffff;
}

.property-search__tab {
    box-sizing: border-box;
    flex: 1 1 50%;
    height: 60px;
    margin: 0;
    padding: 10px 80px;
    border: none;
    border-radius: 999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.9px;
    color: #1c457d;
    text-align: center;
    cursor: pointer;
}

.property-search__tab.is-active {
    background-color: #1c457d;
    color: #ffffff;
}

.property-search__panel-wrap {
    width: 1140px;
}

.property-search__panel {
    box-sizing: border-box;
    width: 100%;
    border-radius: 10px;
    background-color: #ffffff;
}

.property-search__panel[hidden] {
    display: none;
}

.property-search__panel-inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    padding: 80px 60px;
}

.property-search__row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 30px;
    width: 1020px;
    margin: 0 auto;
}

.property-search__field {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.property-search__field--narrow {
    width: 420px;
    flex-shrink: 0;
}

.property-search__field--wide {
    width: 570px;
    flex-shrink: 0;
}

.property-search__label {
    margin: 0;
    width: 100%;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #4e627e;
}

.property-search__input-like {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 50px;
    padding: 15px 12px 15px 19px;
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #f5f5f5;
}

.property-search__placeholder {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #838c98;
    white-space: nowrap;
}

.property-search__input-icon {
    display: block;
    line-height: 0;
    flex-shrink: 0;
}

/* フリーワード（トップ）: freeword_box--* + text_box + md-freeword__submit（参考HTML準拠） */
.property-search .freeword_box--buy,
.property-search .freeword_box--rent {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 50px;
    /* padding: 0 12px 0 19px; */
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #f5f5f5;
    overflow: hidden;
}

.property-search .freeword_box--buy .text_box,
.property-search .freeword_box--rent .text_box {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0 12px 0 19px;
    border: none;
    background: transparent;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #4e627e;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.property-search .freeword_box--buy .text_box:focus,
.property-search .freeword_box--rent .text_box:focus {
    outline: none;
}


.property-search .freeword_box--buy .text_box::placeholder,
.property-search .freeword_box--rent .text_box::placeholder {
    font-size: 15px;
    font-weight: 400;
    color: #838c98;
    letter-spacing: 0.75px;
}

.property-search .freeword_box--buy .md-freeword__submit,
.property-search .freeword_box--rent .md-freeword__submit {
    box-sizing: border-box;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    background-color: transparent;
    line-height: 0;
}

.property-search .freeword_box--buy .md-freeword__submit img,
.property-search .freeword_box--rent .md-freeword__submit img {
    display: block;
    width: 20px;
    height: auto;
}

.property-search .freeword_box--buy .md-freeword__submit:hover,
.property-search .freeword_box--rent .md-freeword__submit:hover {
    opacity: 0.85;
}

.property-search__price-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    /* gap: 20px; */
    width: 100%;
}

.property-search__price-select {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* flex: 1 1 0; */
    height: 50px;
    width: 176px;
    padding: 13px 12px 13px 17px;
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #f5f5f5;
}

.property-search__chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.property-search__tilde {
    /* flex: 0 0 auto; */
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #4e627e;
    margin: 0 10px;
}

.property-search__submit {
    box-sizing: border-box;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 50px;
    padding: 10px 47px;
    border-radius: 999px;
    background-color: #4480a1;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    margin-left: 20px;
}

.property-search__submit:hover {
    opacity: 0.92;
}

/* 売買「価格から探す」: search.phtml（form__type--select + conditions-search__item）に静的デザインを適用 */
.property-search__price-row .conditions-search__content {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}

.property-search__price-row .conditions-search__content form {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
}

.property-search__price-row .form__type--select.conditions-search__item--price-floor,
.property-search__price-row .form__type--select.conditions-search__item--price-ceil {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    height: 50px;
    width: 176px;
    /* padding: 0 28px 0 17px; */
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #f5f5f5;
}

.property-search__price-row .form__type--select.conditions-search__item--price-floor::after,
.property-search__price-row .form__type--select.conditions-search__item--price-ceil::after {
    content: "";
    position: absolute;
    top: 48%;
    right: 12px;
    width: 14px;
    height: 12px;
    margin-top: -3px;
    background: url(/images/top/search-card-arrow.svg) center / contain no-repeat;
    pointer-events: none;
    transform: rotate(90deg);
}

.property-search__price-row .form__type--select.conditions-search__item--price-floor select,
.property-search__price-row .form__type--select.conditions-search__item--price-ceil select {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 28px 0 17px;
    border: none;
    border-radius: 0;
    background-color: transparent;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #838c98;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    /* color: #4E627E; */
}

.property-search__price-row .form__type--select.conditions-search__item--price-floor select:focus,
.property-search__price-row .form__type--select.conditions-search__item--price-ceil select:focus {
    outline: none;
}

.property-search__price-row .search__btn {
    box-sizing: border-box;
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 50px;
    margin: 0 0 0 17px;
    padding: 10px 24px;
    border: none;
    border-radius: 999px;
    background-color: #4480a1;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
}

.property-search__price-row .search__btn:hover {
    opacity: 1;
    background-color: #1c457d;
}

.property-search__price-row .search__btn-text {
    display: inline-block;
}

.property-search__price-row .search__btn-img {
    display: none;
}

.property-search__card-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 15px;
    width: 100%;
}

.property-search__card-row--buy {
    overflow: visible;
}

.property-search__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
}

.property-search__card--wide {
    width: 100%;
}

.property-search__card--third {
    width: 180px;
    flex-shrink: 0;
}

.property-search__card-img-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 90px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    line-height: 0;
}

.property-search__card-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.45s ease;
}

.property-search__card:hover .property-search__card-img,
.property-search__card:focus-visible .property-search__card-img {
    transform: scale(1.06);
}
.property-search__card:hover {
opacity: 1;
}

.property-search__card-foot {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 13px 14px 15px;
    border: 1px solid #dfe3eb;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: #f5f5f5;
}

.property-search__card-text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.75px;
    color: #4e627e;
}

.property-search__card-arrow {
    display: block;
    line-height: 0;
    flex-shrink: 0;
    margin-bottom: 4px;

}

.property-search__buy-cat {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 180px;
    flex-shrink: 0;
}

.property-search__buy-cat:hover,
.property-search__buy-cat:focus-within {
    z-index: 5;
}

.property-search__buy-cat:focus-visible {
    outline: 2px solid #1c457d;
    outline-offset: 2px;
}

.property-search__buy-cat__img-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 90px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    line-height: 0;
}

.property-search__buy-cat__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.45s ease;
}

.property-search__buy-cat:hover .property-search__buy-cat__img,
.property-search__buy-cat:focus-within .property-search__buy-cat__img {
    transform: scale(1.06);
}

.property-search__buy-cat__bar {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 13px 14px 15px;
    border: 1px solid #dfe3eb;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: #f5f5f5;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.property-search__buy-cat__title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.75px;
    color: #4e627e;
}

.property-search__buy-cat__chev {
    display: block;
    line-height: 0;
    flex-shrink: 0;
    margin-bottom: 4px;
}

.property-search__buy-cat__chev--bar img {
    display: block;
    transform: rotate(90deg);
}

.property-search__buy-cat__chev--flyout img {
    display: block;
    transform: rotate(-90deg);
}

.property-search__buy-cat__flyout {
    box-sizing: border-box;
    position: absolute;
    top: 90px;
    left: 0;
    width: 180px;
    padding: 14px 13px 14px 15px;
    border: 1px solid #dfe3eb;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: #f5f5f5;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 2;
}

.property-search__buy-cat:hover .property-search__buy-cat__flyout,
.property-search__buy-cat:focus-within .property-search__buy-cat__flyout {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.property-search__buy-cat:hover .property-search__buy-cat__bar,
.property-search__buy-cat:focus-within .property-search__buy-cat__bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.property-search__buy-cat__flyout-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 10px;
}

.property-search__buy-cat__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
}

.property-search__buy-cat__pill {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 10px;
    border-radius: 999px;
    background-color: #838c98;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.75px;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
}

.property-search__buy-cat__pill:hover {
    opacity: 0.92;
}

@media (prefers-reduced-motion: reduce) {
    .property-search__buy-cat__img {
        transition: none;
    }

    .property-search__buy-cat:hover .property-search__buy-cat__img,
    .property-search__buy-cat:focus-within .property-search__buy-cat__img {
        transform: none;
    }
}

/* ----- org3: こだわり条件から探す（売買: Figma pickup / 13327-1351、テナント: 13883-5376） ----- */
.kodawari-pickup {
    box-sizing: border-box;
    width: 100%;
    padding: 159px 0 100px;
    overflow: visible;
    background-color: #ffffff;
}

.kodawari-pickup__inner {
    box-sizing: border-box;
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.kodawari-pickup__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: #4e627e;
}

.kodawari-pickup__title {
    margin: 0;
    font-family: 'Zen Old Mincho', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #4E627E;
}

.kodawari-pickup__subtitle {
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    text-transform: lowercase;
    color: #4E627E;
}

.kodawari-pickup__body {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 38px;
    width: 100%;
}

.kodawari-pickup__tabs {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    width: 834px;
    margin: 0;
    border: 1px solid #1c457d;
    border-radius: 100px;
    background-color: #ffffff;
}

.kodawari-pickup__tab {
    box-sizing: border-box;
    flex: 1 1 50%;
    height: 60px;
    margin: 0;
    padding: 10px 80px;
    border: none;
    border-radius: 999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.9px;
    color: #1c457d;
    text-align: center;
    cursor: pointer;
}

.kodawari-pickup__tab.is-active {
    background-color: #1c457d;
    color: #ffffff;
}

.kodawari-pickup__panels {
    box-sizing: border-box;
    width: 1140px;
}

.kodawari-pickup__panel[hidden] {
    display: none;
}

.kodawari-pickup__list {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 7px;
    align-items: flex-start;
    align-content: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kodawari-pickup__item {
    margin: 0;
    padding: 0;
}

.kodawari-pickup__link {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 40px;
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #4e627e;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.kodawari-pickup__link:hover {
    opacity: 1;
    background: #1c457d;
    color: #ffffff;
}

.kodawari-pickup__link:focus-visible {
    outline: 2px solid #1c457d;
    outline-offset: 2px;
}

/* ----- org8: 会員登録のメリット（Figma: node 13327-1525） ----- */
.member-merit {
    box-sizing: border-box;
    width: 100%;
    padding: 162px 0 0;
    overflow: visible;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%),
        linear-gradient(120.843deg, rgb(215, 246, 253) 13.557%, rgb(196, 229, 255) 86.549%);
    margin: 100px 0;
}

.member-merit__inner {
    box-sizing: border-box;
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    padding-bottom: 160px;
}

.member-merit__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: #4e627e;
}

.member-merit__title {
    margin: 0;
    font-family: 'Zen Old Mincho', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #4E627E;
}

.member-merit__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    text-transform: lowercase;
    color: #4E627E;
}

.member-merit__sheet {
    box-sizing: border-box;
    width: 100%;
    padding: 60px;
    border-radius: 10px;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.member-merit__list {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    width: 1020px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.member-merit__item {
    box-sizing: border-box;
    width: 320px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}

.member-merit__card-top {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 240px;
}

.member-merit__card-top-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 320px;
    height: 240px;
    border-radius: 10px;
    border: 1px solid #1c457d;
    background-color: #d9e9f5;
}

.member-merit__card-icon-wrap {
    position: absolute;
    left: 60px;
    top: 20px;
    width: 201px;
    height: 201px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.member-merit__card-icon-wrap--02 .member-merit__card-icon {
    width: 197px;
    height: 198px;
}

.member-merit__card-icon-wrap--03 .member-merit__card-icon {
    width: 197px;
    height: 198px;
}

.member-merit__card-icon {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.member-merit__card-num {
    box-sizing: border-box;
    position: absolute;
    top: 1px;
    left: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 10px 0px 10px 0px;
    background-color: #ffffff;
    font-family: 'Jost', sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.8;
    color: #1c457d;
}

.member-merit__item-text {
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    color: #4e627e;
}

.member-merit__line {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.9px;
    color: #4E627E;
}

.member-merit__signup {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 1020px;
    height: 272px;
    border-radius: 10px;
    background-color: #1c457d;
    overflow: hidden;
}

.member-merit__signup-img-wrap {
    flex-shrink: 0;
    width: 448px;
    height: 272px;
}

.member-merit__signup-img {
    display: block;
    width: 448px;
    height: 272px;
    object-fit: cover;
    border-radius: 10px 0 0 10px;
}

.member-merit__signup-body {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 58px 0 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
}

.member-merit__signup-title {
    margin: 0;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #ffffff;
}

.member-merit__signup-lead {
    margin: 0;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #ffffff;
}

.member-merit__signup-actions {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.member-merit__btn {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    height: 50px;
    padding: 10px 57px;
    border-radius: 99999px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.member-merit__btn--ghost {
    border: 1px solid #ffffff;
    background-color: transparent;
    color: #ffffff;
}

.member-merit__btn--ghost:hover,
.member-merit__btn--ghost:focus-visible {
    opacity: 1;
    background: #4480a1;
    color: #fff;
}

.member-merit__btn--solid {
    border: 1px solid #ffffff;
    background-color: #ffffff;
    color: #1c457d;
}

.member-merit__btn--solid:hover,
.member-merit__btn--solid:focus-visible {
    opacity: 1;
    background: #4480a1;
    color: #fff;
}

.member-merit .bnr-wrap__list {
    margin-top: 0;
}

/* ----- org9: 更新情報（Figma: node 13327-1543） ----- */
.top-news {
    box-sizing: border-box;
    width: 100%;
    padding: 62px 0 100px;
    overflow: visible;
    background-color: #ffffff;
}

.top-news__inner {
    box-sizing: border-box;
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.top-news__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: #4e627e;
}

.top-news__title {
    margin: 0;
    font-family: 'Zen Old Mincho', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
}

.top-news__subtitle {
    margin: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    text-transform: lowercase;
}

.top-news__contents {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
}

.top-news__panel {
    box-sizing: border-box;
    width: 100%;
    padding: 60px;
    border: 1px solid #dfe3eb;
    border-radius: 10px;
    background-color: #ffffff;
}

.top-news .scroll__box.top-news__scroll-box {
    box-sizing: border-box;
    width: 951px;
    height: 450px;
    flex-shrink: 0;
}

.top-news .scroll__box.top-news__scroll-box .top-news__list.simplebar-container {
    box-sizing: border-box;
    height: 100%;
    max-height: 450px;
}

.top-news .scroll__box.top-news__scroll-box .simplebar-track.simplebar-vertical {
    width: 4px;
    background-color: #dfe3eb;
    border-radius: 999px;
    right: -70px;
}

.top-news .scroll__box.top-news__scroll-box .simplebar-scrollbar:before {
    background-color: #838c98;
    border-radius: 999px;
    opacity: 1;
    left: 0;
    width: 4px;
    top: 0;
}

.top-news__list {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 40px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top-news__item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 0;
    width: 100%;
}

.top-news__date time {
    margin: 0;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #838c98;
}

.top-news__item-title {
    margin: 0;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.75px;
    color: #4e627e;
}
.top-news__item:not(:last-child) {margin-bottom: 20px;}

.top-news__excerpt {
    margin: 0;
    width: 100%;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.75px;
    color: #4e627e;
}

.top-news__action {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.top-news__more {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 50px;
    padding: 10px 57px;
    border: 1px solid #4e627e;
    border-radius: 99999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #4e627e;
    text-align: center;
    text-decoration: none;
}

.top-news__more:hover,
.top-news__more:focus-visible {
    opacity: 1;
    background: #4480a1;
    color: #fff;
}

/* ----- org4: エリアから探す（Figma: area / node 13327-1374） ----- */
.area-search {
    box-sizing: border-box;
    width: 100%;
    padding: 100px 0 110px;
    overflow: visible;
    background-color: #ffffff;
}

.area-search__inner {
    box-sizing: border-box;
    width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.area-search__headline {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    color: #4e627e;
}

.area-search__title {
    margin: 0;
    font-family: 'Zen Old Mincho', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #4E627E;
}

.area-search__subtitle {
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.25px;
    text-transform: lowercase;
    color: #4E627E;
}

.area-search__body {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
}

.area-search__tabs {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    width: 834px;
    margin: 0;
    border: 1px solid #1c457d;
    border-radius: 100px;
    background-color: #ffffff;
}

.area-search__tab {
    box-sizing: border-box;
    flex: 1 1 50%;
    height: 60px;
    margin: 0;
    padding: 10px 80px;
    border: none;
    border-radius: 999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.9px;
    color: #1c457d;
    text-align: center;
    cursor: pointer;
}

.area-search__tab.is-active {
    background-color: #1c457d;
    color: #ffffff;
}

.area-search__map {
    position: relative;
    width: 1140px;
    height: 697px;
    overflow: hidden;
    border-radius: 0;
    background-color: #d5f1ff;
}

.area-search__map-img {
    display: block;
    width: 1140px;
    height: 697px;
    object-fit: contain;
    object-position: 50% 50%;
}

.area-search__pins {
    position: absolute;
    top: 0;
    left: 0;
    width: 1140px;
    height: 697px;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
}

.area-search__pins[hidden] {
    display: none;
}

.area-search__pin {
    box-sizing: border-box;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px;
    padding: 10px 57px;
    border: 1px solid #4e627e;
    border-radius: 999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #4e627e;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    pointer-events: auto;
}

.area-search__pin:hover {
    background-color: #1c457d;
    color: #ffffff;
}

.area-search__pin:focus-visible {
    outline: 2px solid #1c457d;
    outline-offset: 2px;
    z-index: 2;
}

.area-search__pin--chita {
    top: 160px;
    left: 275px;
}

.area-search__pin--tokoname {
    top: 296px;
    left: 275px;
}

.area-search__pin--handa {
    top: 281px;
    left: 492px;
}

.area-search__pin--ahibi {
    top: 185px;
    left: 448px;
}

.area-search__pin--higashiura {
    top: 110px;
    left: 537px;
}

.area-search__pin--kariya {
    top: 70px;
    left: 691px;
}

.area-search__pin--takahama {
    top: 200px;
    left: 618px;
}

.area-search__pin--hekinan {
    top: 346px;
    left: 577px;
}

.area-search__pin--tokai {
    top: 57px;
    left: 393px;
}

.area-search__pin--anjo {
    top: 411px;
    left: 456px;
}
.area-search__pin--misaki {
    top: 510px;
    left: 352px;
}

.area-search__pin--minamichita {
    top: 596px;
    left: 351px;
}

.area-search__banners {
    box-sizing: border-box;
    width: 1140px;
    margin: 0;
    padding: 0;
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.area-search__img {
    width: 360px;
    border-radius: 10px;
    overflow: hidden;
}

.area-search__img a {
    display: block;
    overflow: hidden;
    line-height: 0;
}

.area-search__banners-img {
    display: block;
    width: 360px;
    height: auto;
    transform: scale(1);
    transition: transform 0.35s ease;
}

.area-search__img a:hover .area-search__banners-img,
.area-search__img a:focus-visible .area-search__banners-img {
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
    .area-search__banners-img {
        transition: none;
    }

    .area-search__img a:hover .area-search__banners-img,
    .area-search__img a:focus-visible .area-search__banners-img {
        transform: none;
    }
}
/*///////////////////// NEW（新着物件） ///////////////////////////*/
.bkn__headline {
position: absolute;
left: 57px;
top: 8px;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
}
.bkn__title {
    color: #4E627E;
    font-family: "Zen Old Mincho";
    letter-spacing: 8.2px;
    line-height: 130%; 
    font-weight: 500;
    font-size: 30px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-orientation: upright;
}
.bkn__subtitle {
    font-family: "Zen Kaku Gothic New";
    color: #4E627E;
    font-size: 15px;
    font-style: normal;
    letter-spacing: 2.25px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-orientation: upright;    
}

/* 新着・おすすめ：物件検索・エリアと同型の種別タブ（Figma 13698-2682 相当） */
.new-section__tabs,
.recommend-section__tabs {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    width: 834px;
    margin: 0 auto 40px;
    border: 1px solid #1c457d;
    border-radius: 100px;
    background-color: #ffffff;
}

.new-section__tab,
.recommend-section__tab {
    box-sizing: border-box;
    flex: 1 1 50%;
    height: 60px;
    margin: 0;
    padding: 10px 80px;
    border: none;
    border-radius: 999px;
    background-color: #ffffff;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.9px;
    color: #1c457d;
    text-align: center;
    cursor: pointer;
}

.new-section__tab.is-active,
.recommend-section__tab.is-active {
    background-color: #1c457d;
    color: #ffffff;
}

.new-section__tabpanel,
.recommend-section__tabpanel {
    box-sizing: border-box;
    width: 100%;
}

.new-section__tabpanel[hidden],
.recommend-section__tabpanel[hidden] {
    display: none;
}
.l-main .recommend-section {
    padding-top: 215px;
    min-height: 903px;
}

        /* 物件 */
        .property-card {
            overflow: hidden;
            transition: all 0.3s ease;
            border-radius: 10px;
        }
        .property-card a:hover {
            opacity: 1;
        }
        .property-card:hover img {
            transform: scale(1.08);
        }
        .property-card:hover {
            opacity: 1;
        }
        .property-card__image {
            position: relative;
            overflow: hidden;
            height: 236px;
            overflow: hidden;
            border-radius: 10px 10px 0 0;
        }
        .property-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease-in-out;
            border-radius: 10px 10px 0 0;
            overflow: hidden;
        }
        .property-card__image.property-card__image--member {
            height: 397px;
        }
        .property-card__link--image {
            display: block;
            height: 100%;
            text-decoration: none;
            color: inherit;
        }
        .property-card__link--body {
            display: block;
            text-decoration: none;
            color: inherit;
        }
        .property-card__labels {
            position: absolute;
            top: 10px;
            left: 71px;
            display: flex;
            gap: 0px;
        }
        .property-card__label {
            font-weight: bold;
            color: #fff;
            padding: 0 12px 2px 13px;
            font-size: 16px;
        }
        .property-card__label--new {
            background: #ED1111;
            font-size: 16px;
            border-radius: 50px;
            font-weight: bold;
            color: #fff;
            padding: 0 12px 1px 13px;
            border-radius: 99999px;
            background: #FFF;
            color: #4E627E;
            font-size: 12px;
            font-weight: 500;
            letter-spacing: 0.6px;
            display: flex;
            height: 30px;
            padding: 3px 15px;
            justify-content: center;
            align-items: center;
            gap: 10px;
        }
        .property-card__label--type {
            background: #005024;
        }
        .property-card__favorite {
            position: absolute;
            top: 12px;
            right: 12px;
            width: 36px;
            height: 36px;
            background: rgba(255, 255, 255, 0.9);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .property-card__favorite svg {
            width: 25px;
            height: 23px;
        }
        .property-card__pricedown {
            position: absolute;
            bottom: 12px;
            left: 12px;
            background: rgba(255, 255, 255, 0.8);
            padding: 8px 12px;
            border-radius: 4px;
            font-family: 'Noto Serif JP', serif;
            font-weight: 600;
            font-size: 16px;
            color: #ED1111;
        }
        .property-card__content {
            padding: 15px 24px 24px;
            border-radius: 0 0 10px 10px;
            border: 1px solid  #DFE3EB;
            background: #FFF;
        }
        .property-card__price {
            font-size: 15px;
            color: #DB957A;
        }
        .property-card__title {
            font-size: 18px;
            color: #4E627E;
            margin-top: 0;
            margin-bottom: 5px;
            line-height: 1.5;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-weight: 500;
        }
        .property-card__detail {
            font-size: 15px;
            color: #4E627E;
            margin-bottom: 0px;
            line-height: 1.6;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        
        .property-card__address,
        .property-card__access {
            font-size: 15px;
            color: #838C98;
            margin-bottom: 0px;
            line-height: 1.6;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            margin-top: 7px;
        }
        .btn--primary {
        margin: 36px auto 0;
        width: 280px;
        height: 50px;
        border-radius: 9999px;
        border: 1px solid #45ACD8;
        background: #fff;
        color: #45ACD8; 
        display: flex;
        justify-content: end;
        align-items: center;
        font-size: 16px;
        font-weight: 500;
        gap: 66px;
        padding-right: 27px;
        }
        /* Swiperオプションのレイアウト */
        .swiper-option__wrap {
            margin-top: 41px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            position: relative;
            z-index: 1;
        }
        /* Swiper 〇件以下で発火させない場合のレイアウト */
        .noslide .swiper-wrapper {
            display: flex;
            justify-content: center;
            gap: 40px;
        }
        .noslide .swiper-option__wrap {
            display: none;
        }
        .new-section,
        .recommend-section {
            min-height: 680px;
            padding: 90px 0 0;
        }
        .new-section__inner,
        .recommend-section__inner {
            width: 1140px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }
        .new-section__inner .content__block--slider,
        .recommend-section__inner .content__block--slider {
            position: absolute;
            width: 1930px;
            left: 132px;
            z-index: 0;
        }
        /* 新着・おすすめ・半田市新築スライダー：コンテナは横幅いっぱい、スライド幅は auto 用に指定 */
        .new-section .swiper.contents__area,
        .recommend-section .swiper.contents__area,
        .new-section--handa .swiper.handa-contents__area {
            width: 100%;
            /* max-width: 1140px; */
            margin: 0 auto;
            overflow: hidden;
        }
        .new-section .contents__area .swiper-slide,
        .recommend-section .contents__area .swiper-slide,
        .new-section--handa .handa-contents__area .swiper-slide {
            width: 346px;
            box-sizing: border-box;
            flex-shrink: 0;
        }
        .new-section--handa .handa-contents__area .property-card {
            width: 100%;
            max-width: 100%;
        }
        .contents__img {
            height: 210px;
        }
        .contents__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        } 
        .l-page .contents__text {
            margin-top: 14px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .more__btn {
        display: flex;
        width: 280px;
        height: 60px;
        padding: 15px 100px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 100px;
        border: 1px solid #333;
        background: #FFF;
        }
        .more__btn {
            display: flex;
            width: 280px;
            height: 60px;
            padding: 15px 45px 15px 51px;
            justify-content: end;
            align-items: center;
            gap: 56px;
            border-radius: 100px;
            border: 1px solid #333;
            background: #FFF;
            margin: 31px auto 0;
        }
        .main__imgbox .morebtn__box {
            margin-top: 0;
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            bottom: 14px;
            z-index: 1;
        }
        .property-card-flex {
            display: flex;
            gap: 10px;
            align-items: baseline;
        }
        .property-card__price span {
            font-style: normal;
            line-height: 1;
            font-size: 22px;
            color: #DB957A;
            font-weight: 500;
        }
        .morebtn__box {
            display: flex;
            justify-content: start;
            align-items: center;
            gap: 281px;
            width: 1350px;
            margin: 39px 291px 0 auto;
        }
        .section-pager__btn svg {
            fill: rgba(25, 25, 25, 0);
        }
        .l-contents .bkn_favorite {
            background: url(/images/top/favorite_icon.svg) no-repeat center;
            background-size: 100%;
            width: 30px;
            height: 30px;
            position: absolute;
            top: 10px;
            right: 10px;
            margin: 0;
            right: 10px;
            z-index: 2;
            cursor: pointer;
            border: none;
            padding: 0;
        }
        .l-contents .bkn_favorite.is-checked {
            background: url(/images/top/favorite_icon_on.svg) no-repeat center;
            background-size: 100%;
            margin: 0;
            position: absolute;
            margin: 0;
        }
        .priced-downtext {
            position: absolute;
            bottom: 0;
            width: 100%;
            height: 35px;
            background: rgba(255,255,255,0.8);
            color: #ED1111;
            font-weight: 600;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .btn--primary:hover {
            color: #fff;
            border: 1px solid #45ACD8;
            opacity: 1;
            background: #45ACD8;
        }

    .property-card__label--type {
        position: absolute;
        border-radius: 99999px;
        background: #FFF;
        color: #4E627E;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.6px;
        display: flex;
        height: 30px;
        padding: 3px 15px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        left: -59px;
    }
    .section-btn {
        color:#4E627E;
        text-align: center;
        font-size: 15px;
        font-weight: 500;
        line-height: 200%;
        letter-spacing: 0.75px;
        display: flex;
        width: 300px;
        height: 50px;
        padding: 10px 31px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 99999px;
        border: 1px solid #4E627E;
        background: #FFF;
    }
    .section-btn:hover {
        opacity: 1;
        background: #4E627E;
        color: #fff;
    }
    .noslide .property-card {
        width: 346px;
            }

    .noslide .swiper-slide  {
        display: flex;
        gap: 15px;
            }


    .new-section__inner.new-section__inner--handa .content__block--slider {
        left: inherit;
        right: 150px;
    }
    .new-section__inner.new-section__inner--handa .bkn__headline {
        left: inherit;
        top: 8px;
        right: 54px;
        }

        .new-section__inner.new-section__inner--handa .noslide .swiper-slide {
        justify-content: end;
                }

    .new-section--handa.new-section {
        padding: 200px 0 0;
    }
    .new-section--handa .morebtn__box {
        display: flex;
        justify-content: end;
        align-items: center;
        gap: 281px;
        width: 1350px;
        margin: 49px 270px 0 auto;
    }

    .blog-section .swiper.contents__area{
        width: 346px;
        margin: 0 auto;
        overflow: visible;
    }
    .blog-section .property-card__image img {
        object-fit: contain;
        background: #F0F6FF;
    }
    .blog__headline {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
        color: #4e627e;
       
    }
    .blog__title {
        margin: 0;
        font-family: 'Zen Old Mincho', serif;
        font-size: 30px;
        font-weight: 500;
        line-height: 1.3;
        letter-spacing: 1.5px;
        color: #4E627E;
    }
    .blog__subtitle {
        margin: 0;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: 2.25px;
        text-transform: lowercase;
        color: #4E627E;
    }
    .blog-section__inner {
        box-sizing: border-box;
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 60px;
        padding-bottom: 109px;
    }
    .blog-section__inner .morebtn__box {
        justify-content: center;
        margin: 40px auto 0;
        }
    .blog-card-flex {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        /* flex-wrap: wrap; */
        width: 100%;
        margin-top: 16px;
        align-items: center;
    }
    .blog-section__inner .property-card__title {
        font-weight: 500 ;
    }
    .blog-section__inner .property-card__detail {
        color: #838C98;
    }
    .blog-section__inner .property-card__dete {
        width: 100%;
        margin: 0 0 0 auto;
        text-align: end;
    }
    .property-card__category {
        background: #F0F6FF;
        border-radius: 99999px;
        height: 30px;
        padding: 3px 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #4E627E;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.6px;
        line-height: 1;
        flex-shrink: 0;
    }
    .property-card__dete time {
        font-size: 15px;
        font-weight: 400;
        line-height: 160%; /* 24px */
        letter-spacing: 0.75px;
        color: #838C98;
        margin-left: auto;
    }