@charset "utf-8";

html {
    scrollbar-gutter: stable;
}

body {
    margin: 0;
}

.l-main {
    width: auto;
    padding: 0;
    overflow-x: hidden;
}

.l-main * {
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
}

.l-main .swiper,
.l-main .swiper-wrapper,
.l-main .swiper-slide {
    box-sizing: content-box;
}

.l-main a,
.l-main button {
    transition: .4s;
}

.l-main a,
.l-main button:hover {
    opacity: 1;
    transition: .4s;
}

[class*="section__wrap"] {
    scroll-margin-top: 130px;
    padding-block: 0 180px;
}

[class*="section__inner"] {
    width: 1140px;
    margin: 0 auto;
}

[class*="section__ttl-wrap"] {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 50px;
}

[class*="section__ttl-icon"] {
    display: block;
    width: 75px;
    height: 75px;
    position: relative;
    top: 4px;
}

[class*="section__ttl"] {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    color: #404040;
    letter-spacing: 0.05em;
}

[class*="section__en-ttl"] {
    display: block;
    font-family: "Rubik", sans-serif;
    font-size: 56px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #404040;
    margin: 0 0 6px;
}

[class*="section__btn"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 60px;
    margin: 35px auto 0;
    border-radius: 9999px;
    background-color: #E4F5FF;
    font-size: 18px;
    font-weight: 500;
    color: #404040;
    text-decoration: none;
    letter-spacing: 0.05em;
    box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.10);
    position: relative;
}

[class*="section__btn"]:after {
    position: absolute;
    content: "";
    display: block;
    background: url(/images/arrow_more-g.svg) no-repeat center / cover;
    width: 21px;
    height: 12px;
    right: 28px;
}

[class*="section__btn"]:hover {
    box-shadow: 0 0 0 0 transparent;
    background: #bde4fb;
}

.swiper__option {
    position: absolute;
    top: -86px;
    right: 0;
    display: flex;
    gap: 20px;
    width: fit-content;
    align-items: center;
    z-index: 1;
}

.l-main .swiper-button-prev,
.l-main .swiper-button-next {
    width: 36px;
    height: 36px;
    margin-top: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: static;
    display: block;
}

.l-main .swiper-button-prev::after,
.l-main .swiper-button-next::after {
    content: none;
}

.l-main .swiper-button-prev {
    background-image: url("/images/icon_slider_prev.webp");
}

.l-main .swiper-button-next {
    background-image: url("/images/icon_slider_next.webp");
}

.swiper-pagination {
    position: static;
    display: flex;
    gap: 8px;
    width: fit-content !important;
}

.l-main .swiper-pagination-bullet {
    background-color: #E4F5FF;
    opacity: 1;
    width: 6px;
    height: 6px;
    margin: 0 !important;
}

.l-main .swiper-pagination-bullet-active {
    background-color: #404040;
}

/*//////////////////// MV ////////////////////*/
.section__wrap--mv {
    position: relative;
    container-type: inline-size;
    width: 100%;
    max-width: 100%;
    max-height: none;
    height: auto;
    padding-block: 0;
    overflow: hidden;
    margin-block: 0 120px;
    margin-inline: auto;
}

.mv__img {
    display: block;
    width: 100%;
    height: auto;
}

.mv__canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

[class*="mv__city--"] {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(25 / 1920 * 100cqw);
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    font-size: calc(15 / 1920 * 100cqw);
    font-weight: 400;
    text-decoration: none;
    padding: calc(2 / 1920 * 100cqw) calc(26 / 1920 * 100cqw) 0 0;
    letter-spacing: 0.05em;
}

[class*="mv__city--"]::after {
    position: absolute;
    content: "";
    display: block;
    width: calc(14 / 1920 * 100cqw);
    height: calc(10 / 1920 * 100cqw);
    right: calc(20 / 1920 * 100cqw);
    transition: .4s;
}

.mv__city--toyoake::after,
.mv__city--toyota::after {
    background: url(/images/arrow_mv-b.svg) no-repeat center / cover;
}

.mv__city--kariya::after,
.mv__city--hekinan::after,
.mv__city--anjo::after,
.mv__city--chiryu::after {
    background: url(/images/arrow_mv-w.svg) no-repeat center / cover;
}

.mv__city--kariya {
    top: calc(100% * 378 / 760);
    left: calc(100% * 1036 / 1920);
    width: calc(100% * 135 / 1920);
    height: calc(100% * 50 / 760);
    background-color: #4674A8;
    color: #fff;
}

.mv__city--toyoake {
    top: calc(100% * 300 / 760);
    left: calc(100% * 1071 / 1920);
    width: calc(100% * 125 / 1920);
    height: calc(100% * 40 / 760);
    background-color: #fff;
    color: #404040;
    font-weight: 500;
}

.mv__city--toyota {
    top: calc(100% * 250 / 760);
    left: calc(100% * 1201 / 1920);
    width: calc(100% * 125 / 1920);
    height: calc(100% * 40 / 760);
    background-color: #fff;
    color: #404040;
    font-weight: 500;
}

.mv__city--hekinan {
    top: calc(100% * 491 / 760);
    left: calc(100% * 1141 / 1920);
    width: calc(100% * 135 / 1920);
    height: calc(100% * 50 / 760);
    background-color: #4674A8;
    color: #fff;
}

.mv__city--anjo {
    top: calc(100% * 431 / 760);
    left: calc(100% * 1228 / 1920);
    width: calc(100% * 135 / 1920);
    height: calc(100% * 50 / 760);
    background-color: #4674A8;
    color: #fff;
}

.mv__city--chiryu {
    top: calc(100% * 361 / 760);
    left: calc(100% * 1215 / 1920);
    width: calc(100% * 135 / 1920);
    height: calc(100% * 50 / 760);
    background-color: #4674A8;
    color: #fff;
}

.mv__city--toyoake:hover,
.mv__city--toyota:hover {
    background-color: #4674A8;
    color: #fff;
}

.mv__city--kariya:hover,
.mv__city--hekinan:hover,
.mv__city--anjo:hover,
.mv__city--chiryu:hover {
    background-color: #fff;
    color: #404040;
}

.mv__city--kariya:hover::after,
.mv__city--hekinan:hover::after,
.mv__city--anjo:hover::after,
.mv__city--chiryu:hover::after {
    background: url(/images/arrow_mv-b.svg) no-repeat center / cover;
    transition: .4s;
}

.mv__city--toyoake:hover::after,
.mv__city--toyota:hover::after {
    background: url(/images/arrow_mv-w.svg) no-repeat center / cover;
    transition: .4s;
}


/*//////////////////// Contact ////////////////////*/
.section__wrap--contact {
    display: flex;
    align-items: stretch;
    width: 1140px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 173px;
    padding-block: 0 116px;
}

.contact__visual {
    flex-shrink: 0;
    width: 962px;
    height: 794px;
    overflow: hidden;
    border-radius: 0 50px 50px 0;
    position: absolute;
    left: -390px;
    top: 180px;
}

.contact__visual img {
    display: block;
    width: 962px;
    height: 794px;
    object-fit: cover;
}

.contact__panel {
    width: 729px;
    padding: 113px 0 120px 120px;
    border-radius: 50px 0 0 50px;
    background-color: #E4F5FF;
    margin: 0 0 0 auto;
    position: relative;
    z-index: 1;
}

.contact__panel:after {
    position: absolute;
    content: "";
    top: 0;
    width: calc((100vw - 1140px) / 2);
    height: 100%;
    background: #e4f5ff;
    left: 100%;
}

.section__ttl-wrap--contact {
    margin-bottom: 47px;
}

.contact__block {
    margin-bottom: 30px;
}

.contact__block:last-child {
    margin-bottom: 0;
}

[class*="contact__block-ttl--"] {
    margin: 0 0 15px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.contact__block-ttl--estate {
    color: #4674A8;
}

.contact__block-ttl--group {
    color: #499A91;
}

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

[class*="contact__card--"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    width: 190px;
    height: 189px;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    position: relative;
    padding: 20px 0 0;
}

[class*="contact__card--"]::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 14px;
    width: 21px;
    height: 12px;
    background: url(/images/arrow_contact-w.svg) no-repeat center / cover;
}

[class*="contact__card--"]:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.contact__card--estate {
    background-color: #4674A8;
}

.contact__card--satei {
    background-color: #59A4CC;
}

.contact__card--build,
.contact__card--reform {
    background-color: #499A91;
}

.contact__card--welfare {
    background-color: #55B996;
}

[class*="contact__card--"] img {
    display: block;
    width: 87px;
    height: 87px;
}

.contact__card-ttl {
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    line-height: 1.389;
    letter-spacing: 0.05em;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*//////////////////// Solution ////////////////////*/
.section__wrap--solution {
    position: relative;
    padding-block: 109px 173px;
}

.section__container--solution {
    position: absolute;
    top: 0;
    right: 0;
    width: 1800px;
    height: 100%;
    border-radius: 280px 0 0 280px;
    background-color: #D7F2EF;
    display: none;
}

.section__inner--solution {
    position: relative;
}

.section__ttl-wrap--solution {
    margin-bottom: 52px;
}

.solution__body {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    background: #D7F2EF;
    position: relative;
    padding: 70px 0;
}

.solution__body:before {
    position: absolute;
    width: 1410px;
    height: 707px;
    content: "";
    display: block;
    background: url(/images/bg_solution.webp) no-repeat center center / cover;
    right: 0;
    top: 0;
}

.solution__body:after {
    position: absolute;
    content: "";
    top: 0;
    width: calc((100vw - 1140px) / 2);
    height: 100%;
    background: #d7f2ef;
    left: 100%;
}

.solution__img {
    margin: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.solution__img:before {
    position: absolute;
    content: "";
    display: block;
    background: url(/images/deco_solution.svg) no-repeat center / cover;
    width: 186px;
    height: 148px;
    bottom: -33px;
}

.solution__img img {
    display: block;
    width: 569px;
    height: 567px;
}

.solution__img a {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 140px;
    height: 36px;
    background: #ffffff url(/images/img_solution_logo.webp) no-repeat center / 145px 36px;
    width: 200px;
    height: 200px;
    border-radius: 9999px;
}

.solution__list--wrapper {
    background: #fff;
    width: 521px;
    height: 567px;
    padding: 40px 30px 40px 24px;
    position: relative;
}

.solution__bubble {
    position: absolute;
    content: "";
    top: 180px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 12px 18px;
    border-radius: 2px;
    background-color: #FFF5EB;
    font-size: 13px;
    font-weight: 500;
    color: #E3802B;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 1.385;
    transition: .4s;
}

.solution__img a:hover~.solution__bubble {
    top: 170px;
    background: #E3802B;
    color: #fff;
    transition: .4s;
}

.solution__bubble:before {
    position: absolute;
    content: "";
    top: 38px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 13px solid #fff5eb;
    border-bottom: 0;
    transition: .4s;
}

.solution__img a:hover~.solution__bubble:before {
    border-top: 13px solid #E3802B;
    transition: .4s;
}

.solution__list {
    width: 100%;
    max-height: 487px;
    overflow: auto;
}

.solution__items {
    margin: 0;
    padding: 0 35px 0 16px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.solution__item {
    border-bottom: none;
}

.solution__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

[class^="solution__item-ttl--"] {
    margin: 0 0 7px;
    font-size: 18px;
    font-weight: 500;
    color: #404040;
    line-height: 1.389;
    letter-spacing: 0.05em;
    position: relative;
    padding: 0 0 0 17px;
}

[class^="solution__item-ttl--"]:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 9999px;
    left: 0;
    bottom: 7px;
}

.solution__item-ttl--1:before {
    background: #8ECBF0;
}

.solution__item-ttl--2:before {
    background: #7BAFE9;
}

.solution__item-ttl--3:before {
    background: #629DDE;
}

.solution__item-ttl--4:before {
    background: #7098D7;
}

.solution__item-ttl--5:before {
    background: #79AED4;
}

.solution__item-ttl--6:before {
    background: #79CBD4;
}

.solution__item-ttl--7:before {
    background: #8AD2D2;
}

.solution__item-ttl--8:before {
    background: #6DB9D5;
}

.solution__item-text {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.715;
    color: #7C7C7C;
    letter-spacing: 0.05em;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}

.solution__more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 155px;
    height: 40px;
    margin: 7px auto 0 0;
    border-radius: 9999px;
    background-color: #E4F5FF;
    font-size: 14px;
    font-weight: 500;
    color: #404040;
    text-decoration: none;
    letter-spacing: 0.05em;
    box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.10);
    padding: 0 22px 0 0;
    position: relative;
}

.solution__more:after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 15px;
    width: 14px;
    height: 8px;
    background: url(/images/arrow_solution.svg) no-repeat center / cover;
}

.solution__more:hover {
    box-shadow: 0 0 0 0 transparent;
    background: #bde4fb;
}

.solution__list--wrapper .simplebar-track.simplebar-vertical {
    width: 5px;
    background: #D7F2EF;
    border-radius: 9999px;
}

.solution__list--wrapper .simplebar-scrollbar:before {
    background: #499A91;
    width: 5px;
    top: 0 !important;
    bottom: 0 !important;
    left: 0;
    opacity: 1 !important;
    border-radius: 9999px;
}

/*//////////////////// New ////////////////////*/
.section__wrap--new {
    overflow: hidden;
    padding-block: 0 173px;
}

.section__ttl-wrap--new {
    position: relative;
    margin-bottom: 42px;
    width: fit-content;
}

.new__bubble {
    position: absolute;
    right: -152px;
    top: 7px;
    margin: 0;
    padding: 18px 18px 20px 19px;
    border-radius: 2px;
    background-color: #FFF5EB;
    font-size: 13px;
    font-weight: 500;
    color: #404040;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 1.385;
}

.new__bubble:before {
    position: absolute;
    content: "";
    top: 50%;
    left: -8px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 13px;
    height: 15px;
    background: url(/images/deco_fukidashi.svg) no-repeat center / cover;
}

.new__bubble span {
    color: #E3802B;
}

.section__inner--new {
    position: relative;
    overflow: visible;
}

.section__wrap--new .swiper__option {
    top: 46px;
}

.section__wrap--new:has(.is-noslide) .swiper__option {
    display: none;
}

.js-bkn-swiper {
    padding-top: 10px;
    padding-bottom: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

.js-bkn-swiper.is-noslide .swiper-wrapper {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.js-bkn-swiper .swiper-slide {
    width: 354px;
    height: 412px;
}

.bkn__card {
    width: 100%;
    height: 100%;
    border: 1px solid #9A9A9A;
    border-radius: 5px;
    transition: .4s;
}

.bkn__card:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.bkn__img {
    position: relative;
    width: 100%;
    height: 235px;
    border-radius: 5px 5px 0 0;
}

.bkn__img-link {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.bkn__img-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px 5px 0 0;
}

.bkn__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 15px 5px 15px;
    background-color: #E3802B;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.1em;
    font-family: 'Rubik', sans-serif;
    border-radius: 9999px;
}

.bkn__type {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 7px 9px 6px 11px;
    background-color: #4674A8;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.05em;
}

.bkn__favorite {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background-color: #F3F3F3;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bkn__favorite::before {
    content: "";
    display: block;
    width: 25px;
    height: 23px;
    color: #4674A8;
    background: url(/images/icon_favo.svg) no-repeat center / cover;
}

.bkn__favorite.is-checked::before {
    background: url(/images/icon_favo_on.svg) no-repeat center / cover;
}

.bkn__favorite.is-checked::before {
    color: #E3802B;
}

.bkn__body {
    display: block;
    padding: 24px 24px 34px 28px;
    text-decoration: none;
    color: inherit;
}

.bkn__name {
    margin: 0 0 11px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.389;
    color: #404040;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    letter-spacing: 0.05em;
}

.bkn__price-spec {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 0 0 12px;
}

.bkn__price {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: #404040;
    line-height: 1;
    letter-spacing: 0.05em;
}

.bkn__price .price {
    font-family: "Lexend Zetta", sans-serif;
    color: #E3802B;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -2.52px;
    margin: 0 3px 0 0;
}

.bkn__spec,
.bkn__address,
.bkn__traffic {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.385;
    color: #7C7C7C;
    letter-spacing: 0.05em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.bkn__spec {
    line-height: 1;
    flex: 1;
}

.bkn__traffic {
    margin: 0;
}

/*//////////////////// Search ////////////////////*/
.section__wrap--search {
    position: relative;
    padding-block: 0 173px;
}

.section__ttl-wrap--search {
    margin-bottom: 52px;
}

.section__inner--search {
    position: relative;
}

.search__body {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    padding: 70px 0 80px;
}

.search__body:before {
    position: absolute;
    width: 1410px;
    height: 607px;
    content: "";
    display: block;
    background: url(/images/bg_search.webp) no-repeat center center / cover;
    left: 0;
    top: 0;
}

.search__body:after {
    position: absolute;
    content: "";
    top: 0;
    width: calc((100vw - 1140px) / 2);
    height: 100%;
    background: #d7f2ef;
    right: 100%;
}

.search__narrow {
    width: 520px;
    position: relative;
}

.search__sub-ttl {
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 500;
    color: #404040;
    letter-spacing: 0.05em;
    line-height: 1;
}

.search__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.search__card {
    position: relative;
    width: 250px;
    height: 194px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    border-radius: 5px;
    transition: .4s;
}

.search__card-trigger {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    padding: 0 0 2px;
}

.search__card:hover {
    background: #e4f5ff;
    transition: .4s;
}

.search__card::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 17px;
    width: 14px;
    height: 14px;
    background: url(/images/plus_search-b.svg) no-repeat center center / cover;
}

.search__card.is-open::after {
    content: "−";
}

.search__card img {
    display: block;
    width: 230px;
    height: 137px;
    margin: 0 auto;
    object-fit: cover;
}

.search__card-ttl {
    display: block;
    margin: 13px 0 0;
    font-size: 15px;
    font-weight: 500;
    color: #404040;
    padding: 0 20px;
    letter-spacing: 0.05em;
}

.search__dropdown {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 20px;
    list-style: none;
    background-color: #fff;
}

.search__card.is-open .search__dropdown {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

[class^="search__dropdown--"] {
    display: block;
    padding: 10px 0 10px 10px;
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #e2812b;
    border-radius: 9999px;
    width: 210px;
    height: 44px;
    position: relative;
    letter-spacing: 0.05em;
}

[class^="search__dropdown--"]:before {
    content: "";
    display: block;
    position: absolute;
    width: 22px;
    height: 22px;
    background: #000;
    left: 20px;
}

[class^="search__dropdown--"]:hover {
    transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 6px;
}

.search__dropdown--kodate:before {
    background: url(/images/icon_search_kodate-min.webp) no-repeat center / cover;
}

.search__dropdown--mansion:before {
    background: url(/images/icon_search_mansion-min.webp) no-repeat center / cover;
}

.search__dropdown--land:before {
    background: url(/images/icon_search_land-min.webp) no-repeat center / cover;
}

.search__right {
    width: 570px;
    position: relative;
}

.search__type-list {
    display: flex;
    gap: 18px;
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}

.search__type-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 11px;
    width: 178px;
    height: 137px;
    background-color: #E3802B;
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.05em;
    border-radius: 5px;
}

.search__type-btn:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.search__type-btn img {
    display: block;
    width: 74px;
    height: 74px;
}

.search__freeword {
    margin-bottom: 40px;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    background: transparent;
    border: none;
    border-radius: 0;
}

.search__freeword-row {
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
    height: 60px;
    background: #fff;
    border-radius: 9999px;
    padding: 0 10px;
}

.search__freeword-input {
    width: 100% !important;
    flex: 1;
    height: 100% !important;
    padding: 0 20px !important;
    border: none !important;
    background-color: transparent !important;
    font-size: 14px;
    color: #404040;
    letter-spacing: 0.05em;
}

.search__freeword-row input:-webkit-autofill,
.search__freeword-row input:-webkit-autofill:hover,
.search__freeword-row input:-webkit-autofill:focus {
    box-shadow: 0 0 0px 1000px #fff inset !important;
    border-radius: 9999px;
}

.search__freeword-input::placeholder {
    color: #AFAFAF;
}

.search__freeword-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    cursor: pointer;
    border-radius: 9999px;
    position: relative;
}

.search__freeword-btn img {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    transition: .4s;
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.search__freeword-glass {
    opacity: 1;
    visibility: visible;
}

.search__freeword-glass-on {
    opacity: 0;
    visibility: hidden;
}

.search__freeword-btn:hover .search__freeword-glass {
    opacity: 0;
    visibility: hidden;
    transition: .4s;
}

.search__freeword-btn:hover .search__freeword-glass-on {
    opacity: 1;
    visibility: visible;
    transition: .4s;
}

.search__price-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.search__price-select {
    width: 190px;
    height: 60px;
    padding: 0 29px;
    border: 1px solid #D5D5D5;
    font-size: 14px;
    color: #404040;
    border-radius: 5px;
    letter-spacing: 0.05em;
    position: relative;
    background: #fff url(/images/arrow_price-b.svg) no-repeat 158px 25px / 12px 8px;
}

.search__price-tilde {
    color: #404040;
}

.search__price-btn {
    width: 134px;
    height: 60px;
    border: none;
    background-color: #4674A8;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    margin: 0 0 0 6px;
    border-radius: 9999px;
    letter-spacing: 0.05em;
    transition: .4s;
}

.search__price-btn:hover {
    background-color: #fff;
    color: #4674A8;
    transition: .4s;
}

/*//////////////////// Featured ////////////////////*/
.section__wrap--featured {
    overflow: hidden;
    padding-block: 0;
}

.l-main:has(.section__wrap--member) .section__wrap--featured {
    padding-block: 0 180px;
}

.section__inner--featured {
    overflow: visible;
}

.section__ttl-wrap--featured {
    position: relative;
    width: 100%;
    margin-bottom: 52px;
}

.section__wrap--featured .swiper__option {
    top: 46px;
}

.js-featured-swiper {
    width: 460px;
    height: 460px;
    margin: 0 auto;
    overflow: visible;
}

.js-featured-swiper .swiper-wrapper {
    align-items: center;
}

.js-featured-swiper .swiper-slide {
    width: 340px;
    height: 340px;
    overflow: visible;
    box-sizing: border-box;
    transition: transform 0.8s ease;
}

.js-featured-swiper .swiper-slide.is-before {
    transform: translate3d(-60px, 0, 0);
}

.js-featured-swiper .swiper-slide.is-after {
    transform: translate3d(60px, 0, 0);
}

.js-featured-swiper .swiper-slide-active {
    z-index: 2;
    transform: translate3d(0, 0, 0);
}

.featured__card {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.8s ease;
    border-radius: 7px;
}

.js-featured-swiper .swiper-slide-active .featured__card {
    transform: scale(calc(460 / 340));
}

.featured__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s;
}

.featured__card:hover .featured__img {
    transform: scale(1.05);
    transition: .4s;
}

.featured__en {
    position: absolute;
    left: 11px;
    bottom: -22px;
    font-family: "Rubik", sans-serif;
    font-size: 46px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #fff;
    white-space: nowrap;
}

.js-featured-swiper .swiper-slide-active .featured__en {
    font-size: 38px;
    left: 9px;
    bottom: -16px;
}

.featured__jp {
    position: absolute;
    top: 15px;
    right: 15px;
    font-weight: 500;
    color: #404040;
    writing-mode: vertical-rl;
    background: #fff;
    font-size: 18px;
    padding: 22px 11px 19px 12px;
    letter-spacing: 0.24em;
    border-radius: 5px;
    text-orientation: upright;
}

.js-featured-swiper .swiper-slide-active .featured__jp {
    top: 15px;
    right: 14px;
    padding: 19px 13px 19px 11px;
    font-size: 18px;
    letter-spacing: 0.26em;
}

.featured__jp span {
    color: #59A4CC;
}

/*//////////////////// Member ////////////////////*/
.section__wrap--member {
    height: 597px;
    padding-block: 0 0;
    background-image: url("/images/bg_member.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.section__inner--member {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    height: 597px;
    padding: 60px 0 0;
}

.member__card {
    width: 776px;
    padding: 40px 36px;
    background-color: #fff;
    border-radius: 20px;
}

.section__ttl--member {
    margin: 0 0 36px;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    color: #404040;
    text-align: center;
    padding: 4px 0 0;
}

.member__separate {
    display: flex;
    gap: 3px;
    font-size: 32px;
    letter-spacing: 0.05em;
    justify-content: center;
    margin: 0 0 4px;
    padding: 0 0 0 2px;
}

.member__separate span {
    display: flex;
    color: #fff;
    width: 58px;
    height: 58px;
    background: #E5BA74;
    font-size: 40px;
    letter-spacing: 0.05em;
    border-radius: 5px;
    line-height: 1;
    justify-content: center;
    align-items: center;
    position: relative;
    bottom: 4px;
    padding: 0 0 2px 2px;
}

.member__separate span:last-of-type {
    margin: 0 5px 0 0;
}

.member__list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    justify-content: center;
}

[class^="member__item--"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #F8F7ED;
    padding: 31px 0 16px;
    position: relative;
}

.member__item--1 {
    width: 150px;
}

.member__item--2 {
    width: 165px;
}

.member__item--3 {
    width: 166px;
}

.member__item--4 {
    width: 150px;
}

[class^="member__item--"]:before {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: flex;
    background: #E5BA74;
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    color: #fff;
    font-family: "Rubik", sans-serif;
    font-size: 18px;
    line-height: 1;
    justify-content: center;
    align-items: center;
    font-weight: 500;
}

.member__item--1:before {
    content: "01";
}

.member__item--2:before {
    content: "02";
}

.member__item--3:before {
    content: "03";
}

.member__item--4:before {
    content: "04";
}

[class^="member__item--"] img {
    display: block;
    width: 54px;
    height: 54px;
}

.member__text {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.534;
    color: #404040;
    text-align: center;
    letter-spacing: 0.05em;
}

.section__btn--member {
    margin: 0 auto;
    width: 383px;
    height: 70px;
    gap: 10px;
    background: #E3802B;
    border-radius: 10px;
    color: #fff;
    padding: 0 30px 0 0;
}

.section__btn--member:after {
    background: url(/images/arrow_contact-w.svg) no-repeat center / cover;
}

.section__btn--member:hover {
    background-color: #E3802B;
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.section__btn--member img {
    display: block;
    width: 44px;
    height: 44px;
}

/*//////////////////// News ////////////////////*/
.section__wrap--news {
    padding-block: 173px 170px;
}

.section__ttl-wrap--news {
    margin-bottom: 52px;
}

.news__box--wrapper {
    background-color: #F2F3F4;
    padding: 60px 80px;
    border-radius: 50px;
}

.news__box {
    max-height: 447px;
    border: none;
    overflow: auto;
    border-radius: 0;
}

.news__item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid #D5D5D5;
}

.news__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.news__date {
    flex-shrink: 0;
    width: 110px;
    position: relative;
    padding: 0 0 0 17px;
}

.news__date:before {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 9999px;
    background: #4674A8;
    left: 0;
    top: 2px;
}

.news__date time {
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    color: #4674A8;
    letter-spacing: 0.05em;
}

.news__ttl {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: #404040;
    letter-spacing: 0.05em;
}

.news__text {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #404040;
}

/*//////////////////// Customer ////////////////////*/
.section__wrap--customer {
    overflow: hidden;
    padding-block: 0 173px;
}

.section__inner--customer {
    position: relative;
    overflow: visible;
}

.section__ttl-wrap--customer {
    position: relative;
    margin-bottom: 42px;
}

.section__wrap--customer .swiper__option {
    top: 46px;
}

.section__wrap--customer:has(.is-noslide) .swiper__option {
    display: none;
}

.js-customer-swiper {
    padding-top: 10px;
    padding-bottom: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

.js-customer-swiper.is-noslide .swiper-wrapper {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.js-customer-swiper .swiper-slide {
    width: 354px;
    height: 361px;
}

.customer__card {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    text-decoration: none;
    border: 1px solid #9A9A9A;
    border-radius: 5px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.1);
    transition: .4s;
}

.customer__card:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.customer__img {
    display: block;
    width: 100%;
    height: 235px;
    object-fit: cover;
    border-radius: 5px;
}

.customer__body {
    padding: 24px 26px;
}

.customer__name {
    margin: 0 0 10px;
    font-weight: 500;
    color: #404040;
    text-align: center;
    font-size: 18px;
    line-height: 1.389;
    letter-spacing: 0.05em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.customer__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.385;
    color: #7C7C7C;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    letter-spacing: 0.05em;
}

/*//////////////////// Contact2 ////////////////////*/
.section__wrap--contact2 {
    padding-block: 60px;
    background: #E4F5FF;
    margin-bottom: 64px;
}

.contact2__body {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    margin-left: 0;
    position: relative;
}

.section__inner--contact2 {
    background: #fff;
    width: 942px;
    border-radius: 20px;
    padding: 93px 100px 100px;
}

.section__ttl-wrap--contact2 {
    margin-bottom: 52px;
}

[class*="contact2__staff--"] {
    margin: 0;
    flex-shrink: 0;
    position: absolute;
    bottom: -160px;
}

[class*="contact2__staff--"] img {
    display: block;
    width: 329px;
    height: 486px;
}

.contact2__staff--left {
    left: -354px;
}

.contact2__staff--right {
    right: -340px;
    bottom: -160px;
}

.contact2__main {
    width: 100%;
}

.contact2__bubble {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 24px;
    width: 190px;
    height: 190px;
    border-radius: 9999px;
    background-color: #D7F2EF;
    font-size: 18px;
    color: #7C8C8A;
    position: absolute;
    right: -121px;
    top: -174px;
    text-align: center;
    letter-spacing: 0.05em;
    font-weight: 400;
    padding: 0 0 0 2px;
}

.contact2__bubble:before {
    position: absolute;
    content: "";
    width: 34px;
    height: 35px;
    background: url(/images/deco_fukidashi-contact.svg) no-repeat center / cover;
    right: 53px;
    bottom: -15px;
}

.contact2__list--wrapper h3 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #4674A8;
    font-weight: 500;
    margin: 0 0 20px;
}

.contact2__list--wrapper:last-of-type h3 {
    color: #499A91;
}

.contact2__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact2__list--wrapper:first-of-type {
    margin: 0 0 35px;
}

[class*="contact2__card--"] {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 234px;
    height: 99px;
    padding: 0 16px 0 19px;
    color: #fff;
    text-decoration: none;
    position: relative;
    border-radius: 10px;
}

[class*="contact2__card--"]::after {
    position: absolute;
    content: "";
    display: block;
    background: url(/images/arrow_contact2-w.svg) no-repeat center / cover;
    width: 17px;
    height: 12px;
    right: 16px;
    bottom: 12px;
}

[class*="contact2__card--"]:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.contact2__card--estate {
    background-color: #4674A8;
}

.contact2__card--satei {
    background-color: #59A4CC;
}

.contact2__card--build,
.contact2__card--reform {
    background-color: #499A91;
}

.contact2__card--welfare {
    background-color: #55B996;
}

[class*="contact2__card--"] img {
    display: block;
    width: 59px;
    height: 59px;
}

.contact2__card-ttl {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.534;
    letter-spacing: 0.05em;
}

/*//////////////////// Promise ////////////////////*/
.section__wrap--promise {
    padding-block: 0 173px;
}

.section__ttl-wrap--promise {
    margin: 0 0 51px;
}

.promise__lead {
    margin: 0 0 41px;
    font-size: 20px;
    color: #404040;
    text-align: left;
    font-weight: 500;
    line-height: 1.8;
    padding: 0 0 0 21px;
    letter-spacing: 0.05em;
    position: relative;
}

.promise__lead:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: #499A91;
    border-radius: 9999px;
    left: 0;
    bottom: 16px;
}

.promise__green {
    color: #499A91;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0 0 0 2px;
}

.promise__num {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.promise__list {
    display: flex;
    flex-wrap: wrap;
    gap: 48px 39px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.promise__card {
    width: 354px;
    height: 369px;
    position: relative;
}

.promise__img {
    display: block;
    width: 354px;
    height: 266px;
    object-fit: cover;
}

.promise__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px 0;
}

.promise__icon {
    display: block;
    width: 76px;
    height: 47px;
    flex-shrink: 0;
    position: absolute;
    top: -21px;
    left: 52%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.promise__card:first-of-type .promise__icon {
    left: 50%;
}

.promise__ttl {
    margin: 0 0 2px;
    font-size: 18px;
    font-weight: 500;
    color: #404040;
    text-align: center;
    line-height: 1.389;
    letter-spacing: 0.05em;
}

.promise__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.385;
    color: #7C7C7C;
    letter-spacing: 0.05em;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}

/*//////////////////// Property ////////////////////*/
.section__wrap--property {
    padding-block: 0 263px;
}

.property__body {
    position: relative;
    padding: 70px 0 0;
}

.property__body:before {
    position: absolute;
    width: 1410px;
    height: 763px;
    content: "";
    display: block;
    background: url(/images/bg_property.webp) no-repeat center center / cover;
    right: 0;
    top: 0;
}

.property__body:after {
    position: absolute;
    content: "";
    top: 0;
    width: calc((100vw - 1140px) / 2);
    height: 763px;
    background: #d7f2ef;
    left: 100%;
}

.section__ttl-wrap--property {
    margin: 0 0 52px;
}

.property__lead {
    margin: -20px 0 40px;
    font-size: 16px;
    font-weight: 400;
    color: #7C7C7C;
    text-align: center;
}

.property__lead {
    margin: 0 0 40px;
    font-size: 20px;
    color: #404040;
    text-align: left;
    font-weight: 500;
    line-height: 1.8;
    padding: 0 0 0 21px;
    letter-spacing: 0.05em;
    position: relative;
}

.property__lead:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: #499A91;
    border-radius: 9999px;
    left: 0;
    bottom: 13px;
}

.property__green {
    color: #499A91;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.property__types {
    display: flex;
    justify-content: space-between;
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}

.property__type {
    position: relative;
    width: 320px;
    height: 320px;
}

.property__type:not(:last-of-type):after {
    position: absolute;
    content: "";
    top: 50%;
    right: -62px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 32px;
    height: 32px;
}

.property__type:first-of-type:after {
    background: url(/images/deco_property1.svg) no-repeat center / cover;
}

.property__type:nth-of-type(2):after {
    background: url(/images/deco_property2.svg) no-repeat center / cover;
}

.property__type img {
    display: block;
    width: 320px;
    height: 320px;
    object-fit: cover;
}

.property__type-ttl {
    position: absolute;
    right: 0;
    bottom: 93px;
    left: 0;
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
}

.property__type-detail {
    position: absolute;
    right: 0;
    bottom: 40px;
    left: 0;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.715;
}

.property__strong {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    z-index: 1;
}

.property__strong-item {
    width: 138px;
    text-align: center;
}

.property__strong-item img {
    display: block;
    width: 138px;
    height: 138px;
    margin: 0 auto 7px;
}

.property__strong-ttl {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: #404040;
    letter-spacing: 0.05em;
}

/*//////////////////// Inheritance ////////////////////*/
.section__wrap--inheritance {
    padding-block: 0 173px;
}

.section__ttl-wrap--inheritance {
    width: 1140px;
    margin-inline: auto;
    margin-bottom: 51px;
}

.inheritance__lead {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 0 30px;
    padding-left: 10px;
}

.inheritance__lead-dot {
    display: block;
    flex-shrink: 0;
    width: 10px;
    height: 20px;
}

.inheritance__lead-text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1px;
    color: #404040;
}

.inheritance__lead-em {
    color: #499A91;
}

.inheritance__lead-dai {
    letter-spacing: 3px;
}

.inheritance__lead-num {
    font-size: 30px;
}

.inheritance__panel {
    padding: 60px 10px 80px;
    margin: 0 0 40px;
    background-color: #F2F3F4;
    border-radius: 50px;
    position: relative;
}

.inheritance__panel:before {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: url(/images/bg_inheritance.webp) no-repeat center center / cover;
    width: 1282px;
    height: 497px;
}

.inheritance__meter {
    margin: 0 0 40px;
    position: relative;
}

.inheritance__meter-ttl {
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.9px;
    color: #52809F;
    text-align: center;
}

.inheritance__meter-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.inheritance__meter-good,
.inheritance__meter-bad {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    color: #404040;
}

.inheritance__meter-good {
    background-color: #fff;
}

.inheritance__meter-bad {
    background-color: #E4E4E4;
}

.inheritance__meter-arrow {
    display: block;
    flex: 1 1 auto;
    width: auto;
    height: 38px;
}

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

.inheritance__card {
    position: relative;
    width: 354px;
}

.inheritance__badge {
    position: absolute;
    top: -24px;
    left: 235px;
    z-index: 2;
    width: 77px;
    height: 59px;
}

.inheritance__badge img {
    display: block;
    width: 77px;
    height: 59px;
}

.inheritance__badge-txt {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    color: #fff;
    text-align: center;
}

.inheritance__icon {
    position: relative;
    z-index: 2;
    width: 100px;
    height: 100px;
    margin: 0 auto -50px;
}

.inheritance__icon img {
    display: block;
    width: 100px;
    height: 100px;
}

.inheritance__body {
    height: 194px;
    padding: 70px 30px 35px;
    background-color: #fff;
    border: 1px solid #67798E;
    border-radius: 10px;
}

.inheritance__ttl {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    color: #404040;
    text-align: center;
}

.inheritance__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.65px;
    color: #7C7C7C;
}

.inheritance__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1140px;
    margin: 0 auto;
}

.inheritance__note {
    width: 600px;
}

.inheritance__note-text {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.75px;
    color: #404040;
}

.inheritance__cta-arw {
    margin: 0;
    flex-shrink: 0;
}

.inheritance__cta-arw img {
    display: block;
    width: 29px;
    height: 32px;
}

.inheritance__cta-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 40px;
    background-color: #D7F2EF;
    border-radius: 10px;
}

.inheritance__cta-text {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1px;
    color: #4674A8;
}

.section__btn--inheritance {
    position: relative;
    width: 383px;
    height: 70px;
    margin: 0;
    padding: 0 45px;
    gap: 10px;
    justify-content: flex-start;
    background-color: #4674A8;
    color: #fff;
    letter-spacing: 0.9px;
}

.section__btn--inheritance:after {
    background: url(/images/arrow_contact-w.svg) no-repeat center / cover;
    right: 33px;
}

.section__btn--inheritance:hover {
    background-color: #4674A8;
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.section__btn--inheritance img {
    display: block;
    width: 33px;
    height: 33px;
    flex-shrink: 0;
}

.section__btn--inheritance .inheritance__btn-arw {
    width: 21px;
    height: 11px;
    margin-left: auto;
    position: relative;
    right: -10px;
}

/*//////////////////// Staff ////////////////////*/
.section__wrap--staff {
    overflow: hidden;
    padding-block: 0 173px;
}

.section__inner--staff {
    position: relative;
    overflow: visible;
}

.section__ttl-wrap--staff {
    position: relative;
    margin-bottom: 52px;
    width: fit-content;
}

.js-staff-swiper {
    padding-bottom: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

.js-staff-swiper.is-noslide .swiper-wrapper {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.js-staff-swiper.is-noslide .swiper__option {
    display: none;
}

.js-staff-swiper .swiper-slide {
    width: 354px;
    height: 361px;
}

.staff__card {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    border: 1px solid #9A9A9A;
    border-radius: 5px;
    transition: .4s;
}

.staff__card:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.staff__img {
    position: relative;
    width: 100%;
    height: 235px;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
}

.staff__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 5px 5px 0 0;
}

.staff__dept {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 225px;
    margin: 0;
    padding: 10px;
    background-color: #A7B4C0;
    border-radius: 5px 0 0 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.7px;
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.staff__body {
    padding: 24px 28px 30px;
    text-align: center;
}

.staff__name {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    color: #404040;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.staff__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.65px;
    color: #7C7C7C;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/*//////////////////// Blog ////////////////////*/
.section__wrap--blog {
    overflow: hidden;
    padding-block: 0 173px;
}

.section__inner--blog {
    position: relative;
    overflow: visible;
}

.section__ttl-wrap--blog {
    position: relative;
    margin-bottom: 52px;
    width: fit-content;
}

.section__wrap--blog .swiper__option {
    top: 46px;
}

.section__wrap--blog:has(.is-noslide) .swiper__option {
    display: none;
}

.js-blog-swiper {
    padding-bottom: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

.js-blog-swiper.is-noslide .swiper-wrapper {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.js-blog-swiper .swiper-slide {
    width: 354px;
    height: 361px;
}

.blog__card {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    border: 1px solid #9A9A9A;
    border-radius: 5px;
    transition: .4s;
}

.blog__card:hover {
    transform: translateY(-5px);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}

.blog__img {
    width: 100%;
    height: 235px;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
}

.blog__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 5px 5px 0 0;
}

.blog__body {
    padding: 24px 28px 30px;
    text-align: center;
}

.blog__ttl {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.9px;
    color: #404040;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.blog__text {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.65px;
    color: #7C7C7C;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/*//////////////////// FAQ ////////////////////*/
.section__wrap--faq {
    padding-block: 0 173px;
}

.section__ttl-wrap--faq {
    position: relative;
    margin-bottom: 52px;
    width: fit-content;
}

.faq__list {
    width: 1140px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.faq__item {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #D5D5D5;
    padding-right: 3px;
}

.faq__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.faq__q,
.faq__a {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0;
}

.faq__q {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.389;
    letter-spacing: 0.9px;
    color: #404040;
}

.faq__a {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.534;
    letter-spacing: 0.75px;
    color: #7C7C7C;
}

.faq__q-txt,
.faq__a-txt {
    flex: 1;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}

[class*="faq__mark"] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-family: "Rubik", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.1px;
    color: #fff;
}

.faq__mark--q {
    background-color: #67798E;
}

.faq__mark--a {
    background-color: #499A91;
}

/*//////////////////// Company ////////////////////*/
.section__wrap--company {
    padding-block: 0 260px;
}

.company__body {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    padding: 72px 0 0;
    position: relative;
}

.company__body:before {
    position: absolute;
    content: "";
    display: block;
    background: url(/images/bg_company.webp) no-repeat center / cover;
    width: 1077px;
    height: 688px;
    top: 2px;
}

.company__body:after {
    position: absolute;
    content: "";
    top: 2px;
    width: calc((100vw - 1140px) / 2);
    height: 688px;
    background: #d7f2ef;
    right: 100%;
}

.company__list {
    width: 547px;
    margin: 0;
    position: relative;
}

.company__row {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 20px 0;
    border-bottom: 1px solid #D5D5D5;
}

.company__row:first-child {
    padding-top: 0;
}

.company__row:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.company__dt {
    flex-shrink: 0;
    width: 78px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.534;
    letter-spacing: 0.75px;
    color: #404040;
}

.company__dd,
.company__dd a {
    flex: 1;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.534;
    letter-spacing: 0.75px;
    color: #7C7C7C;
}

.company__dd a {
    color: inherit;
    text-decoration: none;
}

.company__img {
    margin: 0;
    flex-shrink: 0;
    width: 533px;
    height: 540px;
    overflow: hidden;
    border-radius: 30px;
    position: relative;
}

.company__img img {
    display: block;
    width: 533px;
    height: 540px;
    object-fit: cover;
}

/*//////////////////// Banner ////////////////////*/
.section__inner--banner,
.section__inner--bannergroup,
.section__inner--freehtml {
    width: 1140px;
    margin: 0 auto;
}

.section__btn--company {
    margin: 113px auto 0;
}