@charset "UTF-8";

/* トップオリ：レイアウト枠 */
body {
    margin: 0;
}

.l-main {
    width: auto;
    padding: 0;
    overflow: hidden;
    background: #FFFFFF;
}

.l-main * {
    font-family: "Noto Sans JP", sans-serif;
}

/* FV（メインビジュアル） */
.mv {
    position: relative;
    width: 1920px;
    left: 50%;
    transform: translateX(-50%);
}
.mv__slider-area {
    position: relative;
    width: 1920px;
}
.mv__slider-item {
    position: relative;
    width: 1920px;
    height: 840px;
}
.mv__img {
    display: block;
    width: 1920px;
    height: 840px;
    margin: 0;
}
.mv__img img {
    display: block;
    width: 100%;
    height: 100%;
}
.mv__btn {
    position: absolute;
    top: 683px;
    left: 1044px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 490px;
    height: 110px;
    border: 2px solid #ffffff;
    border-radius: 99999px;
    background-image: linear-gradient(100deg, #ff9b28 4.55%, #d80000 135.32%);
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.25), inset 0 4px 10px rgba(255, 255, 255, 0.38);
    text-decoration: none;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}
.mv__btn:hover {
    opacity: 1;
    transform: scale(1.03);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3), inset 0 4px 10px rgba(255, 255, 255, 0.45);
    filter: brightness(1.08);
}
.mv__btn-caption {
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    color: #fff102;
    text-align: center;
    white-space: nowrap;
}
.mv__btn-main {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mv__btn-icon {
    display: block;
    width: 32px;
    height: 24px;
}
.mv__btn-text {
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}
.mv .swiper-pagination {
    position: unset;
    margin: 20px 0;
}
.mv .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
    margin: 0 8px;
    background-color: #d9d9d9;
    opacity: 1;
}
.mv .swiper-pagination-bullet-active {
    background-color: #2B346E;
}

/* org1: 売却・買取実績 */
.section--achievements {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_achievements.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--achievements .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--achievements .section__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.section--achievements .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--achievements .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--achievements .section__title-text {
    color: #1c1c1c;
}
.section--achievements .section__character {
    position: absolute;
    top: -68px;
    left: 823px;
    display: block;
    width: 307px;
    height: 189px;
    z-index: -1;
}
.section--achievements .section__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
}
.section--achievements .section__list {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.card--achievements,
.card--property {
    width: 360px;
    min-height: 414px;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 3px 6.5px rgba(0, 0, 0, 0.14);
}
.card--achievements > a,
.card--property > a {
    display: block;
    color: inherit;
    text-decoration: none;
}
.card--achievements a:hover,
.card--property a:hover {
    opacity: 1;
}
.card--achievements .card__image,
.card--property .card__image {
    display: block;
    width: 320px;
    height: 240px;
    margin-bottom: 14px;
    overflow: hidden;
}
.card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #dddddd;
}
.card--achievements .card__image img,
.card--property .card__image img {
    transition: transform 0.4s ease;
}
.card--achievements > a:hover .card__image img,
.card--property > a:hover .card__image img {
    transform: scale(1.1);
}
.card--achievements .card__body,
.card--property .card__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 320px;
}
.card--achievements .card__text,
.card--property .card__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.card--achievements .card__title,
.card--property .card__title {
    margin: 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    color: #2b346e;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.card--achievements .card__desc,
.card--property .card__desc {
    margin: 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.card--achievements .card__tags,
.card--property .card__tags {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.card--achievements .card__tag,
.card--property .card__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    background-color: #d8d8d8;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
    white-space: nowrap;
}
.more-btn,
[class^="more-btn--"] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 240px;
    height: 60px;
    padding: 8px 10px 10px;
    border-radius: 9999px;
    background-color: #ffffff;
    box-shadow: 0 4px 2px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
    text-decoration: none;
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.more-btn:hover,
[class^="more-btn--"]:hover {
    opacity: 1;
    background-color: #2b346e;
}
.more-btn__label {
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    color: #2b346e;
    white-space: nowrap;
    transition: color 0.3s ease;
}
.more-btn:hover .more-btn__label,
[class^="more-btn--"]:hover .more-btn__label {
    color: #ffffff;
}
.more-btn__icon {
    position: absolute;
    top: 20px;
    left: 200px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #2b346e;
    transition: background-color 0.3s ease;
}
.more-btn:hover .more-btn__icon,
[class^="more-btn--"]:hover .more-btn__icon {
    background-color: #ffffff;
}
.more-btn__icon::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #ffffff;
    transition: border-left-color 0.3s ease;
}
.more-btn:hover .more-btn__icon::after,
[class^="more-btn--"]:hover .more-btn__icon::after {
    border-left-color: #2b346e;
}

/* org2: 自社保有物件 */
.section--owned {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background-color: #fff8e7;
    overflow: hidden;
    box-sizing: border-box;
    background: url(/images/top/bg_owned.webp) no-repeat center center / cover;
}
.section--owned .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--owned .section__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.section--owned .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--owned .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #fff102;
    color: #2b346e;
}
.section--owned .section__title-text {
    color: #1c1c1c;
}
.section--owned .section__character {
    position: absolute;
    top: -81px;
    left: 38px;
    display: block;
    width: 282px;
    height: 238px;
    z-index: -1;
}
.section--owned .section__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
}
.section--owned .section__list {
    display: flex;
    gap: 30px;
    width: 100%;
}

/* org3: Youtube */
.section--youtube {
    width: 100%;
    padding: 100px 0;
    background-color: #ffffff;
    box-sizing: border-box;
}
.section--youtube .section__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--youtube .section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}
.section--youtube .section__lead {
    display: flex;
    gap: 7px;
    margin: 0;
    position: relative;
}
.section--youtube .section__lead::before {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--left.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--youtube .section__lead::after {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--right.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--youtube .section__lead-text {
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: #000000;
    text-align: center;
    white-space: nowrap;
}
.section--youtube .section__lead-text--accent {
    color: #ff5900;
}
.section--youtube .section__title {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--youtube .section__title-text {
    color: #1c1c1c;
}
.section--youtube .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #ef1c1c;
    color: #ffffff;
}
.section--youtube .section__body {
    width: 100%;
    line-height: 0;
}
.section--youtube .section__movies {
    display: flex;
    align-items: stretch;
    gap: 20px;
    width: 1141px;
    height: 428px;
    margin: 0 auto;
}
.section--youtube [class^="section__movie--"] {
    overflow: hidden;
    background-color: #000000;
}
.section--youtube [class^="section__movie--"] iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
.section--youtube .section__movie--main {
    flex-shrink: 0;
    width: 761px;
    height: 428px;
}
.section--youtube .section__movie-list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-shrink: 0;
    width: 360px;
    height: 428px;
}
.section--youtube .section__movie--sub {
    width: 360px;
    height: 204px;
}

/* org4: お悩み・お困りごと */
.section--worries {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}
.section--worries .section__upper {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 854px;
    background: url(/images/top/bg_worries.webp) no-repeat center center / cover;
}
.section--worries .section__upper .section__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
    padding-top: 100px;
}
.section--worries .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--worries .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--worries .section__title-text {
    color: #1c1c1c;
}
.section--worries .section__list {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 600px;
}
.section--worries [class^="section__item--"] {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 35px;
    background-color: transparent;
}
.section--worries [class^="section__item--"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    pointer-events: none;
}
.section--worries .section__item-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}
.section--worries .section__item--01 {
    top: 56px;
    left: 255px;
    width: 290px;
    height: 176px;
}
.section--worries .section__item--01::before {
    background: url(/images/top/deco_worries01.webp) no-repeat center center / cover;
}
.section--worries .section__item--02 {
    top: 172px;
    left: -26px;
    width: 310px;
    height: 192px;
}
.section--worries .section__item--02::before {
    background: url(/images/top/deco_worries02.webp) no-repeat center center / cover;
}
.section--worries .section__item--03 {
    top: 385px;
    left: 2px;
    width: 315px;
    height: 213px;
}
.section--worries .section__item--03::before {
    background: url(/images/top/deco_worries03.webp) no-repeat center center / cover;
}
.section--worries .section__item--04 {
    top: 82px;
    left: 820px;
    width: 333px;
    height: 187px;
}
.section--worries .section__item--04::before {
    background: url(/images/top/deco_worries04.webp) no-repeat center center / cover;
}
.section--worries .section__item--05 {
    top: 157px;
    left: 544px;
    width: 285px;
    height: 160px;
}
.section--worries .section__item--05::before {
    background: url(/images/top/deco_worries05.webp) no-repeat center center / cover;
}
.section--worries .section__item--06 {
    top: 324px;
    left: 799px;
    width: 332px;
    height: 227px;
}
.section--worries .section__item--06::before {
    background: url(/images/top/deco_worries06.webp) no-repeat center center / cover;
}
.section--worries .section__character--stress {
    position: absolute;
    top: 459px;
    left: -39px;
    right: 0;
    margin: auto;
    z-index: 1;
    display: block;
    width: 407px;
    height: 674px;
}
.section--worries .section__lower {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 679px;
    margin-top: -77px;
    background: url(/images/top/bg_contact-other.webp) no-repeat center center / cover;
}
.section--worries .section__inner--contact {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1140px;
    margin: 0 auto;
    padding-top: 136px;
}
.section--worries .section__character--smile {
    position: absolute;
    top: 58px;
    left: 817px;
    z-index: -1;
    display: block;
    width: 416px;
    height: 515px;
}
.section--worries .section__heading {
    margin-bottom: 37px;
}
.section--worries .section__lead {
    position: relative;
    margin-bottom: 14px;
    padding-top: 8px;
    padding-left: 13px;
}
.section--worries .section__dots {
    position: absolute;
    top: 0;
    left: 25px;
    display: flex;
    gap: 23px;
}
.section--worries .section__dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ffffff;
}
.section--worries .section__lead-text {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.4;
    color: #ffffff;
    white-space: nowrap;
}
.section--worries .section__lead-text--accent {
    color: #fff102;
}
.section--worries .section__catch {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
}
.section--worries .section__catch-badge {
    margin-right: 15px;
    padding: 0px 10px 4px;
    background-color: #fff102;
    transform: rotate(-4deg);
    font-weight: 700;
    font-size: 80px;
    line-height: 1.2;
    color: #2b346e;
    white-space: nowrap;
}
.section--worries .section__catch-text {
    font-weight: 700;
    font-size: 80px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}
.section--worries [class^="section__balloon--"] {
    position: absolute;
    z-index: 2;
    font-weight: 700;
    text-align: center;
}
.section--worries .section__balloon-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.section--worries [class^="section__balloon--"] > :not(.section__balloon-bg) {
    position: relative;
    z-index: 1;
}
.section--worries .section__balloon--consult {
    top: 256px;
    left: 953px;
    width: 210px;
    height: 180px;
    padding: 55px 10px 20px;
    font-size: 30px;
    line-height: 1.2;
    color: #2b346e;
}
.section--worries .section__balloon-name {
    color: #2b346e;
}
.section--worries .section__balloon-text {
    color: #151515;
}
.section--worries .section__balloon--easy {
    top: 322px;
    left: -30px;
    width: 160px;
    height: 137px;
    padding: 34px 10px 20px;
    color: #fff102;
    line-height: 1;
}
.section--worries .section__balloon-easy-label {
    font-size: 30px;
}
.section--worries .section__balloon-easy-num {
    font-size: 40px;
}
.section--worries .section__balloon-easy-unit {
    font-size: 30px;
}
.section--worries .section__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    width: 1140px;
    padding: 38px 0 40px;
    background-color: #ffffff;
}
.section--worries .section__panel-lead {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    margin: 0;
}
.section--worries .section__panel-lead::before {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--left.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--worries .section__panel-lead::after {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--right.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--worries .section__panel-lead-text {
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: #2b346e;
    white-space: nowrap;
}
.section--worries .section__panel-lead-text--accent {
    color: #dd1616;
}
.section--worries .section__btns {
    display: flex;
    align-items: center;
    gap: 10px;
}
[class^="cta-btn--"] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 490px;
    height: 110px;
    border: 2px solid #ffffff;
    border-radius: 99999px;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.25), inset 0 4px 10px rgba(255, 255, 255, 0.38);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}
[class^="cta-btn--"]:hover {
    opacity: 1;
    transform: scale(1.03);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3), inset 0 4px 10px rgba(255, 255, 255, 0.45);
    filter: brightness(1.08);
}
.cta-btn--satei {
    background-image: linear-gradient(100deg, #35b7ef 4.55%, #1344e6 135.32%);
}
.cta-btn--mail {
    background-image: linear-gradient(100deg, #ff9b28 4.55%, #d80000 135.32%);
}
.cta-btn__caption {
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    color: #fff102;
    text-align: center;
    white-space: nowrap;
}
.cta-btn__main {
    display: flex;
    align-items: center;
    gap: 12px;
}
.cta-btn__icon {
    display: block;
    flex-shrink: 0;
}
.cta-btn--satei .cta-btn__icon {
    width: 26px;
    height: 30px;
}
.cta-btn--mail .cta-btn__icon {
    width: 32px;
    height: 24px;
}
.cta-btn__text {
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
}

/* org5: 他社比較 */
.section--comparison {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background-color: #edf5ff;
    overflow: hidden;
    box-sizing: border-box;
}
.section--comparison .section__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--comparison .section__character {
    position: absolute;
    top: -47px;
    left: -62px;
    z-index: 0;
    display: block;
    width: 298px;
    height: 390px;
    z-index: 0;
}
.section--comparison .section__title {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
}
.section--comparison .section__title-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
.section--comparison .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #fff102;
    color: #2b346e;
    white-space: nowrap;
}
.section--comparison .section__title-text {
    color: #000000;
    white-space: nowrap;
}
.comparison {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 1140px;
}
.comparison__labels {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 160px;
}
.comparison__label,
[class^="comparison__label--"] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 100px;
    padding: 10px;
    background-color: #18619d;
}
.comparison__label:not(.comparison__label--last)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 154px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
}
.comparison__label-text {
    margin: 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}
.comparison__us {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 340px;
}
.comparison__us::before {
    content: "";
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: 1;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    border: 6px solid #ff0000;
    pointer-events: none;
    box-sizing: border-box;
}
.comparison__us-head {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80px;
    padding: 0 20px;
    background-color: #2b346e;
}
.comparison__us-head-text {
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}
.comparison__us-cell,
[class^="comparison__us-cell--"] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100px;
    padding: 0 20px;
    border-bottom: 1px solid #d9defd;
    background-color: #ffffff;
}
.comparison__us-cell::before,
[class^="comparison__us-cell--"]::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    margin: auto;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 10px solid #C8DAFF;
}
.comparison__us-cell--last {
    border-bottom: none;
}
.comparison__us-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #000000;
    text-align: center;
}
.comparison__us-text--accent {
    color: #e5340e;
}
.comparison__other {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 320px;
}
.comparison__other-head {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    background-color: #c9c9c9;
    border-right: 1px solid #a2a2a2;
}
.comparison__other:last-child .comparison__other-head {
    border-right: none;
}
.comparison__other-head-text {
    margin: 0;
    width: 223px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.7;
    color: #000000;
    text-align: center;
}
.comparison__other-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100px;
    padding: 0 20px;
    border-right: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    background-color: #f6f6f6;
}
.comparison__other:last-child .comparison__other-cell {
    border-right: 1px solid #cccccc;
}
.comparison__other-text {
    margin: 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    color: #000000;
    text-align: center;
}

/* org6: 不動産買取の流れ */
.section--flow {
    width: 100%;
    padding: 100px 0 0;
    background-color: #f9fcff;
    overflow: hidden;
    box-sizing: border-box;
}
.section--flow .section__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 1140px;
    margin: 0 auto;
}
.section--flow .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--flow .section__title-text {
    color: #000000;
}
.section--flow .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--flow .section__body {
    width: 1217px;
    height: 1279px;
    line-height: 0;
    margin-left: 68px;
}
.section--flow .section__flow {
    display: block;
    width: 100%;
    height: 100%;
}

/* org7: トラブル事例集 */
.section--trouble {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_trouble.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--trouble .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--trouble .section__character {
    position: absolute;
    top: -80px;
    left: 794px;
    z-index: 0;
    display: block;
    width: 307px;
    height: 336px;
}
.section--trouble .section__title {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
}
.section--trouble .section__title-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
.section--trouble .section__title-text {
    color: #000000;
    white-space: nowrap;
}
.section--trouble .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
    white-space: nowrap;
}
.section--trouble .section__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 10px;
    width: 1140px;
}
.card--trouble {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 550px;
    height: fit-content;
    padding: 30px;
    background-color: #ffffff;
}
.card--trouble-offset {
    margin-top: 40px;
}
.card--trouble .card__image-wrap {
    position: relative;
    width: 490px;
    height: 280px;
    line-height: 0;
}
.card--trouble .card__image {
    display: block;
    width: 490px;
    height: 280px;
    object-fit: cover;
}
.card--trouble .card__badge {
    position: absolute;
    top: -16px;
    left: -40px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 10px 20px;
    background-color: #18619d;
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: #ffffff;
    white-space: nowrap;
}
.card--trouble .card__badge::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 0;
    height: 0;
    border-top: 7px solid #0f3d66;
    border-left: 10px solid transparent;
}
.card--trouble .card__body {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}
.card--trouble .card__desc {
    margin: 0;
    height: 96px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.6;
    color: #1c1c1c;
}
.card--trouble .card__solution {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    height: 138px;
    padding: 15px 20px;
    background-color: #edf5ff;
}
.card--trouble .card__solution-icon {
    display: block;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
}
.card--trouble .card__solution-text {
    margin: 0;
    flex: 1 1 auto;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #2b346e;
}
.card--trouble .card__solution-text--accent {
    color: #e5340e;
}

/* org8: お悩み別ナビ */
.section--service {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_expectations.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--service .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--service .section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 1120px;
}
.section--service .section__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 17px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
}
.section--service .section__title-text {
    color: #000000;
    white-space: nowrap;
}
.section--service .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
    white-space: nowrap;
}
.section--service .section__lead {
    margin: 0;
    width: 1120px;
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: #151515;
    text-align: center;
}
.section--service .section__list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    width: 1140px;
}
.section--service .section__character {
    position: absolute;
    top: 620px;
    left: -61px;
    z-index: 2;
    display: block;
    width: 342px;
    height: 407px;
    pointer-events: none;
}
[class^="service-card--"] {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 332px;
    box-shadow: 0 4px 4.5px rgba(0, 0, 0, 0.07), 0 4px 2px rgba(0, 0, 0, 0.25);
    text-decoration: none;
}
.service-card__media {
    display: block;
    width: 332px;
    height: 220px;
    overflow: hidden;
    background-color: #ebebeb;
}
.service-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
[class^="service-card--"]:hover .service-card__image {
    transform: scale(1.1);
}
[class^="service-card--"]:hover {
    opacity: 1;
}
.service-card__body {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 102px;
    padding: 15px 15px 15px 40px;
}
.service-card--diagnosis .service-card__body {
    background-color: #4099b7;
}
.service-card--history .service-card__body {
    background-color: #4855aa;
}
.service-card--reason .service-card__body {
    background-color: #489741;
}
.service-card--satei .service-card__body {
    background-color: #2fa4ee;
}
.service-card--contact .service-card__body {
    background-color: #fa8924;
}
.service-card__text {
    display: block;
    width: 100%;
    padding-right: 24px;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
}
.service-card__text--accent {
    color: #fff102;
}
.service-card__arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #ffffff;
}
.service-card__arrow::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    margin: auto;
}
.service-card--diagnosis .service-card__arrow::after,
.service-card--reason .service-card__arrow::after {
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 7px solid currentColor;
}
.service-card--history .service-card__arrow::after,
.service-card--satei .service-card__arrow::after,
.service-card--contact .service-card__arrow::after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid currentColor;
}
.service-card--diagnosis .service-card__arrow {
    color: #4099b7;
}
.service-card--history .service-card__arrow {
    color: #4855aa;
}
.service-card--reason .service-card__arrow {
    color: #489741;
}
.service-card--satei .service-card__arrow {
    color: #2fa4ee;
}
.service-card--contact .service-card__arrow {
    color: #fa8924;
}

/* org9: 不動産売却方法診断 */
.section--diagnosis {
    width: 100%;
    padding: 98px 0 100px;
    background-color: #ffffff;
    overflow: hidden;
    box-sizing: border-box;
    scroll-margin-top: 80px;
}
.section--diagnosis .section__inner {
    width: 1140px;
    margin: 0 auto;
}
.section--diagnosis .section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}
.section--diagnosis .section__lead {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    margin: 0;
}
.section--diagnosis .section__lead::before {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--left.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--diagnosis .section__lead::after {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--right.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--diagnosis .section__lead-text {
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: #151515;
    white-space: nowrap;
}
.section--diagnosis .section__lead-text--accent {
    color: #ff5900;
}
.section--diagnosis .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--diagnosis .section__title-text {
    color: #000000;
}
.section--diagnosis .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--diagnosis .section__chart {
    position: relative;
    width: 1140px;
    height: 610px;
    line-height: 0;
    margin-bottom: 60px;
}
.section--diagnosis .section__chart-img {
    display: block;
    width: 1140px;
    height: 610px;
}
.section--diagnosis .section__character {
    position: absolute;
    top: -21px;
    left: 838px;
    z-index: 1;
    display: block;
    width: 295px;
    height: 253px;
}
.section--diagnosis .section__list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 1140px;
}
.plan-card,
[class^="plan-card--"] {
    display: flex;
    flex-direction: column;
    width: 555px;
    padding: 30px;
    background-color: #ecf5f8;
}
.plan-card:nth-of-type(3) .more-btn--sm {
    margin-top: 25px;
}
.plan-card__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.plan-card__num {
    display: flex;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #4099b7;
    font-weight: 700;
    font-size: 23px;
    padding-top: 2px;
    color: #ffffff;
    text-align: center;
}
.plan-card__name {
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #4099b7;
    white-space: nowrap;
}
.plan-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    padding-top: 19px;
    border-top: 1px solid #abcad4;
    justify-content: space-between;
}
.plan-card__lead {
    margin: 0;
    width: 495px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #333333;
    margin-bottom: 9px;
}
.plan-card__lead--accent {
    color: #e5340e;
}
.plan-card__text {
    margin: 0;
    width: 495px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333333;
}
.plan-card--wide {
    flex-direction: row;
    align-items: center;
    gap: 30px;
    width: 1140px;
}
.plan-card--wide .plan-card__title {
    flex-shrink: 0;
    margin: 0;
}
.plan-card--wide .plan-card__name {
    width: 168px;
    white-space: normal;
}
.plan-card--wide .plan-card__body {
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    padding-top: 0;
    padding-left: 30px;
    border-top: none;
    border-left: 1px solid #abcad4;
}
.plan-card--wide .plan-card__lead,
.plan-card--wide .plan-card__text {
    width: 614px;
}
.plan-card--wide .more-btn--sm {
    flex-shrink: 0;
}
.more-btn--sm {
    width: 160px;
    height: 40px;
    margin-left: auto;
}
.more-btn--sm .more-btn__label {
    font-size: 14px;
}
.more-btn--sm .more-btn__icon {
    top: 10px;
    left: 130px;
}

/* org9: お問い合わせCTA */
.section--contact {
    position: relative;
    width: 100%;
    height: 623px;
    background: url(/images/top/bg_contact.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--contact .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1140px;
    margin: 0 auto;
    padding-top: 70px;
}
.section--contact .section__character {
    position: absolute;
    top: 10px;
    left: 815px;
    z-index: -1;
    display: block;
    width: 416px;
    height: 515px;
}
.section--contact .section__heading {
    margin-bottom: 37px;
}
.section--contact .section__lead {
    position: relative;
    margin-bottom: 14px;
    padding-top: 8px;
    padding-left: 13px;
}
.section--contact .section__dots {
    position: absolute;
    top: 0;
    left: 25px;
    display: flex;
    gap: 23px;
}
.section--contact .section__dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ffffff;
}
.section--contact .section__lead-text {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.4;
    color: #ffffff;
    white-space: nowrap;
}
.section--contact .section__lead-text--accent {
    color: #fff102;
}
.section--contact .section__catch {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
}
.section--contact .section__catch-badge {
    margin-right: 15px;
    padding: 0 10px 4px;
    background-color: #fff102;
    transform: rotate(-4deg);
    font-weight: 700;
    font-size: 80px;
    line-height: 1.2;
    color: #2b346e;
    white-space: nowrap;
}
.section--contact .section__catch-text {
    font-weight: 700;
    font-size: 80px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}
.section--contact [class^="section__balloon--"] {
    position: absolute;
    z-index: 2;
    font-weight: 700;
    text-align: center;
}
.section--contact .section__balloon-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.section--contact [class^="section__balloon--"] > :not(.section__balloon-bg) {
    position: relative;
    z-index: 1;
}
.section--contact .section__balloon--consult {
    top: 200px;
    left: 955px;
    width: 210px;
    height: 180px;
    padding: 55px 10px 20px;
    font-size: 30px;
    line-height: 1.2;
    color: #2b346e;
}
.section--contact .section__balloon-name {
    color: #2b346e;
}
.section--contact .section__balloon-text {
    color: #151515;
}
.section--contact .section__balloon--easy {
    top: 256px;
    left: -28px;
    width: 160px;
    height: 137px;
    padding: 34px 10px 20px;
    color: #fff102;
    line-height: 1;
}
.section--contact .section__balloon-easy-label {
    font-size: 30px;
}
.section--contact .section__balloon-easy-num {
    font-size: 40px;
}
.section--contact .section__balloon-easy-unit {
    font-size: 30px;
}
.section--contact .section__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    width: 1140px;
    padding: 38px 0 40px;
    background-color: #ffffff;
}
.section--contact .section__panel-lead {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    margin: 0;
}
.section--contact .section__panel-lead::before {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--left.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--contact .section__panel-lead::after {
    content: "";
    display: block;
    background: url(/images/top/icon_contents-ttl--right.webp) no-repeat center center / cover;
    width: 29px;
    height: 42px;
}
.section--contact .section__panel-lead-text {
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: #2b346e;
    white-space: nowrap;
}
.section--contact .section__panel-lead-text--accent {
    color: #dd1616;
}
.section--contact .section__btns {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* org11: 選ばれる4つの理由 */
.section--reason {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_reason.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
    scroll-margin-top: 80px;
}
.section--reason .section__inner {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
}
.section--reason .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
    margin-bottom: 49px;
}
.section--reason .section__title-text {
    color: #000000;
}
.section--reason .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
    white-space: nowrap;
}
.section--reason .section__title-badge-num {
    font-size: 60px;
    line-height: 1.3;
}
.section--reason .section__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1140px;
    margin: 0 auto;
}
[class^="reason-card--"] {
    height: 360px;
    position: relative;
}
.reason-card--image-left {
    margin-left: auto;
}
.reason-card--image-right {
    margin-right: auto;
}
.reason-card__image {
    display: block;
    width: 820px;
    height: 360px;
    object-fit: cover;
    position: absolute;
    bottom: 0;
}
.reason-card--image-left .reason-card__image {
    left: -820px;
    object-position: right;
}
.reason-card--image-right .reason-card__image {
    right: -820px;
    object-position: left;
}
.reason-card__body {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    width: 710px;
    height: 100%;
    padding: 0 40px;
    background-color: #ffffff;
}
.reason-card__heading {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}
.reason-card__point {
    position: relative;
    flex-shrink: 0;
    width: 84px;
    height: 84px;
}
.reason-card__point-bg {
    display: block;
    width: 84px;
    height: 84px;
}
.reason-card__point-text {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    font-weight: 700;
    color: #ffffff;
    text-align: center;
    line-height: 0.9;
}
.reason-card__point-label {
    font-size: 14px;
}
.reason-card__point-num {
    font-size: 36px;
}
.reason-card__title {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.4;
    color: #2b346e;
}
.reason-card__text {
    margin: 0;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.7;
    color: #151515;
}

/* org12: 税理士と連携サポート */
.section--accountant {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_accountant.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--accountant .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--accountant .section__title {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--accountant .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--accountant .section__title-text {
    color: #000000;
}
.section--accountant .section__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}
.accountant-card {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 1140px;
    padding: 40px 50px;
    background-color: #ffffff;
}
.accountant-card__image {
    display: block;
    flex-shrink: 0;
    width: 213px;
    height: 284px;
    object-fit: cover;
}
.accountant-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}
.accountant-card__main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
.accountant-card__title {
    margin: 0;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.4;
    color: #2b346e;
}
.accountant-card__text {
    margin: 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.7;
    color: #151515;
}
.accountant-card__name {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    width: 100%;
    font-weight: 700;
}
.accountant-card__office {
    display: flex;
    gap: 5px;
    margin: 0;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #151515;
    white-space: nowrap;
}
.accountant-card__person {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin: 0;
    white-space: nowrap;
}
.accountant-card__role {
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #151515;
}
.accountant-card__fullname {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #2b346e;
}
.accountant-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.accountant-message__text {
    margin: 0;
    width: 1140px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.7;
    color: #151515;
}

/* org13: 代表メッセージ */
.section--message {
    position: relative;
    width: 100%;
    padding: 150px 0;
    overflow: hidden;
    box-sizing: border-box;
}
.section--message .section__panel {
    position: relative;
    width: 1140px;
    margin: 0 auto;
}
.section--message .section__panel::before {
    content: "";
    position: absolute;
    background-color: #fc9026;
    width: 1630px;
    height: 473px;
    top: -50px;
    left: -100px;
    right: 0;
}
.section--message .section__panel::after {
    content: "";
    position: absolute;
    background: url(/images/top/bg_message.webp) no-repeat center center / cover;
    width: 676px;
    height: 472px;
    top: -50px;
    right: 12px;
}
.section--message .section__inner {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 1140px;
    margin: 0 auto;
}
.section--message .section__text {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 50px;
    min-width: 0;
}
.section--message .section__watermark {
    position: absolute;
    top: -107px;
    left: 452px;
    z-index: 0;
    display: block;
    width: 676px;
    height: 472px;
    object-fit: cover;
    object-position: bottom;
    opacity: 0.1;
    pointer-events: none;
}
.section--message .section__title {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    white-space: nowrap;
}
.section--message .section__title-text {
    color: #ffffff;
}
.section--message .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #fff102;
    color: #fc9026;
}
.section--message .section__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
.section--message .section__name {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
}
.section--message .section__name-main {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.05em;
}
.section--message .section__name-kana {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.05em;
}
.section--message .section__comment {
    margin: 0;
    width: 100%;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.7;
    color: #ffffff;
}
.section--message .section__image {
    position: relative;
    z-index: 1;
    display: block;
    flex-shrink: 0;
    width: 480px;
    height: 373px;
    object-fit: contain;
}

/* org13: お客様の声 */
.section--customer {
    position: relative;
    width: 100%;
    padding: 0 0 100px;
    overflow: hidden;
    box-sizing: border-box;
}
.section--customer .section__panel {
    position: relative;
    width: 1140px;
    margin: 0 auto;
    padding: 100px 0;
}
.section--customer .section__panel::before {
    content: "";
    position: absolute;
    width: 1340px;
    height: 864px;
    background-color: #FFF8E8;
    top: 0;
    left: -100px;
}
.section--customer .section__character {
    position: absolute;
    top: 71px;
    left: 15px;
    z-index: 0;
    display: block;
    width: 329px;
    height: 225px;
    object-fit: contain;
    object-position: bottom;
    pointer-events: none;
}
.section--customer .section__title {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    color: #000000;
    text-align: center;
    margin-bottom: 50px;
}
.section--customer .section__title-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    white-space: nowrap;
}
.section--customer .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--customer .section__title-text {
    color: #000000;
}
.section--customer .section__content {
    position: relative;
    z-index: 1;
    width: 1140px;
    margin: 0 auto;
    clip-path: inset(0 -10px -10px -10px);
}
.section--customer .section__list {
    margin-bottom: 55px;
}
.customer-card {
    width: 360px;
    height: auto;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.customer-card > a {
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}
.customer-card__image {
    display: block;
    width: 320px;
    height: 213px;
    margin: 0;
    overflow: hidden;
}
.customer-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #dddddd;
    transition: transform 0.4s ease;
}
.customer-card > a:hover .customer-card__image img {
    transform: scale(1.1);
}
.customer-card > a:hover {
    opacity: 1;
}
.customer-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.customer-card__title {
    margin: 0;
    overflow: hidden;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    color: #2b346e;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.customer-card__text {
    margin: 0;
    overflow: hidden;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.section--customer .section__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1140px;
}
/* お客様の声: 3件以下はスライダー無効 */
.section--customer .js-swiper--customer.no-slide .section__list {
    display: flex;
    justify-content: center;
    gap: 30px;
    transform: none;
}
.section--customer .js-swiper--customer.no-slide .customer-card {
    width: 360px;
    margin: 0;
}
.section--customer .js-swiper--customer.no-slide .swiper-pager__wrap {
    display: none;
}
.section--customer .js-swiper--customer.no-slide .section__footer {
    justify-content: flex-end;
}
.swiper-pager,
.swiper-pager__wrap {
    display: flex;
    align-items: center;
    gap: 20px;
}
[class^="swiper-pager__btn--"] {
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: #FFDA87;
    cursor: pointer;
    transition: transform 0.3s ease;
}
[class^="swiper-pager__btn--"]:hover {
    transform: scale(1.1);
}
.swiper-pager--on-dark [class^="swiper-pager__btn--"] {
    background-color: #737CBA;
}
[class^="swiper-pager__btn--"]::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}
.swiper-pager__btn--prev::after {
    border-right: 9px solid #ffffff;
}
.swiper-pager__btn--next::after {
    border-left: 9px solid #ffffff;
}
.swiper-pager__dots,
.swiper-pager__pagination {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.swiper-pager__dot,
.swiper-pager__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
    margin: 0;
    border-radius: 50%;
    background-color: #d9d9d9;
    opacity: 1;
}
.swiper-pager__dot--current,
.swiper-pager__pagination .swiper-pagination-bullet-active {
    background-color: #FFDA87;
}
.more-btn--pale {
    background-color: #edf5ff;
}

/* org13: 取扱い物件一覧 */
.section--bkn {
    position: relative;
    width: 100%;
    padding: 100px 0 160px;
    background-color: #2b346e;
    overflow: hidden;
    box-sizing: border-box;
}
.section--bkn .section__inner {
    width: 1140px;
    margin: 0 auto;
}
.section--bkn .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 50px;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--bkn .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #fff102;
    color: #2b346e;
}
.section--bkn .section__title-text {
    color: #ffffff;
}
.section--bkn .section__content {
    position: relative;
    width: 398px;
    margin: 0 auto;
}
.section--bkn .section__list {
    margin: 0 0 50px;
}
.bkn-card {
    width: 398px;
    height: auto;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.bkn-card > a {
    text-decoration: none;
    color: inherit;
}
.bkn-card__image-wrap {
    position: relative;
    width: 100%;
    height: 239px;
    margin-bottom: 9px;
}
.bkn-card__image {
    display: block;
    width: 100%;
    height: 239px;
    margin: 0;
    overflow: hidden;
}
.bkn-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #dddddd;
    transition: transform 0.4s ease;
}
.bkn-card > a:hover .bkn-card__image img {
    transform: scale(1.1);
}
.bkn-card > a:hover {
    opacity: 1;
}
.bkn-card__new {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 77px;
    height: 77px;
    overflow: hidden;
    pointer-events: none;
}
.bkn-card__new::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 77px 77px 0 0;
    border-color: #2b346e transparent transparent transparent;
}
.bkn-card__new-text {
    position: absolute;
    top: 17px;
    left: 4px;
    z-index: 1;
    font-weight: 500;
    font-size: 20px;
    line-height: 1;
    color: #ffffff;
    white-space: nowrap;
    transform: rotate(-45deg);
}
.bkn-card__body {
    width: 100%;
}
.bkn-card__price {
    display: flex;
    align-items: flex-end;
    gap: 1px;
    margin-bottom: 4px;
    white-space: nowrap;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
}
.bkn-card__price span {
    font-weight: 500;
    font-size: 36px;
    line-height: 1.2;
    color: #e5340e;
}
.bkn-card__name {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    color: #0a0a0a;
    margin-bottom: 6px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.bkn-card__detail {
    display: flex;
    flex-direction: column;
    gap: 1px;
    width: 100%;
}
.bkn-card__meta,
.bkn-card__address,
.bkn-card__access {
    margin: 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.section--bkn .section__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1140px;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
/* 取扱い物件: 3件以下はスライダー無効 */
.section--bkn .js-swiper--bkn.no-slide {
    width: auto;
}
.section--bkn .js-swiper--bkn.no-slide .section__list {
    display: flex;
    justify-content: center;
    gap: 30px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    transform: none;
}
.section--bkn .js-swiper--bkn.no-slide .bkn-card {
    width: 398px;
    margin: 0;
}
.section--bkn .js-swiper--bkn.no-slide .swiper-pager__wrap {
    display: none;
}
.section--bkn .js-swiper--bkn.no-slide .section__footer {
    margin-top: 50px;
    justify-content: flex-end;
}
.swiper-pager--on-dark .swiper-pager__dot,
.swiper-pager--on-dark .swiper-pager__pagination .swiper-pagination-bullet {
    background-color: #DFDFDF;
}
.swiper-pager--on-dark .swiper-pager__dot--current,
.swiper-pager--on-dark .swiper-pager__pagination .swiper-pagination-bullet-active {
    background-color: #737CBA;
}

/* org14: 不動産売却の豆知識（ブログ） */
.section--blog {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_blog.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--blog .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--blog .section__character {
    position: absolute;
    top: -70px;
    left: 23px;
    z-index: 2;
    display: block;
    width: 246px;
    height: 189px;
    object-fit: contain;
    object-position: bottom;
    pointer-events: none;
}
.section--blog .section__title {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--blog .section__title-text {
    color: #000000;
}
.section--blog .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--blog .section__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
}
.section--blog .section__list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.blog-card {
    width: 360px;
    height: 381px;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.blog-card > a {
    display: flex;
    flex-direction: column;
    gap: 14px;
    color: inherit;
    text-decoration: none;
}
.blog-card__image {
    display: block;
    width: 320px;
    height: 213px;
    margin: 0;
    overflow: hidden;
}
.blog-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #dddddd;
    transition: transform 0.4s ease;
}
.blog-card > a:hover .blog-card__image img {
    transform: scale(1.1);
}
.blog-card > a:hover {
    opacity: 1;
}
.blog-card__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.blog-card__title {
    margin: 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    color: #2b346e;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.blog-card__text {
    margin: 0;
    overflow: hidden;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: #151515;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* org15: よくあるご質問 */
.section--faq {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: url(/images/top/bg_faq.webp) no-repeat center center / cover;
    overflow: hidden;
    box-sizing: border-box;
}
.section--faq .section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 1140px;
    margin: 0 auto;
}
.section--faq .section__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}
.section--faq .section__title-text {
    color: #000000;
}
.section--faq .section__title-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 4px;
    background-color: #2b346e;
    color: #ffffff;
}
.section--faq .section__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}
.faq-category {
    display: flex;
    flex-direction: column;
    width: 1140px;
}
.faq-category__title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 10px 30px;
    background-color: #2b346e;
}
.faq-category__title-text {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.4;
    color: #ffffff;
}
.faq-category__character {
    position: absolute;
    top: -193px;
    left: 819px;
    z-index: 2;
    display: block;
    width: 372px;
    height: 255px;
    object-fit: contain;
    pointer-events: none;
}
.faq-category__body {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    padding: 40px 40px 40px;
    background-color: #ffffff;
}
.faq-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding-bottom: 30px;
}
.faq-item:not(:last-of-type) {
    border-bottom: 1px solid #e9e9e9;
}
.faq-item__q,
.faq-item__a {
    display: flex;
    gap: 10px;
    width: 100%;
    margin: 0;
    align-items: flex-start;
}
.faq-item__label {
    flex-shrink: 0;
    width: 19px;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    color: #2b346e;
    text-align: center;
}
.faq-item__q .faq-item__label {
    padding-top: 7px;
    width: auto;
}
.faq-item__q-text {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.5;
    color: #2b346e;
}
.faq-item__a-text {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.7;
    color: #151515;
}
.faq-item__a-text p {
    margin: 0;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.7;
}

