@charset "UTF-8";

body {
    background-color: #FFFFFF;
    overflow-x: hidden;
}

.l-contents * {
    font-family: "Zen Kaku Gothic New", sans-serif;
    box-sizing: border-box;
    color: #666;
}
.l-contents a {
    transition: .3s;
}
.l-contents a:hover,
.l-contents button:hover {
    opacity: 1;
}
.pg__inner{
    width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}

.l-main {
    width: 100%;
    padding-bottom: 0;
    position: relative;
    background: #F7F4EE;
}

/*---------------------------------------------------
共通化
-----------------------------------------------------*/
.cmn__more__btn {
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-family: "Marcellus", serif;
    text-align: center;
    background: linear-gradient(133deg, #383636 20.86%, #666 70.99%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 32px;
    position: relative;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cmn__more__btn:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 12px;
    position: absolute;
    top: 22px;
    right: -50px;
    mask-image: url(/images/top/cmn__more__arrow.svg);
    -webkit-mask-image: url(/images/top/cmn__more__arrow.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: currentColor;
    transition: all 0.3s ease;
}
.cmn__more__btn:hover:before {
    right: -86px;
}
.cmn__more__btn:after {
    content: '';
    border: 0.5px solid #919191;
    border-radius: 50%;
    width: 39px;
    height: 39px;
    position: absolute;
    top: 7px;
    right: -70px;
    transition: all 0.3s ease;
}
.cmn__more__btn:hover:after {
    width: 20px;
    height: 20px;
    right: -57px;
    top: 16px;
}
/*---------------------------------------------------

-----------------------------------------------------*/
.main__hero {
    position: relative;
    z-index: 1;
    margin-bottom: 2000px;
}
@media (max-width: 1366px) {
    .main__hero {
        margin-bottom: 1500px;
    }
}

.main__hero__stack {
    position: relative;
    max-width: none;
}

/* 動画（最背面・固定） */
.main__hero__kv {
    position: fixed;
    z-index: -2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    will-change: filter;
}
.main__hero__mv {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.main__hero__mv__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.001);
}

/* 左下キャッチ（固定・KVの手前） */
.main__hero__sectionText {
    position: relative;
    z-index: -1;
    pointer-events: none;
}
.main__hero__sectionText__inner {
    position: fixed;
    top: 100px;
    left: 30px;
    right: 24px;
    max-width: calc(100vw - 54px);
}
@media (max-width: 768px) {
    .main__hero__sectionText__inner {
        bottom: 40px;
        left: 20px;
        right: 20px;
        max-width: calc(100vw - 40px);
    }
}
.main__hero__sectionTitle {
    margin: 0;
    font-weight: 700;
}
.main__hero__sectionTitle__en,
.main__hero__sectionTitle__jp {
    display: block;
    overflow: hidden;
    color: #fff;
    line-height: 1.05;
}
.main__hero__sectionTitle__en {
    font-size: 74px;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    transform: translateY(110%);
    opacity: 0;
    transition: transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}
.main__hero__sectionTitle__jp {
    font-size: 92px;
    letter-spacing: 0.02em;
    transform: translateY(110%);
    opacity: 0;
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0;
}
.main__hero--reveal .main__hero__sectionTitle__jp {
    transition-delay: 0s;
}
.main__hero--reveal .main__hero__sectionTitle__en,
.main__hero--reveal .main__hero__sectionTitle__jp {
    transform: translateY(0);
    opacity: 1;
}

/* 中央コンセプト（固定・KVの手前） */
.main__hero__concept {
    position: relative;
    z-index: -1;
    pointer-events: none;
}
.main__hero__concept * {
    font-family: "Noto Sans JP", sans-serif;
}
.main__hero__concept__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    padding: 280px 80px 0px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
@media (max-width: 1024px) {
    .main__hero__concept__inner {
        padding: 90px 40px 100px 40px;
    }
}
@media (max-width: 768px) {
    .main__hero__concept__inner {
        padding: 80px 20px 100px 20px;
    }
}

/* 透明スクロール層（1画面）→ 続く1画面分でKV上をスクロール */
.main__hero__spacer {
    position: relative;
    z-index: 0;
    height: 100vh;
    width: 100%;
    pointer-events: none;
}
.main__catch__stage {
    position: relative;
    z-index: 1;
}
.main__catch__wrap {
    position: relative;
    min-height: 100vh;
    width: 100%;
    pointer-events: none;
}

.l-main > section:first-of-type ~ * {
    position: relative;
    z-index: 2;
}

/* リスト・本文の行見出しアニメ */
.main__catch__list__item,
.main__catch__last {
    overflow: hidden;
}
.main__catch__list__item {
    transform: translateY(40px);
    opacity: 0;
    transition: transform 1.0s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 1.0s cubic-bezier(0.22, 1, 0.36, 1);
}
.main__catch__last {
    transform: translateY(40px);
    opacity: 0;
    transition: transform 1.0s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 1.0s cubic-bezier(0.22, 1, 0.36, 1);
}
.main__hero--reveal .main__catch__list__item:nth-child(1) {
    transition-delay: 0.13s;
}
.main__hero--reveal .main__catch__list__item:nth-child(2) {
    transition-delay: 0.25s;
}
.main__hero--reveal .main__catch__list__item:nth-child(3) {
    transition-delay: 0.37s;
}
.main__hero--reveal .main__catch__last {
    transition-delay: 0.49s;
}
.main__hero--reveal .main__catch__list__item,
.main__hero--reveal .main__catch__last {
    transform: translateY(0);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .main__hero__sectionTitle__en,
    .main__hero__sectionTitle__jp,
    .main__catch__list__item,
    .main__catch__last {
        transition: none;
        transform: none;
        opacity: 1;
    }
}

.main__catch__list {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, 2.5vw, 45px);
    margin: 0 0 clamp(32px, 4vw, 40px);
    padding: 0;
    list-style: none;
}
.main__catch__list__item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #fff;
    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 700;
    letter-spacing: 0.04em;
    position: relative;
}
.main__catch__list__item:before {
    content: '';
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
}
.main__catch__list__item span {
    flex-shrink: 0;
    color: #fff;
    font-size: clamp(22px, 2.8vw, 35px);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-right: 5px;
}
.main__catch__last {
    font-size: clamp(13px, 1.15vw, 16px);
    color: #fff;
    line-height: 2.2;
    font-weight: 700;
    margin: 0;
}

/*---------------------------------------------------
Search
-----------------------------------------------------*/
.cmn__section--wrapper {
    background: linear-gradient(180deg, #F7F4EE 0%, #F9F8F6 100%);
    padding: 97px 0 99px;
}
.cmn__section--search {
    margin-bottom: 60px;
}
.cmn__ttl--search {
    margin-bottom: 24px;
    text-align: center;
}
.cmn__ttl--search img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
}

/* Search：wrapper の cmn__section--is-inview で下から順にフェードイン（見出し画像は別途左から） */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--wrapper:not(.cmn__section--is-inview) .cmn__section--search .search__count-row,
    .l-main .cmn__section--wrapper:not(.cmn__section--is-inview) .cmn__section--search .search__freeword,
    .l-main .cmn__section--wrapper:not(.cmn__section--is-inview) .cmn__section--search .search__nav,
    .l-main .cmn__section--wrapper:not(.cmn__section--is-inview) .cmn__section--search .search__pickup {
        opacity: 0;
        transform: translate3d(0, 32px, 0);
    }
    .l-main .cmn__section--wrapper.cmn__section--is-inview .cmn__section--search .search__count-row {
        animation: cmnSoftRevealIn 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.06s;
    }
    .l-main .cmn__section--wrapper.cmn__section--is-inview .cmn__section--search .search__freeword {
        animation: cmnSoftRevealIn 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.18s;
    }
    .l-main .cmn__section--wrapper.cmn__section--is-inview .cmn__section--search .search__nav {
        animation: cmnSoftRevealIn 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.3s;
    }
    .l-main .cmn__section--wrapper.cmn__section--is-inview .cmn__section--search .search__pickup {
        animation: cmnSoftRevealIn 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.42s;
    }
}

@keyframes cmnSoftRevealIn {
    from {
        opacity: 0;
        transform: translate3d(0, 32px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-main .cmn__section--search .cmn__ttl--search,
    .l-main .cmn__section--search .search__count-row,
    .l-main .cmn__section--search .search__freeword,
    .l-main .cmn__section--search .search__nav,
    .l-main .cmn__section--search .search__pickup {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.search__main {
    width: 100%;
}

.search__count-row {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 36px;
    width: 100%;
    padding: 5px 0 20px;
    box-sizing: border-box;
}

.search__count-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    padding-bottom: 18px;
}

.search__count-block {
    display: flex;
    align-items: flex-end;
    gap: 5px;
}

.search__count-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.65px;
    color: #666666;
}

.search__count__num {
    font-family: "Zen Old Mincho", serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 2px;
    color: #666666;
}

.search__count-unit {
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.65px;
    color: #666666;
}

.search__count-sep {
    display: block;
    width: 1px;
    height: 29px;
    background-color: #666666;
    flex-shrink: 0;
    top: 6px;
    position: relative;
}

.search__cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 387px;
    flex-shrink: 0;
}

.search__cta-lead {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.65px;
    color: #666666;
    text-align: center;
}

.search__cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 59px;
    padding: 15px;
    border-radius: 9999px;
    text-align: center;
    position: relative;
    background: url(/images/top/search__btn00.webp) no-repeat center center / cover;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.search__cta-btn:hover {
    background: url(/images/top/search__btn00_on.webp) no-repeat center center / cover;
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
}
.search__cta-btn span {
    position: relative;
    z-index: 1;
    color: #e4e4e4;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.8px;
}


.search__panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 70px;
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.search__freeword {
    display: flex;
    /* flex-wrap: wrap; */
    align-items: center;
    gap: 20px;
    border: none;
}

.search__panel-ttl {
    margin: 0;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    background: linear-gradient(178deg, #383636 1%, #666666 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.search__pickup .search__panel-ttl {
    margin-bottom: 5px;
}
.top_freeword  {
    position: relative;
    padding: 0;
    margin: 0;
}
.md-freeword input[type="text"]{
    position: relative;
    flex: 1 1 auto;
    width: 910px;
    height: 50px;
    box-sizing: border-box;
    padding: 0 56px 0 30px;
    border: 1px solid #ebebeb;
    border-radius: 9999px;
    background-color: #f2f2f2;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.8px;
    color: #383636;
}
.search__submit {
    position: absolute;
    top: 50%;
    right: 6px;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    transform: translateY(-50%);
    cursor: pointer;
    line-height: 0;
}
.search__submit-visual {
    position: relative;
    display: block;
    width: 38px;
    height: 38px;
}
.search__submit-img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    object-fit: contain;
    transition: opacity 0.28s ease;
}
.search__submit-img--on {
    opacity: 0;
}
.search__submit:hover .search__submit-img--on,
.search__submit:focus-visible .search__submit-img--on {
    opacity: 1;
}
.search__submit:hover .search__submit-img--base,
.search__submit:focus-visible .search__submit-img--base {
    opacity: 0;
}
.search_freeword_input::placeholder {
    color: #D3D3D3;
}


.search__nav {
    display: flex;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.search__nav-item {
    flex: 1 1 0;
    min-width: 0;
}

.search__nav-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    padding: 0 15px;
    border-radius: 9999px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
    overflow: visible;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.search__nav-link--grad1,
.search__nav-link--grad3 {
    background: url(/images/top/search__btn01.webp) no-repeat center center / cover;
}
.search__nav-link--grad2 {
    background: url(/images/top/search__btn02.webp) no-repeat center center / cover;
}
.search__nav-link--grad1:hover,
.search__nav-link--grad2:hover,
.search__nav-link--grad3:hover {
    background: url(/images/top/search__btn01_on.webp) no-repeat center center / cover;
    transform: translateY(-2px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.09);
    z-index: 1;
}
/* 文字を前面へ */
.search__nav-link span {
    position: relative;
    z-index: 1;
    color: #f2f2f2;
}
.search__nav-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.search__nav-icon img {
    display: block;
}

.search__pickup {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
}

.search__pickup-list {
    display: flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.search__pickup-item {
    flex: 1 1 0;
    min-width: 0;
    height: 80px;
}

.search__pickup-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    transition: background-size 0.8s ease;
}
.search__pickup-link:hover {
    background-size: 110%;
}
.search__pickup-link:hover:before {
    background-color: rgba(0, 0, 0, 0.3);
}
.search__pickup-link::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(55, 55, 55, 0.55);
    border-radius: 8px;
    transition: .3s;
}
.search__pickup-link::after {
    content: '';
    background: url(/images/top/kodawari__arrow.svg) no-repeat center center / cover;
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 13px;
    height: 11px;
    transition: .3s;
}

.search__pickup-link--01 {
    background-image: url(/images/top/kodawari__bg01.webp);
}

.search__pickup-link--02 {
    background-image: url(/images/top/kodawari__bg02.webp);
}

.search__pickup-link--03 {
    background-image: url(/images/top/kodawari__bg03.webp);
}

.search__pickup-link--04 {
    background-image: url(/images/top/kodawari__bg04.webp);
}

.search__pickup-link--05 {
    background-image: url(/images/top/kodawari__bg05.webp);
}

.search__pickup-txt {
    position: relative;
    z-index: 1;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.8px;
    text-align: center;
    color: #f2f2f2;
}

.search__pickup-link:hover {
    opacity: 0.92;
}


/*---------------------------------------------------
Area
-----------------------------------------------------*/
/* Area：.cmn__section--area に JS で cmn__section--is-inview（エリアが見えたタイミングで発火） */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--area:not(.cmn__section--is-inview) .area__wrap {
        opacity: 0;
        transform: translate3d(0, 32px, 0);
    }
    .l-main .cmn__section--area.cmn__section--is-inview .area__wrap {
        animation: cmnSoftRevealIn 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-main .cmn__section--area .area__wrap {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.area__wrap {
    width: 1600px;
    height: 588px;
    overflow: hidden;
    position: relative;
}
.area__wrap-bgs {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #101010;
    border-radius: 40px 0 40px 40px;
}
.area__wrap-bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0;
    transition: opacity 0.65s ease;
    will-change: opacity;
}
.area__wrap-bg--minato {
    background-image: url(/images/top/map__minato__bg.webp);
}
.area__wrap-bg--shibuya {
    background-image: url(/images/top/map__shibuya__bg.webp);
}
.area__wrap-bg--shinjuku {
    background-image: url(/images/top/map__shinjuku__bg.webp);
}
.area__wrap-bg--meguro {
    background-image: url(/images/top/map__meguro__bg.webp);
}
.area__wrap-bg--shinagawa {
    background-image: url(/images/top/map__shinagawa__bg.webp);
}
.area__wrap-bg--setagaya {
    background-image: url(/images/top/map__setagaya__bg.webp);
}
.area__wrap[data-active-area=""] .area__wrap-bg--minato {
    opacity: 1;
}
.area__wrap[data-active-area="minato"] .area__wrap-bg--minato {
    opacity: 1;
}
.area__wrap[data-active-area="shibuya"] .area__wrap-bg--shibuya {
    opacity: 1;
}
.area__wrap[data-active-area="shinjuku"] .area__wrap-bg--shinjuku {
    opacity: 1;
}
.area__wrap[data-active-area="meguro"] .area__wrap-bg--meguro {
    opacity: 1;
}
.area__wrap[data-active-area="shinagawa"] .area__wrap-bg--shinagawa {
    opacity: 1;
}
.area__wrap[data-active-area="setagaya"] .area__wrap-bg--setagaya {
    opacity: 1;
}
.cmn__section--wrapper .pg__inner {
    width: 1280px;
}
.cmn__ttl--area {
    text-align: left;
    margin-bottom: 15px;
}
.cmn__ttl--area img {
    display: block;
    max-width: 100%;
    height: auto;
}
.area__inner__left {
    width: 474px;
    position: absolute;
    top: 127px;
    left: 70px;
    z-index: 1;
}
.area__inner__map {
        position: absolute;
        left: 584px;
        top: 0;
        transform: translateY(-115px);
        z-index: 1;
}
.area__map-base {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease;
}
.area__inner__map[data-active-area]:not([data-active-area=""]) .area__map-base {
    opacity: 0;
}
.area__map-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: 0.2s ease;
}
.area__inner__map[data-active-area="minato"] .area__map-hover--minato {
    opacity: 1;
}
.area__inner__map[data-active-area="shibuya"] .area__map-hover--shibuya {
    opacity: 1;
}
.area__inner__map[data-active-area="shinjuku"] .area__map-hover--shinjuku {
    opacity: 1;
}
.area__inner__map[data-active-area="meguro"] .area__map-hover--meguro {
    opacity: 1;
}
.area__inner__map[data-active-area="shinagawa"] .area__map-hover--shinagawa {
    opacity: 1;
}
.area__inner__map[data-active-area="setagaya"] .area__map-hover--setagaya {
    opacity: 1;
}
.area__inner__left__ttl {
    color: #fff;
    font-size: 19px;
    font-weight: 500;
    margin-bottom: 18px;
}
.area__btn__list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}
.area__btn__item a {
    width: 230px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    background-color: #F2F2F2;
    border: 1px solid #666;
    color: #666666;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.8px;
    position: relative;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.3s ease,
        border-color 0.3s ease,
        background-color 0.3s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.area__btn__item a:hover,
.area__btn__item a.is-area-btn-active {
    color: #fff;
    background: url(/images/top/area__btn__hover.webp) no-repeat center center / cover;
    transform: translateY(-2px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.09);
}
.area__btn__item a:after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 14px;
    mask-image: url(/images/top/area__arrow.svg);
    -webkit-mask-image: url(/images/top/area__arrow.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: currentColor;
    transition: all 0.3s ease;
    position: absolute;
    right: 20px;
}

.area__name {
    position: absolute;
    z-index: 1;
    font-size: 36px;
    font-weight: 500;
    color: #fff;
    bottom: 102px;
    right: 885px;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}
.area__name.area__name--visible {
    visibility: visible;
    opacity: 1;
}
.area__map-other {
    position: absolute;
    bottom: 62px;
    right: 192px;
    width: 120px;
    height: 120px;
    background: #BEAFA1;
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.8px;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    border: 1px solid #BEAFA1;
    transition: all .3s ease;
}
.area__map-other:hover {
    background: #fff;
    color: #BEAFA1;
    border: 1px solid #BEAFA1;
}

/*---------------------------------------------------
New
-----------------------------------------------------*/
.cmn__section--new {
    padding: 100px 0 40px;
    position: relative;
    background-color: #fff;
}
.cmn__ttl--new {
    margin-bottom: 49px;
}
.cmn__section--new:before {
    content: '';
    background: url(/images/top/bg_logo_img.webp) no-repeat;
    position: absolute;
    top: 0px;
    width: 1920px;
    height: 797px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.bkn__list {
    display: flex;
    justify-content: center;
    gap: 45px;
}
.bkn__list .bkn__item,
.ranking__bkn__list .bkn__item {
    position: relative;
    z-index: 0;
}
.bkn__list .bkn__item:hover,
.ranking__bkn__list .bkn__item:hover {
    z-index: 3;
}
.cmn__section--new .bkn__list  {
    margin-bottom: 30px;
}

/* New：物件パネルは左から順にフェードイン（.cmn__section--new の is-inview） */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--new:not(.cmn__section--is-inview) .bkn__list > .bkn__item {
        opacity: 0;
        transform: translate3d(-32px, 0, 0);
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item {
        animation: cmnSoftRevealFromLeft 1.05s cubic-bezier(0.25, 0.85, 0.35, 1) both;
    }
    /* セクションが見えてから少し待ってから開始 → 各枚は約 0.22s ずつずらす */
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(1) {
        animation-delay: 0.37s;
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(2) {
        animation-delay: 0.59s;
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(3) {
        animation-delay: 0.81s;
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(4) {
        animation-delay: 1.03s;
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(5) {
        animation-delay: 1.25s;
    }
    .l-main .cmn__section--new.cmn__section--is-inview .bkn__list > .bkn__item:nth-child(6) {
        animation-delay: 1.47s;
    }
}

@keyframes cmnSoftRevealFromLeft {
    from {
        opacity: 0;
        transform: translate3d(-32px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* 各セクション画像見出し（h2）：ビューインで左からフェードイン */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--wrapper:not(.cmn__section--is-inview) .cmn__section--search .cmn__ttl--search,
    .l-main .cmn__section--area:not(.cmn__section--is-inview) .cmn__ttl--area,
    .l-main .cmn__section--new:not(.cmn__section--is-inview) .cmn__ttl--new,
    .l-main .cmn__section--ranking:not(.cmn__section--is-inview) .cmn__ttl--ranking,
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .cmn__ttl--secret {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .cmn__section--wrapper.cmn__section--is-inview .cmn__section--search .cmn__ttl--search,
    .l-main .cmn__section--area.cmn__section--is-inview .cmn__ttl--area,
    .l-main .cmn__section--new.cmn__section--is-inview .cmn__ttl--new,
    .l-main .cmn__section--ranking.cmn__section--is-inview .cmn__ttl--ranking,
    .l-main .cmn__section--member.cmn__section--is-inview .cmn__ttl--secret {
        animation: cmnSoftRevealFromLeft 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0s;
    }

    .l-main .request__exclusive:not(.request__exclusive--inview) .cmn__ttl--exclusive {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .request__exclusive.request__exclusive--inview .cmn__ttl--exclusive {
        animation: cmnSoftRevealFromLeft 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0s;
    }

    .l-main .service:not(.service--inview) .cmn__ttl--service {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .service.service--inview .cmn__ttl--service {
        animation: cmnSoftRevealFromLeft 1.1s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0s;
    }

    .l-main .service:not(.service--inview) .service__txtbox,
    .l-main .service:not(.service--inview) .service__btns {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .service.service--inview .service__txtbox {
        animation: cmnSoftRevealFromLeft 1.1s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.27s;
    }
    .l-main .service.service--inview .service__btns {
        animation: cmnSoftRevealFromLeft 1.1s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.45s;
    }

    .l-main .promise:not(.promise--visible) .cmn__ttl--promise {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .promise.promise--visible .cmn__ttl--promise {
        animation: cmnSoftRevealFromLeft 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0s;
    }

    .l-main .promise:not(.promise--visible) .promise__heading {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    .l-main .promise.promise--visible .promise__heading {
        animation: cmnSoftRevealFromLeft 1.02s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.22s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-main .cmn__section--wrapper .cmn__section--search .cmn__ttl--search,
    .l-main .cmn__section--area .cmn__ttl--area,
    .l-main .cmn__section--new .cmn__ttl--new,
    .l-main .cmn__section--ranking .cmn__ttl--ranking,
    .l-main .cmn__section--member .cmn__ttl--secret,
    .l-main .request__exclusive .cmn__ttl--exclusive,
    .l-main .service .cmn__ttl--service,
    .l-main .service .service__txtbox,
    .l-main .service .service__btns,
    .l-main .promise .cmn__ttl--promise,
    .l-main .promise .promise__heading {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .l-main .cmn__section--new .bkn__list > .bkn__item,
    .l-main .cmn__section--member .bkn__list > .bkn__item,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item .member__bkn__overlay,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item .member__bkn__text01,
    .l-main .cmn__section--member .bkn__list > .bkn__member_item .member__bkn__actions {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.bkn__item a{
    display: block;
    width: 350px;
    border-radius: 20px 20px 0 0;
    background: #F9F8F6;
    box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.10);
    transform-origin: center center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.bkn__item a:hover {
    transform: scale(1.04);
    box-shadow: 8px 16px 32px 0 rgba(0, 0, 0, 0.14);
}
.bkn__img {
    width: 350px;
    height: 262px;
    position: relative;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}
    .bkn__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px 20px 0 0;
    }
    .bkn__label span {
        background: #CCC199;
        font-family: "Marcellus", serif;
        color: #FFF;
        font-size: 16px;
        flex-shrink: 0;
        letter-spacing: 0.8px;
        position: absolute;
        top:10px;
        left: 10px;
        width: 54px;
        height: 24px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 9999px;
    }
    .bkn__favorite {
        display: block;
        background: url(/images/top/icn_favorite.svg) no-repeat center / contain;
        width: 36px;
        height: 36px;
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 1;
    }
    .bkn__favorite.is-checked {
        background: url(/images/top/icn_favorite_on.svg) no-repeat center / contain;
    }
.bkn__info {
    padding: 15px 30px 30px;
}
    .bkn__name {
        font-size: 18px;
        font-weight: 500;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        letter-spacing: 0.9px;
        padding-bottom: 8px;
        margin-bottom: 6px;
        border-bottom: 1px solid #666;
    }

    .bkn__price__wrap {
        display: flex;
        align-items: baseline;
        gap: 0 5px;
        margin-bottom: 4px;
    }
    .bkn__price {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.8px;
    }
    .bkn__price span {
        font-family: "Zen Old Mincho", serif;
        color: #141414;
        font-size: 30px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: 1.5px;
    }
    .bkn__text {
        font-size: 13px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #8C8C8C;
        letter-spacing: 0.65px;
    }
    .bkn__text__madori {
        font-size: 13px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bkn__text:not(:last-child) {
        margin-bottom: 2px;
    }
    .bkn__label {
        position: absolute;
        left: 0;
        top: 0;
        width: 60px;
        height: 60px;
        background: url(/images/top/new__label.svg) no-repeat;
        background-size: cover;
        flex-shrink: 0;
    }
    .bkn__label span {
        color: #FFF;
        font-size: 16px;
        font-weight: 500;
        flex-shrink: 0;
        position: absolute;
        top: 10px;
        left: 10px;
    }

/*---------------------------------------------------
人気物件
-----------------------------------------------------*/
.cmn__section--ranking {
    padding: 57px 0 80px;
    background-color: #fff;
}
.cmn__ttl--ranking {
    margin-bottom: 50px;
}

/* Ranking：人気物件パネルも新着（.cmn__section--new）と同様に左から順にフェードイン */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--ranking:not(.cmn__section--is-inview) .ranking__bkn__list > .bkn__item {
        opacity: 0;
        transform: translate3d(-32px, 0, 0);
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item {
        animation: cmnSoftRevealFromLeft 1.05s cubic-bezier(0.25, 0.85, 0.35, 1) both;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(1) {
        animation-delay: 0.37s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(2) {
        animation-delay: 0.59s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(3) {
        animation-delay: 0.81s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(4) {
        animation-delay: 1.03s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(5) {
        animation-delay: 1.25s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(6) {
        animation-delay: 1.47s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(7) {
        animation-delay: 1.69s;
    }
    .l-main .cmn__section--ranking.cmn__section--is-inview .ranking__bkn__list > .bkn__item:nth-child(8) {
        animation-delay: 1.91s;
    }
}

/* Member：会員限定物件パネルは新着と同様に左から順にフェードイン */
@media (prefers-reduced-motion: no-preference) {
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__item {
        opacity: 0;
        transform: translate3d(-32px, 0, 0);
    }
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__member_item .member__bkn__overlay,
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__member_item .member__bkn__text01,
    .l-main .cmn__section--member:not(.cmn__section--is-inview) .bkn__list > .bkn__member_item .member__bkn__actions {
        opacity: 0;
        transform: translate3d(-32px, 0, 0);
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__item {
        animation: cmnSoftRevealFromLeft 1.05s cubic-bezier(0.25, 0.85, 0.35, 1) both;
    }
  /* 会員登録カードは li の transform を hover 用に空け、中身だけフェードイン */
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__member_item > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__member_item .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__member_item .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > .bkn__member_item .member__bkn__actions {
        animation: cmnSoftRevealFromLeft 1.05s cubic-bezier(0.25, 0.85, 0.35, 1) both;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) {
        animation-delay: 0.37s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) {
        animation-delay: 0.59s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) {
        animation-delay: 0.81s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) {
        animation-delay: 1.03s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) {
        animation-delay: 1.25s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) {
        animation-delay: 1.47s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(1) > .member__bkn__actions {
        animation-delay: 0.37s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(2) > .member__bkn__actions {
        animation-delay: 0.59s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(3) > .member__bkn__actions {
        animation-delay: 0.81s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(4) > .member__bkn__actions {
        animation-delay: 1.03s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(5) > .member__bkn__actions {
        animation-delay: 1.25s;
    }
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) > .bkn__member_link > .bkn__img,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) > .bkn__member_link > .bkn__info,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) > .bkn__member_link > .member__bkn__overlay,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) > .bkn__member_link > .member__bkn__text01,
    .l-main .cmn__section--member.cmn__section--is-inview .bkn__list > :nth-child(6) > .member__bkn__actions {
        animation-delay: 1.47s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-main .cmn__section--ranking .ranking__bkn__list > .bkn__item {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.ranking__bkn__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 45px;
}
.ranking__bkn__list .bkn__item:nth-child(1) a,
.ranking__bkn__list .bkn__item:nth-child(2) a {
    width: 547.5px;
}
.ranking__bkn__list .bkn__item:nth-child(1) .bkn__info,
.ranking__bkn__list .bkn__item:nth-child(2) .bkn__info{
    padding: 12px 21px 30px;
}
.ranking__bkn__list .bkn__item:nth-child(1) .bkn__name,
.ranking__bkn__list .bkn__item:nth-child(2) .bkn__name{
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.ranking__bkn__list .bkn__item:nth-child(1) .bkn__img,
.ranking__bkn__list .bkn__item:nth-child(2) .bkn__img {
    width: 547.5px;
    height: 411px;
}
.cmn__section--new .cmn__more__btn {
    padding-right: 70px;
    width: 147px;
    margin: 0 auto;
}
.cmn__section--new .cmn__more__btn:before {
    right: 20px;
}
.cmn__section--new .cmn__more__btn:after {
    right: 0px;
}
/*---------------------------------------------------
Request
-----------------------------------------------------*/
.section__bottom__wrapper {
    padding: 130px 0 0;
    overflow: hidden;
    background: url(/images/top/section__bottom__wrapper.webp) no-repeat;
    background-position: top center;
    background-size: 1920px 2952px;
    background-color: #fff;
}

.cmn__section--request .pg__inner {
    position: relative;
    z-index: 2;
}

.request__stack {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

.request__intro {
    box-sizing: border-box;
    width: 100%;
    padding: 60px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    border-radius: 15px;
    background: linear-gradient(184deg, rgba(255, 255, 255, 0.64) 3.21%, #FCFBFA 46.04%, rgba(255, 255, 255, 0.64) 96.97%);
    backdrop-filter: blur(4px);
    position: relative;
}
.request__intro:after {
    content: '';
    background: url(/images/top/request__ornament.webp) no-repeat center center / cover;
    position: absolute;
    left: -377px;
    top: -98px;
    margin: 0;
    width: 698px;
    height: 194px;
    z-index: 3;
}

/* request__intro：ビューに入ってから少し待って下からフェードイン（JS で request__intro--inview） */
@media (prefers-reduced-motion: no-preference) {
    .l-main .request__intro:not(.request__intro--inview) {
        opacity: 0;
        transform: translate3d(0, 32px, 0);
    }
    .l-main .request__intro:after {
        transition:
            opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .l-main .request__intro:not(.request__intro--inview):after {
        opacity: 0;
        transform: translate3d(-24px, 0, 0);
    }
    .l-main .request__intro.request__intro--inview {
        animation: cmnSoftRevealIn 1.1s cubic-bezier(0.25, 0.85, 0.35, 1) both;
        animation-delay: 0.33s;
    }
    .l-main .request__intro.request__intro--inview:after {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition-delay: 0.8s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .l-main .request__intro {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .l-main .request__intro:after {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.request__intro-ttl {
    margin: 0;
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.7px;
    color: #4f4e4e;
}

.request__intro-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.request__intro-txt {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1 1 auto;
    min-width: 0;
}

.request__intro-lead {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    color: #666666;
}

.request__intro-desc {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
    color: #666666;
}

.request__intro-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 434px;
    height: 70px;
    padding: 15px;
    border-radius: 9999px;
    text-align: center;
    position: relative;
    background: url(/images/top/request__btn.webp) no-repeat center center / cover;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.request__intro-btn:hover {
    background: url(/images/top/request__btn_on.webp) no-repeat center center / cover;
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
}
.request__intro-btn span {
    position: relative;
    z-index: 1;
    color: #e4e4e4;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 1px;
}

.request__exclusive {
    width: 100%;
}

.cmn__ttl--exclusive {
    margin-bottom: 50px;
}

.request__panel-list {
    display: flex;
    gap: 30px;
    width: 1140px;
    margin-bottom: 50px;
    padding: 0;
    list-style: none;
}

.request__panel-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 360px;
    box-sizing: border-box;
}

.request__panel-img {
    width: 360px;
    height: 240px;
    border-radius: 20px;
    overflow: hidden;
}

.request__panel-img img {
    display: block;
    width: 360px;
    height: 240px;
    object-fit: cover;
    transform-origin: center center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.request__panel-txt {
    margin: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    text-align: center;
    color: #666666;
}

@media (prefers-reduced-motion: no-preference) {
    .request__panel-list .request__panel-item {
        opacity: 0;
        transform: translate3d(-40px, 0, 0);
        transition:
            opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1),
            transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .request__panel-list--visible .request__panel-item {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .request__panel-list--visible .request__panel-item:nth-child(1) {
        transition-delay: 0.2s;
    }
    .request__panel-list--visible .request__panel-item:nth-child(2) {
        transition-delay: 0.4s;
    }
    .request__panel-list--visible .request__panel-item:nth-child(3) {
        transition-delay: 0.6s;
    }

    .request__step-list .request__step-item {
        opacity: 0;
        transform: translate3d(40px, 0, 0);
        transition:
            opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1),
            transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .request__step-list--visible .request__step-item {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .request__step-list--visible .request__step-item:nth-child(1) {
        transition-delay: 0.15s;
    }
    .request__step-list--visible .request__step-item:nth-child(2) {
        transition-delay: 0.35s;
    }
    .request__step-list--visible .request__step-item:nth-child(3) {
        transition-delay: 0.55s;
    }
}

.request__rule {
    width: 100%;
    height: 1px;
    background-color: #e8e8e8;
}

.request__explain {
    margin: 50px 0;
    max-width: 1140px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.8px;
    text-align: center;
    color: #666666;
}

.request__step-list {
    display: flex;
    gap: 30px;
    margin: 0 0 50px;
    padding: 0;
    list-style: none;
}

.request__step-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 360px;
}

.request__step-img {
    width: 360px;
    height: 240px;
    border-radius: 20px;
}

.request__step-img img {
    display: block;
    width: 360px;
    height: 240px;
    object-fit: cover;
    transform-origin: center center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.request__step-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

.request__step-num {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding-bottom: 6px;
    border-bottom: 1px solid #666666;
}

.request__step-num-label {
    font-family: "Marcellus", serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.65px;
    color: #666666;
}

.request__step-num-val {
    font-family: "Zen Old Mincho", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
    color: #666666;
}

.request__step-ttl {
    margin: 0;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.95px;
    text-align: center;
    color: #666666;
}

.request__step-txt {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.65px;
    text-align: center;
    color: #666666;
}

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

.request__foot-lead {
    margin: 0;
    width: 387px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.65px;
    text-align: center;
    color: #666666;
}

.request__foot-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 387px;
    height: 60px;
    padding: 15px 20px;
    border-radius: 9999px;
    color: #e4e4e4;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.8px;
    text-align: center;
    text-decoration: none;
    background: url(/images/top/request__btn__btm.webp) no-repeat center center / cover;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.request__foot-btn:hover {
    background: url(/images/top/request__btn__btm_on.webp) no-repeat center center / cover;
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.1);
}


/*---------------------------------------------------
Service
-----------------------------------------------------*/
.section__service__contents {
    padding: 219px 0 0px;
    overflow: hidden;
}
.service {
    position: relative;
    padding-bottom: 50px;
}

.service:after {
    content: '';
    background: url(/images/top/service__ornament.webp) no-repeat center center / cover;
    position: absolute;
    left: 754px;
    top: -4px;
    margin: 0;
    width: 618px;
    height: 148px;
    font-family: "Marcellus", serif;
    font-size: 200px;
    font-weight: 400;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px #c9c9c9;
    pointer-events: none;
    z-index: 0;
}

.service__row {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
}

.service__figure {
    position: relative;
    flex-shrink: 0;
    width: 442px;
    height: 449px;
}

.service__viz {
    position: relative;
    z-index: 0;
    width: 442px;
    height: 449px;
}

.service__ring {
    position: absolute;
    left: 51px;
    top: 67px;
    z-index: 0;
    display: block;
    pointer-events: none;
}

.service__ring-path {
    stroke-dasharray: 1;
    stroke-dashoffset: -1;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;

}

.service__nodes {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    height: 100%;
}

/* 01上中央 → 時計回り 02右上 03右下 04下中央 05左下 06左上 */
.service__node-slot:nth-child(1) {
    --angle: 0deg;
    --tr: 145px;
}
.service__node-slot:nth-child(2) {
    --angle: 67deg;
    --tr: 170px;
}
.service__node-slot:nth-child(3) {
    --angle: 120deg;
    --tr: 181px;
}
.service__node-slot:nth-child(4) {
    --angle: 180deg;
    --tr: 175px;
}
.service__node-slot:nth-child(5) {
    --angle: 240deg;
    --tr: 180px;
}
.service__node-slot:nth-child(6) {
    --angle: 294deg;
    --tr: 170px;
}

.service__node-slot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 140px;
    height: 140px;
    margin: -70px 0 0 -70px;
    transform: rotate(var(--angle)) translate3d(0, calc(-1 * var(--tr)), 0) scale(1);
    opacity: 0;
    transform-origin: center center;
}

.service__node {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    overflow: hidden;
    transform: rotate(calc(-1 * var(--angle)));
}

.service__node img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (prefers-reduced-motion: no-preference) {
    .l-main .service:after {
        transition:
            opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .l-main .service:not(.service--inview):after {
        opacity: 0;
        transform: translate3d(24px, 0, 0);
    }
    .l-main .service.service--inview:after {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition-delay: 0.7s;
    }

    .service__node-slot {
        transition: opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .service--inview .service__node-slot {
        opacity: 1;
    }
    .service--inview .service__node-slot:nth-child(1) {
        transition-delay: 0.2s;
    }
    .service--inview .service__node-slot:nth-child(6) {
        transition-delay: 0.55s;
    }
    .service--inview .service__node-slot:nth-child(5) {
        transition-delay: 0.9s;
    }
    .service--inview .service__node-slot:nth-child(4) {
        transition-delay: 1.25s;
    }
    .service--inview .service__node-slot:nth-child(3) {
        transition-delay: 1.6s;
    }
    .service--inview .service__node-slot:nth-child(2) {
        transition-delay: 1.95s;
    }

    .service--inview .service__ring-path {
        stroke-dashoffset: 0;
        transition:
            stroke-dashoffset 2.4s linear 0.3s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service__node-slot {
        opacity: 1;
        transform: rotate(var(--angle)) translate3d(0, calc(-1 * var(--tr)), 0) scale(1);
    }
    .service__ring-path {
        stroke-dashoffset: 0;
    }
}
.service__bubble-txt {
    display: block;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.55px;
    color: #666666;
}

.service__body {
    display: flex;
    flex-direction: column;
    gap: 26px;
    width: 538px;
    flex-shrink: 0;
    margin-top: 13px;
}

.cmn__ttl--service {
    display: block;
    width: 416px;
    max-width: 100%;
    margin-bottom: 0;
    text-align: left;
    padding-left: 0;
}

.cmn__ttl--service img {
    margin-left: 0;
    margin-right: auto;
}

.service__txtbox {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.service__heading {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    background: linear-gradient(178deg, #383636 1%, #666666 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service__txt {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.76;
    letter-spacing: 0.65px;
    color: #666666;
}

.service__btns {
    display: flex;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service__btns-item {
    flex: 1 1 0;
    min-width: 0;
}

.service__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    padding: 0 20px;
    border-radius: 9999px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.service__btn--line {
    border: 1px solid #666666;
    background-color: #f2f2f2;
    color: #666666;
}
.service__btn--line:hover {
    background-color: #666;
    color: #fff;
    border-color: #666;
}

.service__btn--solid {
    border: none;
    background: url(/images/top/service__btn01.webp) no-repeat center center / cover;
    color: #e4e4e4;
    line-height: 1.8;
}
.service__btn--solid:hover {
    background: url(/images/top/service__btn01_on.webp) no-repeat center center / cover;
}

.service__btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.09);
}

.promise {
    position: relative;
    padding: 51px 0 160px;
}

.promise__bg {
    position: absolute;
    left: 50%;
    top: 228px;
    width: 1140px;
    height: 331px;
    margin-left: -570px;
    border-radius: 20px;
    border-radius: 20px;
    background: linear-gradient(111deg, #FAF9F6 6.01%, #F7F4EE 63.8%);
    backdrop-filter: blur(4px);
    z-index: 0;
}

.promise__row {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
}

.promise__figure {
    flex-shrink: 0;
    width: 442px;
    margin-top: 0px;
    border-radius: 20px;
}

.promise__photo {
    display: block;
    width: 442px;
    height: 449px;
    object-fit: cover;
    border-radius: 20px;
    transform-origin: center center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .request__panel-item:hover .request__panel-img img,
    .request__step-item:hover .request__step-img img,
    .promise__figure:hover .promise__photo {
        transform: scale(1.03);
    }
}

.promise__body {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 538px;
    flex-shrink: 0;
}

.cmn__ttl--promise {
    display: block;
    width: 416px;
    max-width: 100%;
    margin-bottom: 0;
    text-align: left;
}

.cmn__ttl--promise img {
    margin-left: 0;
    margin-right: auto;
}

.promise__block {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

.promise__heading {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1px;
    background: linear-gradient(178deg, #383636 1%, #666666 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.promise__list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.promise__item {
    box-sizing: border-box;
    width: 538px;
    padding: 14px 20px 20px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.promise__item-hd {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.promise__item-num {
    font-family: "Zen Old Mincho", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.1;
    color: #666666;
}

.promise__item-ttl {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    color: #666666;
}

.promise__item-txt {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.65px;
    color: #666666;
}

@media (prefers-reduced-motion: no-preference) {
    .promise .promise__list .promise__item {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
        transition:
            opacity 1.7s cubic-bezier(0.22, 1, 0.36, 1),
            transform 1.7s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .promise--visible .promise__list .promise__item {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .promise--visible .promise__list .promise__item:nth-child(1) {
        transition-delay: 0.35s;
    }
    .promise--visible .promise__list .promise__item:nth-child(2) {
        transition-delay: 0.58s;
    }
    .promise--visible .promise__list .promise__item:nth-child(3) {
        transition-delay: 0.8s;
    }
}

/*---------------------------------------------------
Review Blog
-----------------------------------------------------*/
.section__slider__wrapper {
    background: url(/images/top/slide__bg.webp) no-repeat top center / cover;
    background-color: #F9F8F6;
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.cmn__ttl--review {
    width: fit-content;
    margin-left: auto;
    margin-right: 107px;
    margin-bottom: 95px;
}
.cmn__ttl--review img {
    margin-left: auto;
    margin-right: 0;
}
.cmn__ttl--blog {
    text-align: left;
    margin-left: 105px;
    margin-bottom: 95px;
}
.cmn__ttl--blog img {
    margin-left: 0;
    margin-right: auto;
}
/*-----------------------------------------------------------
共通
-----------------------------------------------------------*/
[class*="section__inner"] {
    width: 1140px;
    margin: 0 auto;
    position: relative;
}
.card__list {
    margin-bottom: 80px;
}

.slide__item {
    width: 360px;
}
.left__section .slide__item,
.right__section .slide__item {
    width: 360px;
    display: block;
    border-radius: 20px 20px 0 0;
    background: #F9F8F4;
    padding: 5px 5px 20px 5px;
}
.left__section .card__image,
.right__section .card__image {
    width: 350px;
    height: 263px;
}
    .card__image {
        width: 360px;
        height: 270px;
        margin-bottom: 10px;
        overflow: hidden;
        position: relative;
        border-radius: 20px 20px 0 0;
    }
        .card__image img {   
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: all .3s;
        }
        .slide__item a:hover .card__image img {
            transform: scale(1.08);
        }
.mutual__section.left__section {
    padding-top: 100px;
}
.mutual__section.right__section {
    margin-bottom: 82px;
    height: 360px;
}
/*-------交互左右--------*/
.mutual__section {height: 460px;}

.mutual__section .ttl_wrap {padding-top: 75px;}
.right__section .ttl_wrap {padding-top: 67px;}
.mutual__ttl {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 40px;
    color: #fff;
    position: relative;
    z-index: 1;
}
    .mutual__ttl span {
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        display: block;
    }
.right__section .mutual__ttl {
    text-align: left;
}

.right__section .contents__slider {
    width: 1080px;
    position: absolute;
    right: -370px;
    top: 0;
    overflow: visible;
}
.card__contents {
    overflow: hidden;
}

.right__section .mutual__button a {margin-left: 105px;}

/*-------左側------*/
.left__section .mutual__ttl {
    text-align: right;
}
.left__section .mutual__button a {margin-right: 175px;}
.left__section .contents__slider {
    width: 1080px;
    position: absolute;
    left: -370px;
    top: 0px;
    overflow: hidden;
}



.mutual__section .swiper-button-prev {
    left: 152px;
}
.mutual__section .swiper-button-next {
    right: 0;
    left: 180px;
}
.mutual__section .swiper-button-next,
.mutual__section .swiper-button-prev {
    width: 12px;
    height: 24px;
    top: 170px;
    z-index: 1;
}
.mutual__section .swiper-button-prev::after,
.mutual__section .swiper-button-next::after {
    content: "";
    position: absolute;
    background: url(/images/top/icon_swiper_arrow.svg) no-repeat center / cover;
    width: 12px;
    height: 24px;
    transition: transform .3s ease;
}
.mutual__section .swiper-button-next:hover::after {
    transform: scale(1.2);
}
.mutual__section .swiper-button-prev::after {
    transform: rotate(180deg);
}
.mutual__section .swiper-button-prev:hover::after {
    transform: rotate(180deg) scale(1.2);
}
.mutual__section .swiper-option-wrap {
    gap: 10px;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 33px;
    z-index: 1;
}
.right__section .swiper-option-wrap {
    left: -48px;
    top: 23px;
}
.left__section .swiper-option-wrap {
    right: 297px;
}

.left__section .card__title,
.right__section .card__title {
    text-align: center;
}
.card__title {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
    padding: 0 15px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.card__text {
    font-size: 13px;
    letter-spacing: 0.65px;
    line-height: 1.3;
    padding: 0 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    align-self: stretch;
    overflow: hidden;
}
.right__section .card__list {
    margin-left: 20px;
}
.left__section .card__list {
    margin-left: -22px;
}

@media (prefers-reduced-motion: no-preference) {
    .left__section .section__inner > * {
        opacity: 0;
        transform: translate3d(40px, 0, 0);
        transition:
            opacity 1.35s cubic-bezier(0.22, 1, 0.36, 1),
            transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .left__section--inview .section__inner > * {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .left__section--inview .section__inner > *:nth-child(1) {
        transition-delay: 0s;
    }
    .left__section--inview .section__inner > *:nth-child(2) {
        transition-delay: 0.13s;
    }
    .left__section--inview .section__inner > *:nth-child(3) {
        transition-delay: 0.31s;
    }

    .right__section .section__inner > * {
        opacity: 0;
        transform: translate3d(-40px, 0, 0);
        transition:
            opacity 1.35s cubic-bezier(0.22, 1, 0.36, 1),
            transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .right__section--inview .section__inner > * {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    .right__section--inview .section__inner > *:nth-child(1) {
        transition-delay: 0s;
    }
    .right__section--inview .section__inner > *:nth-child(2) {
        transition-delay: 0.13s;
    }
    .right__section--inview .section__inner > *:nth-child(3) {
        transition-delay: 0.31s;
    }
}

/*-----------------------------------------------------------

-----------------------------------------------------------*/
.cmn__section--bottom {
    background-color: #E9E4DB;
}
.cmn__section--bottom .pg__inner {
    display: flex;
    justify-content: space-between;
    overflow: visible;
}
[class*=bottom__block--] {
    width: 570px;
}
.bottom__block--left,
.bottom__block--right {
    box-sizing: border-box;
    padding: 68px 40px 69px;
    border-radius: 16px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
}
.bottom__block--left:before{
    content: '';
    position: absolute;
    top: 0;
    left: -390px;
    background: url(/images/top/earnings.webp);
    width: 960px;
    height: 380px;
}
.bottom__block--right:before {
    content: '';
    position: absolute;
    top: 0;
    right: -390px;
    background: url(/images/top/assessment.webp);
    width: 960px;
    height: 380px;
}
.bottom__block__ttl {
    text-align: center;
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: 1.7px;
}
.bottom__block__txt {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.8px;
    color: #fff;
    margin-bottom: 23px;
}
.bottom__block__btn {
    width: 280px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.90);
    color: #666666;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.8px;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
    margin: 0 auto;
    border: 1px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
}
.bottom__block__btn:hover {
    background-color: #666;
    color: #fff;
    border: 1px solid #fff;
    transform: translateY(-3px);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.11);
}

@media (prefers-reduced-motion: no-preference) {
    /* 1段目: カラム全体が左右から */
    .l-main .cmn__section--bottom .bottom__block--left,
    .l-main .cmn__section--bottom .bottom__block--right {
        opacity: 0;
        will-change: opacity, transform;
        transition:
            opacity 1.3s cubic-bezier(0.25, 0.85, 0.35, 1),
            transform 1.3s cubic-bezier(0.25, 0.85, 0.35, 1);
    }
    .l-main .cmn__section--bottom .bottom__block--left {
        transform: translate3d(-72px, 0, 0);
    }
    .l-main .cmn__section--bottom .bottom__block--right {
        transform: translate3d(72px, 0, 0);
    }
    .l-main .cmn__section--bottom .bottom__block--left.bottom__block--left--inview,
    .l-main .cmn__section--bottom .bottom__block--right.bottom__block--right--inview {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        will-change: auto;
    }

    /* 2段目: ブロック表示後に中身（見出し→本文→ボタン） */
    .l-main .cmn__section--bottom .bottom__block--left > *,
    .l-main .cmn__section--bottom .bottom__block--right > * {
        opacity: 0;
        will-change: opacity, transform;
        transition:
            opacity 1.05s cubic-bezier(0.25, 0.85, 0.35, 1),
            transform 1.05s cubic-bezier(0.25, 0.85, 0.35, 1),
            background-color 0.3s ease,
            color 0.3s ease,
            border-color 0.3s ease;
    }
    .l-main .cmn__section--bottom .bottom__block--left > * {
        transform: translate3d(-28px, 12px, 0);
    }
    .l-main .cmn__section--bottom .bottom__block--right > * {
        transform: translate3d(28px, 12px, 0);
    }
    .l-main .cmn__section--bottom .bottom__block--left.bottom__block--left--inview > *:nth-child(1),
    .l-main .cmn__section--bottom .bottom__block--right.bottom__block--right--inview > *:nth-child(1) {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition-delay: 0.67s;
        will-change: auto;
    }
    .l-main .cmn__section--bottom .bottom__block--left.bottom__block--left--inview > *:nth-child(2),
    .l-main .cmn__section--bottom .bottom__block--right.bottom__block--right--inview > *:nth-child(2) {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        transition-delay: 0.87s;
        will-change: auto;
    }
    .l-main .cmn__section--bottom .bottom__block--left.bottom__block--left--inview > *:nth-child(3),
    .l-main .cmn__section--bottom .bottom__block--right.bottom__block--right--inview > *:nth-child(3) {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bottom__block--left,
    .bottom__block--right,
    .bottom__block--left > *,
    .bottom__block--right > * {
        opacity: 1;
        transform: none;
    }
}

/*-----------------------------------------------------------
会員物件
-----------------------------------------------------------*/
.cmn__section--member {
    padding: 100px 0;
    position: relative;
    background-color: #fff;
}
.cmn__ttl--secret {
    text-align: center;
    margin-bottom: 50px;
}
.bkn__list .bkn__member_item {
    position: relative;
    z-index: 0;
}
.cmn__section--member .bkn__member_item {
    width: 350px;
    height: 426px;
    position: relative;
    z-index: 0;
}
.cmn__section--member .bkn__member_link {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 0;
    background: #F9F8F6;
    box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.10);
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transform-origin: center center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.cmn__section--member .bkn__member_item .bkn__img {
    flex-shrink: 0;
    border-radius: 20px 20px 0 0;
}
.cmn__section--member .bkn__member_item .bkn__info {
    flex: 1;
    min-height: 0;
    pointer-events: none;
    user-select: none;
}
.cmn__section--member .member__bkn__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: 20px 20px 0 0;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(7.5px);
    -webkit-backdrop-filter: blur(7.5px);
    pointer-events: none;
}
.cmn__section--member .bkn__member_link .member__bkn__text01 {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% - 49px);
    z-index: 3;
    margin: 0;
    text-align: center;
    pointer-events: none;
}
.cmn__section--member .member__bkn__actions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% - 9px);
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    pointer-events: auto;
}
.bkn__list .bkn__member_item:has(.bkn__member_link:hover) {
    z-index: 3;
}
.bkn__list .bkn__member_item .bkn__member_link:hover {
    transform: scale(1.04);
    box-shadow: 8px 16px 32px 0 rgba(0, 0, 0, 0.14);
}
.cmn__section--member .member__more__btn {
    width: 230px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    background: url(/images/top/member_bkn_btn.webp) no-repeat center center / cover;
    margin: 0;
}
.cmn__section--member .member__more__btn:hover {
    background: url(/images/top/member_bkn_btn_on.webp) no-repeat center center / cover;
}
.member__bkn__text01 {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    margin: 0;
    letter-spacing: 0.9px;
    line-height: 1.4;
}
.member__bkn__text02 {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    position: relative;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.8px;
    line-height: 1.4;
}
.member__bkn__text02:hover:after {
    transform: translateX(3px);
}
.member__bkn__text02:after {
    content: '';
    background: url(/images/top/member_bkn_arrow.svg) no-repeat center center / contain;
    width: 27px;
    height: 8px;
    flex-shrink: 0;
    transition: transform 0.3s;
}