.l-main * {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.l-main {
    background: #fff;
    width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

/*////////////////// Common //////////////////*/
[class*="cnt__wrap"] {
    padding-block: 150px;
}
    [class*="cnt__inner"] {
        width: 1140px;
        margin: 0 auto;
    }
        [class*="ttl__flex-box"] {
            display: flex;
            justify-content: space-between;
        }
            [class*="cnt__ttl"] {
                display: flex;
                flex-direction: column;
                gap: 6px;
                height: fit-content;
                font-size: 32px;
                font-weight: 500;
                line-height: 1;
                color: #252525;
                position: relative;
            }
            [class*="cnt__ttl"]::after {
                content: '';
                width: 140px;
                height: 12px;
                position: absolute;
                bottom: -22px;
                left: 0;
            }
                [class*="cnt__subttl"] {
                    display: block;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1;
                    letter-spacing: 0.05em;
                }
[class*="more__bt"] {
    margin-top: 16px;
}
    [class*="more__bt"] a {
        display: flex;
        align-items: center;
        width: 250px;
        height: 60px;
        border-radius: 9999px;
        overflow: hidden;
        padding-inline: 20px;
        background: #FFF;
        font-size: 16px;
        font-weight: 500;
        position: relative;
    }
    [class*="more__bt"] a::after {
        content: '';
        width: 1px;
        height: 40px;
        background: #EBEBEB;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 57px;
        pointer-events: none;
    }
        .more-link__arrow {
            position: absolute;
            top: 0;
            bottom: 0;
            margin: auto;
            right: 18px;
        }

/*////////////////// MV //////////////////*/
.mv__wrap {
    width: 100%;
    padding-bottom: 181px;
    position: relative;
}
    .mv__img {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 2;
    }
        .mv__wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

.mv-contact__wrap {
    width: fit-content;
    height: fit-content;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

@keyframes floatSoftY {
    from { transform: translateY(0); }
    to { transform: translateY(-6px); }
}
@keyframes floatSoftX {
    from { transform: translateX(0); }
    to { transform: translateX(6px); }
}
@keyframes floatSoftYSway {
    from { transform: translateY(0) rotate(-2deg); }
    to { transform: translateY(-6px) rotate(2deg); }
}
@keyframes charPivotOrbit45 {
    from {transform: rotate(0deg);}
    to {transform: rotate(10deg);}
}
.mv-contact__wrap::after {
    content: '';
    width: 1825px;
    height: 287px;
    background: url(/images/top/txt_deco.svg) no-repeat center / cover;
    position: absolute;
    bottom: -255px;
    left: -291px;
    z-index: -1;
}
.contact__box {
    width: fit-content;
    height: fit-content;
}
.mv-contact__box {
    padding: 16px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.50);
    box-shadow: 0 2px 20px 0 rgba(19, 76, 145, 0.10);
}
        .contact__box-inner {
            width: 1140px;
            height: 297px;
            padding-top: 50px;
            border-radius: 15px;
            background: rgba(255, 255, 255, .9);
            backdrop-filter: blur(4px);
        }
        .mv-contact__box .contact__box-inner {
            height: 291px;
            padding-top: 42px;
            border: 1px solid #EBF9FF;
            background: #FFF;
            backdrop-filter: none;
        }
            .contact__head-ttl {
                font-size: 30px;
                font-weight: 700;
                line-height: 1;
                color: #061744;
                text-align: center;
            }
            .contact__box-txt {
                font-size: 13px;
                font-weight: 400;
                color: #000;
                text-align: center;
                margin-top: 9px;
            }
            .contact__bt-list {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 20px;
                margin-top: 30px;
            }
            .contact__bt-list li {
                display: flex;
                flex-direction: column;
                gap: 9px;
            }
                [class*="contact__bt-item-ttl"] {
                    font-size: 20px;
                    font-weight: 500;
                    line-height: 1;
                    text-align: center;
                    position: relative;
                }
                .contact__bt-item-ttl--satei {
                    color: #532929;
                }
                .contact__bt-item-ttl--mail {
                    color: #293853;
                }
                .contact__bt-item-ttl--line {
                    color: #29533B;
                }
                [class*="contact__bt-item-ttl"]::before {
                    content: '';
                    width: 284px;
                    height: 12px;
                    position: absolute;
                    top: 7px;
                    left: 50%;
                    transform: translateX(-50%);
                }
                .contact__bt-item-ttl--satei::before {
                    width: 264px;
                    background: url(/images/top/contact_ttl-deco-satei.svg) no-repeat center / contain;
                }
                .contact__bt-item-ttl--mail::before {
                    background: url(/images/top/contact_ttl-deco-mail.svg) no-repeat center / contain;
                }
                .contact__bt-item-ttl--line::before {
                    background: url(/images/top/contact_ttl-deco-line.svg) no-repeat center / contain;
                }
                [class*="contact__bt-link"] {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                    width: 333px;
                    height: 80px;
                    border-radius: 9999px;
                    overflow: hidden;
                    padding-inline: 25px;
                    font-size: 20px;
                    font-weight: 700;
                    color: #FFF;
                    position: relative;
                    z-index: 1;
                }
                    .contact__bt__arrow {
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: 23px;
                        color: inherit;
                        transition: color 0.4s;
                    }
                    .contact__bt__icn {
                        color: inherit;
                        transition: color 0.4s;
                    }
                [class*="contact__bt-link"]::before {
                    content: '';
                    width: 100%;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    z-index: -1;
                    border: 1px solid transparent;
                    border-radius: 9999px;
                    box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
                }
                .contact__bt-link--satei::before {
                    background: linear-gradient(88deg, #DF0B0B -1%, #A41010 100.28%);
                }
                .contact__bt-link--mail::before {
                    background: linear-gradient(88deg, #18AEEE 0.74%, #057CAF 99.03%);
                }
                .contact__bt-link--line::before {
                    background: linear-gradient(88deg, #06C755 0.86%, #0B863D 99.14%);
                }
                [class*="contact__bt-link"]::after {
                    content: '';
                    width: 1px;
                    height: 50px;
                    background: rgba(255, 255, 255, 0.15);
                    position: absolute;
                    top: 50%;
                    transform: translateY(-50%);
                    right: 62px;
                    z-index: -1;
                }
.main__bg {
    position: relative;
    z-index: 1;
}
.main__bg::after {
    content: '';
    width: 1920px;
    height: 14891px;
    background: url(/images/top/main_bg.webp) no-repeat center / cover;
    position: absolute;
    top: -318px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

/*////////////////// Instagram //////////////////*/
.cnt__wrap--instagram {
    padding-block: 130px 146px;
    position: relative;
    z-index: 2;
}
    .cnt__inner--instagram {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--instagram::before {
        content: '';
        width: 368px;
        height: 484px;
        background: url(/images/top/cnt_deco01.svg) no-repeat bottom right / cover;
        opacity: .1;
        position: absolute;
        top: -311px;
        left: -390px;
        z-index: -1;
    }
    .cnt__inner--instagram::after {
        content: '';
        width: 327px;
        height: 649px;
        background: url(/images/top/cnt_deco02.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 84px;
        right: -391px;
        z-index: -1;
    }
        .cnt__subttl--instagram {
            background: linear-gradient(90deg, #FB79DB 0%, #ED16B7 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .cnt__ttl--instagram::after {
            background: url(/images/top/ttl-deco_instagram.svg) no-repeat center / contain;
        }
        .more__bt--instagram a {
            border: 1px solid #E532A6;
            color: #E532A6;
        }
        .more__bt--instagram a .more-link__arrow {
            color: #E532A6;
        }
        .instagram__list {
            display: flex;
            justify-content: center;
            gap: 64px;
            margin-top: 50px;
        }
            .instagram__list li {
                display: block;
                width: 337px;
                overflow: hidden;
                position: relative;
            }

/*////////////////// swiperCommon //////////////////*/
.slide__nostop .swiper-wrapper {
    transition-timing-function: linear;
}
.slide__nostop.is-manual-nav .swiper-wrapper {
    transition-timing-function: ease;
}
.swiper_content-common {
    margin-top: 50px;
}
    .swiper-slide {
        width: 360px;
    }
.swiper__controll {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    position: relative;
    z-index: 1;
}
    .swiper__controll .swiper-pagination {
        width: fit-content;
        text-align: left;
        position: unset;
        margin: 0;
    }
        .swiper__controll .swiper-pagination .swiper-pagination-bullet {
            width: 100px;
            height: 2px;
            border-radius: 0;
            background: #F3F6FD;
            opacity: 1;
            margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 0) !important;
        }
        .swiper__controll .swiper-pagination .swiper-pagination-bullet-active {
            background: #014F99;
        }
    .swiper__navigation {
        display: flex;
        gap: 5px;
    }
        .swiper__navigation .swiper-button-prev,
        .swiper__navigation .swiper-button-next {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            color: #014F99;
            position: unset;
            margin: 0;
        }
        .swiper__navigation .swiper-button-prev::after,
        .swiper__navigation .swiper-button-next::after {
            content: none;
        }

/*////////////////// Achivements //////////////////*/
.cnt__wrap--achievements {
    padding-top: 0;
}
    .cnt__inner--achievements {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--achievements::before {
        content: '';
        width: 520px;
        height: 601px;
        background: url(/images/top/cnt_deco03.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: -431px;
        left: -390px;
        z-index: -1;
    }
    .cnt__inner--achievements::after {
        content: '';
        width: 497px;
        height: 743px;
        background: url(/images/top/cnt_deco04.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 161px;
        right: -389px;
        z-index: -1;
    }
    .cnt__subttl--achievements {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .cnt__ttl--achievements::after {
        background: url(/images/top/ttl-deco_achievements.svg) no-repeat center / contain;
    }
    .more__bt--achievements a {
        border: 1px solid #014F99;
        color: #014F99;
    }
    .more__bt--achievements a .more-link__arrow {
        color: #014F99;
    }
    .achievements__item a {
        display: block;
        width: 100%;
    }
        .achievements__img {
            width: 100%;
            height: 240px;
            border-radius: 10px;
            overflow: hidden;
            background: #f7f7f7;
        }
            .achievements__img img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        .achievements__date {
            font-size: 16px;
            font-weight: 500;
            background: linear-gradient(90deg, #057CAF 0%, #30ACE2 99.65%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-top: 7px;
        }
        .achievements__ttl {
            font-size: 16px;
            font-weight: 500;
            color: #252525;
            margin-top: 5px;
        }

/*////////////////// Google //////////////////*/
.cnt__wrap--google {
    padding-block: 0;
}
    .google__inner .tagembed-widget {
        width: 100%;
        height: 100%;
        overflow: auto;
    }

/*////////////////// Worries //////////////////*/
.cnt__wrap--worries {
    padding-block: 229px 323px;
}
    .cnt__inner--worries {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--worries::before {
        content: '';
        width: 560px;
        height: 373px;
        background: url(/images/top/worries_img.webp) no-repeat center / cover;
        position: absolute;
        top: -32px;
        left: -60px;
    }
    .cnt__inner--worries::after {
        content: '';
        width: 950px;
        height: 68px;
        background: url(/images/top/worries_deco-illust02.svg) no-repeat center / cover;
        position: absolute;
        bottom: -203px;
        left: -375px;
    }
    .worries__box {
        margin-left: 570px;
    }
        .cnt__subttl--worries {
            background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .cnt__ttl--worries::after {
            background: url(/images/top/ttl-deco_worries.svg) no-repeat center / contain;
        }
        .worries__list {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-top: 73px;
            position: relative;
        }
        .worries__list::before {
            content: '';
            width: 648px;
            height: 441px;
            background: url(/images/top/worries_deco-illust01.svg) no-repeat center / contain;
            position: absolute;
            top: -111px;
            left: 80px;
        }
            .worries__list li {
                display: flex;
                align-items: center;
                gap: 10px;
                font-size: 20px;
                font-weight: 500;
                color: #252525;
            }
                .worries__list li::before {
                    content: '';
                    width: 6px;
                    height: 6px;
                    border-radius: 50%;
                    background: #014F99;
                }
                .worries__list li:nth-of-type(even)::before {
                    background: #0077E8;
                }

/*////////////////// Strengths //////////////////*/
.cnt__wrap--strengths {
    padding-block: 2px 180px;
    background: url(/images/top/strengths_bg.webp) no-repeat center / cover;
}
    .cnt__inner--strengths {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--strengths::before {
        content: '';
        width: 1825px;
        height: 287px;
        background: url(/images/top/txt_deco02.svg) no-repeat center / cover;
        position: absolute;
        bottom: -371px;
        left: -306px;
    }
        .cnt__ttl--strengths {
            text-align: center;
        }
        .cnt__subttl--strengths {
            background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .cnt__ttl--strengths::after {
            background: url(/images/top/ttl-deco_strengths.svg) no-repeat center / contain;
            left: 50%;
            transform: translateX(-50%);
        }
        .strengths__list {
            margin-top: 72px;
        }
        .strengths__item {
            display: flex;
            flex-direction: row-reverse;
            position: relative;
        }
        .strengths__item:not(:last-of-type)::after {
            content: '';
            width: 100vw;
            height: 1px;
            background: #FFF;
            position: absolute;
            bottom: -51px;
            left: 50%;
            transform: translateX(-50%);
        }
        .strengths__item:nth-of-type(even) {
            flex-direction: row;
        }
        .strengths__item--old {
            margin-top: 101px;
        }
        .strengths__item--remote {
            margin-top: 101px;
        }
            .strengths__img {
                width: 1000px;
                height: fit-content;
                position: absolute;
                top: 0;
                left: -390px;
            }
            .strengths__item:nth-of-type(even) .strengths__img {
                left: auto;
                right: -390px;
            }
                .strengths__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .strengths__txtbox {
                display: flex;
                flex-direction: column;
                gap: 25px;
                width: 530px;
                padding-block: 40px;
                padding-left: 60px;
            }
            .strengths__item:nth-of-type(even) .strengths__txtbox {
                padding-left: 0;
                padding-right: 60px;
            }
                .strengths__ttl {
                    font-size: 24px;
                    font-weight: 700;
                    color: #252525;
                    letter-spacing: 0.04em;
                    position: relative;
                }
                .strengths__ttl span {
                    color: #014F99;
                }
                .strengths__txt {
                    display: flex;
                    flex-direction: column;
                    gap: 15px;
                }
                    .strengths__txt p {
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 2;
                        color: #252525;
                    }

/*////////////////// Sale //////////////////*/
.cnt__wrap--sale {
    padding-top: 146px;
}
    .cnt__inner--sale {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--sale::before {
        content: '';
        width: 781px;
        height: 839px;
        background: url(/images/top/cnt_deco05.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        bottom: -150px;
        left: -390px;
        z-index: -1;
    }
    .cnt__subttl--sale {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .cnt__ttl--sale::after {
        background: url(/images/top/ttl-deco_sale.svg) no-repeat center / contain;
    }
    .more__bt--sale {
        margin-top: 16px;
    }
    .more__bt--sale a {
        border: 1px solid #014F99;
        color: #014F99;
    }
    .bkn__item a {
        display: block;
        width: 100%;
        height: 357px;
    }
        .bkn__img {
            width: 100%;
            height: 240px;
            border-radius: 10px;
            overflow: hidden;
            position: relative;
            background: #f7f7f7;
        }
            .bkn__img img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
            .new__label {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 20px;
                border-radius: 3px;
                background: #C50000;
                font-size: 13px;
                font-weight: 700;
                line-height: 1;
                color: #FFF;
                position: absolute;
                top: 8px;
                left: 8px;
            }
            .bkn__fav-bt {
                width: 40px;
                height: 40px;
                background: url(/images/top/fav_icn.svg) no-repeat center / contain;
                position: absolute;
                top: 8px;
                right: 8px;
            }
            .bkn__fav-bt.is-checked {
                background: url(/images/top/fav_icn-on.svg) no-repeat center / contain;
            }
        .bkn__txtbox {
            padding-top: 8px;
        }
            .bkn__name {
                font-size: 16px;
                font-weight: 500;
                color: #252525;
                border-bottom: 1px solid #EBEBEB;
                padding-bottom: 8px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
            .price__txt {
                font-size: 13px;
                font-weight: 400;
                color: #252525;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                margin-top: 6px;
            }
            .price {
                font-size: 24px;
                font-weight: 700;
                letter-spacing: 0.04em;
                line-height: 1;
                color: #C50000;
                margin-right: 2px;
            }
            .bkn__txt {
                font-size: 13px;
                font-weight: 400;
                line-height: 1.5;
                color: #252525;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
            .madori__txt {
                margin-left: 15px;
            }
            .address__txt {
                margin-top: 2px;
            }
            .traffic__txt {
                margin-top: 3px;
            }

/*////////////////// Contact //////////////////*/
.cnt__wrap--contact {
    padding-block: 30px;
    background: url(/images/top/contact_bg.webp) no-repeat center / cover;
    position: relative;
    z-index: 1;
}
    .contact__heade-subttl {
        font-size: 16px;
        font-weight: 500;
        color: #252525;
        text-align: center;
        margin-bottom: 4px;
    }

/*////////////////// Property //////////////////*/
.cnt__wrap--property {
    padding-block: 176px 180px;
    background: url(/images/top/property_bg.webp) no-repeat center / cover;
}
    .cnt__inner--property {
        position: relative;
        z-index: 1;
    }
    .cnt__ttl--property {
        text-align: center;
    }
    .cnt__subttl--property {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-align: center;
    }
    .cnt__ttl--property::after {
        background: url(/images/top/ttl-deco_property.svg) no-repeat center / contain;
        left: 50%;
        transform: translateX(-50%);
    }
    .property__list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 72px;
        position: relative;
        z-index: 1;
    }
    [class*="property__item"] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 279px;
        height: 120px;
        border-radius: 5px;
        background: #FFF;
        font-size: 20px;
        font-weight: 500;
        color: #252525;
        text-align: center;
    }
    .property__item--move {
        gap: 14px;
    }
    .property__item--leaseback {
        gap: 5px;
    }
    .property__icn {
        display: block;
        flex-shrink: 0;
        width: 60px;
        height: 60px;
    }
    .property__item--move .property__icn {
        width: 68px;
        height: 60px;
    }
    .property__item--loan .property__icn {
        width: 64px;
        height: 60px;
    }

/*////////////////// Vacant //////////////////*/
.cnt__wrap--vacant {
    padding-block: 176px 180px;
}
    .cnt__inner--vacant {
        position: relative;
        z-index: 1;
    }
    .cnt__ttl--vacant {
        text-align: center;
    }
    .cnt__subttl--vacant {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-align: center;
    }
    .cnt__ttl--vacant::after {
        background: url(/images/top/ttl-deco_vacant.svg) no-repeat center / contain;
        left: 50%;
        transform: translateX(-50%);
    }
    .vacant__box {
        display: flex;
        align-items: center;
        gap: 80px;
        margin-top: 72px;
    }
    .vacant__box-left {
        width: 250px;
    }
    .vacant__ttl-box {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
        .vacant__ttl-main {
            font-size: 16px;
            font-weight: 400;
            line-height: 1.2;
            color: #252525;
        }
        .vacant__ttl-sub {
            font-size: 36px;
            font-weight: 700;
            letter-spacing: 0.04em;
            line-height: 1.2;
            color: #057CAF;
        }
        .vacant__ttl-sub span {
            font-size: 48px;
            letter-spacing: 0;
            color: #057CAF;
        }
    .more__bt--vacant {
        margin-top: 33px;
    }
    .more__bt--vacant a {
        border: 1px solid #29C8C7;
        color: #29C8C7;
    }
    .vacant__list {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
        .vacant__item {
            display: flex;
            align-items: center;
            gap: 30px;
            padding-bottom: 19px;
            border-bottom: 1px solid #F3F6FD;
        }
            .vacant__img {
                width: 240px;
                height: 160px;
                border-radius: 5px;
                overflow: hidden;
                flex-shrink: 0;
            }
                .vacant__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .vacant__txtbox {
                display: flex;
                flex-direction: column;
                gap: 10px;
            }
                .vacant__ttl {
                    font-size: 24px;
                    font-weight: 700;
                    letter-spacing: 0.04em;
                    color: #014F99;
                }
                .vacant__txt {
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 2;
                    color: #252525;
                }

/*////////////////// Plan //////////////////*/
.cnt__wrap--plan {
    padding-block: 176px 178px;
    background: url(/images/top/plan_bg.webp) no-repeat center / cover;
}
    .cnt__inner--plan {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--plan::before {
        content: '';
        width: 1825px;
        height: 287px;
        background: url(/images/top/txt_deco03.svg) no-repeat center / cover;
        position: absolute;
        top: -181px;
        left: -307px;
        z-index: -1;
    }
    .cnt__ttl--plan {
        text-align: center;
    }
    .cnt__subttl--plan {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-align: center;
    }
    .cnt__ttl--plan::after {
        background: url(/images/top/ttl-deco_plan.svg) no-repeat center / contain;
        left: 50%;
        transform: translateX(-50%);
    }
    .plan__top-txt {
        font-size: 16px;
        font-weight: 400;
        color: #252525;
        text-align: center;
        margin-top: 52px;
    }
    .plan__list {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 50px;
        position: relative;
    }
        [class*="plan__item"] {
            padding: 25px 40px 40px;
            border-radius: 10px;
            background: #FFF;
        }
        .plan__item--first,
        .plan__item--second {
            width: 565px;
        }
        .plan__item--third {
            width: 1140px;
        }
            .plan__ttl {
                font-size: 24px;
                font-weight: 700;
                letter-spacing: 0.04em;
                color: #252525;
                border-bottom: 1px solid #EBEBEB;
                padding-bottom: 14px;
            }
                .plan__num {
                    font-size: 38px;
                }
            .plan__item--first .plan__ttl-main,
            .plan__item--first .plan__num {
                color: #014F99;
            }
            .plan__item--second .plan__ttl-main,
            .plan__item--second .plan__num {
                color: #057CAF;
            }
            .plan__item--third .plan__ttl-main,
            .plan__item--third .plan__num{
                color: #30ACE2;
            }
            .plan__top-box {
                display: flex;
                align-items: center;
                gap: 12px;
                margin-top: 15px;
            }
                .plan__tag {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    height: 48px;
                    padding-inline: 10px;
                    font-size: 16px;
                    font-weight: 400;
                    color: #252525;
                }
                .plan__item--first .plan__tag {
                    background: #E6F0FF;
                }
                .plan__item--second .plan__tag {
                    background: #E4F7FF;
                }
                .plan__item--third .plan__tag {
                    background: #E4F7FF;
                }
                .plan__tag-detail {
                    font-size: 16px;
                    font-weight: 700;
                    color: #252525;
                }
                    .plan__item--first .plan__tag-detail span {
                        color: #014F99;
                    }
                    .plan__item--second .plan__tag-detail span {
                        color: #057CAF;
                    }
                    .plan__item--third .plan__tag-detail span {
                        color: #30ACE2;
                    }
                .plan__txt {
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 2;
                    color: #252525;
                    margin-top: 10px;
                }

/*////////////////// Diagnosis //////////////////*/
.cnt__wrap--diagnosis {
    padding-block: 178px 180px;
}
    .cnt__inner--diagnosis {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--diagnosis::before {
        content: '';
        width: 325px;
        height: 257px;
        background: url(/images/top/cnt_deco06.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 642px;
        left: -324px;
        z-index: -1;
    }
    .cnt__inner--diagnosis::after {
        content: '';
        width: 56px;
        height: 497px;
        background: url(/images/top/cnt_deco07.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 343px;
        right: -88px;
        z-index: -1;
    }
    .cnt__ttl--diagnosis {
        text-align: center;
    }
    .cnt__subttl--diagnosis {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-align: center;
    }
    .cnt__ttl--diagnosis::after {
        background: url(/images/top/ttl-deco_diagnosis.svg) no-repeat center / contain;
        left: 50%;
        transform: translateX(-50%);
    }
    .diagnosis__img {
        position: relative;
        margin-top: 72px;
    }
        .diagnosis_type-img {
            position: absolute;
            top: -60px;
            left: 0;
        }
    .diagnosis__list {
        display: flex;
        justify-content: space-between;
        margin-top: 40px;
    }
        [class*="diagnosis__item"] {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 224px;
            height: 266px;
            border-radius: 5px;
            padding-block: 15px;
        }
        .diagnosis__item--empty {
            background: #0085D0;
        }
        .diagnosis__item--inheritance {
            background: #009FE7;
        }
        .diagnosis__item--referral {
            background: #5CC1D8;
        }
        .diagnosis__item--guarantee {
            background: #66BFFF;
        }
        .diagnosis__item--buy {
            background: #63A0E6;
        }
            .diagnosis__ttl {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 8px;
                font-size: 20px;
                font-weight: 700;
                color: #FFF;
                text-align: center;
            }
                .diagnosis__ttl span {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 46px;
                    height: 46px;
                    border-radius: 50%;
                    background: #FFF;
                    font-size: 24px;
                    font-weight: 700;
                    letter-spacing: 0.04em;
                }
                .diagnosis__item--empty .diagnosis__ttl span {
                    color: #0085D0;
                }
                .diagnosis__item--inheritance .diagnosis__ttl span {
                    color: #009FE7;
                }
                .diagnosis__item--referral .diagnosis__ttl span {
                    color: #5CC1D8;
                }
                .diagnosis__item--guarantee .diagnosis__ttl span {
                    color: #66BFFF;
                }
                .diagnosis__item--buy .diagnosis__ttl span {
                    color: #63A0E6;
                }
            .diagnosis__txt {
                margin-top: 6px;
                padding-inline: 20px;
                font-size: 16px;
                font-weight: 500;
                color: #FFF;
            }
            .diagnosis__bt {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 188px;
                height: 40px;
                border-radius: 9999px;
                margin: 0 auto 0;
                background: #FFF;
                font-size: 13px;
                font-weight: 400;
                text-align: center;
                color: #014F99;
            }

/*////////////////// Flow //////////////////*/
.cnt__wrap--flow {
    padding-block: 136px 140px;
    background: #F5FEFF;
}
    .cnt__inner--flow {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--flow::before {
        content: '';
        width: 826px;
        height: 888px;
        background: url(/images/top/flow_img.webp) no-repeat center / cover;
        position: absolute;
        top: -136px;
        left: 704px;
        z-index: -1;
    }
    .cnt__subttl--flow {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .cnt__ttl--flow::after {
        background: url(/images/top/ttl-deco_flow.svg) no-repeat center / contain;
    }
    .flow__box--buy,
    .flow__box--referral {
        display: flex;
        align-items: center;
        gap: 30px;
        width: 634px;
    }
    .flow__box--buy {
        margin-top: 72px;
    }
        .flow__ttl {
            font-size: 24px;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0.26em;
            text-align: center;
            writing-mode: vertical-rl;
        }
        .flow__box--buy .flow__ttl {
            color: #014F99;
            margin-top: 37px;
        }
        .flow__box--referral .flow__ttl {
            color: #057CAF;
            margin-top: 7px;
        }
        .flow__box-right {
            display: flex;
            justify-content: space-between;
            width: 100%;
            position: relative;
        }
        .flow__box--buy .flow__box-right::before {
            content: '';
            width: 190px;
            height: 9px;
            background: url(/images/top/flow_list-arrow.svg) no-repeat center / contain;
            position: absolute;
            top: 106px;
            left: 195px;
        }
            .flow__list {
                display: flex;
                gap: 5px;
            }
                .flow__item {
                    display: flex;
                    align-items: center;
                    width: 60px;
                    height: 220px;
                    border-radius: 5px;
                    border: 1px solid #EBEBEB;
                    background: #FFF;
                    padding-top: 20px;
                    font-size: 16px;
                    font-weight: 400;
                    letter-spacing: 0.13em;
                    color: #252525;
                    writing-mode: vertical-rl;
                }
                .flow__box--referral .flow__item {
                    height: 216px;
                }
    .flow__num-box {
        margin-block: 10px;
    }
        .flow__num-list {
            display: flex;
            gap: 35px;
            padding-left: 69px;
            position: relative;
            z-index: 1;
        }
        .flow__num-list::before {
            content: '';
            width: 551px;
            height: 1px;
            background: #EBEBEB;
            position: absolute;
            top: 14px;
            left: 54px;
            z-index: -1;
        }
            .flow__num-item {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 30px;
                height: 30px;
                border-radius: 50%;
                background: linear-gradient(239deg, #014F99 7.58%, #30ACE2 92.42%);
                font-size: 16px;
                font-weight: 500;
                color: #FFF;
                text-align: center;
            }

/*////////////////// Example //////////////////*/
.cnt__wrap--example {
    padding-block: 176px 180px;
}
    .cnt__inner--example {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--example::before {
        content: '';
        width: 1825px;
        height: 287px;
        background: url(/images/top/txt_deco04.svg) no-repeat center / cover;
        position: absolute;
        top: -231px;
        left: -307px;
        z-index: -1;
    }
    .cnt__ttl--example {
        text-align: center;
    }
    .cnt__subttl--example {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-align: center;
    }
    .cnt__ttl--example::after {
        background: url(/images/top/ttl-deco_example.svg) no-repeat center / contain;
        left: 50%;
        transform: translateX(-50%);
    }
        .example__box {
            display: flex;
            gap: 10px;
            margin-top: 72px;
            position: relative;
            z-index: 1;
        }
        .example__box::before {
            content: '';
            width: 265px;
            height: 209px;
            background: url(/images/top/cnt_deco08.svg) no-repeat center / cover;
            opacity: .1;
            position: absolute;
            top: 102px;
            left: -249px;
            z-index: -1;
        }
        .example__box::after {
            content: '';
            width: 680px;
            height: 690px;
            background: url(/images/top/cnt_deco09.svg) no-repeat center / cover;
            opacity: .1;
            position: absolute;
            bottom: -273px;
            right: -308px;
            z-index: -1;
        }
            .example__box-left,
            .example__box-right {
                width: 565px;
                border-radius: 10px;
                border: 1px solid #EBEBEB;
                background: #FFF;
                padding: 29px;
            }
                .example__box-top {
                    display: flex;
                    align-items: center;
                    gap: 20px;
                }
                    .example__img {
                        width: 153px;
                        height: 153px;
                        overflow: hidden;
                    }
                        .example__img img {
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                        }
                    .example__txtbox {
                        display: flex;
                        flex-direction: column;
                        gap: 16px;
                        padding-top: 5px;
                    }
                        .example__ttl {
                            font-size: 20px;
                            font-weight: 700;
                            color: #252525;
                        }
                        .example__detail {
                            display: flex;
                            gap: 16px;
                        }
                            .example__detail-left {
                                font-size: 16px;
                                font-weight: 500;
                                color: #252525;
                                margin-top: 4px;
                            }
                            .example__detail-txt {
                                font-size: 40px;
                                font-weight: 500;
                                line-height: 1;
                                color: #C50000;
                            }
                                .example__detail-top {
                                    display: block;
                                    font-size: 16px;
                                    font-weight: 700;
                                    color: #252525;
                                }
                                .example__detail-txt-sub {
                                    display: inline-block;
                                    font-size: 16px;
                                    font-weight: 700;
                                    color: #252525;
                                    margin-left: 3px;
                                }
                .example__list {
                    display: grid;
                    grid-template-columns: repeat(4, 1fr);
                    gap: 5px;
                    margin-top: 20px;
                }
                    .example__item {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        flex-direction: column;
                        height: 80px;
                        background: #F6F6F6;
                        padding-top: 7px;
                        font-size: 24px;
                        font-weight: 700;
                        color: #252525;
                    }
                    .example__item:last-of-type {
                        background: rgba(255, 225, 0, 0.15);
                        font-size: 32px;
                        line-height: 1.3;
                    }
                        .example__item span {
                            font-size: 16px;
                            font-weight: 700;
                            line-height: 1;
                            color: #30ACE2;
                        }
                        .example__item:last-of-type span {
                            color: #014F99;
                        }
                .example__txt {
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 2;
                    color: #252525;
                    margin-top: 20px;
                }

/*////////////////// Greeting //////////////////*/
.cnt__wrap--greeting {
    padding-block: 108px 180px;
}
    .cnt__inner--greeting {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--greeting::before {
        content: '';
        width: 516px;
        height: 566px;
        background: url(/images/top/cnt_deco10.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 356px;
        left: -316px;
        z-index: -1;
    }
    .cnt__inner--greeting::after {
        content: '';
        width: 325px;
        height: 257px;
        background: url(/images/top/cnt_deco11.svg) no-repeat center / cover;
        opacity: .1;
        position: absolute;
        top: 323px;
        right: -115px;
        z-index: -1;
    }
        .greeting__box {
            display: flex;
            gap: 30px;
            margin-top: 72px;
        }
            .greeting__box-left {
                width: 656px;
            }
                .cnt__subttl--greeting {
                    background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
                    background-clip: text;
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                }
                .cnt__ttl--greeting::after {
                    background: url(/images/top/ttl-deco_greeting.svg) no-repeat center / contain;
                }
                .greeting__txt {
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                    margin-top: 72px;
                }
                    .greeting__txt p {
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1.8;
                        color: #252525;
                    }
                        .greeting__txt-blue {
                            color: #014F99;
                        }
                        .greeting__txt-lightblue {
                            color: #30ACE2;
                        }
                .greeting__name {
                    font-size: 24px;
                    font-weight: 500;
                    letter-spacing: 0.04em;
                    line-height: 1;
                    color: #252525;
                    margin-top: 19px;
                    text-align: right;
                }
                    .greeting__name span {
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 2;
                        color: #252525;
                        letter-spacing: 0;
                        margin-right: 8px;
                    }        
            .greeting__img {
                width: 454px;
                height: 558px;
                border-radius: 15px;
                overflow: hidden;
                margin-top: 4px;
            }
                .greeting__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

/*////////////////// SNS //////////////////*/
.cnt__wrap--sns {
    padding-block: 84px 80px;
    background: url(/images/top/sns_bg.webp) no-repeat center / cover;
}
    .sns__head-ttl {
        display: flex;
        flex-direction: column;
        gap: 9px;
        font-size: 30px;
        font-weight: 500;
        line-height: 1;
        color: #FFF;
        text-align: center;
    }
    .sns__head-subttl {
        font-size: 16px;
        font-weight: 500;
        color: #FFF;
        text-align: center;
    }
    .sns__list {
        display: flex;
        gap: 6px;
        margin-top: 28px;
    }
    .sns__item {
        display: flex;
        align-items: center;
        width: 376px;
        height: 100px;
        border-radius: 5px;
        background: rgba(255, 255, 255, 0.85);
        backdrop-filter: blur(2.5px);
        padding-inline: 10px;
    }
        .sns__img {
            width: 80px;
            height: 80px;
            overflow: hidden;
        }
            .sns__img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        [class*="sns__link"] {
            display: flex;
            align-items: center;
            width: 266px;
            height: 60px;
            border-radius: 9999px;
            padding-inline: 25px;
            font-size: 20px;
            font-weight: 500;
            color: #FFF;
            position: relative;
            z-index: 1;
        }
        .sns__link--line {
            background: #06C755;
        }
        .sns__link--instagram {
            background: #E532A6;
        }
        .sns__link--facebook {
            background: #0866FF;
        }
        [class*="sns__link"]::after {
            content: '';
            width: 1px;
            height: 40px;
            background: rgba(255, 255, 255, 0.15);
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 53px;
            z-index: -1;
        }
        [class*="sns__link"] .contact__bt__arrow {
            right: 19px;
        }

/*////////////////// Instagram //////////////////*/
.cnt__wrap--instagram-bottom {
    padding-block: 180px 178px;
    background-color: hsla(166, 0%, 100%, 1);
    background-image:
        radial-gradient(at 78% 15%, hsla(335, 100%, 80%, 1) 0px, transparent 50%),
        radial-gradient(at 25% 86%, hsla(15, 100%, 80%, 1) 0px, transparent 50%),
        radial-gradient(at 52% 53%, hsla(303, 100%, 80%, 1) 0px, transparent 50%),
        radial-gradient(at 9% 5%, hsla(259, 100%, 80%, 1) 0px, transparent 50%),
        radial-gradient(at 100% 100%, hsla(50, 100%, 80%, 1) 0px, transparent 50%);
}
    .cnt__subttl--instagram-bottom {
        background: linear-gradient(90deg, #FB79DB 0%, #ED16B7 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .cnt__ttl--instagram-bottom::after {
        background: url(/images/top/ttl-deco_instagram02.svg) no-repeat center / contain;
    }
    .instagram-bottom__box {
        display: flex;
        align-items: center;
        gap: 50px;
    }
        .instagram-bottom__right {
            width: 866px;
        }

/*////////////////// Topics //////////////////*/
.cnt__wrap--topics {
    padding-block: 176px 146px;
    background: url(/images/top/topics_bg.webp) no-repeat top center / auto 557px;
}
    .cnt__inner--topics {
        position: relative;
        z-index: 1;
    }
        .cnt__ttl--topics {
            color: #FFF;
            position: relative;
            z-index: 2;
        }
        .cnt__subttl--topics {
            background: #FFF;
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .cnt__ttl--topics::after {
            background: url(/images/top/ttl-deco_topics.svg) no-repeat center / contain;
        }
        .more__bt--topics {
            margin-top: 16px;
        }
        .more__bt--topics a {
            border: 1px solid #014F99;
            color: #014F99;
        }
        .more__bt--topics a .more-link__arrow {
            color: #014F99;
        }
        .cont-scrollbar {
            padding: 70px 70px 70px 0;
            margin-top: 50px;
            position: relative;
            z-index: 1;
        }
        .cont-scrollbar::before {
            content: '';
            width: 1530px;
            height: 490px;
            border-radius: 0 15px 15px 0;
            background: #FFF;
            border: 1px solid #EBEBEB;
            position: absolute;
            top: 0;
            right: 0;
            z-index: -1;
        }
            .scrollbar-content.vertical{
                max-height: 350px;
            }
            .cont-scrollbar .simplebar-track.simplebar-vertical {
                background: rgba(0, 0, 0, 0.15);
                background-clip: content-box; 
                width: 8px !important; 
                padding: 0 3px;
                border-radius: 0;
                top: 0;
                bottom: 0;
                right: 0;
                overflow: unset;
                pointer-events: auto;
            }
            .simplebar-scrollbar.simplebar-visible {
                cursor: pointer;
                width: 8px !important;
                left: 0 !important;
            }
            .cont-scrollbar .simplebar-scrollbar.simplebar-visible:before {
                width: 8px;
                background: #014F99;
                border-radius: 0;
                opacity: 1;
                top: 0 !important;
                bottom: 0 !important;
                left: 50% !important;
                transform: translateX(-50%);
                right: auto;
                cursor: pointer;
            }
            .topics__list {
                display: flex;
                flex-direction: column;
                gap: 25px;
                padding-right: 38px;
            }
                .topics__item {
                    display: flex;
                    gap: 31px;
                    padding-bottom: 30px;
                    border-bottom: 1px solid #EBEBEB;
                }
                .topics__date {
                    font-size: 16px;
                    font-weight: 500;
                    line-height: 1.4;
                    background: linear-gradient(90deg, #057CAF 0%, #30ACE2 99.65%);
                    background-clip: text;
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                }
                .topics__txtbox {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;
                }
                    .topics__ttl {
                        font-size: 16px;
                        font-weight: 500;
                        color: #252525;
                    }

/*////////////////// Column //////////////////*/
.cnt__wrap--column {
    padding-block: 120px 180px;
}
    .cnt__inner--column {
        position: relative;
        z-index: 1;
    }
    .cnt__inner--column::before {
        content: '';
        width: 1825px;
        height: 287px;
        background: url(/images/top/txt_deco05.svg) no-repeat center / cover;
        position: absolute;
        top: -198px;
        left: -307px;
        z-index: -1;
    }
    .cnt__subttl--column {
        background: linear-gradient(90deg, #0077E8 0%, #0260BA 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .cnt__ttl--column::after {
        background: url(/images/top/ttl-deco_column.svg) no-repeat center / contain;
    }
    .more__bt--column a {
        border: 1px solid #014F99;
        color: #014F99;
    }
    .more__bt--column a .more-link__arrow {
        color: #014F99;
    }
    .column__item a {
        display: block;
        width: 100%;
        height: 348px;
    }
        .column__img {
            width: 100%;
            height: 240px;
            border-radius: 10px;
            overflow: hidden;
            background: #f7f7f7;
        }
            .column__img img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        .column__date {
            font-size: 16px;
            font-weight: 500;
            background: linear-gradient(90deg, #057CAF 0%, #30ACE2 99.65%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-top: 7px;
        }
        .column__ttl {
            font-size: 16px;
            font-weight: 500;
            color: #252525;
            margin-top: 5px;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }