@media screen and (max-width: 768px) {
    /* 1. スマホのタッチスクロールを完全解放 */
    html, body {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        overscroll-behavior: auto !important; /* タッチスクロールのロックを解除 */
        -webkit-overflow-scrolling: touch;
        position: static !important;
    }

    /* 2. flexを強制解除し、ただの縦積みブロック要素にする */
    .wrapper, 
    .main-content, 
    .main-content-inner,
    .section,
    .section-inner {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        border-radius: 0 !important;
        border: none !important;
    }

    .wrapper::after {
        display: none !important;
    }

    .side-container, .side-content-left, .side-content-right {
        display: none !important;
    }

    /* 3. ヘッダー */
    header {
        top: 0;
    }
    .header-in {
        height: 50px;
        border-radius: 0;
        margin: 0 auto;
    }
    .header-logo{
        margin: 0px 0px 0 20px;
    }
    .sec-kv {

    }

    /* 4. 固定フッターCTA（タッチ抜け防止） */
    .scroll-cta {
        bottom: 0;
        position: fixed !important;
        pointer-events: none; /* 透明な外枠がスクロール操作を邪魔しないようにする */
    }
    .scroll-cta-in {
        max-width: 100%;
        border-radius: 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
        pointer-events: auto; /* ボタン本体はタップ可能にする */
        gap: 20px;
        padding: 0 20px;
        margin: 0 auto;
        border-bottom: 5px solid #E43F24;
    }
    .drawer-menu {
        pointer-events: auto;
    }

    /* 5. シミュレーター文字サイズ調整 */
    .simulation-container {
        padding: 40px 10px 0;
    }
    .result-value span {
        font-size: 68px;
    }
    #saving-count {
        font-size: 42px;
    }
    .btn-sample .cta-main{
        font-size: 16px;
        line-height: 3em;  
    }
    .drawer-menu.is-active{
        padding-bottom: 120px;
    }
}