/* 無料査定ボタン専用：ホバー時赤色反転 */
.button-01--red {
    --accent: #E85959;
    --fg-hover: #E85959;
}
.area-contact__action-button,
.area-new-estate__link,
.area-spot__link {
    position: relative;
    isolation: isolate;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    --fg: #fff;
    color: var(--fg);
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: .01em;
    text-align: center;
    background: var(--accent, #2b9b7d);
    border: 1px solid var(--accent, #2b9b7d);
    cursor: pointer;
    overflow: hidden;
    transition: color .0s ease;
}

.area-contact__action-button::after,
.area-new-estate__link::after,
.area-spot__link::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--fg);
    transition: background-color .25s ease;
    z-index: 1;
}

.area-contact__action-button::before,
.area-new-estate__link::before,
.area-spot__link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    clip-path: circle(0px at calc(100% - 18px) 50%);
    transition: clip-path .45s cubic-bezier(.4,0,.2,1);
    z-index: -1;
}

.area-contact__action-button:hover::before,
.area-contact__action-button:focus-visible::before,
.area-new-estate__link:hover::before,
.area-new-estate__link:focus-visible::before,
.area-spot__link:hover::before,
.area-spot__link:focus-visible::before {
    clip-path: circle(800px at calc(100% - 18px) 50%);
}

.area-contact__action-button:hover,
.area-contact__action-button:focus-visible,
.area-new-estate__link:hover,
.area-new-estate__link:focus-visible,
.area-spot__link:hover,
.area-spot__link:focus-visible {
    color: var(--fg-hover, #2b9b7d);
    outline: none;
}

.area-contact__action-button:hover::after,
.area-contact__action-button:focus-visible::after,
.area-new-estate__link:hover::after,
.area-new-estate__link:focus-visible::after,
.area-spot__link:hover::after,
.area-spot__link:focus-visible::after {
    background-color: var(--fg-hover, #2b9b7d);
}
.area-page-wrapper.page-wrapper {
    margin-top: 62px;
    overflow: hidden;
}

/*area estate*/
.estatebubble-title__icon {
    max-width: 246px;
}

/*area spot*/
.spotbubble-title__icon {
    max-width: 310px;
}

@media screen and (max-width: 560px) {
    .spotbubble-title__icon {
        max-width: 240px;
    }
}

/*area search
---------------------------- */
.area-search__header-icon {
    max-width: 330px;
}

@media screen and (max-width: 560px) {
    .area-search__header-icon {
        max-width: 240px;
    }
}

.area-search__item-icon {
    max-width: 123px;
    height: auto;
}

/* 地域情報トップ
---------------------------- */
.area-intro {
    background-color: #F7F4ED;
    margin-right: -32px;
    margin-left: -32px;
    margin-bottom: 78px;
}

.area-intro__inner {
    display: flex;
    gap: 80px;
    padding-top: 85px;
    padding-bottom: 63px;
    padding-right: 32px;
    padding-left: 32px;
    max-width: 1304px;
    margin-right: auto;
    margin-left: auto;
}

@media screen and (max-width: 1024px) {
    .area-intro__inner {
        flex-direction: column;
        gap: 40px;
        padding-top: 59px;
        padding-bottom: 60px;
    }
}

.area-intro__text-block {
    flex: 1;
}

.area-intro__title {
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 1.6px;
    line-height: calc(60 / 32);
    color: #EB8E22;
    margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
    .area-intro__title {
        font-size: 24px;
        letter-spacing: 2.4px;
        line-height: calc(60 / 24);
        margin-bottom: 40px;
        text-align: center;
    }
}

.area-intro__description {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
}

.area-intro__map {
    width: 30.0967742%;
}

@media screen and (max-width: 1024px) {
    .area-intro__map {
        width: 100%;
        max-width: 600px;
        margin-right: auto;
        margin-left: auto;
    }
}

.area-map-frame {
    width: 100%;
    aspect-ratio: 460 / 449;
}

@media screen and (max-width: 1024px) {
    .area-map-frame {
        aspect-ratio: 327 / 319;
    }
}

/* 不動産売却 */
.area-contact {
    border: 4px solid #E85959;
    border-radius: 150px;
    padding-top: 28px;
    padding-bottom: 31px;
    margin-bottom: 111px;
}

@media screen and (max-width: 1024px) {
    .area-contact {
        border-radius: 4px;
        padding-top: 40px;
        padding-bottom: 40px;
        padding-right: 24px;
        padding-left: 24px;
        margin-bottom: 79.6px;
        max-width: 500px;
    }
}

.area-contact__catchcopy {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 2.4px;
    line-height: 2;
    margin-bottom: 15px;
}

@media screen and (max-width: 1024px) {
    .area-contact__catchcopy {
        font-size: 20px;
        letter-spacing: 1px;
        line-height: calc(36 / 24);
        margin-bottom: 21px;
    }
}

.area-contact__action {
    display: flex;
    justify-content: center;
    column-gap: 40px;
}

@media screen and (max-width: 1024px) {
    .area-contact__action {
        flex-direction: column;
        row-gap: 40px;
    }
}

.area-contact__action-phone {
    display: flex;
    align-items: center;
    column-gap: 13.55px;
}

@media screen and (max-width: 1024px) {
    .area-contact__action-phone {
        column-gap: 4px;
        justify-content: center;
    }
}

.area-contact__action-phone-icon {
    width: 25px;
    height: 25px;
    fill: #E85959;
}

.area-contact__action-phone-number {
    font-family: 'Ubuntu', sans-serif;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 4px;
    line-height: calc(62 / 40);
    color: #E85959;
}

@media screen and (max-width: 1024px) {
    .area-contact__action-phone-number {
        font-size: 24px;
        font-weight: bold;
        letter-spacing: 2.4px;
        line-height: calc(62 / 24);
    }
}

.area-contact__action-button {
    width: 240px;
    padding: 19px 2.5em 19px 2.5em;
    background-color: #E85959;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 40px;
    font-size: 18px;
    letter-spacing: 1.8px;
    line-height: 1;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: color .0s ease;
}    





@media screen and (max-width: 1024px) {
    .area-contact__action-button {
        max-width: 242px;
        margin-right: auto;
        margin-left: auto;
        padding: 19px 61px 19px 61px;
    }
}



/* 新着物件 */
.area-new-estate__header {
    margin-bottom: 80.75px;
}

@media screen and (max-width: 1024px) {
    .area-new-estate__header {
        margin-bottom: 40px;
    }
}

.area-new-estate__action {
    display: flex;
    justify-content: flex-end;
    margin-top: 25.74px;
    margin-bottom: 131.27px;
}

@media screen and (max-width: 1024px) {
    .area-new-estate__action {
        margin-bottom: 126.75px;
    }
}

.area-new-estate__link {
    width: 240px;
    height: 48px;
    padding: 0 2.5em;
    background-color: #2B9B7D;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 24px;
    font-size: 16px;
    letter-spacing: 1.6px;
    line-height: 1;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: color .0s ease;
}




.area-page-wrapper .area-search {
    margin-bottom: 81px;
}

@media screen and (max-width: 1024px) {
    .area-page-wrapper .area-search {
        margin-bottom: 66.96px;
    }
}

.area-page-wrapper .section-dash-title {
    margin-bottom: 31px;
}

@media screen and (max-width: 1024px) {
    .area-page-wrapper .section-dash-title {
        margin-bottom: 40.04px;
    }
}

.area-page-wrapper .link-list,
.area-page-wrapper .label-link-list {
    margin-bottom: 115px;
}

@media screen and (max-width: 1024px) {

    .area-page-wrapper .link-list,
    .area-page-wrapper .link-label-list {
        margin-bottom: 63.03px;
    }
}

/* まちスポット */
.area-spot__header {
    margin-bottom: 50.61px;
}

.area-spot__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 47px;
    row-gap: 60px;
    margin: 0;
    padding: 0;
}

.area-spot__list>.common-spot-card {
    width: calc((100% - 94px) / 3);
}

.area-spot__action {
    display: flex;
    justify-content: center;
}

.area-spot__link {
    width: 240px;
    height: 48px;
    padding: 0 2.5em;
    background-color: #2B9B7D;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 24px;
    font-size: 16px;
    letter-spacing: 1.0px;
    line-height: 1;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 89.27px;
    margin-bottom: 165px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: color .0s ease;
}




/* 地域情報-駅
--------------------------------- */
.area-station-page-wrapper.page-wrapper {
    overflow: hidden;
}

.area-station-page-wrapper.page-wrapper .breadcrumb {
    margin-bottom: 100px;
}

@media screen and (max-width: 1024px) {
    .dash-head__title {
        font-size: 24px;
        letter-spacing: 1.2px;
        line-height: calc(32 / 24);
        margin-bottom: 36.6px;
        column-gap: 12px;
    }
}

.area-station-intro {
    background-color: #F4F4F4;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 126px;
}

@media screen and (max-width: 1024px) {
    .area-station-intro {
        margin-right: -32px;
        margin-left: -32px;
        margin-bottom: 0;
    }
}

.area-station-intro__inner {
    display: flex;
    gap: 80px;
    padding-top: 58px;
    padding-bottom: 75px;
    padding-right: 80px;
    padding-left: 80px;
}

@media screen and (max-width: 1024px) {
    .area-station-intro__inner {
        flex-direction: column;
        gap: 16px;
        padding-bottom: 60px;
        padding-right: 32px;
        padding-left: 32px;
    }
}

.area-station-intro__text-block {
    flex: 1;
}

.area-station-intro__title {
    font-family: 'Ubuntu', sans-serif;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 1.2px;
    line-height: calc(60 / 24);
    color: #EB8E22;
    margin-bottom: 10px;
}

.area-station-intro__description {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
    padding-bottom: 27px;
    margin-bottom: 16px;
    position: relative;
}

.area-station-intro__description::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    flex-shrink: 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(to right, #000000 0 1px,
            /* ドットの幅 */
            transparent 2px 8px
            /* 間隔 8px */
        );
}

.area-station-intro__imgage-block {
    width: 42.8571429%;
    margin-bottom: 18px;
}

@media screen and (max-width: 1024px) {
    .area-station-intro__imgage-block {
        width: 100%;
        margin-bottom: 0;
    }
}

.area-station-intro__imgage {
    width: 100%;
}

.area-station-intro__train-info {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
    display: flex;
    flex-direction: column;
}

.area-station-intro__map {
    display: flex;
    align-items: center;
    column-gap: 15px;
}

.area-station-intro__map svg {
    width: 24.75px;
    color: #EB8E22;
}

.area-station-intro__map-text {
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
}

.area-station-page-wrapper .area-search {
    margin-bottom: 118px;
}

.area-station-page-wrapper .section-dash-title {
    margin-bottom: 46px;
}

.area-station-page-wrapper .label-link-list,
.area-station-page-wrapper .link-list {
    margin-bottom: 119px;
}

/* 地域情報-学校
--------------------------------- */
.area-school-page-wrapper.page-wrapper {
    overflow: hidden;
}

.area-school-page-wrapper.page-wrapper .breadcrumb {
    margin-bottom: 100px;
}

@media screen and (max-width: 1024px) {
    .dash-head__title {
        font-size: 24px;
        letter-spacing: 1.2px;
        line-height: calc(32 / 24);
        margin-bottom: 36.6px;
        column-gap: 12px;
    }
}

.area-school-intro {
    background-color: #F4F4F4;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 126px;
}

@media screen and (max-width: 1024px) {
    .area-school-intro {
        margin-right: -32px;
        margin-left: -32px;
        margin-bottom: 0;
    }
}

.area-school-intro__inner {
    display: flex;
    gap: 80px;
    padding-top: 58px;
    padding-bottom: 75px;
    padding-right: 80px;
    padding-left: 80px;
}

@media screen and (max-width: 1024px) {
    .area-school-intro__inner {
        flex-direction: column;
        gap: 16px;
        padding-bottom: 60px;
        padding-right: 32px;
        padding-left: 32px;
    }
}

.area-school-intro__text-block {
    flex: 1;
}

.area-school-intro__title {
    font-family: 'Ubuntu', sans-serif;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 1.2px;
    line-height: calc(60 / 24);
    color: #EB8E22;
    margin-bottom: 10px;
}

.area-school-intro__description {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
    padding-bottom: 27px;
    margin-bottom: 16px;
    position: relative;
}

.area-school-intro__description::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    flex-shrink: 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(to right, #000000 0 1px,
            /* ドットの幅 */
            transparent 2px 8px
            /* 間隔 8px */
        );
}

.area-school-intro__imgage-block {
    width: 42.8571429%;
    margin-bottom: 18px;
}

@media screen and (max-width: 1024px) {
    .area-school-intro__imgage-block {
        width: 100%;
        margin-bottom: 0;
    }
}

.area-school-intro__imgage {
    width: 100%;
}

.area-school-intro__map {
    display: flex;
    align-items: center;
    column-gap: 15px;
}

.area-school-intro__map svg {
    width: 24.75px;
    color: #EB8E22;
}

.area-school-intro__map-text {
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
}

.area-school-page-wrapper .area-search {
    margin-bottom: 118px;
}

.area-school-page-wrapper .section-dash-title {
    margin-bottom: 46px;
}

.area-school-page-wrapper .label-link-list,
.area-school-page-wrapper .link-list {
    margin-bottom: 119px;
}

/* 地域情報-町
--------------------------------- */
.area-town-page-wrapper.page-wrapper {
    overflow: hidden;
}

.area-town-page-wrapper.page-wrapper .breadcrumb {
    margin-bottom: 100px;
}

@media screen and (max-width: 1024px) {
    .dash-head__title {
        font-size: 24px;
        letter-spacing: 1.2px;
        line-height: calc(32 / 24);
        margin-bottom: 36.6px;
        column-gap: 12px;
    }
}

.area-town-intro {
    background-color: #F4F4F4;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 126px;
}

@media screen and (max-width: 1024px) {
    .area-town-intro {
        margin-right: -32px;
        margin-left: -32px;
        margin-bottom: 0;
    }
}

.area-town-intro__inner {
    display: flex;
    gap: 80px;
    padding-top: 58px;
    padding-bottom: 75px;
    padding-right: 80px;
    padding-left: 80px;
}

@media screen and (max-width: 1024px) {
    .area-town-intro__inner {
        flex-direction: column;
        gap: 16px;
        padding-bottom: 60px;
        padding-right: 32px;
        padding-left: 32px;
    }
}

.area-town-intro__text-block {
    flex: 1;
}

.area-town-intro__title {
    font-family: 'Ubuntu', sans-serif;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 1.2px;
    line-height: calc(60 / 24);
    color: #EB8E22;
    margin-bottom: 10px;
}

.area-town-intro__description {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 2;
    position: relative;
}

.area-town-intro__imgage-block {
    width: 42.8571429%;
    margin-bottom: 18px;
}

@media screen and (max-width: 1024px) {
    .area-town-intro__imgage-block {
        width: 100%;
        margin-bottom: 0;
    }
}

.area-town-intro__imgage {
    width: 100%;
}

.area-town-page-wrapper .area-search {
    margin-bottom: 118px;
}

.area-town-page-wrapper .section-dash-title {
    margin-bottom: 46px;
}

.area-town-page-wrapper .label-link-list,
.area-town-page-wrapper .link-list {
    margin-bottom: 119px;
}