/* reCAPTCHA バッジの z-index（お問い合わせ・回収予約フォーム・個人回収予約） */
#recaptcha-container .grecaptcha-badge,
#recaptcha-container-reservation .grecaptcha-badge,
#recaptcha-container-reservation-personal .grecaptcha-badge {
    z-index: 99999;
    bottom: 135px !important;
}
.btn-style1,
.btn-style2 {border-radius: 5px !important;}

/* sp_only：<br class="sp_only">をスマホのみで改行として表示（PCでは改行しない） */
br.sp_only {
    display: none !important;
}
@media (max-width: 767.98px) {
    br.sp_only {
        display: inline !important;
    }
}

/* スマホ用：画面下部に常に表示する「ご相談・お見積り無料」「回収を予約する」「LINEでご相談」固定バー */
.mobile-fixed-reserve {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 10px 12px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0));
    background: #fff;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
.mobile-fixed-reserve__title {
    margin-bottom: 10px;
}
/* 電話バー：中央配置 */
.mobile-fixed-reserve__tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    background: #2D6F30;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    min-height: 72px;
    box-sizing: border-box;
    text-align: center;
}
.mobile-fixed-reserve__tel-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.mobile-fixed-reserve__tel-label {
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    text-align: center;
}
.mobile-fixed-reserve__tel-label .fa-phone-alt {
    margin-right: 0.35em;
    color: #fff;
}
.mobile-fixed-reserve__tel-num {
    font-size: 2rem;
    font-weight: 1000;
    color: #FFD400;
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-align: center;
    line-height: 1em;
}
.mobile-fixed-reserve__inner {
    display: flex;
    align-items: stretch;
    gap: 10px;
}
.mobile-fixed-reserve__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
    border: none;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    min-height: 48px;
    padding: 12px 16px;
    box-sizing: border-box;
}
.mobile-fixed-reserve__btn--primary {
    background: #FFB300;
}
.mobile-fixed-reserve__btn--line {
    background: #50B44E;
}
.mobile-fixed-reserve__btn--line .fab {
    font-size: 1.25rem;
}
@media (max-width: 767.98px) {
    /* メインコンテンツ：固定バー（電話バー＋ボタン2つ）の高さ分の下余白で隠れないようにする */
    .main-content {
        padding-bottom: 200px;
    }
    /* フッター（copyrightブロック含む）を固定バーの上に配置する */
    .footer1 {
        padding-bottom: 200px;
        padding-bottom: calc(200px + env(safe-area-inset-bottom, 0));
        box-sizing: border-box;
    }
    /* スクロールトップボタンを固定バーの上に表示する */
    .scroll-to-top {
        bottom: 195px;
        bottom: calc(195px + env(safe-area-inset-bottom, 0));
    }
    /* reCAPTCHAバッジを固定バーの上に表示する（予約フォームページは別で 45px に上書き） */
    #recaptcha-container .grecaptcha-badge,
    #recaptcha-container-reservation .grecaptcha-badge,
    #recaptcha-container-reservation-personal .grecaptcha-badge {
        bottom: 195px !important;
    }
}

/* スマホで回収予約フォーム関連ページでは grecaptcha-badge と scroll-to-top を bottom: 0 に（固定ボタン非表示のため） */
@media (max-width: 767.98px) {
    body.page-reserve-form #recaptcha-container .grecaptcha-badge,
    body.page-reserve-form #recaptcha-container-reservation .grecaptcha-badge,
    body.page-reserve-form #recaptcha-container-reservation-personal .grecaptcha-badge {
        bottom: 45px !important;
    }
    body.page-reserve-form .scroll-to-top {
        bottom: 0;
        bottom: env(safe-area-inset-bottom, 0);
    }
}

/* PC：回収予約CTAセクションの上余白 */
@media (min-width: 992px) {
    section#btn-block.bg-dark.client-top-padding {
        padding-top: 130px;
    }
}