@charset "UTF-8";

body {
    overflow-x: hidden;
    margin: 0;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

.l-main {
    width: auto;
    padding: 0 0 72px;
    background: #F2EFE7;
    overflow: hidden;
}

.l-contents * {
    font-family: "Noto Sans JP", sans-serif;
}
.l-contents a {
    transition: .3s;
}

.l-main {
    margin-bottom: 0;
    padding-bottom: 0;
}
.l-contents a:hover,
.l-contents button:hover {
    opacity: 1;
}
.pg__inner,
.main__inner {
    width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}

.l-contents .ui-full-screen {
    margin-bottom: 0;
}

.mv-slider {
    display: none;
}

.mv-slider.is-ready {
    display: block;
}

[class*=cmn__section--] {
    position: relative;
    padding: 140px 0;
}

[class*=cmn__ttl--] {
    color: #222222;
    margin: 0;
    font-size: 120px;
    font-weight: 600;
    font-family: "Libre Baskerville", serif;
    text-align: center;
    margin-bottom: 60px;
    align-items: baseline;
}
    [class*=cmn__ttl--] span {
        font-size: 16px;
    }

/*---------------------------------------------------
メイン
-----------------------------------------------------*/
.main__wrap {
    position: relative;
    background: #f2efe7;
}

.main__wrap .main__inner {
    width: 100%;
    max-width: 1920px;
    min-height: 525px;
}

.mainview__block {
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
}

.mv-voice {
    position: absolute;
    left: 30px;
    bottom: 40px;
    width: 393px;
    pointer-events: auto;
}

.mv-voice__slider {
    overflow: hidden;
}

.mv-voice__slide {
    height: auto;
}

.mv-voice__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    background: #fff;
    color: #222;
    text-decoration: none;
}

.mv-voice__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dedede;
}

.mv-voice__thumb {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 50%;
}
.mv-voice__card:hover .mv-voice__thumb img{
    transform: scale(1.1);
}
.mv-voice__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.mv-voice__name {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    color: #222;
}

.mv-voice__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(34, 34, 34, 0.4);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.mv-voice__btn {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    transform: translateY(-50%);
    cursor: pointer;
    pointer-events: auto;
}

.mv-voice__btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.mv-voice__btn--prev {
    left: -15px;
}

.mv-voice__btn--next {
    right: -15px;
}

.mv-voice__btn img {
    display: block;
    width: 30px;
    height: 30px;
}

.mv-voice.is-single .mv-voice__btn {
    display: none;
}

.mv-voice__card:hover {
    opacity: 0.85;
    background: #f7f7f7;
}

.main__img img {
    height: 650px;
    object-fit: cover;
}

.l-contents .ui-fit-img.ui-full-screen img.fit_img {
    filter: none;
}
/*---------------------------------------------------
バナー
-----------------------------------------------------*/
.cmn__section--banner {
    padding: 60px 0 0;
    background: #f2efe7;
    overflow: hidden;
}

.cmn__inner--banner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.top-bnr__slider {
    overflow: visible;
}

.top-bnr__slide {
    width: 320px;
    height: 128px;
}

.top-bnr__slide--featured {
    width: 960px;
}

.top-bnr__link {
    display: block;
    width: 100%;
    height: 128px;
    text-decoration: none;
}

.top-bnr__link--static {
    cursor: default;
}

.top-bnr__link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-bnr__link:not(.top-bnr__link--static):hover {
    opacity: 0.85;
}

.top-bnr__homes {
    width: 960px;
    margin: 40px auto 0;
}
.top-bnr__homes img {
    display: block;
    width: 100%;
    height: auto;
}


/*---------------------------------------------------
物件検索
-----------------------------------------------------*/
.cmn__section--search {
    padding-bottom: 30px;
}
.cmn__inner--search {
    width: 1140px;
    margin: 0 auto;
}

.top-search__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.cmn__section--search .cmn__ttl--search {
    display: flex;
    align-items: baseline;
    gap: 0;
    margin: 0;
    line-height: 1.5;
    white-space: nowrap;
}

.cmn__section--search .cmn__ttl--search span {
    margin-left: 0;
    font-size: 16px;
    font-weight: 400;
}

.top-search__tabs {
    display: flex;
    gap: 5px;
    flex-shrink: 0;
    margin-top: 30px;
}

.top-search__tab {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 50px;
    margin: 0;
    padding: 2px 0 0;
    border: none;
    border-bottom: 1px solid #222;
    background: transparent;
    color: #222;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.top-search__tab[data-search-tab="rent"]:not(.is-active):hover {
    border-bottom-color: transparent;
    background: #1e2361;
    color: #fff;
}

.top-search__tab[data-search-tab="buy"]:not(.is-active):hover {
    border-bottom-color: transparent;
    background: #d0c7ae;
    color: #fff;
}

.top-search__tab.is-active[data-search-tab="rent"] {
    border-bottom-color: transparent;
    background: #1e2361;
    color: #fff;
}

.top-search__tab.is-active[data-search-tab="buy"] {
    border-bottom-color: transparent;
    background: #d0c7ae;
    color: #fff;
}

.top-search__panels {
    margin-bottom: 46px;
}

.top-search__panel[hidden] {
    display: none;
}

.top-search__method--rent {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.top-search__method--buy .top-search__links {
    width: 100%;
}

.top-search__links {
    display: flex;
    flex-wrap: wrap;
    gap: 19px 20px;
    flex: 1 1 0;
    min-width: 0;
}

.top-search__method--rent .top-search__item {
    width: 345px;
}

.top-search__method--buy .top-search__item {
    width: 270px;
}

.top-search__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
    color: #222;
    text-decoration: none;
}

.top-search__thumb {
    display: block;
    width: 100%;
    height: 144px;
    overflow: hidden;
}

.top-search__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.top-search__item:hover .top-search__thumb img {
    transform: scale(1.08);
}

.top-search__label {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

.top-search__label em {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
}

.top-search__arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10px;
    height: 10px;
    background: url("/images/top/search-icon-arrow.svg") no-repeat center / contain;
}

.top-search__campus {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 400px;
    height: 360px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}

.top-search__campus-bg {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 385px;
    height: 345px;
    background: #1e2361;
}

.top-search__campus-deco {
    position: absolute;
    right: -3px;
    bottom: -4px;
    color: #fff;
    font-size: 30px;
    line-height: 1.3;
    text-align: right;
    opacity: 0.1;
    pointer-events: none;
}

.top-search__campus-img {
    position: absolute;
    bottom: 75px;
    left: 0px;
    width: 380px;
    height: 285px;
    overflow: hidden;
}

.top-search__campus-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    transform: scale(1);
    transition: transform 0.45s ease;
}

.top-search__campus-text {
    position: absolute;
    left: 41px;
    bottom: 22px;
    z-index: 1;
}

.top-search__campus-title {
    display: block;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
}

.top-search__campus-lead {
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.1;
}

.top-search__campus-lead em {
    font-style: normal;
    font-size: 26px;
    color: #fff;
}

.top-search__campus-arrow {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 1;
    width: 10px;
    height: 10px;
    background: url("/images/top/search-icon-arrow.svg") no-repeat center / contain;
    filter: brightness(0) invert(1);
}

.top-search__campus:hover {
    opacity: 1;
}

.top-search__campus:hover .top-search__campus-img img {
    transform: scale(1.1);
}

.top-search__pickup {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.top-search__pickup-col {
    width: 550px;
}

.top-search__pickup-ttl {
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    color: #222;
}

.top-search__pickup-ttl em {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
}

.top-search__pickup-col--rent .top-search__pickup-ttl em {
    color: #1e2361;
}

.top-search__pickup-col--buy .top-search__pickup-ttl em {
    color: #c4bdab;
}

.top-search__pickup-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    width: 550px;
}

.top-search__pickup-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 172px;
    height: 172px;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.top-search__pickup-col--rent .top-search__pickup-btn {
    background: #d7dbea;
    color: #222;
}

.top-search__pickup-col--buy .top-search__pickup-btn {
    background: #e5e0d1;
    color: #222;
}

.top-search__pickup-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
}

.top-search__pickup-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    transition: filter 0.3s ease;
}

.top-search__pickup-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

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

.top-search__pickup-btn--badge {
    position: relative;
}

.top-search__pickup-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #d0c7ae;
    color: #222;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    pointer-events: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.top-search__pickup-btn--badge:hover .top-search__pickup-badge {
    color: #222;
    background: #e5e0d1;
}


/*---------------------------------------------------
スタッフ紹介
-----------------------------------------------------*/
.cmn__section--staff {
    padding-bottom: 200px;
    background: #f2efe7;
    overflow: hidden;
    padding-top: 70px;
}

.cmn__inner--staff {
    width: 1140px;
    margin: 0 auto;
}

.cmn__section--staff .cmn__ttl--staff {
    display: flex;
    line-height: 1.5;
    margin-bottom: 0px;
    white-space: nowrap;
}

.cmn__section--staff .cmn__ttl--staff span {
    font-size: 16px;
    font-weight: 400;
}

.top-staff__slider-area {
    width: 100%;
    margin-bottom: 27px;
}

.top-staff__slider-wrap {
    overflow: hidden;
}

.top-staff__slider {
    overflow: visible;
}

.top-staff__slider--static {
    overflow: visible;
}

.top-staff__static-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.top-staff__slide {
    flex-shrink: 0;
    width: 260px;
    height: auto;
}

.top-staff__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
    box-sizing: border-box;
    width: 260px;
    padding: 40px 30px 30px;
    background: #fff;
    color: #222;
    text-decoration: none;
}

.top-staff__shop {
    width: 176px;
    position: absolute;
    top: 0;
    min-height: 30px;
    padding: 2px 10px 0;
    background: #1e2361;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    line-height: 2;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-staff__name {
    width: 100%;
    font-family: "Noto Serif JP", serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-staff__thumb {
    display: block;
    width: 200px;
    height: 200px;
    overflow: hidden;
    border-radius: 50%;
    border: 2px solid #222;
}

.top-staff__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.top-staff__card:hover .top-staff__thumb img {
    transform: scale(1.08);
}

.top-staff__comment {
    width: 100%;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(34, 34, 34, 0.4);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.top-staff__foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.top-staff__pager {
    display: flex;
    align-items: center;
}

.top-staff__pager-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.top-staff__pager-btn span {
    display: block;
    width: 8px;
    height: 16px;
    background: url("/images/top/staff-pager-arrow.svg") no-repeat center / contain;
}

.top-staff__pager-btn--prev span {
    transform: scaleX(-1);
}

.top-staff__pager-btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.top-staff__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    width: 127px;
    padding: 10px 5px;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.top-staff__more-arrow {
    display: block;
    width: 19px;
    height: 4px;
    background: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
    transition: transform 0.3s ease;
}

.top-staff__more:hover .top-staff__more-arrow {
    transform: translateX(5px);
}


/*---------------------------------------------------
新着物件（賃貸・売買）
-----------------------------------------------------*/
.cmn__section--rental,
.cmn__section--sale {
    position: relative;
    overflow: hidden;
}

.cmn__inner--rental,
.cmn__inner--sale {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
}
.cmn__section--rental {
    padding: 20px 0 140px;
}
.cmn__section--sale {
    padding: 20px 0 58px;
}
.top-bkn-section__bg {
    position: absolute;
    top: 0;
    height: 496px;
    background: #fff;
    pointer-events: none;
}

.top-bkn-section--rental .top-bkn-section__bg {
    right: 0;
    left: auto;
    width: calc(50% + 540px);
}

.top-bkn-section--sale .top-bkn-section__bg {
    left: 0;
    right: auto;
    width: calc(50% + 460px);
}

.top-bkn-section__layout {
    display: flex;
    gap: 62px;
    align-items: flex-start;
}

.top-bkn-section__layout--rental {
    box-sizing: border-box;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-left: max(0px, calc((100% - 1140px) / 2));
}

.top-bkn-section__layout--rental .top-bkn-section__head {
    flex-shrink: 0;
}

.top-bkn-section__layout--sale {
    box-sizing: border-box;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    justify-content: flex-end;
    padding-right: max(0px, calc((100% - 1140px) / 2));
}

.top-bkn-section__layout--sale .top-bkn-section__head {
    flex-shrink: 0;
}

.top-bkn-section__slider-col {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 33px;
    min-width: 0;
    padding-top: 50px;
}

.top-bkn-section--rental .top-bkn-section__slider-wrap {
    overflow: hidden;
    width: 100%;
}

.top-bkn-section--rental .top-bkn-section__slider {
    overflow: visible;
    padding-left: 15px;
}

.top-bkn-section--sale .top-bkn-section__slider-wrap {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    padding-right: 15px;
}

.top-bkn-section--sale .top-bkn-section__slider {
    overflow: visible;
    padding-left: 15px;
    direction: rtl;
}

.top-bkn-section--sale .top-bkn__slide {
    direction: ltr;
}

.top-bkn-section__layout--reverse {
    justify-content: flex-end;
}

.top-bkn-section__head {
    display: flex;
    flex-shrink: 0;
    gap: 5px;
    margin: 0;
}

.top-bkn-section__head-rotator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 139px;
    height: 372px;
}

.top-bkn-section__head-rotator--sale {
    height: 238px;
}

.top-bkn-section__head-rotator-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transform: rotate(90deg);
    white-space: nowrap;
}

.top-bkn-section__head-new {
    font-family: "Abril Fatface", serif;
    font-size: 44px;
    line-height: 1.1;
    color: #222;
    font-weight: 400;
}

.top-bkn-section__head-main {
    font-family: "Abril Fatface", serif;
    font-size: 120px;
    line-height: 0.9;
    color: #222;
    font-weight: 400;
}

.top-bkn-section__head-ja {
    width: 16px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 1.6px;
    color: #222;
    writing-mode: vertical-rl;
    z-index: 1;
}

.top-bkn-section__body {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 40px;
    min-width: 0;
    padding-top: 50px;
}

.top-bkn-section__slider-wrap {
    overflow: hidden;
}

.top-bkn-section__slider {
    overflow: visible;
}

.top-bkn__slide {
    width: 320px;
    height: auto;
}

.top-bkn__slide--offset {
    padding-top: 40px;
}

.top-bkn__card {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 320px;
    color: #222;
    text-decoration: none;
}

.top-bkn__visual {
    position: relative;
    width: 320px;
    height: 240px;
}

.top-bkn__thumb {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #f7f7f7;
}

.top-bkn__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.top-bkn__card:hover .top-bkn__thumb img {
    transform: scale(1.08);
}
.favorite__icon {
    background: url(/images/top/icon_favorite.svg) no-repeat center / cover;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
}
    .favorite__icon.is-checked {
        background: url(/images/top/icon_favorite_on.svg) no-repeat center / cover;
    }


.top-bkn__type {
    position: absolute;
    top: 191px;
    left: -15px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    padding: 0 5px;
    background: #fff;
    color: #1e2361;
    font-size: 13px;
    font-weight: 400;
    line-height: 2;
    white-space: nowrap;
}

.top-bkn__price {
    position: absolute;
    top: 213px;
    left: -15px;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    gap: 5px;
    padding: 6px 9px 5px;
    background: #222;
    color: #fff;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 400;
}

.top-bkn__price span.kanri {
    font-size: 13px;
}
.top-bkn__price .price {
    font-family: "Libre Baskerville", serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}


.top-bkn__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
}

.top-bkn__name {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(34, 34, 34, 0.15);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 2px;
}

.top-bkn__detail,
.top-bkn__address,
.top-bkn__access {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(34, 34, 34, 0.4);
}

.top-bkn__address,
.top-bkn__access {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.top-bkn-section__foot {
    display: flex;
    align-items: center;
    gap: 25px;
}

.top-bkn-section__foot--end {
    width: 1140px;
    justify-content: unset;
    margin-left: 680px;
}

.top-bkn-section__foot--start {
    justify-content: flex-start;
}

.top-bkn-section__foot-area--sale {
    margin-top: 33px;
    width: 1140px;
    margin: 33px auto 0;
}

.top-bkn-section__foot-inner {
    width: min(1440px, 100%);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.top-bkn-section__foot-group {
    display: flex;
    align-items: center;
    gap: 30px;
}

.top-bkn-section__pager {
    display: flex;
    align-items: center;
    gap: 3px;
}

.top-bkn-section__pager-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.top-bkn-section__pager-btn span {
    display: block;
    width: 8px;
    height: 16px;
    background: url("/images/top/staff-pager-arrow.svg") no-repeat center / contain;
}

.top-bkn-section__pager-btn--prev span {
    transform: scaleX(-1);
}

.top-bkn-section__pager-btn.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.top-bkn-section__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 130px;
    padding: 10px 5px;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.top-bkn-section__more-arrow {
    display: block;
    width: 19px;
    height: 4px;
    background: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
    transition: transform 0.3s ease;
}

.top-bkn-section__more:hover .top-bkn-section__more-arrow {
    transform: translateX(5px);
}


/*---------------------------------------------------
人気物件ランキング
-----------------------------------------------------*/
.cmn__section--ranking {
    padding: 79px 0 30px;
    overflow: hidden;
}

.top-ranking__inner {
    width: min(1140px, 100%);
    margin: 0 auto;
}

.top-ranking__block {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
}

.top-ranking__block--rental {
    padding-bottom: 43px;
}

.top-ranking__block--sale {
    padding-bottom: 220px;
}

.top-ranking__bg {
    position: absolute;
    z-index: 0;
    top: 64px;
    overflow: hidden;
    pointer-events: none;
}

.top-ranking__bg--rental {
    left: -80px;
    width: 1300px;
    height: 786px;
    border-radius: 80px 80px 0 0;
    background: url(/images/top/ranking_bg_rental.webp) no-repeat center / cover;
}

.top-ranking__bg--sale {
    left: 50%;
    width: 1300px;
    height: 608px;
    border-radius: 100px;
    background: url(/images/top/ranking_bg_sale.webp) no-repeat center / cover;
    transform: translateX(-50%);
}

.top-ranking__head {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 0 -40px;
}

.top-ranking__head-sub {
    margin: 0;
    padding: 5px 0;
    background: #fff;
    color: #1e2361;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.top-ranking__head--sale .top-ranking__head-sub {
    color: #d0c7ae;
}

.top-ranking__head-main {
    margin: 0;
    padding: 16px 20px 9px;
    background: #1e2361;
    color: #fff;
    line-height: 0.9;
    white-space: nowrap;
}

.top-ranking__head--sale .top-ranking__head-main {
    background: #d0c7ae;
}

.top-ranking__head-new {
    font-family: "Libre Baskerville", serif;
    font-size: 44px;
    font-weight: 600;
    line-height: 0.9;
}

.top-ranking__head-label {
    font-family: "Libre Baskerville", serif;
    font-size: 120px;
    font-weight: 600;
    line-height: 0.9;
}

.top-ranking__list {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 30px;
    align-items: flex-end;
    width: 100%;
}

.top-ranking__item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex-shrink: 0;
    width: 320px;
}

.top-ranking__item--featured {
    width: 440px;
}

.top-ranking__rank {
    margin: 0;
    font-family: "Lobster", cursive;
    font-size: 30px;
    line-height: 0.9;
    color: #222;
}

.top-ranking__card {
    display: flex;
    flex-direction: column;
    gap: 17px;
    width: 100%;
    color: #222;
    text-decoration: none;
}

.top-ranking__card:hover {
    opacity: 1;
}

.top-ranking__visual {
    position: relative;
    width: 100%;
    height: 240px;
}

.top-ranking__item--featured .top-ranking__visual {
    height: 330px;
}

.top-ranking__thumb {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #f7f7f7;
}

.top-ranking__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.top-ranking__card:hover .top-ranking__thumb img {
    transform: scale(1.08);
}

.top-ranking .top-bkn__type {
    position: absolute;
    top: 191px;
    left: -15px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    padding: 0 5px;
    background: #fff;
    color: #1e2361;
    font-size: 13px;
    font-weight: 400;
    line-height: 2;
    white-space: nowrap;
}

.top-ranking .top-bkn__price {
    position: absolute;
    top: 213px;
    left: -15px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    background: #222;
    color: #fff;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 400;
    height: 37px;
}

.top-ranking .top-bkn__price span,
.top-ranking .top-bkn__price .price {
    font-family: "Libre Baskerville", serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}

.top-ranking__item--featured .top-bkn__type {
    top: 281px;
}

.top-ranking__item--featured .top-bkn__price {
    top: 303px;
}

.top-ranking__info {
    display: flex;
    flex-direction: column;
    gap: 0px;
    width: 100%;
}

.top-ranking__name {
    margin: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(34, 34, 34, 0.15);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 5px;
}

.top-ranking__detail,
.top-ranking__address,
.top-ranking__access {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(34, 34, 34, 0.4);
}

.top-ranking__address,
.top-ranking__access {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/*---------------------------------------------------
Special Favor
-----------------------------------------------------*/
.cmn__section--special {
    padding: 38px 0 110px;
}

.top-special__bg {
    position: absolute;
    top: 53.1%;
    left: 50%;
    z-index: 0;
    width: 1920px;
    max-width: none;
    height: 1587px;
    pointer-events: none;
    transform: translate(-50%, calc(-50% - 104px));
}

.top-special__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.top-special__head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    color: #222;
    text-align: center;
}

.top-special__title {
    margin: 0;
    font-family: "Lobster", cursive;
    font-size: 120px;
    font-weight: 400;
    line-height: 1;
}

.top-special__lead {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.top-special__contents {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.top-special__panel {
    position: relative;
    flex-shrink: 0;
}

.top-special__panel--rental {
    width: 1230px;
    height: 614px;
}

.top-special__panel--sale {
    width: 1410px;
    height: 680px;
}

.top-special__panel-visual {
    position: absolute;
    inset: 0;
}

.top-special__panel-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
}

.top-special__panel-box {
    position: absolute;
    z-index: 1;
    box-sizing: border-box;
    padding: 5px;
    background: #fff;
    border: 3px solid #222;
}

.top-special__panel-box--rental {
    top: 275px;
    left: 80px;
    width: 560px;
}

.top-special__panel-box--sale {
    top: 85px;
    left: 540px;
    width: 600px;
    max-width: calc(100% - 40px);
}

.top-special__panel-box-inner {
    box-sizing: border-box;
    width: 100%;
    padding: 26px 29px 26px;
    background: #fff;
    border: 1px dashed #222;
}

.top-special__panel-title {
    margin: 0 0 27px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    color: #222;
}

.top-special__panel-body {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.top-special__point-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.top-special__point {
    display: flex;
    gap: 5px;
    align-items: flex-start;
}

.top-special__panel-box--sale .top-special__point {
    align-items: flex-end;
}

.top-special__check {
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: auto;
}

.top-special__point-text {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #222;
}

.top-special__desc {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #222;
}

.top-special__note {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    color: #222;
}

/*---------------------------------------------------
Online（来店不要サービス）
-----------------------------------------------------*/
.cmn__section--online {
    padding: 120px 0 140px;
}

.top-online__inner {
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}
.top-online__wrap {
    border-bottom: 1px solid #222;
}
.top-online__head {
    display: flex;
    align-items: baseline;
    color: #222;
    position: relative;
}
.top-online__title {
    margin: 0;
    font-family: "Libre Baskerville", serif;
    font-size: 120px;
    font-weight: 600;
    line-height: 1;
}

.top-online__head-sub {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.top-online__intro {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-top: 42px;
    color: #222;
}

.top-online__lead {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

.top-online__notes {
    flex: 1;
    min-width: 0;
    margin-top: 5px;
}

.top-online__notes p {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
}

.top-online__notes p:last-child {
    margin-bottom: 0;
}

.top-online__list {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-top: 47px;
}

.top-online__panel {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    box-sizing: border-box;
    width: 545px;
    max-width: 100%;
    padding: 0 0 0 190px;
    border-bottom: 1px solid #222;
}
.top-online__panel--theory,
.top-online__panel--mailing {
    padding-bottom: 30px;
}

.top-online__thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 200px;
    overflow: hidden;
}

.top-online__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-online__panel--preview .top-online__thumb img,
.top-online__panel--theory .top-online__thumb img,
.top-online__panel--mailing .top-online__thumb img {
    object-position: center bottom;
}

.top-online__panel-head {
    display: flex;
    flex-shrink: 0;
    gap: 10px;
    align-items: flex-start;
    padding-top: 20px;
}

.top-online__panel-title {
    width: 32px;
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #222;
    writing-mode: vertical-rl;
    font-feature-settings: "vert" 1;
    z-index: 1;
}

.top-online__panel-label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 11px;
    height: 82px;
    margin: 0;
    font-family: "Abril Fatface", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.8px;
    color: #d0c7ae;
    white-space: nowrap;
    transform: rotate(90deg);
    transform-origin: center center;
}

.top-online__panel-label--preview {
    height: 66px;
}

.top-online__panel-label--theory {
    height: 146px;
}

.top-online__panel-label--mailing {
    height: 61px;
}

.top-online__panel-body {
    flex: 1;
    min-width: 0;
    padding: 20px 0 24px;
}

.top-online__panel-text {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    color: #222;
}

.top-online__panel-note {
    margin: 12px 0 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    color: #222;
}

/*---------------------------------------------------
Flow（お部屋探し・不動産購入の流れ）
-----------------------------------------------------*/
.cmn__section--flow {
    padding: 130px 0;
    background: url(/images/top/flow__bg.webp) no-repeat center / cover;
    overflow: hidden;
    height: 1350px;
}

.top-flow__bg {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    width: 1920px;
    max-width: none;
    height: 1350px;
    pointer-events: none;
    transform: translateX(-50%);
}

.top-flow__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-flow__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}

.top-flow__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    text-align: center;
}

.top-flow__title {
    margin: 0;
    font-family: "Libre Baskerville", serif;
    font-size: 120px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.top-flow__head-sub {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
}

.top-flow__lead {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}

.top-flow__list {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    width: 100%;
    margin-top: 10px;
}

.top-flow__col {
    display: flex;
    flex-direction: column;
    width: 555px;
    max-width: 100%;
}

.top-flow__col-head {
    display: flex;
    align-items: stretch;
}

.top-flow__col-label {
    padding: 10px 2px 7px 16px;
    color: #fff;
}

.top-flow__col--rental .top-flow__col-label,
.top-flow__col--rental .top-flow__col-head-shape {
    background: #1e2361;
}

.top-flow__col--sale .top-flow__col-label,
.top-flow__col--sale .top-flow__col-head-shape {
    background: #d0c7ae;
}

.top-flow__col-label-text {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.top-flow__col-label-main {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}
.top-flow__col-label-sub {
    font-family: "Noto Serif JP", serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}

.top-flow__col-head-shape {
    flex-shrink: 0;
    width: 50px;
    clip-path: polygon(0 0, 0 100%, 100% 100%);
}

.top-flow__col-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
}

.top-flow__col--rental .top-flow__col-body {
    background: #edeff9;
    padding-bottom: 29px;
}

.top-flow__col--sale .top-flow__col-body {
    background: #f2efe7;
    padding-bottom: 32px;
}

.top-flow__steps {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top-flow__step {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    max-width: 495px;
    margin: 0 auto;
    padding: 20px 25px 20px;
    background: #fff;
}
.top-flow__col--sale .top-flow__step:nth-child(3),
.top-flow__col--sale .top-flow__step:nth-child(4),
.top-flow__col--sale .top-flow__step:nth-child(5),
.top-flow__col--sale .top-flow__step:nth-child(6){
    gap: 12px;
}

.top-flow__step-num {
    position: absolute;
    top: -12px;
    left: -10px;
    margin: 0;
    font-family: "Lobster", cursive;
    font-size: 20px;
    font-weight: 400;
    line-height: 0.9;
}

.top-flow__col--rental .top-flow__step-num {
    color: #a0a4cf;
}

.top-flow__col--sale .top-flow__step-num {
    color: #d0c7ae;
}

.top-flow__step-head {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: baseline;
}

.top-flow__step-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: #222;
}

.top-flow__step-tag {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 2;
    color: #911717;
    white-space: nowrap;
}

.top-flow__step-text {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    color: #222;
}

.top-flow__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: 300px;
    max-width: 100%;
    padding: 18px 20px 23px 40px;
    border-bottom: 1px solid #222;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.11em;
    text-decoration: none;
}
.top-flow__col--rental .top-flow__btn {
    margin-top: 36px;
}
.top-flow__btn-text {
    flex: 1;
    text-align: center;
}

.top-flow__btn-arrow {
    display: block;
    flex-shrink: 0;
    width: 19px;
    height: 4px;
    background: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
    transition: transform 0.3s ease;
}

.top-flow__btn:hover .top-flow__btn-arrow {
    transform: translateX(5px);
}


/*---------------------------------------------------
News（更新情報）
-----------------------------------------------------*/
.cmn__section--news {
    position: relative;
    padding: 280px 0 117px;
    overflow: hidden;
}

.top-news__inner:before {
    content: "";
    position: absolute;
    top: -140px;
    left: -390px;
    z-index: 0;
    width: 1300px;
    height: 320px;
    background: url("/images/top/news__bg.webp") no-repeat center / cover;
    pointer-events: none;
}

.top-news__inner {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 80px;
    align-items: flex-start;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}

.top-news__side {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 200px;
    align-items: center;
    width: 127px;
}

.top-news__head {
    display: flex;
    gap: 17px;
    align-items: flex-start;
    justify-content: center;
}

.top-news__title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 285px;
    margin: 0;
    font-family: "Abril Fatface", serif;
    font-size: 120px;
    font-weight: 400;
    line-height: 0.9;
    color: #222;
    white-space: nowrap;
    transform: rotate(90deg);
}

.top-news__head-sub {
    width: 16px;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #222;
    text-align: center;
    writing-mode: vertical-rl;
    font-feature-settings: "vert" 1;
    z-index: 1;
}

.top-news__more {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 127px;
    padding: 10px 5px;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.top-news__more-text {
    flex: 1;
    text-align: center;
}

.top-news__more-arrow {
    display: block;
    flex-shrink: 0;
    width: 19px;
    height: 4px;
    background: url("/images/top/staff-more-arrow.svg") no-repeat center / cover;
    transition: transform 0.3s ease;
}

.top-news__more:hover .top-news__more-arrow {
    transform: translateX(5px);
}

.top-news__body {
    flex: 1;
    min-width: 0;
    padding-top: 220px;
}

.top-news__scroll {
    width: 100%;
    max-height: 295px;
}

.top-news__scroll[data-simplebar] {
    padding-right: 20px;
}

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

.top-news__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.top-news__date {
    font-family: "Libre Baskerville", serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    color: #1e2361;
}

.top-news__text {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    color: #222;
}

.top-news__text p {
    margin: 0;
}

.top-news__scroll .simplebar-track.simplebar-vertical {
    width: 9px;
    background: transparent;
}

.top-news__scroll .simplebar-track.simplebar-vertical::before {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #222;
    transform: translateX(-50%);
}

.top-news__scroll .simplebar-scrollbar:before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 64px;
    border-radius: 0;
    opacity: 1;
    background: #222;
}

.top-news__scroll .simplebar-scrollbar.simplebar-visible:before {
    opacity: 1;
    top: 0;
    bottom: 0;
}


/*---------------------------------------------------
About Us（お部屋リードについて）
-----------------------------------------------------*/
.cmn__section--aboutus {
    position: relative;
    padding: 0 0 200px;
    overflow: hidden;
}

.top-aboutus__inner::before {
    content: "";
    position: absolute;
    top: 70px;
    left: -100px;
    z-index: -1;
    width: 1630px;
    height: 1495px;
    border-radius: 100px 0 0 100px;
    background: #f2efe7 url("/images/top/aboutus__bg.webp") no-repeat center / cover;
    pointer-events: none;
}

.top-aboutus__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}

.top-aboutus__head {
    display: flex;
    align-items: baseline;
    color: #222;
}

.top-aboutus__title {
    margin: 0;
    font-family: "Libre Baskerville", serif;
    font-size: 120px;
    font-weight: 600;
    line-height: 1.1;
}

.top-aboutus__head-sub {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.top-aboutus__contents {
    display: flex;
    flex-direction: column;
    gap: 35px;
    align-items: center;
    width: 100%;
}

.top-aboutus__video {
    display: flex;
    justify-content: center;
    gap: 30px;
    max-width: 100%;
}

.top-aboutus__video iframe {
    display: block;
    width: 555px;
    height: 310px;
    border: 0;
}

.top-aboutus__intro {
    display: flex;
    gap: 20px;
    align-items: center;
    width: 100%;
    margin-bottom: 40px;
}

.top-aboutus__intro-text {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    color: #222;
    position: relative;
    padding-left: 20px;
}
.top-aboutus__intro-text:before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #222;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 13px;
}
.aboutus__intro__wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 445px;
}
.top-aboutus__intro-img {
    flex-shrink: 0;
    width: 675px;
    height: 394px;
    overflow: hidden;
}

.top-aboutus__intro-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-aboutus__subject {
    display: flex;
    flex-direction: column;
    gap: 19px;
    width: 100%;
}

.top-aboutus__subject-lead {
    margin: 0;
    font-family: "Noto Serif JP", serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #222;
}

.top-aboutus__points {
    display: flex;
    gap: 10px;
    align-items: stretch;
    width: 100%;
    padding-top: 18px;
}

.top-aboutus__point {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 26px 20px 20px;
    background: #f2efe7;
}

.top-aboutus__point-label {
    position: absolute;
    top: -18px;
    left: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 36px;
    margin: 0;
    padding: 0 16px 0 7px;
    background: #222;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

.top-aboutus__point-list {
    margin: 0;
    padding-left: 24px;
}
.top-aboutus__point-list li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #222;
    position: relative;
}
.top-aboutus__point-list li:before {
    content: "";
    margin-right: 5px;
    position: absolute;
    top: 10px;
    left: -15px;
    width: 4px;
    height: 4px;
    background: #222;
    border-radius: 50%;
}

.top-aboutus__point-list li + li {
    margin-top: 2px;
}

.top-aboutus__subject-text,
.top-aboutus__closing {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    color: #222;
}
.company__more {
    background: #222;
    width: 220px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    transition: .3s;
    border: 1px solid #222;
}

.company__more:hover{
    background: #fff;
    color: #222;
    border: 1px solid #222;
}
/*---------------------------------------------------
Useful（お役立ち情報 / ブログ）
-----------------------------------------------------*/
.cmn__section--useful {
    padding: 0 0 140px;
    overflow: hidden;
}

.top-useful__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}

.top-useful__top {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    width: 100%;
}

.top-useful__head {
    display: flex;
    flex-shrink: 0;
    gap: 17px;
    align-items: flex-start;
    justify-content: center;
    height: 352px;
}

.top-useful__title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 352px;
    margin: 0;
    font-family: "Abril Fatface", serif;
    font-size: 120px;
    font-weight: 400;
    line-height: 0.9;
    color: #222;
    white-space: nowrap;
    transform: rotate(90deg);
}

.top-useful__head-sub {
    width: 16px;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #222;
    text-align: center;
    writing-mode: vertical-rl;
    font-feature-settings: "vert" 1;
}

.top-useful__featured {
    flex: 1;
    min-width: 0;
    padding-top: 80px;
}

.top-useful__card {
    position: relative;
    display: flex;
    box-sizing: border-box;
    color: #222;
    text-decoration: none;
    background: #fff;
    border: 1px solid #222;
}

.top-useful__card--featured {
    gap: 20px;
    align-items: center;
    width: 100%;
    max-width: 963px;
    height: 320px;
    padding: 20px;
}

.top-useful__card--small {
    flex-direction: column;
    gap: 20px;
    align-items: center;
    width: 100%;
    padding: 20px;
}

.top-useful__card:hover {
    opacity: 0.7;
}

.top-useful__thumb {
    margin: 0;
    overflow: hidden;
}

.top-useful__thumb--featured {
    flex-shrink: 0;
    height: 100%;
    aspect-ratio: 600 / 400;
}

.top-useful__thumb--featured img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-useful__thumb--small {
    width: 100%;
    aspect-ratio: 200 / 150;
}

.top-useful__thumb--small img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-useful__body--featured {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 20px;
    align-items: flex-end;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.top-useful__card-title {
    margin: 0;
    font-weight: 700;
    color: #222;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-useful__card-title--featured {
    width: 100%;
    font-size: 20px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.top-useful__card-title--small {
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.top-useful__excerpt {
    width: 100%;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    color: #222;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
}

.top-useful__more {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 127px;
    padding: 10px 5px;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}

.top-useful__card--featured .top-useful__more {
    position: absolute;
    right: 14px;
    bottom: 9px;
}

.top-useful__more-text {
    flex: 1;
    text-align: center;
}

.top-useful__more-arrow {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 3px;
    background: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
}

.top-useful__list {
    display: flex;
    gap: 30px;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top-useful__item {
    flex: 1;
    min-width: 0;
    max-width: 360px;
}

/*---------------------------------------------------
Procedure（各種お手続き）
-----------------------------------------------------*/
.cmn__section--procedure {
    padding: 0 0 170px;
}

.top-procedure__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
}

.top-procedure__inner::before {
    content: "";
    position: absolute;
    top: 45px;
    left: 50%;
    z-index: 0;
    width: 1260px;
    max-width: calc(100% + 120px);
    height: 305px;
    background: url("/images/top/procedure__bg.svg") no-repeat center / 100% 100%;
    pointer-events: none;
    transform: translateX(-50%);
}

.top-procedure__head {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 10px;
    color: #222;
    background: #f2efe7;
}

.top-procedure__quote {
    font-family: "Anonymous Pro", monospace;
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
}

.top-procedure__quote--close {
    font-feature-settings: "ordn" 1;
}

.top-procedure__title {
    font-size: 48px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.top-procedure__list {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 20px;
    align-items: stretch;
    width: 100%;
}

.top-procedure__btn {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    height: 180px;
    padding: 20px 15px 35px;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.top-procedure__btn--rental {
    background: #a94646;
}

.top-procedure__btn--dark {
    background: #222;
}

.top-procedure__btn--rental:hover {
    color: #a94646;
    background: #fff;
}

.top-procedure__btn--dark:hover {
    color: #222;
    background: #fff;
}

.top-procedure__icon {
    display: block;
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background-color: #fff;
    transition: background-color 0.3s ease;
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

.top-procedure__btn--rental:hover .top-procedure__icon {
    background-color: #a94646;
}

.top-procedure__btn--dark:hover .top-procedure__icon {
    background-color: #222;
}

.top-procedure__label {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

.top-procedure__arrow {
    position: absolute;
    right: 15px;
    bottom: 15px;
    display: block;
    width: 30px;
    height: 5px;
    background-color: #fff;
    transition: background-color 0.3s ease;
    -webkit-mask: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
    mask: url("/images/top/staff-more-arrow.svg") no-repeat center / contain;
}

.top-procedure__btn--rental:hover .top-procedure__arrow {
    background-color: #a94646;
}

.top-procedure__btn--dark:hover .top-procedure__arrow {
    background-color: #222;
}
