@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

:root {
    --main-color: #05604C;
    --sub-color: #F3870D;
}

html,
body,
button,
input,
select,
textarea,
body>* {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

body {
    color: #292A2C;
    font-size: 16px;
    line-height: 1.7;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

/* PC固定ページ 共通設定 */
.common_page_main {
    background: #EFFEFA;
    padding-block: 140px 20px;
    margin-block: 0 1em;
}

.common_page_main.-flush {
    margin-bottom: 0;
}

.common_page_main .title_box {
    text-align: center;
}

.common_page_main .title_box .title {
    font-size: 40px;
    letter-spacing: .08em;
    font-weight: 700;
    line-height: 1.5;
}

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
}

.common_page_main .breadcrumb {
    margin-top: 100px;
}

.breadcrumb a {
    text-decoration: none;
    color: #3E3E3E;
}

/* 404 の現在ページだけ行き先なしのリンクで出るため押せないようにする */
.common_page_main .breadcrumb .current-item {
    pointer-events: none;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
    color: #3E3E3E;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0 50px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
    margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-inline: 0 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: #3E3E3E;
    font-size: 12px;
    letter-spacing: .2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: var(--sub-color);
    color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
    background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
    content: "";
    content: "";
    width: 1px;
    height: 30px;
    background: #AAA;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: #C7C4C4;
}

.common_contact_form select {
    width: 47.5%;
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: .08em;
    padding: 1.1em 1em;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: .3s;
    text-align: center;
    letter-spacing: .08em;
    margin: auto;
    border-radius: 100vmax;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: #333;
    margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
    opacity: .7;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: solid 3px #ccc;
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: solid 1px #e3e3e3;
    padding: 30px 0;
    border-bottom: solid 1px #e3e3e3;
    width: 60%;
    margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0;
    border: solid #333;
    border-width: 2px 2px 0 0;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

.mw_wp_form_honey {
    display: none !important;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
    padding: .5em 0;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #E6E6E6;
    background: #F8F8F8;
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1;
    min-width: 0;
    top: 0px;
    left: 5px;
    border: none;
    background: #5A5A5A;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: #3E3E3E;
    font-size: 15px;
    letter-spacing: .08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #F8F8F8;
    border: 1px solid #E6E6E6;
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #333 #333;
    border-style: solid;
    width: 20px;
    aspect-ratio: 2/1;
    min-width: 0;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0 auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link,
.page_notfound .page_notfound_body .page_notfound_btn {
    background-color: var(--main-color);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 100vmax;
    font-size: 16px;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover,
.page_notfound .page_notfound_body .page_notfound_btn:hover {
    opacity: .7;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0 3em;
}

.page_contact .progressbar .item {
    color: #3E3E3E;
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: #E6E6E6;
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid #AFAFAF;
    border-radius: 50%;
    display: block;
    margin: 0 auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1;
    background: var(--main-color);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: #A7A7A7;
    letter-spacing: 0;
    font-family: "din-2014", sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: var(--sub-color);
    color: #fff;
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: .08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

.p-authorBox .avatar {
	display: inline;
}


/* ==================================================
   Grand Roots Brothers LP
================================================== */
body {
    min-width: 1440px;
    color: #292A2C;
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.site-main,
.top-main {
    overflow: hidden;
}

@keyframes grbFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes grbFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.grbFadeUp {
    animation-name: grbFadeUp;
}

.grbFade {
    animation-name: grbFade;
}

/* 見出し上の英字ラベル */
.top-sec-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 20px;
    line-height: 14px;
}

.top-sec-label .top-sec-label__dot {
    display: block;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #05604C;
}

.top-sec-label.-orange .top-sec-label__dot {
    background: #F3870D;
}

.top-sec-label .top-sec-label__text {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 14px;
    color: #292A2C;
}

/* ---------- ヘッダー ---------- */
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    min-width: 1440px;
}

.site-header__inner {
    position: relative;
    width: 100%;
    height: 85px;
    margin: 0 auto;
}

.site-header__logo {
    position: absolute;
    top: 30px;
    left: 50px;
    display: block;
    width: 333px;
    height: 55px;
}

.site-header__logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-header__nav {
    position: absolute;
    top: 45px;
    right: 316px;
    display: flex;
    align-items: center;
    gap: 40px;
}

a.site-header__nav-link {
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    letter-spacing: .1em;
    color: #292A2C;
    transition: .3s;
}

a.site-header__btn {
    position: absolute;
    top: 30px;
    right: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 230px;
    height: 50px;
    padding: 0 20px;
    border-radius: 48px;
    background: #007B60;
    color: #FFFFFF;
    transition: .3s;
}

.site-header__btn-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.site-header__btn-text {
    font-size: 15px;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: .1em;
    white-space: nowrap;
}

/* ---------- FV ---------- */
.top-fv {
    position: relative;
    overflow: hidden;
}

.top-fv__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.top-fv__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-fv__inner {
    position: relative;
    width: 1440px;
    margin: 0 auto;
}

.top-fv__right {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.top-fv__illust {
    position: absolute;
    top: 83px;
    left: 695px;
    width: 788px;
    max-width: none;
    height: auto;
}

.top-fv__medals {
    position: absolute;
    top: 542px;
    left: 822px;
    display: flex;
    gap: 12px;
}

.top-fv__medals .top-fv__medal {
    position: relative;
    width: 130px;
    height: 130px;
}

.top-fv__medal .top-fv__medal-pic {
    position: absolute;
    top: -16px;
    left: -20px;
    display: block;
    width: 170px;
    height: 170px;
}

.top-fv__medal .top-fv__medal-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-fv__left {
    position: relative;
    width: 762px;
    padding: 135px 0 40px;
}

.top-fv__label {
    position: relative;
    display: inline-block;
    margin-left: 48px;
    padding: 12px 20px;
    border-radius: 8px;
    background: #F3870D;
}

.top-fv__label::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 60px;
    width: 21px;
    height: 20px;
    background: #F3870D;
    -webkit-mask: url(image/icon_tail_orange.svg) no-repeat center / contain;
    mask: url(image/icon_tail_orange.svg) no-repeat center / contain;
}

.top-fv__label .top-fv__label-text {
    display: block;
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: .1em;
    color: #FFFFFF;
}

.top-fv__ttl {
    margin: 26px 0 0 50px;
    font-size: 48px;
    font-weight: 900;
    letter-spacing: .1em;
    color: #292A2C;
}

.top-fv__ttl .top-fv__ttl-line1 {
    display: block;
    line-height: 58px;
}

.top-fv__ttl .top-fv__ttl-comma {
    letter-spacing: -.38em;
}

.top-fv__ttl .top-fv__ttl-line2 {
    position: relative;
    z-index: 0;
    display: block;
    margin-top: 11px;
    line-height: 69px;
    color: #05604C;
}

.top-fv__ttl .top-fv__ttl-line2::before {
    content: "";
    position: absolute;
    top: 39px;
    left: -14px;
    z-index: -1;
    width: 554px;
    height: 30px;
    background: url(image/deco_marker_fv.svg) no-repeat 0 0 / 100% 100%;
}

.top-fv__ttl .top-fv__ttl-dot {
    position: relative;
}

.top-fv__ttl .top-fv__ttl-dot::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 18px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #05604C;
}

.top-fv__ttl .top-fv__ttl-line3 {
    display: block;
    line-height: 69px;
}

.top-fv__lead {
    margin: 20px 0 0 50px;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: .1em;
}

.top-fv__cta {
    position: relative;
    z-index: 0;
    width: 762px;
    margin-top: 40px;
    padding: 23px 0 21px 50px;
    border-radius: 0 77px 77px 0;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .1);
}

.top-fv__cta::before {
    content: "";
    position: absolute;
    top: 0;
    right: 100%;
    z-index: -1;
    width: 100vw;
    height: 100%;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .1);
    clip-path: inset(-30px 0 -30px -30px);
}

.top-fv__cta-caption {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    width: 662px;
}

.top-fv__cta-slash {
    flex-shrink: 0;
    width: 11px;
    height: 18px;
    margin-top: 2px;
}

.top-fv__cta-caption .top-fv__cta-caption-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 17px;
    letter-spacing: .1em;
}

.top-fv__cta-btns {
    display: flex;
    gap: 16px;
    margin-top: 12px;
}

a.top-fv__cta-btn {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 210px;
    height: 70px;
    padding: 0 20px;
    border-radius: 60px;
    color: #FFFFFF;
    transition: .3s;
}

a.top-fv__cta-btn.-contact {
    gap: 9px;
    padding: 0 18px;
    background: #007B60;
}

a.top-fv__cta-btn.-tel {
    background: #00A480;
}

a.top-fv__cta-btn.-line {
    gap: 14px;
    background: #06C755;
}

.top-fv__cta-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.top-fv__cta-btn .top-fv__cta-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    letter-spacing: .1em;
    white-space: nowrap;
}

.top-fv__cta-btn .top-fv__cta-text.-center {
    line-height: 22px;
    text-align: center;
}

/* ---------- お悩み ---------- */
.top-issue {
    position: relative;
    padding-bottom: 148px;
}

.top-issue__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(255, 255, 255, 0), #F4EEE6 65%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 88px), 50% 100%, 0 calc(100% - 88px));
}

.top-issue__bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, #D5DDDB 4.5px, transparent 5px) calc(50% - 715.5px) -15.5px / 41px 41px;
    opacity: .5;
    -webkit-mask-image: linear-gradient(transparent, #000);
    mask-image: linear-gradient(transparent, #000);
}

.top-issue__bg-img {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-issue__inner {
    position: relative;
    width: 1440px;
    margin: 0 auto;
    padding-top: 130px;
}

.top-issue__label {
    position: relative;
    display: table;
    margin: 0 auto;
    padding: 14px 20px 13px;
    border-radius: 8px;
    background: #05604C;
}

.top-issue__label::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 21px;
    height: 21px;
    margin-left: -11px;
    background: #05604C;
    -webkit-mask: url(image/icon_tail_dark.svg) no-repeat center / contain;
    mask: url(image/icon_tail_dark.svg) no-repeat center / contain;
}

.top-issue__label .top-issue__label-text {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 29px;
    letter-spacing: .1em;
    color: #FFFFFF;
}

.top-issue__ttl {
    margin-top: 26px;
    font-size: 40px;
    font-weight: 900;
    line-height: 48px;
    letter-spacing: .1em;
    text-align: center;
}

.top-issue__ttl .top-issue__ttl-em {
    color: #5A887E;
}

.top-issue__squiggle {
    position: absolute;
    top: 167px;
    left: 1026px;
    width: 52px;
    height: 51px;
}

.top-issue__inner .top-issue__list {
    display: grid;
    grid-template-columns: 720px 720px;
    row-gap: 47px;
    margin-top: 55px;
}

.top-issue__list .top-issue__item {
    position: relative;
    justify-self: start;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .15));
}

.top-issue__list .top-issue__item::before,
.top-issue__list .top-issue__item::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #FFFFFF;
}

.top-issue__list .top-issue__item::before {
    width: 24px;
    height: 19px;
}

.top-issue__list .top-issue__item::after {
    width: 14px;
    height: 11px;
}

.top-issue__list .top-issue__item.-i1 {
    grid-column: 1;
    grid-row: 1;
    margin-left: 190px;
}

.top-issue__list .top-issue__item.-i1::before {
    top: 67px;
    left: 225px;
}

.top-issue__list .top-issue__item.-i1::after {
    top: 76px;
    left: 251px;
}

.top-issue__list .top-issue__item.-i2 {
    grid-column: 1;
    grid-row: 2;
    margin-left: 151px;
}

.top-issue__list .top-issue__item.-i2::before {
    top: 29px;
    left: 310px;
}

.top-issue__list .top-issue__item.-i2::after {
    top: 32px;
    left: 338px;
}

.top-issue__list .top-issue__item.-i3 {
    grid-column: 1;
    grid-row: 3;
    margin-left: 200px;
}

.top-issue__list .top-issue__item.-i3::before {
    top: 3px;
    left: 291px;
}

.top-issue__list .top-issue__item.-i3::after {
    top: -2px;
    left: 316px;
}

.top-issue__list .top-issue__item.-i4 {
    grid-column: 2;
    grid-row: 1;
    margin-left: 258px;
}

.top-issue__list .top-issue__item.-i4::before {
    top: 67px;
    left: -29px;
}

.top-issue__list .top-issue__item.-i4::after {
    top: 76px;
    left: -47px;
}

.top-issue__list .top-issue__item.-i5 {
    grid-column: 2;
    grid-row: 2;
    margin-left: 279px;
    top: 9px;
}

.top-issue__list .top-issue__item.-i5::before {
    top: 32px;
    left: -34px;
}

.top-issue__list .top-issue__item.-i5::after {
    top: 36px;
    left: -53px;
}

.top-issue__list .top-issue__item.-i6 {
    grid-column: 2;
    grid-row: 3;
    margin-left: 239px;
    top: 20px;
}

.top-issue__list .top-issue__item.-i6::before {
    top: -1px;
    left: -31px;
}

.top-issue__list .top-issue__item.-i6::after {
    top: -4px;
    left: -48px;
}

.top-issue__item .top-issue__text {
    padding: 12px 22px;
    border-radius: 16px;
    background: #FFFFFF;
    font-size: 15px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: .1em;
    text-align: center;
    white-space: nowrap;
}

.top-issue__item .top-issue__text .top-issue__em {
    font-size: 18px;
    color: #5A887E;
    letter-spacing: .1em;
}

.top-issue__item .top-issue__text .top-issue__sub {
    font-size: 15px;
    color: #292A2C;
}

.top-issue__bubble {
    display: none;
}

.top-issue__illust {
    position: absolute;
    top: 300px;
    left: 561px;
    width: 326px;
    height: 320px;
}

.top-issue__illust-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ---------- そのお悩み、解決します ---------- */
.top-solve {
    position: relative;
    padding-bottom: 90px;
    margin-top: 12px;
}

.top-solve__inner {
    position: relative;
    width: 1440px;
    height: 100%;
    margin: 0 auto;
}

.top-solve__mark {
    position: absolute;
    top: 60px;
    left: 664px;
    width: 112px;
    height: 266px;
}

.top-solve__illust {
    position: absolute;
    height: auto;
}

.top-solve__illust.-i1 {
    top: 0;
    left: 60px;
    width: 265px;
}

.top-solve__illust.-i2 {
    top: 287px;
    left: 1113px;
    width: 277px;
}

.top-solve__body {
    position: relative;
    padding-top: 88px;
    text-align: center;
}

.top-solve__ttl {
    font-size: 28px;
    font-weight: 700;
    line-height: 69px;
    letter-spacing: .1em;
}

.top-solve__ttl .top-solve__ttl-sub {
    font-size: 28px;
    line-height: 69px;
    letter-spacing: .1em;
}

.top-solve__ttl .top-solve__ttl-en {
    letter-spacing: 0;
}

.top-solve__ttl .top-solve__ttl-main {
    margin-right: -.1em;
    padding: 0 13px;
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .1em;
    color: #05604C;
    background: linear-gradient(#FFFD72, #FFFD72) no-repeat left 0 bottom 3px / calc(100% - 32px) 24px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.top-solve__ttl .top-solve__ttl-indent {
    display: none;
}

.top-solve__text {
    margin-top: 24px;
    font-size: 15px;
    font-weight: 700;
    line-height: 33px;
    letter-spacing: .1em;
}

/* ---------- 選ばれる理由 ---------- */
.top-reason {
    position: relative;
    width: 1440px;
    margin: 36px auto 0;
    scroll-margin-top: 30px;
}

.top-reason__ttl {
    margin-top: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: .1em;
    text-align: center;
}

.top-reason__ttl .top-reason__ttl-sub {
    display: block;
    font-size: 24px;
    line-height: 60px;
    letter-spacing: .1em;
}

.top-reason__ttl .top-reason__ttl-en {
    letter-spacing: 0;
}

.top-reason__ttl .top-reason__ttl-line {
    display: block;
    font-size: 48px;
    font-weight: 900;
    line-height: 60px;
}

.top-reason__ttl .top-reason__ttl-num {
    font-family: "din-2014", sans-serif;
    font-weight: 700;
    font-size: 70px;
    line-height: 0;
    letter-spacing: 4.2px;
    color: #11836A;
}

.top-reason__ttl .top-reason__ttl-main {
    font-size: 48px;
    font-weight: 900;
    line-height: 60px;
    letter-spacing: .1em;
}

.top-reason__slider {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 24px;
    padding-bottom: 30px;
}

.top-reason__slider .top-reason__row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
}

.top-reason__row .top-reason__card {
    position: relative;
    display: grid;
    grid-template-columns: 210px 1fr;
    grid-template-rows: auto 1fr;
    width: 605px;
    min-height: 280px;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 4px 25px rgba(5, 96, 76, .2);
}

.top-reason__row .top-reason__card.-r2,
.top-reason__row .top-reason__card.-r4,
.top-reason__row .top-reason__card.-r6 {
    margin: 30px 0 -30px;
}

.top-reason__row .top-reason__card.-r5,
.top-reason__row .top-reason__card.-r6 {
    min-height: 300px;
}

.top-reason__card .top-reason__card-img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: 1 / 3;
    border-radius: 20px 0 0 20px;
    background: #EFFEFA;
}

.top-reason__card .top-reason__card-img .top-reason__card-img-el {
    display: block;
    height: auto;
}

.top-reason__card.-r1 .top-reason__card-img .top-reason__card-img-el {
    width: 144px;
    transform: translate(-9px, 3px);
}

.top-reason__card.-r2 .top-reason__card-img .top-reason__card-img-el {
    width: 145px;
    transform: translate(-4px, -2px);
}

.top-reason__card.-r3 .top-reason__card-img .top-reason__card-img-el {
    width: 151px;
    transform: translate(-3px, -8px);
}

.top-reason__card.-r4 .top-reason__card-img .top-reason__card-img-el {
    width: 149px;
    transform: translate(1px, -3px);
}

.top-reason__card.-r5 .top-reason__card-img .top-reason__card-img-el {
    width: 128px;
    transform: translate(-8px, -5px);
}

.top-reason__card.-r6 .top-reason__card-img .top-reason__card-img-el {
    width: 113px;
    transform: translate(-1px, -3px);
}

.top-reason__card .top-reason__card-img .top-reason__card-pic {
    display: block;
}

.top-reason__card .top-reason__card-img .top-reason__card-x {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 113px;
    height: 113px;
    margin: -61px 0 0 -57px;
}

.top-reason__card .top-reason__card-head {
    margin: 0 30px;
    padding: 31px 0 16px;
    border-bottom: 1px solid #D8D8D8;
}

.top-reason__card-head .top-reason__card-num {
    position: relative;
    z-index: 0;
    height: 10px;
    line-height: 10px;
}

.top-reason__card-num .top-reason__card-label {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 10px;
    color: #05604C;
}

.top-reason__card-num .top-reason__card-no {
    position: absolute;
    top: -14px;
    left: 38px;
    z-index: -1;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 52px;
    line-height: 37px;
    color: #D9EDE9;
}

.top-reason__card-head .top-reason__card-ttl {
    margin-top: 18px;
    font-size: 22px;
    font-weight: 900;
    line-height: 26px;
    letter-spacing: .1em;
}

.top-reason__card-head .top-reason__card-ttl.-lh {
    line-height: 27px;
}

.top-reason__card-ttl .top-reason__card-em {
    color: #11836A;
}

.top-reason__card-ttl .top-reason__card-big {
    font-size: 28px;
    line-height: 26px;
    letter-spacing: .1em;
}

.top-reason__card.-r5 .top-reason__card-head {
    padding-bottom: 31px;
}

.top-reason__card.-r5 .top-reason__card-head .top-reason__card-ttl {
    margin-top: 31px;
}

.top-reason__card.-r3 .top-reason__card-body {
    margin-right: 10px;
}

.top-reason__card .top-reason__card-body {
    margin: 0 20px 0 30px;
    padding: 18px 0 26px;
}

.top-reason__card-body .top-reason__card-text {
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: .1em;
}

.top-reason__card-body .top-reason__card-text.-mt10 {
    margin-top: 8px;
    line-height: 26px;
}

.top-reason__card-body .top-reason__card-text.-lh27 {
    line-height: 27px;
}

.top-reason__card-body .top-reason__card-text.-lh29 {
    line-height: 29px;
    letter-spacing: .08em;
}

.top-reason__card-body .top-reason__card-text.-ls08 {
    letter-spacing: .08em;
}

.top-reason__card.-r6 .top-reason__card-body .top-reason__card-text.-ls08 {
    line-height: 29px;
}

.top-reason__card-body .top-reason__card-text.-under {
    margin-top: 12px;
    font-size: 18px;
    font-weight: 700;
    line-height: 27px;
    color: #25292A;
}

.top-reason__card-text.-under .top-reason__card-mark {
    background: linear-gradient(#FFD7A9, #FFD7A9) no-repeat left 0 bottom 2px / 100% 8px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.top-reason__card-text .top-reason__card-strong {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .1em;
    background: linear-gradient(#FFD7A9, #FFD7A9) no-repeat left 0 bottom 2px / 100% 8px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.top-reason__card-text.-lh29 .top-reason__card-strong {
    letter-spacing: .08em;
}

.top-reason__card-body .top-reason__check {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 18px;
}

.top-reason__card-body .top-reason__check.-large {
    gap: 3px;
    margin: 4px 0 6px;
}

.top-reason__check .top-reason__check-item {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    font-weight: 700;
    line-height: 17px;
    letter-spacing: .1em;
    color: #05604C;
}

.top-reason__check.-large .top-reason__check-item {
    font-size: 16px;
    line-height: 19px;
}

.top-reason__check.-large .top-reason__check-item+.top-reason__check-item {
    padding-top: 5px;
    padding-bottom: 5px;
    letter-spacing: .08em;
}

.top-reason__check .top-reason__check-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    border: 1px solid #CCCCCC;
    border-radius: 2px;
    box-sizing: border-box;
}

.top-reason__check .top-reason__check-item::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 2.5px;
    width: 14px;
    height: 10px;
    margin-top: -5px;
    background: url(image/icon_check.svg) no-repeat center / contain;
}

.top-reason__hint {
    display: none;
}

/* ---------- 数字で見る ---------- */
.top-number {
    position: relative;
    padding-bottom: 117px;
    margin-top: 120px;
}

.top-number__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ECF6F4;
    background-image: linear-gradient(90deg, #B9EBE1 1px, transparent 1px), linear-gradient(#B9EBE1 1px, transparent 1px);
    background-position: calc(50% - 26px) 25px;
    background-size: 50px 50px;
}

.top-number__inner {
    position: relative;
    width: 1440px;
    margin: 0 auto;
    padding-top: 110px;
}

.top-number__ttl {
    margin-top: 10px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-number__ttl .top-number__ttl-em {
    color: #F3870D;
}

.top-number__ttl .top-number__ttl-comma {
    letter-spacing: -.33em;
}

.top-number__ttl .top-number__ttl-en {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0;
}

.top-number__lead {
    margin-top: 22px;
    font-size: 15px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: .1em;
    text-align: center;
}

.top-number__list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    margin-top: 33px;
}

.top-number__list .top-number__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 267px;
    min-height: 315px;
    margin-top: 21px;
    padding: 47px 10px 30px;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .2);
}

.top-number__list .top-number__item.-n2,
.top-number__list .top-number__item.-n4 {
    margin-top: 36px;
}

.top-number__item .top-number__item-label {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 20px;
    border-radius: 40px;
    background: #05604C;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: .1em;
    color: #FFFFFF;
    white-space: nowrap;
}

.top-number__item .top-number__item-img {
    display: block;
    height: auto;
}

.top-number__item.-n1 .top-number__item-img {
    width: 152px;
}

.top-number__item.-n2 .top-number__item-img {
    position: relative;
    left: -5px;
    width: 137px;
    margin-top: 5px;
}

.top-number__item.-n3 .top-number__item-img {
    width: 122px;
    margin-top: 5px;
}

.top-number__item.-n4 .top-number__item-img {
    width: 85px;
}

.top-number__item .top-number__area {
    margin-top: 23px;
    font-size: 28px;
    font-weight: 900;
    line-height: 38px;
    letter-spacing: .02em;
    text-align: center;
    color: #F3870D;
}

.top-number__item .top-number__item-text {
    margin-top: 7px;
    font-size: 24px;
    font-weight: 900;
    line-height: 29px;
    letter-spacing: .1em;
    text-align: center;
}

.top-number__item.-n3 .top-number__item-text {
    margin-top: -5px;
    font-size: 28px;
    line-height: 34px;
}

/* 対応エリアの文言「5都市エリアに強い。」が1行に収まるようにフォントサイズを縮小 */
.top-number__item.-n1 .top-number__item-text {
    font-size: 22px;
}

.top-number__item .top-number__value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    color: #F3870D;
}

.top-number__item.-n2 .top-number__value {
    margin-top: 41px;
}

.top-number__item.-n3 .top-number__value {
    margin-top: 33px;
}

.top-number__item.-n4 .top-number__value {
    margin-top: 35px;
}

.top-number__value .top-number__value-num {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 90px;
    line-height: 62px;
}

.top-number__value .top-number__value-num.-one {
    letter-spacing: -.07em;
}

.top-number__value .top-number__value-pct {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 50px;
    line-height: 62px;
}

.top-number__value .top-number__value-unit {
    font-size: 40px;
    font-weight: 900;
    line-height: 48px;
}

.top-number__value .top-number__value-unit.-month {
    margin-left: 2px;
    letter-spacing: -.05em;
}

.top-number__value .top-number__value-unit.-year {
    letter-spacing: .08em;
}

.top-number__value .top-number__value-pre,
.top-number__value .top-number__value-post {
    font-size: 28px;
    font-weight: 900;
    line-height: 34px;
    letter-spacing: .1em;
    color: #292A2C;
}

.top-number__value .top-number__value-pre {
    margin-right: 6px;
}

.top-number__value .top-number__value-post {
    letter-spacing: .08em;
}

/* ---------- 他社との違い ---------- */
.top-merit {
    position: relative;
    width: 1440px;
    margin: 100px auto 0;
}

.top-merit__person {
    position: absolute;
    z-index: 3;
    height: auto;
}

.top-merit__person.-p1 {
    top: 0;
    left: 182px;
    width: 78px;
}

.top-merit__person.-p2 {
    top: 16px;
    left: 1169px;
    width: 84px;
}

.top-merit__ttl {
    padding-top: 40px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-merit__ttl .top-merit__ttl-dot {
    position: relative;
}

.top-merit__ttl .top-merit__ttl-dot::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 20px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #292A2C;
}

.top-merit__ttl .top-merit__ttl-em {
    color: #11836A;
}

.top-merit__scroll .top-merit__tables {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    margin-top: 40px;
}

.top-merit__tables .top-merit__table {
    position: relative;
    width: 550px;
    min-height: 550px;
    border-radius: 20px;
    background: #FFFFFF;
}

.top-merit__tables .top-merit__table.-grb {
    box-shadow: 0 4px 50px 20px rgba(243, 135, 13, .2);
}

.top-merit__tables .top-merit__table.-grb::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 6px solid #05604C;
    border-radius: 20px;
    box-sizing: border-box;
    pointer-events: none;
}

.top-merit__tables .top-merit__table.-other {
    margin-top: 20px;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .2);
}

.top-merit__table .top-merit__table-head {
    height: 70px;
    border-radius: 20px 20px 0 0;
    background: #05604C;
    font-size: 26px;
    font-weight: 700;
    line-height: 70px;
    letter-spacing: .1em;
    text-align: center;
    color: #FFFFFF;
}

.top-merit__table.-other .top-merit__table-head {
    background: #7E8D8A;
}

.top-merit__table .top-merit__table-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 140px;
    padding-top: 18px;
}

.top-merit__table .top-merit__tag {
    display: table;
    margin: 0 auto;
    padding: 6px 20px;
    border: 1px solid #05604C;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 700;
    line-height: 12px;
    letter-spacing: .1em;
    color: #05604C;
    white-space: nowrap;
}

.top-merit__table.-other .top-merit__tag {
    border-color: #5E7973;
    color: #5E7973;
}

.top-merit__table-top .top-merit__zero {
    display: flex;
    align-items: baseline;
    margin-top: 14px;
    color: #F3870D;
}

.top-merit__zero .top-merit__zero-num {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 90px;
    line-height: 62px;
    letter-spacing: .1em;
}

.top-merit__zero .top-merit__zero-unit {
    font-size: 40px;
    font-weight: 900;
    line-height: 48px;
    letter-spacing: .1em;
}

.top-merit__table-top .top-merit__price {
    margin-top: 27px;
    font-size: 32px;
    font-weight: 700;
    line-height: 38px;
    letter-spacing: .1em;
    color: #5C6664;
}

.top-merit__price .top-merit__price-num {
    font-size: 40px;
    letter-spacing: .1em;
}

.top-merit__price .top-merit__price-small {
    font-size: 20px;
    letter-spacing: .1em;
}

.top-merit__table .top-merit__table-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin: 0 6px 6px;
    border-top: 1px solid #E5E5E5;
    border-radius: 0 0 14px 14px;
    background: #E5E5E5;
    overflow: hidden;
}

.top-merit__table.-other .top-merit__table-grid {
    margin: 0;
    border-radius: 0 0 20px 20px;
}

.top-merit__table-grid .top-merit__cell {
    position: relative;
    height: 110px;
    padding-top: 18px;
    background: #FFFFFF;
}

.top-merit__cell .top-merit__mark {
    position: absolute;
    top: 75px;
    left: 50%;
    display: block;
    transform: translate(-50%, -50%);
}

.top-merit__cell .top-merit__mark.-circle {
    width: 30px;
    height: 30px;
    border: 3px solid #F3870D;
    border-radius: 50%;
    box-sizing: border-box;
}

.top-merit__cell .top-merit__mark.-cross {
    width: 34px;
    height: 34px;
}

.top-merit__cell .top-merit__mark.-cross::before,
.top-merit__cell .top-merit__mark.-cross::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 2px;
    background: #5C6664;
    transform: rotate(45deg);
}

.top-merit__cell .top-merit__mark.-cross::after {
    transform: rotate(-45deg);
}

.top-merit__cell .top-merit__mark.-triangle {
    width: 31px;
    height: 27px;
    background: url(image/icon_triangle.svg) no-repeat center / contain;
}

.top-merit__cell .top-merit__val {
    position: absolute;
    top: 75px;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: .1em;
    text-align: center;
    color: #5C6664;
}

.top-merit__cell .top-merit__val.-em {
    font-weight: 900;
    color: #F3870D;
}

/* ---------- 売却だけではありません ---------- */
.top-sale {
    position: relative;
    width: 1440px;
    padding-bottom: 109px;
    margin: 110px auto 0;
}

.top-sale__person {
    position: absolute;
    top: 0;
    left: 120px;
    width: 94px;
    height: auto;
}

.top-sale__ttl {
    padding-top: 25px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-sale__ttl .top-sale__ttl-em {
    color: #05604C;
    background: linear-gradient(#FFF67F, #FFF67F) no-repeat left 0 bottom 2px / 100% 23px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.top-sale__sub {
    margin-top: 18px;
    font-size: 32px;
    font-weight: 900;
    line-height: 38px;
    letter-spacing: .1em;
    text-align: center;
}

.top-sale__lead {
    margin-top: 40px;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: .1em;
    text-align: center;
}

.top-sale__list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 28px;
    margin-top: 24px;
}

.top-sale__list .top-sale__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    width: 264px;
    min-height: 208px;
    padding: 20px 10px;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .2);
}

.top-sale__list .top-sale__item.-s1,
.top-sale__list .top-sale__item.-s3 {
    margin-top: 20px;
}

.top-sale__item .top-sale__icon {
    width: 120px;
    height: 120px;
    object-fit: contain;
}

.top-sale__item .top-sale__name {
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: .1em;
    text-align: center;
}

.top-sale__etc {
    position: absolute;
    top: 503px;
    left: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .1em;
    text-align: center;
}

.top-sale__etc .top-sale__etc-small {
    font-size: 24px;
    line-height: 46px;
    letter-spacing: .1em;
}

.top-sale__etc .top-sale__etc-main {
    font-size: 32px;
    font-weight: 900;
    line-height: 46px;
    letter-spacing: .1em;
}

.top-sale__etc .top-sale__etc-em {
    margin: 0 -4px;
    padding: 0 4px 9px;
    color: #F3870D;
    background: repeating-linear-gradient(90deg, #292A2C 0 6px, transparent 6px 12px) no-repeat center bottom / 100% 3px;
    background-size: calc(round(down, 100% - 6px, 12px) + 6px) 3px;
}

/* ---------- CTA ---------- */
.top-cta {
    position: relative;
    width: 100%;
    min-width: 1440px;
}

.top-cta.-c1 {
    padding-bottom: 94px;
    margin-top: 65px;
}

.top-cta.-c2 {
    padding-bottom: 81px;
    margin-top: 120px;
}

.top-cta .top-cta__bg {
    position: absolute;
    top: 45px;
    left: 0;
    width: 100%;
    height: calc(100% - 45px);
    background: linear-gradient(to top, #01281F, #097E64);
}

.top-cta.-c2 .top-cta__bg {
    top: 0;
    height: 100%;
}

.top-cta .top-cta__illust {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    display: block;
    height: auto;
}

.top-cta .top-cta__illust-img {
    display: block;
    width: 100%;
    height: auto;
}

.top-cta .top-cta__illust.-i1 {
    top: 0;
    left: calc(50% - 658px);
    width: 210px;
}

.top-cta .top-cta__illust.-i2 {
    z-index: 3;
    top: 204px;
    left: calc(50% + 527px);
    width: 70px;
}

.top-cta .top-cta__illust.-i3 {
    top: 80px;
    left: calc(50% - 669px);
    width: 254px;
}

.top-cta .top-cta__illust.-i4 {
    z-index: 3;
    top: 274px;
    left: calc(50% + 489px);
    width: 167px;
}

.top-cta .top-cta__squiggle {
    position: absolute;
    top: 173px;
    left: calc(50% + 593px);
    z-index: 1;
    width: 32px;
    height: 33px;
}

.top-cta .top-cta__inner {
    position: relative;
    z-index: 2;
    width: 1140px;
    margin: 0 auto;
    padding-top: 105px;
}

.top-cta.-c2 .top-cta__inner {
    padding-top: 60px;
}

.top-cta__inner .top-cta__badges {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.top-cta__badges .top-cta__badge {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 62px;
}

.top-cta__badge .top-cta__laurel {
    flex-shrink: 0;
    width: 29px;
    height: 60px;
}

.top-cta__badge .top-cta__badge-text {
    position: relative;
    top: -5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: .1em;
    text-align: center;
    color: #FFF3A6;
    white-space: nowrap;
}

.top-cta.-c2 .top-cta__badges .top-cta__badge {
    justify-content: space-between;
    gap: 0;
}

.top-cta.-c2 .top-cta__badges .top-cta__badge.-b1 {
    width: 248px;
}

.top-cta.-c2 .top-cta__badges .top-cta__badge.-b2,
.top-cta.-c2 .top-cta__badges .top-cta__badge.-b3 {
    width: 238px;
}

.top-cta.-c2 .top-cta__badge .top-cta__badge-text {
    flex: 1;
}

.top-cta__badge-text .top-cta__badge-sub {
    font-weight: 500;
    color: #FFFFFF;
}

.top-cta__badge-text .top-cta__badge-sub.-bold {
    font-weight: 700;
}

.top-cta__badge-text .top-cta__badge-main {
    font-size: 20px;
    letter-spacing: .1em;
}

.top-cta__inner .top-cta__ttl {
    margin-top: 32px;
    font-size: 40px;
    font-weight: 900;
    line-height: 48px;
    letter-spacing: .1em;
    text-align: center;
    color: #FFFFFF;
}

.top-cta__ttl .top-cta__ttl-em {
    color: #FFF3A6;
}

.top-cta__ttl .top-cta__ttl-dot {
    position: relative;
}

.top-cta__ttl .top-cta__ttl-dot::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 17px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FFF3A6;
}

.top-cta__inner .top-cta__ttl.-c2 {
    margin-top: 22px;
    font-size: 38px;
    line-height: 54px;
}

.top-cta__ttl .top-cta__ttl-em.-dash {
    padding-bottom: 5px;
    background: repeating-linear-gradient(90deg, #FFF3A6 0 13px, transparent 13px 20px) no-repeat left 1px bottom / calc(100% - 18px) 3px;
    background-size: calc(round(down, 100% - 31px, 20px) + 13px) 3px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.top-cta__inner .top-cta__lead {
    margin-top: 22px;
    font-size: 15px;
    font-weight: 500;
    line-height: 27px;
    letter-spacing: .1em;
    text-align: center;
    color: #FFFFFF;
}

.top-cta__inner .top-cta__lead.-c2 {
    margin-top: 29px;
}

/* CTAボタン群 */
.top-cta-box {
    position: relative;
    margin-top: 36px;
    padding: 27px 0 20px;
    border-radius: 80px;
    background: #FFFFFF;
}

.top-cta-box.-balloon {
    margin-top: 64px;
    padding: 54px 0 32px;
    border-radius: 106px;
}

.top-cta-box .top-cta-box__balloon {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    padding: 12px 30px;
    border-radius: 38px;
    background: #F3870D;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .1em;
    color: #FFFFFF;
    white-space: nowrap;
}

.top-cta-box .top-cta-box__balloon::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 23px;
    height: 21px;
    margin-left: -10.5px;
    background: #F3870D;
    -webkit-mask: url(image/icon_tail_balloon_pc.svg) no-repeat center / contain;
    mask: url(image/icon_tail_balloon_pc.svg) no-repeat center / contain;
}

.top-cta-box .top-cta-box__cols {
    display: flex;
    justify-content: center;
}

.top-cta-box__cols .top-cta-box__col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 358px;
    padding: 0 24px;
}

.top-cta-box__cols .top-cta-box__col+.top-cta-box__col {
    border-left: 1px solid #C8C8C8;
}

.top-cta-box__col .top-cta-box__caption {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 27px;
}

.top-cta-box__caption .top-cta-box__slash {
    flex-shrink: 0;
    width: 11px;
    height: 17px;
}

.top-cta-box__caption .top-cta-box__caption-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 27px;
    letter-spacing: .1em;
}

.top-cta-box__col a.top-cta-box__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 310px;
    height: 70px;
    padding: 0 20px;
    border-radius: 50px;
    color: #FFFFFF;
    transition: .3s;
}

.top-cta-box__col a.top-cta-box__btn.-contact {
    padding: 0 18px;
    background: #007B60;
}

.top-cta-box__col a.top-cta-box__btn.-tel {
    background: #00A480;
}

.top-cta-box__col a.top-cta-box__btn.-line {
    background: #06C755;
}

.top-cta-box__btn .top-cta-box__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.top-cta-box__btn .top-cta-box__arrow {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.top-cta-box__btn .top-cta-box__text {
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .1em;
    text-align: center;
    white-space: nowrap;
}

.top-cta-box__btn .top-cta-box__text.-two {
    line-height: 24px;
}

.top-cta-box__text .top-cta-box__text-small {
    font-size: 16px;
    letter-spacing: .1em;
}

.top-cta-box__col .top-cta-box__holiday {
    margin-top: 4px;
    font-size: 14px;
    font-weight: 700;
    line-height: 17px;
    letter-spacing: .1em;
}

/* ---------- 成約事例 ---------- */
.top-case {
    position: relative;
    padding-bottom: 147px;
    margin-top: -18px;
    scroll-margin-top: -30px;
}

.top-case__bg {
    position: absolute;
    top: 18px;
    left: 0;
    width: 100%;
    bottom: 39px;
}

.top-case__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-case__illust {
    position: absolute;
    z-index: 1;
    height: auto;
}

.top-case__illust.-i1 {
    top: 0;
    left: calc(50% - 457px);
    width: 222px;
}

.top-case__illust.-i2 {
    top: 813px;
    left: calc(50% + 322px);
    width: 300px;
}

.top-case__inner {
    position: relative;
    z-index: 2;
    width: 1140px;
    margin: 0 auto;
    padding-top: 128px;
}

.top-case__inner .top-case__ttl {
    margin-top: 18px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-case__inner .top-case__lead {
    margin-top: 28px;
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: .1em;
    text-align: center;
}

.top-case__inner .top-case__slider {
    margin: 32px -15px 0;
}

.top-case__slider .top-case__slide {
    padding: 0 15px 30px;
}

.top-case__slide .top-case__card {
    width: 360px;
    min-height: 432px;
    padding-bottom: 40px;
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .15);
}

.top-case__card .top-case__card-img {
    position: relative;
    height: 200px;
    border-radius: 16px 16px 0 0;
    background: #FFFFFF;
    overflow: hidden;
}

.top-case__card .top-case__card-img .top-case__card-img-el {
    width: 100%;
    height: calc(100% - 1px);
    object-fit: cover;
}

.top-case__card-img .top-case__card-no {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 7px 15px;
    border-radius: 0 10px 0 0;
    background: #FFFFFF;
}

.top-case__card-no .top-case__card-no-num {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 22px;
    color: #05604C;
}

.top-case__card-no .top-case__card-no-label {
    padding-top: 3px;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 11px;
    color: #84BEB1;
}

.top-case__card .top-case__card-data {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px 20px 0;
}

.top-case__card-data .top-case__row,
.top-case__card-data .top-case__pair {
    display: flex;
    align-items: center;
    gap: 10px;
}

.top-case__card-data .top-case__row.-half {
    gap: 0;
}

.top-case__card-data .top-case__pair {
    width: 180px;
}

.top-case__card-data .top-case__row.-price {
    margin-top: 5px;
}

.top-case__card-data .top-case__dt {
    flex-shrink: 0;
    width: 70px;
    height: 22px;
    border-radius: 4px;
    background: #E4F3F0;
    font-size: 12px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .1em;
    text-align: center;
}

.top-case__card-data .top-case__dd {
    min-width: 0;
    overflow: hidden;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: .06em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.top-case__card-data .top-case__dd.-age {
    letter-spacing: .1em;
}

.top-case__card-data .top-case__dd.-period {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: .1em;
}

.top-case__card-data .top-case__dd.-price {
    display: flex;
    align-items: baseline;
    gap: 3px;
    color: #05604C;
}

.top-case__dd .top-case__price-num {
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 22px;
    letter-spacing: 0;
}

.top-case__dd .top-case__price-unit {
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    letter-spacing: .1em;
}

.top-case__inner .top-case__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 20px;
}

.top-case__nav button.top-case__arrow {
    width: 80px;
    height: 80px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    transition: .3s;
}

.top-case__arrow .top-case__arrow-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-case__nav .top-case__count {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 17px;
}

.top-case__count .top-case__count-bar {
    display: block;
    width: 2px;
    height: 20px;
    background: #292A2C;
}

.top-case__slider .slick-dots {
    display: none;
}

/* ---------- お客様の声 ---------- */
.top-voice {
    position: relative;
    width: 1440px;
    margin: 41px auto 0;
    padding-top: 41px;
}

.top-voice__illust {
    position: absolute;
    height: auto;
}

.top-voice__illust.-i1 {
    top: 0;
    left: 400px;
    width: 159px;
}

.top-voice__illust.-i2 {
    bottom: 0;
    left: 1275px;
    z-index: 1;
    width: 94px;
}

.top-voice__ttl {
    margin-top: 18px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-voice__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1140px;
    margin: 40px auto 0;
    padding-bottom: 110px;
}

.top-voice__list .top-voice__card {
    display: flex;
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(5, 96, 76, .15);
}

.top-voice__list .top-voice__card.-reverse {
    flex-direction: row-reverse;
}

.top-voice__card .top-voice__card-img {
    flex-shrink: 0;
    width: 500px;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
}

.top-voice__card.-reverse .top-voice__card-img {
    width: 550px;
    border-radius: 0 20px 20px 0;
}

.top-voice__card .top-voice__card-img .top-voice__card-img-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-voice__card .top-voice__card-body {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
    padding: 50px 36px 30px 40px;
}

.top-voice__card-body .top-voice__quote {
    position: absolute;
    z-index: -1;
    background: #DFF3EE;
}

.top-voice__card-ttl .top-voice__quote {
    position: absolute;
    z-index: -1;
    background: #DFF3EE;
}

.top-voice__card-body .top-voice__quote.-open {
    top: 29px;
    left: 18px;
    width: 79px;
    height: 58px;
    -webkit-mask: url(image/icon_quote_open.svg) no-repeat center / contain;
    mask: url(image/icon_quote_open.svg) no-repeat center / contain;
}

.top-voice__card-ttl .top-voice__quote.-close {
    bottom: -38px;
    right: -52px;
    width: 74px;
    height: 55px;
    -webkit-mask: url(image/icon_quote_close.svg) no-repeat center / contain;
    mask: url(image/icon_quote_close.svg) no-repeat center / contain;
}

.top-voice__card.-reverse .top-voice__card-body .top-voice__quote.-open {
    top: 21px;
    left: 21px;
}

.top-voice__card.-reverse .top-voice__card-ttl .top-voice__quote.-close {
    bottom: -40px;
    right: -17px;
}

.top-voice__card-body .top-voice__no {
    display: inline-flex;
    align-self: flex-start;
    align-items: baseline;
    height: 30px;
    padding: 5px 15px 0;
    border-radius: 6px;
    background: #05604C;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    color: #FFFFFF;
}

.top-voice__no .top-voice__no-label {
    font-size: 16px;
    line-height: 17px;
    white-space: pre;
}

.top-voice__no .top-voice__no-num {
    font-size: 24px;
    line-height: 17px;
}

.top-voice__card-body .top-voice__card-ttl {
    position: relative;
    max-width: 505px;
    margin-top: 10px;
    font-size: 22px;
    font-weight: 900;
    line-height: 30px;
    letter-spacing: .1em;
}

.top-voice__card-body .top-voice__card-text {
    margin-top: 16px;
    padding-top: 17px;
    border-top: 1px solid #EBEBEB;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: .1em;
    color: #575757;
    text-wrap: pretty;
}

.top-voice__card-text p+p {
    margin-top: 22px;
}

.top-voice__card-text strong {
    font-size: 16px;
    font-weight: 700;
    color: #F3870D;
    letter-spacing: .1em;
}

.top-voice__card-body .top-voice__profile {
    margin-top: auto;
    padding-top: 30px;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .1em;
    text-align: right;
    color: #05604C;
}

/* ---------- 売却の流れ ---------- */
.top-flow {
    position: relative;
    width: 1440px;
    padding-bottom: 106px;
    margin: 10px auto 0;
    scroll-margin-top: 30px;
}

.top-flow__illust {
    position: absolute;
    z-index: 2;
    top: 403px;
    pointer-events: none;
    left: 60px;
    width: 124px;
    height: auto;
}

.top-flow__ttl {
    margin-top: 18px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-flow__lead {
    margin-top: 20px;
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: .1em;
    text-align: center;
}

.top-flow__list {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 32px;
}

.top-flow__list::before {
    content: "";
    position: absolute;
    top: 178px;
    left: 246px;
    width: 930px;
    height: 6px;
    background: #05604C;
}

.top-flow__list .top-flow__item {
    position: relative;
    width: 170px;
    padding-top: 30px;
}

.top-flow__item .top-flow__step {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-left: -30px;
    border-radius: 50%;
    background: #05604C;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    color: #FFFFFF;
}

.top-flow__step .top-flow__step-label {
    font-size: 12px;
    line-height: 10px;
}

.top-flow__step .top-flow__step-num {
    font-size: 24px;
    line-height: 20px;
}

.top-flow__item .top-flow__box {
    position: relative;
    min-height: 250px;
    padding: 46px 20px 20px;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
}

.top-flow__box .top-flow__item-ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    letter-spacing: .1em;
    text-align: center;
    color: #05604C;
}

.top-flow__box .top-flow__item-ttl.-tight {
    letter-spacing: .04em;
}

.top-flow__box .top-flow__item-text {
    margin-top: 18px;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;
    letter-spacing: .1em;
    color: #575757;
}

/* ---------- よくある質問 ---------- */
.top-faq {
    width: 1140px;
    margin: 4px auto 0;
    scroll-margin-top: 30px;
}

.top-faq__ttl {
    margin-top: 18px;
    font-size: 48px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: .1em;
    text-align: center;
}

.top-faq__list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: 32px;
}

.top-faq__list .top-faq__q {
    display: flex;
    align-items: center;
    gap: 30px;
    min-height: 70px;
    padding: 10px 40px;
    border-radius: 10px;
    background: #E7F5F2;
}

.top-faq__q .top-faq__q-mark {
    flex-shrink: 0;
    width: 21px;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 17px;
    color: #05604C;
}

.top-faq__q .top-faq__q-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    letter-spacing: .1em;
}

.top-faq__list .top-faq__a {
    margin-top: 16px;
    padding: 0 40px 0 91px;
    font-size: 14px;
    font-weight: 700;
    line-height: 25px;
    letter-spacing: .1em;
}

/* ---------- フッター ---------- */
.site-footer {
    position: relative;
    min-width: 1440px;
    background: url(image/common_footer_bg.webp) no-repeat center top / cover;
}

.site-footer .site-footer__body {
    position: relative;
    width: 1140px;
    margin: 0 auto;
    padding: 87px 0 159px;
    text-align: center;
}

.site-footer__body .site-footer__logo {
    display: block;
    width: 441px;
    height: 81px;
    margin: 0 auto;
    object-fit: contain;
}

.site-footer__body .site-footer__name {
    margin-top: 9px;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .1em;
}

.site-footer__body .site-footer__address {
    margin-top: 18px;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: .1em;
}

.site-footer__body .site-footer__tel {
    margin-top: 16px;
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 19px;
    letter-spacing: .1em;
}

a.site-footer__tel-link {
    color: #292A2C;
    pointer-events: none;
}

.site-footer__body .site-footer__holiday {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: .1em;
}

.site-footer__body .site-footer__group {
    position: absolute;
    top: 380px;
    left: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 23px;
    letter-spacing: .1em;
    text-align: left;
}

.site-footer__body .site-footer__license {
    position: absolute;
    top: 403px;
    right: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 23px;
    letter-spacing: .1em;
    text-align: right;
}

.site-footer__body a.site-footer__corp {
    position: absolute;
    top: 485px;
    left: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 20px;
    color: #FFFFFF;
    transition: .3s;
}

.site-footer__corp .site-footer__corp-text {
    font-size: 15px;
    font-weight: 500;
    line-height: 27px;
    letter-spacing: .1em;
}

.site-footer__corp .site-footer__corp-icon {
    display: block;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url(image/icon_linkout.svg) no-repeat center / contain;
    mask: url(image/icon_linkout.svg) no-repeat center / contain;
}

.site-footer .site-footer__bar {
    padding-bottom: 121px;
    background: #05604C;
}

.site-footer.-no-follow .site-footer__bar {
    padding-bottom: 21px;
}

.site-footer__bar .site-footer__bar-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    width: 1140px;
    margin: 0 auto;
    padding-top: 24px;
}

.site-footer__bar-inner .site-footer__links {
    display: flex;
    gap: 24px;
}

.site-footer__links .site-footer__links-item .site-footer__links-link {
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: .1em;
    color: #FFFFFF;
    text-decoration: none;
    transition: .3s;
}

.site-footer__bar-inner .site-footer__copyright {
    font-family: "din-2014", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    color: #FFFFFF;
}

/* ---------- 下追従バー ---------- */
.follow-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s, visibility .6s;
}

.follow-bar.is-show {
    opacity: 1;
    visibility: visible;
}

.follow-bar .follow-bar__pc {
    height: 100px;
    background: linear-gradient(90deg, #05604C, #119E7F);
}

.follow-bar .follow-bar__sp {
    display: none;
}

.follow-bar__pc .follow-bar__inner {
    position: relative;
    width: 1440px;
    height: 100%;
    margin: 0 auto;
}

.follow-bar__inner .follow-bar__person {
    position: absolute;
    bottom: 0;
    left: 50px;
    width: 106px;
    height: auto;
}

.follow-bar__inner .follow-bar__catch {
    position: absolute;
    top: 25px;
    left: 196px;
    font-size: 16px;
    font-weight: 900;
    line-height: 26px;
    letter-spacing: .1em;
    color: #FFFFFF;
}

.follow-bar__catch .follow-bar__dot {
    position: relative;
}

.follow-bar__catch .follow-bar__dot::before {
    content: "";
    position: absolute;
    top: -3px;
    left: 6px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #FFFFFF;
}

.follow-bar__catch .follow-bar__catch-em {
    letter-spacing: 0;
    color: #FFF3A6;
}

.follow-bar__inner .follow-bar__btns {
    position: absolute;
    top: 15px;
    left: 606px;
    display: flex;
    gap: 12px;
    width: 784px;
    height: 70px;
    padding: 10px 20px;
    border-radius: 10px;
    background: #FFFFFF;
}

.follow-bar__btns a.follow-bar__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 240px;
    height: 50px;
    padding: 0 20px;
    border-radius: 50px;
    color: #FFFFFF;
    transition: .3s;
}

.follow-bar__btns a.follow-bar__btn.-contact {
    padding: 0 18px;
    background: #007B60;
}

.follow-bar__btns a.follow-bar__btn.-tel {
    background: #00A480;
}

.follow-bar__btns a.follow-bar__btn.-line {
    background: #06C755;
}

.follow-bar__btn .follow-bar__btn-icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
}

.follow-bar__btn .follow-bar__btn-arrow {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.follow-bar__btn .follow-bar__btn-text {
    font-size: 15px;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: .1em;
    white-space: nowrap;
}

.follow-bar__btn .follow-bar__btn-text.-two {
    font-size: 14px;
    line-height: 19px;
    letter-spacing: .05em;
    text-align: center;
}

.follow-bar__sp-caption .follow-bar__sp-caption-text,
.follow-bar__sp-btn .follow-bar__sp-text {
    font-size: 12px;
}

/* ---------- 無料相談フォーム ---------- */
.common_contact_form .form_box dl.form_property {
    align-items: flex-start;
}

.common_contact_form .form_box dl.form_property dt {
    padding-top: 32px;
}

.common_contact_form .form_box dl.form_property dt::after {
    top: calc(50% + 16px);
}

.page_notfound .page_notfound_body .page_notfound_text {
    margin-bottom: 50px;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .08em;
    text-align: center;
}

.page_contact .common_page_wrap .privacy_term_outer {
    margin-bottom: 0;
}

.contact_intro {
    margin-top: 0;
    padding: 48px 0 52px;
    background: linear-gradient(to top, #01281F, #097E64);
}

.contact_intro .contact_intro_inner {
    width: 1140px;
    margin: 0 auto;
}

.contact_intro_inner .contact_intro_lead {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: .1em;
    text-align: center;
    color: #FFFFFF;
}

.contact_intro_lead .contact_intro_slash {
    flex-shrink: 0;
    display: block;
    width: 12px;
    height: 20px;
}

.contact_intro_inner .top-cta__badges .top-cta__badge .top-cta__badge-text {
    top: 0;
}

.contact_intro_inner .top-cta__badges {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
}

.form_property .form_property_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form_property_list .form_property_item {
    display: none;
    align-items: flex-end;
    gap: 12px;
}

.form_property_list .form_property_item.is-show {
    display: flex;
}

.form_property_item .form_property_no {
    flex-shrink: 0;
    width: 48px;
    padding-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: .05em;
    color: var(--main-color);
}

.form_property_item .form_property_field {
    min-width: 0;
}

.form_property_item .form_property_field.-name {
    flex-grow: 1;
}

.form_property_item .form_property_field.-room {
    flex-shrink: 0;
    width: 140px;
}

.form_property_field .form_property_label {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: .05em;
    color: #5E7973;
}

.form_property .form_property_add {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 8px 22px;
    border: 1px solid var(--main-color);
    border-radius: 100vmax;
    background: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: .05em;
    color: var(--main-color);
    cursor: pointer;
    transition: .3s;
}

.form_property .form_property_add::before {
    content: "";
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    background: linear-gradient(var(--main-color), var(--main-color)) no-repeat center / 100% 2px, linear-gradient(var(--main-color), var(--main-color)) no-repeat center / 2px 100%;
}

.form_property .form_note {
    margin-top: 8px;
    font-size: 12px;
    line-height: 20px;
    letter-spacing: .05em;
    color: #5E7973;
}

.form_property .form_property_add.is-hide,
.mw_wp_form_confirm .form_property .form_property_add,
.mw_wp_form_confirm .form_property .form_note {
    display: none;
}

@media (max-width: 750px) {
    .wrap {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        padding-top: 55px;
    }

    /* SPヘッダー */
    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 1px 1px #ccc;
        z-index: 999;
        height: 55px;
    }

    #sp_header .logo {
        position: absolute;
        left: 10px;
        top: 10px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 40px;
    }

    #sp_header .icon {
        color: #000;
        position: absolute;
    }

    #sp_header .mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    #sp_header .tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    /* SP固定ページ 共通設定 */
    .common_page_main {
        padding: 30vw 0 3.08vw;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
    }

    .common_page_main .breadcrumb {
        margin-top: 8.46vw;
    }

    /* SP固定ページ お問い合わせ */
    .contact_form_disc {
        margin-block: 0 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: .06em;
    }

    .common_contact_form .form_box {
        margin-block: 0 10vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 1.3em 0;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0;
    }

    /* サンクスページ */
    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link,
    .page_notfound .page_notfound_body .page_notfound_btn {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0 auto 0.4em;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* ==================================================
       Grand Roots Brothers LP（SP）
    ================================================== */
    body {
        min-width: 100%;
        padding-top: 0;
    }

    .top-main span.sp,
    .site-footer span.sp,
    .contact_intro span.sp,
    .top-main br.sp,
    .site-footer br.sp,
    .contact_intro br.sp {
        display: inline;
    }

    .top-sec-label {
        gap: 2.56vw;
        font-size: 4.62vw;
        line-height: 3.08vw;
    }

    .top-sec-label .top-sec-label__dot {
        width: 2.56vw;
        height: 2.56vw;
    }

    .top-sec-label .top-sec-label__text {
        font-size: 4.62vw;
        line-height: 3.08vw;
    }

    /* ---------- ヘッダー ---------- */
    .site-header {
        min-width: 0;
    }

    .site-header__inner {
        width: 100%;
        height: 17.95vw;
    }

    .site-header__logo {
        top: 7.18vw;
        left: 15.13vw;
        width: 65.9vw;
        height: 10.77vw;
    }

    .site-header__nav,
    a.site-header__btn {
        display: none;
    }

    /* ---------- FV ---------- */
    .top-fv {
        z-index: 1;
        overflow: visible;
    }

    .top-fv__inner {
        width: 100%;
    }

    .top-fv__illust {
        top: 28.21vw;
        left: -5.9vw;
        width: 112.05vw;
    }

    .top-fv__medals {
        top: 179.74vw;
        left: 5.13vw;
        flex-wrap: wrap;
        gap: 3.08vw 2.56vw;
        width: 89.74vw;
    }

    .top-fv__medals .top-fv__medal {
        width: 43.59vw;
        height: 20.51vw;
    }

    .top-fv__medal .top-fv__medal-pic {
        top: -3.59vw;
        left: -4.62vw;
        width: 52.82vw;
        height: 29.74vw;
    }

    .top-fv__left {
        width: 100%;
        padding: 100.51vw 0 47.18vw;
    }

    .top-fv__label {
        margin-left: 5.13vw;
        padding: 1.28vw 3.85vw 1.03vw;
    }

    .top-fv__label::after {
        top: calc(100% - 0.51vw);
        left: 20.26vw;
        width: 3.85vw;
        height: 3.59vw;
    }

    .top-fv__label .top-fv__label-text {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-fv__ttl {
        margin: 3.33vw 0 0 5.13vw;
        font-size: 8.21vw;
    }

    .top-fv__ttl .top-fv__ttl-line1 {
        line-height: 9.74vw;
    }

    .top-fv__ttl .top-fv__ttl-line2 {
        margin-top: 0.77vw;
        line-height: 12.31vw;
        letter-spacing: .08em;
    }

    .top-fv__ttl .top-fv__ttl-line2::before {
        top: 6.92vw;
        left: -3.08vw;
        width: 93.33vw;
        height: 5.13vw;
        background-image: url(image/deco_marker_fv_sp.svg);
    }

    .top-fv__ttl .top-fv__ttl-dot::before {
        top: 0;
        left: 3.08vw;
        width: 1.54vw;
        height: 1.54vw;
    }

    .top-fv__ttl .top-fv__ttl-line3 {
        line-height: 12.31vw;
        letter-spacing: .08em;
    }

    .top-fv__lead {
        margin: 6.15vw 0 0 5.13vw;
        font-size: 4.1vw;
        font-weight: 900;
        line-height: 5.64vw;
        letter-spacing: .04em;
    }

    .top-fv__cta {
        display: none;
    }

    /* ---------- お悩み ---------- */
    .top-issue {
        padding-bottom: 15.9vw;
    }

    .top-issue__bg {
        background: none;
        clip-path: none;
    }

    .top-issue__bg::before {
        display: none;
    }

    .top-issue__bg-img {
        display: block;
    }

    .top-issue__inner {
        width: 100%;
        padding-top: 28.72vw;
    }

    .top-issue__label {
        padding: 1.79vw 3.85vw 1.54vw;
    }

    .top-issue__label::after {
        width: 4.62vw;
        height: 3.85vw;
        margin-left: -2.31vw;
    }

    .top-issue__label .top-issue__label-text {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-issue__ttl {
        margin-top: 4.62vw;
        font-size: 8.21vw;
        line-height: 10vw;
        letter-spacing: .06em;
    }

    .top-issue__squiggle {
        display: none;
    }

    .top-issue__inner .top-issue__list {
        display: grid;
        grid-template-columns: repeat(2, 43.59vw);
        gap: 3.08vw 2.56vw;
        width: 89.74vw;
        margin: 4.62vw auto 0;
    }

    .top-issue__list .top-issue__item {
        position: static;
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: stretch;
        min-height: 20.51vw;
        border-radius: 2.56vw;
        background: #FFFFFF;
        box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
        filter: none;
    }

    .top-issue__list .top-issue__item.-i1,
    .top-issue__list .top-issue__item.-i2,
    .top-issue__list .top-issue__item.-i3,
    .top-issue__list .top-issue__item.-i4,
    .top-issue__list .top-issue__item.-i5,
    .top-issue__list .top-issue__item.-i6 {
        grid-column: auto;
        grid-row: auto;
        top: auto;
        margin-left: 0;
    }

    .top-issue__list .top-issue__item::before,
    .top-issue__list .top-issue__item::after {
        display: none;
    }

    .top-issue__item .top-issue__text {
        padding: 0;
        border-radius: 0;
        background: none;
        font-size: 3.33vw;
        line-height: 5.13vw;
        letter-spacing: .04em;
    }

    .top-issue__item .top-issue__text .top-issue__em {
        font-size: 3.85vw;
        letter-spacing: .04em;
    }

    .top-issue__item .top-issue__text .top-issue__small {
        font-size: 3.08vw;
    }

    .top-issue__item .top-issue__text .top-issue__sub {
        font-size: 3.33vw;
    }

    .top-issue__bubble {
        position: relative;
        display: block;
        width: 14.62vw;
        height: 9.49vw;
        margin: 3.08vw auto 0;
        filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .15));
    }

    .top-issue__bubble::before,
    .top-issue__bubble::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        background: #FFFFFF;
    }

    .top-issue__bubble::before {
        top: 0;
        left: 0;
        width: 14.62vw;
        height: 5.64vw;
    }

    .top-issue__bubble::after {
        top: 6.92vw;
        left: 4.36vw;
        width: 5.9vw;
        height: 2.56vw;
    }

    .top-issue__illust {
        position: relative;
        top: auto;
        left: auto;
        display: block;
        width: 55.38vw;
        height: 44.1vw;
        margin: 4.1vw auto 0;
    }

    /* ---------- そのお悩み、解決します ---------- */
    .top-solve {
        padding-bottom: 26.67vw;
        margin-top: 6.67vw;
    }

    .top-solve__inner {
        width: 100%;
    }

    .top-solve__mark {
        top: 16.41vw;
        left: 39.74vw;
        width: 20.51vw;
        height: 48.72vw;
    }

    .top-solve__illust.-i1 {
        left: 5.9vw;
        width: 25.13vw;
    }

    .top-solve__illust.-i2 {
        top: 131.79vw;
        left: 70.77vw;
        width: 26.67vw;
    }

    .top-solve__body {
        padding-top: 22.56vw;
    }

    .top-solve__ttl {
        font-size: 4.62vw;
        padding: 0 0 1.03vw 1.54vw;
        line-height: 5.64vw;
        background: linear-gradient(#FFFD72, #FFFD72) no-repeat left 19.74vw top 18.97vw / 62.56vw 4.1vw, linear-gradient(#FFFD72, #FFFD72) no-repeat left 19.74vw top 29.49vw / 62.56vw 4.1vw;
    }

    .top-solve__ttl .top-solve__ttl-sub {
        display: inline-block;
        margin-bottom: 0.77vw;
        font-size: 4.62vw;
        line-height: 5.64vw;
    }

    .top-solve__ttl .top-solve__ttl-main {
        padding: 0;
        font-size: 8.72vw;
        line-height: 10.26vw;
        background: none;
    }

    .top-solve__ttl .top-solve__ttl-indent {
        display: inline;
    }

    .top-solve__text {
        margin-top: 5.38vw;
        font-size: 3.59vw;
        line-height: 6.15vw;
        letter-spacing: .08em;
    }

    /* ---------- 選ばれる理由 ---------- */
    .top-reason {
        width: 100%;
        margin-top: 3.59vw;
        scroll-margin-top: 2.56vw;
    }

    .top-reason__ttl {
        font-size: 4.62vw;
        line-height: 11.28vw;
    }

    .top-reason__ttl .top-reason__ttl-sub {
        font-size: 4.62vw;
        line-height: 11.28vw;
    }

    .top-reason__ttl .top-reason__ttl-line {
        font-size: 9.74vw;
        line-height: 11.28vw;
    }

    .top-reason__ttl .top-reason__ttl-num {
        font-size: 14.36vw;
        line-height: 0;
        letter-spacing: 0.86vw;
    }

    .top-reason__ttl .top-reason__ttl-main {
        font-size: 9.74vw;
        line-height: 11.28vw;
    }

    .top-reason__slider {
        display: block;
        margin-top: 0;
        padding-bottom: 0;
    }

    .top-reason__slider .top-reason__row {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3.08vw;
        width: 94.87vw;
        padding: 7.69vw 2.56vw;
    }

    .top-reason__slider:not(.slick-initialized) .top-reason__row+.top-reason__row {
        display: none;
    }

    .top-reason__row .top-reason__card {
        grid-template-columns: 30.77vw 1fr;
        grid-template-rows: auto auto;
        width: 89.74vw;
        min-height: 71.79vw;
        border-radius: 2.56vw;
        box-shadow: 0 4px 25px rgba(5, 96, 76, .2);
    }

    .top-reason__row .top-reason__card.-r2,
    .top-reason__row .top-reason__card.-r4,
    .top-reason__row .top-reason__card.-r6 {
        margin: 0;
    }

    .top-reason__row .top-reason__card.-r5,
    .top-reason__row .top-reason__card.-r6 {
        min-height: 71.79vw;
    }

    .top-reason__card .top-reason__card-img {
        grid-row: 1;
        width: 30.77vw;
        height: 30.77vw;
        border-radius: 2.56vw 0 2.56vw 0;
    }

    .top-reason__card.-r1 .top-reason__card-img .top-reason__card-img-el {
        width: 18.46vw;
    }

    .top-reason__card.-r2 .top-reason__card-img .top-reason__card-img-el {
        width: 20.77vw;
    }

    .top-reason__card.-r3 .top-reason__card-img .top-reason__card-img-el {
        width: 23.59vw;
    }

    .top-reason__card.-r4 .top-reason__card-img .top-reason__card-img-el {
        width: 19.49vw;
    }

    .top-reason__card.-r5 .top-reason__card-img .top-reason__card-img-el {
        width: 16.15vw;
    }

    .top-reason__card.-r6 .top-reason__card-img .top-reason__card-img-el {
        width: 15.38vw;
    }

    .top-reason__card .top-reason__card-img .top-reason__card-x {
        display: none;
    }

    .top-reason__card .top-reason__card-head {
        margin: 0 3.85vw;
        padding: 6.15vw 0 0;
        border-bottom: none;
    }

    .top-reason__card-num .top-reason__card-label {
        font-size: 3.33vw;
    }

    .top-reason__card-num .top-reason__card-no {
        top: -2.05vw;
        left: 11.54vw;
        font-size: 9.23vw;
        line-height: 6.41vw;
    }

    .top-reason__card-head .top-reason__card-ttl {
        margin-top: 5.64vw;
        font-size: 4.62vw;
        line-height: 6.67vw;
    }

    .top-reason__card-head .top-reason__card-ttl.-lh {
        margin-top: 3.33vw;
        line-height: 6.67vw;
    }

    .top-reason__card-ttl .top-reason__card-big {
        font-size: 6.15vw;
        line-height: 6.67vw;
    }

    .top-reason__card.-r3 .top-reason__card-head .top-reason__card-ttl,
    .top-reason__card.-r3 .top-reason__card-ttl .top-reason__card-big {
        letter-spacing: .07em;
    }

    .top-reason__card.-r6 .top-reason__card-head .top-reason__card-ttl {
        letter-spacing: .08em;
    }

    .top-reason__card.-r5 .top-reason__card-head {
        padding-bottom: 0;
    }

    .top-reason__card.-r5 .top-reason__card-head .top-reason__card-ttl {
        margin-top: 5.64vw;
    }

    .top-reason__card .top-reason__card-body {
        grid-column: 1 / 3;
        margin: 0 5.13vw;
        padding: 3.08vw 0 5.13vw;
    }

    .top-reason__card.-r3 .top-reason__card-body {
        margin-right: 5.13vw;
    }

    .top-reason__card-body .top-reason__card-text {
        font-size: 3.59vw;
        line-height: 5.64vw;
    }

    .top-reason__card-body .top-reason__card-text.-mt10 {
        margin-top: 2.56vw;
        line-height: 6.15vw;
    }

    .top-reason__card-body .top-reason__card-text.-lh27 {
        line-height: 6.15vw;
    }

    .top-reason__card-body .top-reason__card-text.-lh29 {
        line-height: 6.15vw;
    }

    .top-reason__card.-r6 .top-reason__card-body .top-reason__card-text.-ls08 {
        line-height: 4.36vw;
    }

    .top-reason__card-body .top-reason__card-text.-under {
        margin-top: 1.54vw;
        line-height: 6.15vw;
    }

    .top-reason__card-text .top-reason__card-strong,
    .top-reason__card-text.-under .top-reason__card-mark {
        background-position: left 0 bottom 0.77vw;
        background-size: 100% 1.79vw;
    }

    .top-reason__card-text .top-reason__card-strong {
        font-size: 4.1vw;
    }

    .top-reason__card-strong .top-reason__card-punct {
        letter-spacing: -.23em;
    }

    .top-reason__card-body .top-reason__check {
        gap: 1.54vw;
        margin-top: 2.56vw;
    }

    .top-reason__card-body .top-reason__check.-large {
        gap: 0.77vw;
        margin: 2.56vw 0 1.03vw;
    }

    .top-reason__check .top-reason__check-item {
        padding-left: 6.67vw;
        font-size: 3.59vw;
        line-height: 4.36vw;
    }

    .top-reason__check.-large .top-reason__check-item {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-reason__check.-large .top-reason__check-item+.top-reason__check-item {
        padding-top: 1.28vw;
        padding-bottom: 1.28vw;
    }

    .top-reason__check .top-reason__check-item::before {
        width: 3.59vw;
        height: 3.59vw;
        margin-top: -1.79vw;
    }

    .top-reason__check .top-reason__check-item::after {
        left: 0.64vw;
        width: 3.59vw;
        height: 2.56vw;
        margin-top: -1.28vw;
    }

    .top-reason__slider .slick-dots {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3.08vw;
        margin-top: -2.31vw;
    }

    .top-reason__slider .slick-dots li {
        width: 2.56vw;
        height: 2.56vw;
        border-radius: 50%;
        background: #D0E0DD;
        transition: .3s;
    }

    .top-reason__slider .slick-dots li.slick-active {
        width: 3.59vw;
        height: 3.59vw;
        background: #05604C;
    }

    .top-reason__slider .slick-dots button {
        display: none;
    }

    .top-reason__hint {
        position: absolute;
        top: 87.18vw;
        left: 50%;
        z-index: 5;
        display: block;
        width: 35.9vw;
        height: 35.9vw;
        margin-left: -17.95vw;
        border-radius: 2.56vw;
        background: rgba(5, 96, 76, .8);
        pointer-events: auto;
        transition: opacity .4s, visibility .4s;
    }

    .top-reason__hint.is-hide {
        opacity: 0;
        visibility: hidden;
    }

    .top-reason__hint .top-reason__hint-icon {
        position: absolute;
        top: 5.13vw;
        left: 7.44vw;
        width: 18.72vw;
        height: 18.72vw;
    }

    .top-reason__hint .top-reason__hint-text {
        position: absolute;
        top: 27.44vw;
        left: 0;
        width: 100%;
        font-family: "din-2014", sans-serif;
        font-weight: 600;
        font-size: 4.1vw;
        line-height: 4.1vw;
        text-align: center;
        color: #FFFFFF;
    }

    /* ---------- 数字で見る ---------- */
    .top-number {
        margin-top: 15.38vw;
        padding-bottom: 17.95vw;
    }

    .top-number__bg {
        background-position: calc(50% - 6.67vw) 6.41vw;
        background-size: 12.82vw 12.82vw;
    }

    .top-number__inner {
        width: 100%;
        padding-top: 17.95vw;
    }

    .top-number__ttl {
        margin-top: 3.08vw;
        font-size: 9.74vw;
        line-height: 13.08vw;
    }

    .top-number__ttl .top-number__ttl-en {
        display: block;
        font-size: 8.21vw;
        line-height: 10.51vw;
    }

    .top-number__lead {
        margin-top: 3.85vw;
        font-size: 3.59vw;
        line-height: 5.64vw;
    }

    .top-number__list {
        flex-wrap: wrap;
        gap: 2.56vw;
        width: 89.74vw;
        margin: 5.13vw auto 0;
    }

    .top-number__list .top-number__item {
        width: 43.59vw;
        min-height: 52.56vw;
        margin-top: 3.85vw;
        padding: 7.18vw 1.28vw 4.1vw;
        border-radius: 2.56vw;
    }

    .top-number__list .top-number__item.-n2,
    .top-number__list .top-number__item.-n4 {
        margin-top: 6.41vw;
    }

    .top-number__item .top-number__item-label {
        top: -3.85vw;
        padding: 0.51vw 3.08vw;
        font-size: 3.59vw;
        line-height: 6.67vw;
    }

    .top-number__item.-n1 .top-number__item-img {
        width: 26.15vw;
    }

    .top-number__item.-n2 .top-number__item-img {
        left: -0.77vw;
        width: 23.08vw;
        margin-top: 2.56vw;
    }

    .top-number__item.-n3 .top-number__item-img {
        width: 22.31vw;
        margin-top: 0.26vw;
    }

    .top-number__item.-n4 .top-number__item-img {
        width: 16.41vw;
        margin-top: 0;
    }

    .top-number__item .top-number__area {
        margin-top: 3.59vw;
        font-size: 4.62vw;
        line-height: 6.15vw;
        letter-spacing: -.02em;
    }

    .top-number__item .top-number__item-text {
        margin-top: 1.03vw;
        font-size: 4.62vw;
        line-height: 5.64vw;
    }

    .top-number__item.-n3 .top-number__item-text {
        margin-top: 0;
        font-size: 4.62vw;
        line-height: 5.64vw;
    }

    .top-number__item.-n2 .top-number__value {
        margin-top: 6.41vw;
    }

    .top-number__item.-n3 .top-number__value {
        margin-top: 4.62vw;
    }

    .top-number__item.-n4 .top-number__value {
        margin-top: 5.13vw;
    }

    .top-number__value .top-number__value-num {
        font-size: 15.38vw;
        line-height: 10.51vw;
    }

    .top-number__value .top-number__value-pct {
        font-size: 10.26vw;
        line-height: 10.51vw;
    }

    .top-number__value .top-number__value-unit {
        font-size: 7.18vw;
        line-height: 8.72vw;
    }

    .top-number__value .top-number__value-pre {
        width: 4.62vw;
        margin-right: 1.54vw;
        font-size: 4.62vw;
        line-height: 5.64vw;
        align-self: flex-end;
    }

    .top-number__value .top-number__value-post {
        margin-left: 0.51vw;
        font-size: 4.62vw;
        line-height: 5.64vw;
    }

    /* ---------- 他社との違い ---------- */
    .top-merit {
        width: 100%;
        margin-top: 12.82vw;
    }

    .top-merit__person.-p1 {
        left: 4.62vw;
        width: 13.08vw;
    }

    .top-merit__person.-p2 {
        display: none;
    }

    .top-merit__ttl {
        padding: 6.15vw 9.23vw 0 21.54vw;
        font-size: 8.72vw;
        line-height: 10.51vw;
    }

    .top-merit__ttl .top-merit__ttl-dot::before {
        top: -0.77vw;
        left: 3.59vw;
        width: 1.54vw;
        height: 1.54vw;
    }

    .top-merit__scroll {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .top-merit__scroll::-webkit-scrollbar {
        display: none;
    }

    .top-merit__scroll {
        margin: -7.18vw 0 -12.82vw;
    }

    .top-merit__scroll .top-merit__tables {
        justify-content: flex-start;
        gap: 5.13vw;
        width: max-content;
        margin-top: 0;
        padding: 12.82vw 5.13vw;
    }

    .top-merit__tables .top-merit__table {
        flex-shrink: 0;
        width: 84.62vw;
        min-height: 116.41vw;
        scroll-snap-align: center;
    }

    .top-merit__tables .top-merit__table.-grb::after {
        border-width: 1.03vw;
    }

    .top-merit__tables .top-merit__table.-other {
        margin-top: 0;
    }

    .top-merit__table .top-merit__table-head {
        height: 12.82vw;
        font-size: 4.62vw;
        line-height: 12.82vw;
    }

    .top-merit__table .top-merit__table-top {
        min-height: 30.77vw;
        padding-top: 4.1vw;
    }

    .top-merit__table .top-merit__tag {
        padding: 1.54vw 3.08vw;
        font-size: 3.59vw;
        line-height: 3.08vw;
    }

    .top-merit__table-top .top-merit__tag {
        padding: 1.54vw 5.13vw;
    }

    .top-merit__table-top .top-merit__zero {
        margin-top: 2.56vw;
    }

    .top-merit__zero .top-merit__zero-num {
        font-size: 17.95vw;
        line-height: 12.31vw;
    }

    .top-merit__zero .top-merit__zero-unit {
        font-size: 7.18vw;
        line-height: 8.72vw;
    }

    .top-merit__table-top .top-merit__price {
        margin-top: 6.41vw;
        font-size: 6.15vw;
        line-height: 7.44vw;
    }

    .top-merit__price .top-merit__price-num {
        font-size: 7.18vw;
    }

    .top-merit__price .top-merit__price-small {
        font-size: 3.59vw;
    }

    .top-merit__table .top-merit__table-grid {
        margin: 0 1.03vw;
        border-radius: 0;
    }

    .top-merit__table.-other .top-merit__table-grid {
        margin: 0;
        border-radius: 0;
    }

    .top-merit__table-grid .top-merit__cell {
        height: 23.08vw;
        padding-top: 3.59vw;
    }

    .top-merit__cell .top-merit__mark {
        top: 15.64vw;
    }

    .top-merit__cell .top-merit__mark.-circle {
        width: 6.67vw;
        height: 6.67vw;
    }

    .top-merit__cell .top-merit__mark.-cross {
        width: 7.18vw;
        height: 7.18vw;
    }

    .top-merit__cell .top-merit__mark.-triangle {
        width: 6.67vw;
        height: 5.9vw;
    }

    .top-merit__cell .top-merit__val {
        top: 15.64vw;
        font-size: 4.62vw;
        line-height: 5.64vw;
        font-weight: 900;
    }

    /* ---------- 売却だけではありません ---------- */
    .top-sale {
        width: 100%;
        padding-bottom: 0;
        margin-top: 17.95vw;
    }

    .top-sale__person {
        top: 0.77vw;
        left: 68.72vw;
        width: 15.64vw;
    }

    .top-sale__ttl {
        padding: 0 0 0 5.13vw;
        font-size: 8.21vw;
        line-height: 10.51vw;
        text-align: left;
    }

    .top-sale__ttl .top-sale__ttl-em {
        background-position: left 0 bottom 0.77vw;
        background-size: 100% 3.85vw;
    }

    .top-sale__sub {
        margin-top: 4.62vw;
        font-size: 4.62vw;
        line-height: 6.67vw;
    }

    .top-sale__lead {
        margin-top: 3.59vw;
        padding-left: 5.13vw;
        font-size: 3.85vw;
        line-height: 6.15vw;
        text-align: left;
    }

    .top-sale__list {
        display: grid;
        grid-template-columns: repeat(2, 43.59vw);
        align-items: stretch;
        gap: 3.08vw 2.56vw;
        width: 89.74vw;
        margin: 5.64vw auto 0;
        padding-bottom: 2.56vw;
    }

    .top-sale__list .top-sale__item {
        gap: 2.56vw;
        width: 43.59vw;
        justify-content: center;
        min-height: 41.28vw;
        padding: 4.1vw 1.28vw;
    }

    .top-sale__list .top-sale__item.-s1,
    .top-sale__list .top-sale__item.-s3 {
        margin-top: 0;
    }

    .top-sale__list .top-sale__item.-s2,
    .top-sale__list .top-sale__item.-s4 {
        position: relative;
        top: 2.56vw;
        margin-top: 0;
    }

    .top-sale__item .top-sale__icon {
        width: 25.64vw;
        height: 25.64vw;
    }

    .top-sale__item .top-sale__name {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-sale__item.-s4 .top-sale__name {
        line-height: 5.9vw;
    }

    .top-sale__etc {
        position: static;
        margin-top: 3.59vw;
        font-size: 4.62vw;
    }

    .top-sale__etc .top-sale__etc-small {
        font-size: 3.85vw;
        line-height: 7.18vw;
    }

    .top-sale__etc .top-sale__etc-main {
        font-size: 5.64vw;
        line-height: 8.21vw;
    }

    .top-sale__etc .top-sale__etc-em {
        margin: 0 -0.77vw 0 0;
        padding: 0 0.77vw 0.51vw 0;
        background-size: 100% 2px;
        background-size: calc(round(down, 100% - 6px, 12px) + 6px) 2px;
    }

    /* ---------- CTA ---------- */
    .top-cta {
        min-width: 0;
    }

    .top-cta.-c1 {
        margin-top: 15.38vw;
        padding-bottom: 15.38vw;
    }

    .top-cta.-c2 {
        margin-top: 10.26vw;
        padding-bottom: 15.38vw;
    }

    .top-cta .top-cta__bg {
        top: 0;
        height: 100%;
    }

    .top-cta.-c2 .top-cta__bg {
        top: 12.82vw;
        height: calc(100% - 12.82vw);
    }

    .top-cta .top-cta__illust.-i1,
    .top-cta .top-cta__illust.-i3,
    .top-cta .top-cta__squiggle {
        display: none;
    }

    .top-cta .top-cta__illust.-i2 {
        top: 3.59vw;
        left: 6.15vw;
        width: 13.08vw;
    }

    .top-cta .top-cta__illust.-i4 {
        top: 0;
        left: 36.15vw;
        width: 25.13vw;
    }

    .top-cta .top-cta__inner {
        display: flex;
        flex-direction: column;
        width: 89.74vw;
        padding-top: 16.92vw;
    }

    .top-cta.-c2 .top-cta__inner {
        padding-top: 28.21vw;
    }

    .top-cta__inner .top-cta__badges {
        order: 3;
        flex-wrap: wrap;
        gap: 1.54vw 2.05vw;
        margin-top: 7.69vw;
    }

    .top-cta__badges .top-cta__badge {
        gap: 0;
        height: 15.38vw;
    }

    .top-cta__badges .top-cta__badge.-b1 {
        width: 100%;
        justify-content: center;
    }

    .top-cta.-c2 .top-cta__badges .top-cta__badge {
        justify-content: center;
    }

    .top-cta.-c2 .top-cta__badges .top-cta__badge.-b1 {
        width: 100%;
    }

    .top-cta.-c2 .top-cta__badges .top-cta__badge.-b2,
    .top-cta.-c2 .top-cta__badges .top-cta__badge.-b3 {
        width: calc((100% - 2.05vw) / 2);
    }

    .top-cta.-c2 .top-cta__badge .top-cta__badge-text {
        flex: none;
    }

    .top-cta.-c1 .top-cta__badges .top-cta__badge .top-cta__badge-text {
        top: -1.54vw;
    }

    .top-cta.-c1 .top-cta__badges .top-cta__badge.-b2 .top-cta__badge-text {
        top: -0.77vw;
    }

    .top-cta__badge-text .top-cta__badge-sub.-bold {
        font-weight: 500;
    }

    .top-cta__badge .top-cta__laurel {
        width: 7.44vw;
        height: 15.38vw;
    }

    .top-cta__badge .top-cta__badge-text {
        top: 0;
        margin: 0 -1.79vw;
        font-size: 3.33vw;
        line-height: 5.64vw;
        letter-spacing: .05em;
    }

    .top-cta__badge-text .top-cta__badge-main {
        font-size: 3.85vw;
        letter-spacing: .05em;
    }

    .top-cta__badge.-b1 .top-cta__badge-text,
    .top-cta__badge.-b1 .top-cta__badge-text .top-cta__badge-main {
        letter-spacing: .1em;
    }

    .top-cta__badges .top-cta__badge.-b1 .top-cta__badge-text {
        margin: 0 1.79vw;
    }

    .top-cta.-c2 .top-cta__badges .top-cta__badge.-b1 .top-cta__badge-text {
        margin: 0 -0.51vw;
    }

    .top-cta__badges .top-cta__badge.-b2,
    .top-cta__badges .top-cta__badge.-b3 {
        position: relative;
        justify-content: center;
        width: calc((100% - 2.05vw) / 2);
    }

    .top-cta__badge.-b2 .top-cta__laurel,
    .top-cta__badge.-b3 .top-cta__laurel {
        position: absolute;
        top: 0;
    }

    .top-cta__badge.-b2 .top-cta__laurel.-l,
    .top-cta__badge.-b3 .top-cta__laurel.-l {
        left: 0;
    }

    .top-cta__badge.-b2 .top-cta__laurel.-r,
    .top-cta__badge.-b3 .top-cta__laurel.-r {
        right: 0;
    }

    .top-cta__badges .top-cta__badge.-b2 .top-cta__badge-text,
    .top-cta__badges .top-cta__badge.-b3 .top-cta__badge-text {
        margin: 0;
    }

    .top-cta__inner .top-cta__ttl {
        order: 1;
        margin-top: 0;
        padding-top: 1.03vw;
        font-size: 7.69vw;
        line-height: 10.26vw;
    }

    .top-cta__ttl .top-cta__ttl-em {
        display: block;
        margin-top: 3.33vw;
        line-height: 10.26vw;
    }

    .top-cta__ttl .top-cta__ttl-dot::before {
        top: -1.03vw;
        left: 3.59vw;
        width: 1.03vw;
        height: 1.03vw;
    }

    .top-cta__inner .top-cta__ttl.-c2 {
        margin-top: 0;
        padding-top: 0;
        font-size: 7.18vw;
        line-height: 10.26vw;
    }

    .top-cta__ttl .top-cta__ttl-em.-dash {
        display: inline;
        margin-top: 0;
        padding-bottom: 0.26vw;
        line-height: 11.03vw;
        background-image: repeating-linear-gradient(90deg, #FFF3A6 0 2.05vw, transparent 2.05vw 3.59vw);
        background-position: left bottom;
        background-size: 100% 2px;
        background-size: calc(round(down, 100% - 2.05vw, 3.59vw) + 2.05vw) 2px;
    }

    .top-cta__inner .top-cta__lead {
        order: 2;
        margin-top: 3.59vw;
        font-size: 3.59vw;
        line-height: 5.64vw;
    }

    .top-cta__inner .top-cta__lead.-c2 {
        margin-top: 5.64vw;
    }

    .top-cta__inner .top-cta-box {
        order: 4;
    }

    .top-cta-box {
        margin-top: 8.21vw;
        padding: 6.15vw 5.13vw 7.69vw;
        border-radius: 4.1vw;
    }

    .top-cta-box.-balloon {
        margin-top: 15.13vw;
        padding: 12.82vw 5.13vw 7.69vw;
        border-radius: 4.1vw;
    }

    .top-cta-box .top-cta-box__balloon {
        top: -6.92vw;
        width: 79.49vw;
        padding: 1.79vw 0 2.56vw;
        font-size: 3.85vw;
        line-height: 5.38vw;
        text-align: center;
    }

    .top-cta-box .top-cta-box__balloon::after {
        -webkit-mask-image: url(image/icon_tail_balloon_sp.svg);
        mask-image: url(image/icon_tail_balloon_sp.svg);
        width: 7.69vw;
        height: 5.38vw;
        margin-left: -3.85vw;
        margin-top: -1.54vw;
    }

    .top-cta-box .top-cta-box__cols {
        flex-direction: column;
        align-items: center;
        gap: 3.08vw;
    }

    .top-cta-box__cols .top-cta-box__col {
        width: 79.49vw;
        padding: 0;
    }

    .top-cta-box__cols .top-cta-box__col+.top-cta-box__col {
        border-left: none;
    }

    .top-cta-box__col a.top-cta-box__btn {
        width: 79.49vw;
        height: 15.38vw;
    }

    .top-cta-box__btn .top-cta-box__text {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-cta-box__btn .top-cta-box__text.-two {
        font-size: 3.85vw;
        line-height: 5.13vw;
    }

    .top-cta-box__text .top-cta-box__text-small {
        font-size: 3.85vw;
    }

    .top-cta-box__col .top-cta-box__holiday {
        margin-top: 1.03vw;
        font-size: 3.33vw;
        line-height: 4.1vw;
    }

    /* ---------- 成約事例 ---------- */
    .top-case {
        margin-top: -7.44vw;
        padding-bottom: 23.59vw;
        scroll-margin-top: -2.56vw;
    }

    .top-case__bg {
        top: 7.44vw;
        bottom: 5.9vw;
    }

    .top-case__illust.-i1 {
        left: 5.13vw;
        width: 30.51vw;
    }

    .top-case__illust.-i2 {
        top: auto;
        bottom: 0;
        left: 60.77vw;
        width: 33.59vw;
    }

    .top-case__inner {
        width: 100%;
        padding-top: 25.38vw;
    }

    .top-case__inner .top-case__ttl {
        margin-top: 2.56vw;
        font-size: 9.74vw;
        line-height: 11.79vw;
    }

    .top-case__inner .top-case__lead {
        margin-top: 4.62vw;
        font-size: 3.59vw;
        line-height: 5.64vw;
    }

    .top-case__inner .top-case__slider {
        margin: 6.15vw 0 0;
    }

    .top-case__slider .top-case__slide {
        width: 84.62vw;
        padding: 0 2.56vw 6.15vw;
    }

    .top-case__slide .top-case__card {
        width: 79.49vw;
        min-height: 103.08vw;
        padding-bottom: 7.69vw;
        border-radius: 2.56vw;
        box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
    }

    .top-case__card .top-case__card-img {
        height: 41.03vw;
        border-radius: 2.56vw 2.56vw 0 0;
    }

    .top-case__card-img .top-case__card-no {
        top: 0;
        bottom: auto;
        padding: 1.28vw 2.56vw;
        border-radius: 2.56vw 0 2.56vw 0;
    }

    .top-case__card-no .top-case__card-no-num {
        font-size: 7.69vw;
        line-height: 5.38vw;
    }

    .top-case__card-no .top-case__card-no-label {
        font-size: 3.33vw;
        line-height: 2.31vw;
    }

    .top-case__card .top-case__card-data {
        gap: 2.05vw;
        padding: 4.62vw 5.13vw 0;
    }

    .top-case__card-data .top-case__row.-half {
        flex-direction: column;
        align-items: flex-start;
        gap: 2.05vw;
    }

    .top-case__card-data .top-case__pair {
        width: auto;
    }

    .top-case__card-data .top-case__row.-price {
        margin-top: 2.56vw;
    }

    .top-case__card-data .top-case__dt {
        width: 17.95vw;
        height: 6.15vw;
        font-size: 3.08vw;
        line-height: 6.15vw;
    }

    .top-case__card-data .top-case__dd {
        font-size: 3.33vw;
        line-height: 4.1vw;
    }

    .top-case__card-data .top-case__dd.-period {
        font-size: 3.85vw;
        line-height: 4.62vw;
    }

    .top-case__dd .top-case__price-num {
        font-size: 8.21vw;
        line-height: 5.64vw;
    }

    .top-case__dd .top-case__price-unit {
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .top-case__inner .top-case__nav {
        display: none;
    }

    .top-case__slider .slick-dots {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3.08vw;
        margin-top: 0;
    }

    .top-case__slider .slick-dots li {
        width: 2.56vw;
        height: 2.56vw;
        border-radius: 50%;
        background: #D0E0DD;
        transition: .3s;
    }

    .top-case__slider .slick-dots li.slick-active {
        width: 3.59vw;
        height: 3.59vw;
        background: #05604C;
    }

    .top-case__slider .slick-dots button {
        display: none;
    }

    /* ---------- お客様の声 ---------- */
    .top-voice {
        width: 100%;
        margin-top: 9.49vw;
        padding-top: 0;
    }

    .top-voice__illust.-i1 {
        top: 3.08vw;
        left: 6.41vw;
        width: 15.64vw;
    }

    .top-voice__illust.-i2 {
        display: none;
    }

    .top-voice__ttl {
        margin-top: 2.56vw;
        font-size: 9.74vw;
        line-height: 11.79vw;
    }

    .top-voice__list {
        gap: 3.08vw;
        width: 89.74vw;
        margin-top: 5.64vw;
        padding-bottom: 0;
    }

    .top-voice__list .top-voice__card,
    .top-voice__list .top-voice__card.-reverse {
        position: relative;
        flex-direction: column;
        border-radius: 4.1vw;
    }

    .top-voice__card .top-voice__card-img,
    .top-voice__card.-reverse .top-voice__card-img {
        width: 100%;
        height: 41.03vw;
        border-radius: 4.1vw 4.1vw 0 0;
    }

    .top-voice__card .top-voice__card-img .top-voice__card-img-el {
        object-position: 50% 0;
    }

    .top-voice__card .top-voice__card-body {
        position: static;
        display: block;
        padding: 4.1vw 5.13vw 5.13vw;
    }

    .top-voice__card-body .top-voice__quote.-open,
    .top-voice__card.-reverse .top-voice__card-body .top-voice__quote.-open {
        top: 43.59vw;
        left: 5.13vw;
        width: 12.31vw;
        height: 9.23vw;
    }

    .top-voice__card-ttl .top-voice__quote.-close,
    .top-voice__card.-reverse .top-voice__card-ttl .top-voice__quote.-close {
        top: auto;
        bottom: -3.08vw;
        right: -1.54vw;
        width: 12.31vw;
        height: 9.23vw;
    }

    .top-voice__card-body .top-voice__no {
        position: absolute;
        top: 5.13vw;
        left: 0;
        z-index: 1;
        height: 9.23vw;
        padding: 2.05vw 3.85vw 0;
        border-radius: 0 2.05vw 2.05vw 0;
    }

    .top-voice__no .top-voice__no-label {
        font-size: 4.1vw;
        line-height: 5.13vw;
    }

    .top-voice__no .top-voice__no-num {
        font-size: 7.18vw;
        line-height: 5.13vw;
    }

    .top-voice__card-body .top-voice__card-ttl {
        position: relative;
        z-index: 0;
        margin-top: 0;
        padding: 0 1.03vw;
        font-size: 4.62vw;
        font-weight: 700;
        line-height: 6.67vw;
        text-align: center;
        max-width: none;
        text-wrap: balance;
        word-break: auto-phrase;
    }

    .top-voice__card-body .top-voice__card-text {
        display: -webkit-box;
        margin-top: 4.1vw;
        padding-top: 4.1vw;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        font-size: 3.33vw;
        line-height: 5.13vw;
    }

    .top-voice__card-text p+p {
        margin-top: 0;
    }

    .top-voice__card-text strong {
        font-size: 3.85vw;
    }

    .top-voice__card-body .top-voice__profile {
        margin-top: 8.72vw;
        padding-top: 0;
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    /* ---------- 売却の流れ ---------- */
    .top-flow {
        width: 100%;
        padding-bottom: 0;
        margin-top: 12.82vw;
        padding-top: 5.13vw;
        scroll-margin-top: 2.56vw;
    }

    .top-flow__illust {
        top: 0;
        left: 72.31vw;
        width: 19.74vw;
    }

    .top-flow .top-sec-label {
        justify-content: flex-start;
        padding-left: 5.13vw;
    }

    .top-flow__ttl {
        margin-top: 2.56vw;
        padding-left: 5.13vw;
        font-size: 9.74vw;
        line-height: 11.79vw;
        text-align: left;
    }

    .top-flow__lead {
        margin-top: 4.1vw;
        padding: 0 2.56vw 0 5.13vw;
        font-size: 3.59vw;
        line-height: 5.64vw;
        letter-spacing: .05em;
        text-align: left;
    }

    .top-flow__list {
        flex-direction: column;
        gap: 3.08vw;
        margin-top: 6.15vw;
        padding: 0 5.13vw;
    }

    .top-flow__list::before {
        top: 18.21vw;
        left: 10.51vw;
        width: 1.03vw;
        height: auto;
        bottom: 15.38vw;
    }

    .top-flow__list .top-flow__item {
        display: flex;
        align-items: center;
        gap: 3.08vw;
        width: 100%;
        padding-top: 0;
    }

    .top-flow__item .top-flow__step {
        position: static;
        flex-shrink: 0;
        width: 11.79vw;
        height: 11.79vw;
        margin-left: 0;
    }

    .top-flow__step .top-flow__step-label {
        font-size: 2.56vw;
        line-height: 2.31vw;
    }

    .top-flow__step .top-flow__step-num {
        font-size: 5.13vw;
        line-height: 4.36vw;
    }

    .top-flow__item .top-flow__box {
        flex-grow: 1;
        min-height: 27.44vw;
        padding: 4.1vw 5.13vw 5.13vw;
    }

    .top-flow__box .top-flow__item-ttl {
        display: block;
        min-height: 0;
        font-size: 4.1vw;
        line-height: 4.87vw;
        letter-spacing: .1em;
        text-align: left;
    }

    .top-flow__box .top-flow__item-ttl.-tight {
        letter-spacing: .1em;
    }

    .top-flow__box .top-flow__item-text {
        margin-top: 3.59vw;
        font-size: 3.33vw;
        line-height: 4.87vw;
    }

    /* ---------- よくある質問 ---------- */
    .top-faq {
        width: 89.74vw;
        margin-top: 17.95vw;
        scroll-margin-top: 2.56vw;
    }

    .top-faq__ttl {
        margin-top: 2.56vw;
        font-size: 9.74vw;
        line-height: 11.79vw;
    }

    .top-faq__list {
        gap: 5.13vw;
        margin-top: 6.15vw;
    }

    .top-faq__list .top-faq__q {
        gap: 3.59vw;
        min-height: 15.38vw;
        padding: 2.82vw 3.08vw 2.82vw 5.13vw;
    }

    .top-faq__q .top-faq__q-text {
        font-size: 3.85vw;
        line-height: 5.64vw;
    }

    .top-faq__list .top-faq__a {
        margin-top: 2.56vw;
        padding: 0;
        font-size: 3.59vw;
        font-weight: 500;
        line-height: 5.64vw;
    }

    /* ---------- フッター ---------- */
    .site-footer {
        min-width: 0;
        background-image: url(image/common_footer_bg_sp.webp);
    }

    .site-footer .site-footer__body {
        width: 100%;
        padding: 15.38vw 0 4.62vw;
    }

    .site-footer__body .site-footer__logo {
        width: 77.44vw;
        height: auto;
    }

    .site-footer__body .site-footer__name {
        margin-top: 4.1vw;
        font-size: 4.1vw;
        line-height: 4.87vw;
    }

    .site-footer__body .site-footer__address {
        margin-top: 3.59vw;
        font-size: 3.59vw;
        line-height: 5.38vw;
    }

    .site-footer__body .site-footer__tel {
        margin-top: 3.08vw;
        font-size: 3.59vw;
        line-height: 5.38vw;
    }

    a.site-footer__tel-link {
        pointer-events: auto;
    }

    .site-footer__tel .site-footer__tel-space,
    .site-footer__group .site-footer__group-sep {
        display: none;
    }

    .site-footer__body .site-footer__holiday {
        margin-top: 1.03vw;
        font-size: 3.59vw;
        line-height: 4.36vw;
    }

    .site-footer__body .site-footer__group {
        position: static;
        margin-top: 10.26vw;
        font-size: 3.33vw;
        font-weight: 500;
        line-height: 5.13vw;
        text-align: center;
    }

    .site-footer__body .site-footer__license {
        position: static;
        margin-top: 3.59vw;
        font-size: 3.33vw;
        line-height: 5.13vw;
        letter-spacing: .08em;
        text-align: center;
    }

    .site-footer__body a.site-footer__corp {
        position: static;
        justify-content: center;
        gap: 4.1vw;
        margin-top: 10.26vw;
        color: #292A2C;
    }

    .site-footer__corp .site-footer__corp-text {
        font-size: 3.59vw;
        font-weight: 700;
        line-height: 6.92vw;
    }

    .site-footer .site-footer__bar {
        padding-bottom: 30vw;
    }

    .site-footer.-no-follow .site-footer__bar {
        padding-bottom: 4.36vw;
    }

    .site-footer__bar .site-footer__bar-inner {
        flex-direction: column;
        gap: 2.56vw;
        width: 100%;
        padding-top: 4.62vw;
    }

    .site-footer__bar-inner .site-footer__links {
        gap: 5.13vw;
    }

    .site-footer__links .site-footer__links-item .site-footer__links-link {
        font-size: 3.08vw;
        line-height: 3.85vw;
    }

    .site-footer__bar-inner .site-footer__copyright {
        font-weight: 600;
        text-align: center;
    }

    /* ---------- 下追従バー ---------- */
    .follow-bar .follow-bar__pc {
        display: none;
    }

    .follow-bar .follow-bar__sp {
        display: block;
        height: 25.64vw;
        padding-top: 1.79vw;
        background: #FFFFFF;
        box-shadow: 0 -2px 20px rgba(5, 96, 76, .3);
    }

    .follow-bar__sp .follow-bar__sp-caption {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: 2.05vw;
    }

    .follow-bar__sp-caption .follow-bar__sp-slash {
        flex-shrink: 0;
        width: 3.08vw;
        height: 5.13vw;
    }

    .follow-bar__sp-caption .follow-bar__sp-caption-text {
        font-size: 3.33vw;
        font-weight: 700;
        line-height: 4.1vw;
        letter-spacing: .1em;
    }

    .follow-bar__sp .follow-bar__sp-btns {
        display: flex;
        justify-content: center;
        gap: 1.79vw;
        margin-top: 1.54vw;
    }

    .follow-bar__sp-btns a.follow-bar__sp-btn {
        position: relative;
        display: block;
        width: 30.77vw;
        height: 15.38vw;
        border-radius: 1.54vw;
        color: #FFFFFF;
    }

    .follow-bar__sp-btns a.follow-bar__sp-btn.-contact {
        background: #007B60;
    }

    .follow-bar__sp-btns a.follow-bar__sp-btn.-tel {
        background: #00A480;
    }

    .follow-bar__sp-btns a.follow-bar__sp-btn.-line {
        background: #06C755;
    }

    .follow-bar__sp-btn .follow-bar__sp-icon {
        position: absolute;
        top: 2.56vw;
        left: 50%;
        transform: translateX(-50%);
        object-fit: contain;
    }

    .follow-bar__sp-btn .follow-bar__sp-icon.-calc {
        width: 4.1vw;
        height: 5.13vw;
    }

    .follow-bar__sp-btn .follow-bar__sp-icon.-phone {
        width: 5.13vw;
        height: 5.13vw;
    }

    .follow-bar__sp-btn .follow-bar__sp-icon.-line {
        top: 1.28vw;
        width: 7.69vw;
        height: 7.69vw;
    }

    .follow-bar__sp-btn .follow-bar__sp-text {
        position: absolute;
        top: 9.49vw;
        left: 0;
        width: 100%;
        font-size: 3.08vw;
        font-weight: 700;
        line-height: 3.59vw;
        letter-spacing: .1em;
        text-align: center;
        white-space: nowrap;
    }

    .follow-bar__sp-btn.-contact .follow-bar__sp-text {
        letter-spacing: .02em;
    }

    /* ---------- 無料相談フォーム ---------- */
    .common_contact_form .form_box dl.form_property dt {
        padding-top: 0;
    }

    .contact_intro {
        margin-top: 0;
        padding: 8.21vw 0 9.23vw;
    }

    .contact_intro .contact_intro_inner {
        width: 89.74vw;
    }

    .contact_intro_inner .contact_intro_lead {
        gap: 2.05vw;
        font-size: 3.85vw;
        line-height: 6.15vw;
        letter-spacing: .05em;
    }

    .contact_intro_lead .contact_intro_slash {
        width: 2.56vw;
        height: 4.36vw;
    }

    .contact_intro_inner .top-cta__badges {
        flex-wrap: wrap;
        gap: 1.54vw 2.05vw;
        margin-top: 5.13vw;
    }

    .form_property .form_property_list {
        gap: 3.59vw;
    }

    .form_property_list .form_property_item {
        flex-wrap: wrap;
        gap: 1.54vw 2.56vw;
    }

    .form_property_item .form_property_no {
        width: 100%;
        padding-bottom: 0;
        font-size: 3.33vw;
        line-height: 5.13vw;
    }

    .form_property_item .form_property_field.-name {
        width: 100%;
    }

    .form_property_item .form_property_field.-room {
        width: 50%;
    }

    .form_property_field .form_property_label {
        margin-bottom: 1.03vw;
        font-size: 3.08vw;
        line-height: 4.62vw;
    }

    .form_property .form_property_add {
        gap: 2.05vw;
        margin-top: 3.59vw;
        padding: 2.05vw 5.13vw;
        font-size: 3.59vw;
        line-height: 5.64vw;
    }

    .form_property .form_property_add::before {
        width: 3.08vw;
        height: 3.08vw;
    }

    .form_property .form_note {
        margin-top: 2.05vw;
        font-size: 3.08vw;
        line-height: 5.13vw;
    }

    .top-cta .top-cta__illust.-i2,
    .top-cta .top-cta__illust.-i4 {
        z-index: 1;
    }

    .top-flow__illust {
        z-index: auto;
    }

    .top-reason__card.-r1 .top-reason__card-img .top-reason__card-img-el,
    .top-reason__card.-r2 .top-reason__card-img .top-reason__card-img-el,
    .top-reason__card.-r3 .top-reason__card-img .top-reason__card-img-el,
    .top-reason__card.-r4 .top-reason__card-img .top-reason__card-img-el,
    .top-reason__card.-r5 .top-reason__card-img .top-reason__card-img-el,
    .top-reason__card.-r6 .top-reason__card-img .top-reason__card-img-el {
        transform: none;
    }

    .top-fv__cta-caption {
        gap: 2.05vw;
    }

    .top-fv__cta-slash {
        width: 3.08vw;
        height: 5.13vw;
        margin-top: 0;
    }

    .top-cta-box__col .top-cta-box__caption {
        gap: 1.28vw;
    }

    .page_notfound .page_notfound_body .page_notfound_text {
        margin-bottom: 2em;
        font-size: 3.59vw;
    }

    .top-number__item.-n1 .top-number__item-text {
        font-size: 3.7vw;
    }
}

@media (hover: hover) and (min-width: 751px) {

    a.site-header__nav-link:hover,
    a.site-header__btn:hover,
    a.top-fv__cta-btn:hover,
    .top-cta-box__col a.top-cta-box__btn:hover,
    .follow-bar__btns a.follow-bar__btn:hover,
    .top-case__nav button.top-case__arrow:hover,
    .site-footer__body a.site-footer__corp:hover,
    .site-footer__links a.site-footer__links-link:hover,
    .form_property button.form_property_add:hover {
        opacity: .7;
    }
}
