@charset "utf-8";

body {
    margin: 0;
}
.l-contents {
    background: #F5FAFF;
}
.l-main {
    width: auto;
    padding: 0 0 100px;
}
.l-main * a {
    transition: .4s;
}
.l-main * a:hover {
    opacity: 1;
}

.ui-fit-img.ui-full-screen {
    margin-bottom: 0;
}

.section__ttl--search,
.section__ttl--lifestyle,
.section__ttl--business,
.section__ttl--project,
.section__ttl--blog,
.section__ttl--strengths,
.section__ttl--message,
.section__ttl--contact,
.section__ttl--faq {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 20px 0 20px 40px;
    color: #333;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}
    .section__ttl--search .section__en-ttl--search,
    .section__ttl--lifestyle .section__en-ttl--lifestyle,
    .section__ttl--business .section__en-ttl--business,
    .section__ttl--project .section__en-ttl--project,
    .section__ttl--blog .section__en-ttl--blog,
    .section__ttl--strengths .section__en-ttl--strengths,
    .section__ttl--message .section__en-ttl--message,
    .section__ttl--contact .section__en-ttl--contact,
    .section__ttl--faq .section__en-ttl--faq {
        color: #2e328c;
        font-family: "Roboto", sans-serif;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
    }
    .section__deco--search,
    .section__deco--lifestyle,
    .section__deco--business,
    .section__deco--project,
    .section__deco--blog,
    .section__deco--strengths,
    .section__deco--message,
    .section__deco--contact,
    .section__deco--faq {
        position: absolute;
        top: 0;
        left: 0;
        width: 100px;
        height: 102px;
    }
.section__wrap--search *,
.section__wrap--lifestyle *,
.section__wrap--region *,
.section__wrap--business *,
.section__wrap--project *,
.section__wrap--blog *,
.section__wrap--strengths *,
.section__wrap--message *,
.section__wrap--contact *,
.section__wrap--faq * {
    font-family: inherit;
}

/*//////////////////// MV ////////////////////*/
.mv {
    width: 100%;
    line-height: 0;
    background: #f5faff;
}
    .mv__img {
        display: block;
        width: 100%;
        height: auto;
    }

/*//////////////////// Search ////////////////////*/
.section__wrap--search {
    background: #f5faff;
    padding: 162px 0 0;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .search__panel {
        position: relative;
        width: 1240px;
        margin: 0 auto;
        padding: 80px 50px 50px;
        box-sizing: border-box;
        border-radius: 20px;
        background: #fff;
    }
        .section__ttl--search {
            position: absolute;
            top: -62px;
            left: 50px;
        }
        .search__row {
            display: flex;
            gap: 30px;
        }
            .search__freeword,
            .search__price {
                display: flex;
                flex-direction: column;
                gap: 15px;
                width: unset;
                border: none;
                border-radius: 0;
                align-items: unset;
            }
                .search__label {
                    margin: 0;
                    color: #2d302f;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                }
                .search__controls {
                    display: flex;
                    align-items: center;
                    gap: 10px;
                }
                    input[type="text"].search__input {
                        width: 516px;
                        height: 50px;
                        padding: 0 11px;
                        box-sizing: border-box;
                        border: 1px solid #cfd8dc;
                        border-radius: 4px;
                        background: #f5faff;
                        color: #333;
                        font-family: "Zen Kaku Gothic New", sans-serif;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1;
                    }
                    input[type="text"].search__input::placeholder {
                        color: #707070;
                    }
                    .search__select {
                        width: 220px;
                        height: 50px;
                        padding: 0 36px 0 11px;
                        box-sizing: border-box;
                        border: 1px solid #cfd8dc;
                        border-radius: 4px;
                        background: #fff url("/images/top/icon-arrow.svg") no-repeat right 14px center;
                        color: #333;
                        font-family: "Zen Kaku Gothic New", sans-serif;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1;
                        appearance: none;
                    }
                    .search__tilde {
                        color: #333;
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1;
                    }
                    .search__submit {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 49px;
                        height: 49px;
                        padding: 0;
                        border: 0;
                        border-radius: 50%;
                        background: #2e328c;
                        border: 1px solid #2e328c;
                        transition: .4s;
                        cursor: pointer;
                    }
                    .search__submit:hover {
                        background: #FFF;
                    }
                    .search__submit svg {
                        fill: none;
                        stroke: #FFF;
                    }
                    .search__submit:hover svg {
                        stroke: #2e328c;
                    }
        .search__rent {
            margin-top: 35px;
        }
            .search__rent-head {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
            }
                .search__rent-head .search__label {
                    margin: 0;
                }
                .search__count {
                    margin: 0;
                    color: #2d302f;
                    font-size: 20px;
                    font-weight: 400;
                    line-height: 1;
                }
                    .search__count span {
                        margin: 0 4px;
                        color: #ef5350;
                        font-size: 26px;
                        font-weight: 700;
                        line-height: 1;
                    }
            .search__methods {
                display: flex;
                gap: 12px;
                margin: 14px 0 0;
                padding: 0;
                list-style: none;
            }
                .search__method {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 8px;
                    width: 372px;
                    height: 80px;
                    border-radius: 4px;
                    background: #2e328c;
                    border: 1px solid #2e328c;
                    color: #fff;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                    text-decoration: none;
                }
                .search__method:hover {
                    background: #FFF;
                    color: #2e328c;
                }
                .search__method svg {
                    fill: none;
                    stroke: #FFF;
                }
                .search__method:hover svg {
                    stroke: #2e328c;
                }

/*//////////////////// Lifestyle ////////////////////*/
.section__wrap--lifestyle {
    padding: 100px 0 0;
    text-align: center;
    background: linear-gradient(180deg, #F5FAFF 4.6%, #E9F2FF 66.38%, #F5FAFF 99.92%);
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--lifestyle {
        width: 1140px;
        margin: 0 auto;
        text-align: left;
    }
    .lifestyle__view {
        margin-top: 40px;
        overflow: hidden;
    }
        .lifestyle__slide {
            width: 400px;
        }
            .lifestyle__card {
                position: relative;
                display: flex;
                justify-content: flex-end;
                align-items: flex-start;
                width: 400px;
                min-height: 450px;
                height: auto;
                overflow: hidden;
                border-radius: 10px;
            }
                .lifestyle__card img {
                    position: absolute;
                    inset: 0;
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center bottom;
                    transition: .4s;
                }
                .lifestyle__card:hover img {
                    transform: scale(1.05);
                }
                .lifestyle__label {
                    position: relative;
                    z-index: 1;
                    flex: 0 0 auto;
                    height: auto;
                    margin: 0 20px 0 auto;
                    padding: 16px 14px 12px;
                    background: #fff;
                    color: #333;
                    font-size: 20px;
                    font-weight: 500;
                    line-height: 1.15;
                    writing-mode: vertical-rl;
                    letter-spacing: 0.15em;
                }
    .lifestyle__nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin-top: 40px;
        padding-bottom: 15px;
    }
        .lifestyle__prev,
        .lifestyle__next {
            width: auto;
            height: auto;
            padding: 0;
            border: 0;
            background: transparent;
            cursor: pointer;
        }
        .lifestyle__prev svg,
        .lifestyle__next svg {
            width: 9px;
            height: 16px;
            fill: none;
            stroke: #2E328C;
        }
        .lifestyle__prev:hover,
        .lifestyle__next:hover {
            opacity: .7;
        }
        .lifestyle__next {
            transform: rotate(180deg);
        }
        .lifestyle__pagination {
            position: static;
            display: flex;
            align-items: center;
            width: auto !important;
        }
            .lifestyle__pagination .swiper-pagination-bullet {
                width: 28px;
                height: 2px;
                margin: 0 4px;
                border-radius: 0;
                background: #cfd8dc;
                opacity: 1;
            }
            .lifestyle__pagination .swiper-pagination-bullet-active {
                background: #2e328c;
            }

/*//////////////////// Region ////////////////////*/
.section__wrap--region {
    padding-top: 84px;
    line-height: 0;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__wrap--region img {
        display: block;
        width: 100%;
        height: 550px;
        object-fit: cover;
        object-position: center bottom;
    }

/*//////////////////// Business ////////////////////*/
.section__wrap--business {
    position: relative;
    overflow: hidden;
    padding-top: 100px;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .business__stage {
        position: relative;
        width: 1140px;
        min-height: 613px;
        margin: 0 auto;
    }
        .business__emblem {
            position: absolute;
            width: 556px;
            height: 578px;
            pointer-events: none;
        }
        .business__emblem--left {
            top: -101px;
            left: -391px;
        }
        .business__emblem--right {
            right: -390px;
            bottom: -100px;
        }
        .section__ttl--business {
            position: absolute;
            top: 40px;
            left: 0;
        }
        .business__item {
            position: absolute;
        }
        .business__item--broker {
            top: 11px;
            left: 444px;
            width: 696px;
        }
        .business__item--support {
            top: 210px;
            left: 0;
            width: 320px;
        }
        .business__item--reform {
            top: 459px;
            left: 21px;
            width: 336px;
        }
        .business__item--manage {
            top: 210px;
            right: 0;
            width: 296px;
        }
        .business__item--akiya {
            top: 459px;
            right: 50px;
            width: 296px;
        }
            .business__ttl {
                margin: 0 0 16px;
                padding-bottom: 14px;
                border-bottom: 1px solid rgba(46, 50, 140, 0.4);
                color: #2e328c;
                font-size: 20px;
                font-weight: 700;
                line-height: 1;
            }
            .business__text {
                margin: 0;
                color: #333;
                font-size: 16px;
                font-weight: 400;
                line-height: 1.62;
            }
        .business__figure {
            position: absolute;
            top: 142px;
            left: 330px;
            width: 481px;
            height: 471px;
        }
            .business__figure-bg {
                display: block;
                width: 481px;
                height: 471px;
            }
            .business__bubble {
                position: absolute;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 130px;
                height: 130px;
                margin: 0;
                border-radius: 50%;
                background: #2e328c;
                color: #fff;
                font-size: 16px;
                font-weight: 700;
                line-height: 1.4;
                text-align: center;
            }
            .business__bubble--broker { top: 15px; left: 175px; }
            .business__bubble--manage { top: 139px; left: 336px; }
            .business__bubble--support { top: 139px; left: 15px; }
            .business__bubble--reform { top: 326px; left: 70px; }
            .business__bubble--akiya { top: 326px; left: 280px; }
            .business__logo {
                position: absolute;
                top: 182px;
                left: 171px;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 8px;
                width: 139px;
                height: 139px;
            }

/*//////////////////// Project ////////////////////*/
.section__wrap--project {
    padding: 100px 0 0;
    background: linear-gradient(180deg, #F5FAFF 4.6%, #E9F2FF 66.38%, #F5FAFF 99.92%);
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--project {
        width: 1140px;
        margin: 0 auto;
    }
        .project__list {
            display: flex;
            gap: 40px;
            margin: 40px 0 0;
            padding: 0;
            list-style: none;
        }
            .project__card {
                width: 550px;
                color: inherit;
                text-decoration: none;
                position: relative;
            }
                .project__visual {
                    position: relative;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 550px;
                    height: 250px;
                    overflow: hidden;
                    border-radius: 10px;
                    background: #fff;
                }
                    .project__visual img {
                        display: block;
                        width: 484px;
                        height: 110px;
                        object-fit: contain;
                        transition: .4s;
                    }
                    .project__card:hover img:not(.project__blank) {
                        transform: scale(1.05);
                    }
                    .project__visual--photo img {
                        width: 550px;
                        height: 250px;
                        object-fit: cover;
                    }
                    .project__blank {
                        position: absolute;
                        right: 0;
                        bottom: -1px;
                        width: 43px;
                        height: 43px;
                    }
                .project__ttl {
                    margin: 15px 0 10px;
                    color: #2e328c;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                }
                .project__text {
                    margin: 0;
                    color: #333;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.6;
                }

/*//////////////////// Blog ////////////////////*/
.section__wrap--blog {
    padding: 100px 0 0;
    text-align: center;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--blog {
        width: 1140px;
        margin: 0 auto;
        text-align: left;
        position: relative;
    }
        .blog__ttl-wrap {
            display: flex;
            align-items: flex-end;
            gap: 16px;
        }
        .blog__lead {
            color: #333;
            font-size: 26px;
            font-weight: 700;
            line-height: 1;
            text-align: center;
            margin-bottom: 19px;
        }
        .blog__list {
            display: flex;
            gap: 40px;
            margin: 40px 0 0;
            padding: 0;
            list-style: none;
        }
            .blog__list li {
                background: transparent;
                box-shadow: unset;
            }
            .blog__card {
                display: flex;
                flex-direction: column;
                width: 354px;
                height: auto;
                color: inherit;
                text-decoration: none;
            }
                .blog__image {
                    flex: 0 0 auto;
                    width: 354px;
                    min-height: 266px;
                    height: auto;
                    aspect-ratio: 354 / 266;
                    overflow: hidden;
                    border-radius: 10px;
                }
                .blog__card img {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: .4s;
                }
                .blog__card:hover img {
                    transform: scale(1.05);
                }
                .blog__ttl {
                    margin: 13px 0 0;
                    color: #333;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1.4;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
                .blog__text {
                    margin: 6px 0 0;
                    color: #333;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.7;
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
                .blog__date {
                    margin: 6px 0 0;
                    color: #2e328c;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.7;
                }
        .section__btn--blog {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: 220px;
            height: 50px;
            margin: 40px auto 0;
            box-sizing: border-box;
            border: 1px solid #2e328c;
            border-radius: 4px;
            color: #2e328c;
            font-size: 16px;
            font-weight: 400;
            line-height: 1;
            text-decoration: none;
            position: relative;
        }
        .section__btn--blog:hover {
            background: #2e328c;
            color: #FFF;
        }
            .btn-arrow {
                width: 7px;
                height: 11px;
                fill: none;
                stroke: #2E328C;
                position: absolute;
                top: 50%;
                right: 18px;
                transform: translateY(-50%);
            }
            .section__btn--blog:hover .btn-arrow {
                stroke: #FFF;
            }

/*//////////////////// Strengths ////////////////////*/
.section__wrap--strengths {
    padding-top: 99px;
    text-align: center;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--strengths {
        width: 1140px;
        margin: 0 auto 40px;
        text-align: left;
    }
    .strength__list {
        margin: 0;
        padding: 0;
        list-style: none;
    }
        .strength__item {
            display: flex;
            align-items: center;
            gap: 40px;
            width: 1140px;
            min-height: 450px;
            margin: 0 auto 40px;
            position: relative;
        }
        .strength__item:last-child {
            margin-bottom: 0;
        }
        .strength__item--reverse {
            flex-direction: row-reverse;
        }
            .strength__photo {
                display: block;
                width: 910px;
                height: 450px;
                object-fit: cover;
                position: absolute;
                top: 0px;
            }
            .strength__item .strength__photo {
                left: -390px;
            }
            .strength__item--reverse .strength__photo {
                left: unset;
                right: -390px;
            }
            .strength__body {
                width: 580px;
                text-align: left;
                margin: 0 0 0 auto;
            }
            .strength__item--reverse .strength__body {
                margin: 0 auto 0 0;
            }
                .section__wrap--strengths .strength__en {
                    margin: 0;
                    color: #d5e6f9;
                    font-family: "Roboto", sans-serif;
                    font-size: 60px;
                    font-weight: 700;
                    line-height: 1;
                    letter-spacing: 3px;
                }
                .strength__ttl {
                    margin: 30px 0 0;
                    color: #2e328c;
                    font-size: 26px;
                    font-weight: 700;
                    line-height: 1;
                }
                .strength__text {
                    margin: 20px 0 0;
                    color: #333;
                    font-size: 18px;
                    font-weight: 400;
                    line-height: 2;
                }

/*//////////////////// Message ////////////////////*/
.section__wrap--message {
    position: relative;
    overflow: hidden;
    padding: 100px 0 0;
    background: linear-gradient(180deg, #F5FAFF 4.6%, #E9F2FF 66.38%, #F5FAFF 99.92%);
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--message {
        position: relative;
        z-index: 1;
        width: 1140px;
        margin: 0 auto;
    }
        .message__lead {
            margin: 40px 0 0;
            color: #2e328c;
            font-size: 26px;
            font-weight: 700;
            line-height: 1.6;
        }
            .message__lead-em {
                font-size: 40px;
                font-weight: 700;
                line-height: 1.9;
                color: #2e328c;
            }
        .message__body {
            display: flex;
            flex-direction: column;
            gap: 36px;
            margin-top: 24px;
        }
            .message__body p {
                margin: 0;
                color: #333;
                font-size: 18px;
                font-weight: 400;
                line-height: 2;
            }
            .message__space {
                height: 18px;
            }
    .message__emblem {
        position: absolute;
        top: 39px;
        right: -117px;
        width: 556px;
        height: 578px;
        pointer-events: none;
    }

/*//////////////////// Contact ////////////////////*/
.section__wrap--contact {
    padding-top: 100px;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .contact__panel {
        padding: 100px 0;
        border-radius: 50px 50px 0 0;
        background: #2e328c;
        text-align: center;
    }
        .section__ttl--contact {
            color: #fff;
        }
        .section__wrap--contact .section__ttl--contact .section__en-ttl--contact {
            color: #fff;
        }
        .section__en-ttl--contact {
            text-align: left;
        }
        .contact__list {
            display: flex;
            justify-content: center;
            gap: 36px;
            width: 1140px;
            margin: 40px auto 0;
            padding: 0;
            list-style: none;
        }
            .contact__item {
                display: flex;
                flex-direction: column;
                align-items: center;
                width: 258px;
                min-height: 194px;
                padding: 20px 0 24px;
                box-sizing: border-box;
                border-radius: 10px;
                background: #fff;
            }
                .contact__icon {
                    display: block;
                    width: 80px;
                    height: 80px;
                }
                .contact__tel {
                    margin: 6px 28px 0 auto;
                    color: #2e328c;
                    font-size: 20px;
                    font-weight: 500;
                    line-height: 1.4;
                    text-align: right;
                }
                .contact__tel--bottom {
                    margin: 1px 28px 0 auto;
                }
                    .contact__tel span {
                        font-size: 22px;
                        font-weight: 500;
                        color: #2e328c;
                    }
                .contact__btn {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 198px;
                    height: 46px;
                    margin-top: 20px;
                    border-radius: 4px;
                    color: #fff;
                    font-size: 16px;
                    font-weight: 500;
                    line-height: 1;
                    text-decoration: none;
                }
                .contact__btn--reserve {
                    background: #2e328c;
                    border: 1px solid #2e328c;
                }
                .contact__btn--mail {
                    background: #23bcc7;
                    border: 1px solid #23bcc7;
                }
                .contact__btn--chat {
                    background: #06c755;
                    border: 1px solid #06c755;
                }
                .contact__btn:hover {
                    background: #FFF;
                }
                .contact__btn--reserve:hover {
                    color: #2e328c;
                }
                .contact__btn--mail:hover {
                    color: #23bcc7;
                }
                .contact__btn--chat:hover {
                    color: #06c755;
                }

/*//////////////////// FAQ ////////////////////*/
.section__wrap--faq {
    position: relative;
    padding: 100px 0 0;
    text-align: center;
    color: #333;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
    .section__inner--faq {
        position: relative;
        z-index: 1;
        width: 1140px;
        margin: 0 auto;
        text-align: left;
    }
        .faq__list {
            margin: 40px 0 0;
            padding: 0;
            list-style: none;
        }
            .faq__item {
                padding-bottom: 30px;
                border-bottom: 1px solid #cfd8dc;
            }
            .faq__item + .faq__item {
                margin-top: 30px;
            }
                .faq__q,
                .faq__a {
                    display: flex;
                    gap: 12px;
                }
                .faq__a {
                    margin-top: 18px;
                }
                    .faq__mark {
                        display: flex;
                        flex-shrink: 0;
                        align-items: center;
                        justify-content: center;
                        width: 35px;
                        height: 35px;
                        border-radius: 50%;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        padding-bottom: 4px;
                    }
                    .faq__mark--q {
                        border: 1px solid #2e328c;
                        background: #f5faff;
                        color: #2e328c;
                    }
                    .faq__mark--a {
                        background: #2e328c;
                        color: #fff;
                    }
                    .faq__question {
                        margin: 4px 0 0;
                        color: #2e328c;
                        font-size: 26px;
                        font-weight: 700;
                        line-height: 1;
                    }
                    .faq__answer {
                        margin: 0;
                        color: #333;
                        font-size: 18px;
                        font-weight: 400;
                        line-height: 2;
                    }
    .faq__emblem {
        position: absolute;
        bottom: -60px;
        left: -290px;
        width: 420px;
        height: 436px;
        pointer-events: none;
    }
