@media screen and (max-width: 768px) {
    .tm-footer-container {
        width: 100%;
        padding: 20px 15px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .tm-footer-container section {
        float: none;
        width: 100%;
        margin-bottom: 20px;
        text-align: center;
    }

    .tm-footer-container .footer-logo {
        margin-right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .tm-footer-container .footer-logo .logo-img {
        margin-bottom: 15px;
        max-width: 80%;
        height: auto;
    }

    .footer-logo .phone-list dt {
        font-size: 18px;
        margin-bottom: 5px;
    }
    
    .footer-logo .phone-list .phone-item {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .foot-menus-wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .foot-menus-wrapper dl {
        float: none;
        margin-right: 0 !important; 
        margin-bottom: 20px;
        width: 50%; 
        box-sizing: border-box;
        padding: 0 5px;
        text-align: center;
    }
    
    .foot-menus-wrapper dl dt {
        font-size: 16px;
        margin-bottom: 10px;
        color: #333;
    }
    
    .foot-menus-wrapper dl dd {
        margin-bottom: 8px;
    }
    
    .foot-menus-wrapper dl dd a {
        font-size: 13px;
        padding: 5px 0;
        display: block;
    }

    .foot-contact-wrapper {
        float: none !important;
        position: static;
        border-left: none;
        padding-left: 0;
        display: flex;
        justify-content: space-around; 
        align-items: flex-start; 
        flex-wrap: nowrap; 
        margin-top: 10px;
        border-top: 1px solid #eee;
        padding-top: 20px;
        width: 100%;
        box-sizing: border-box;
    }

    .foot-contact-wrapper dl {
        float: none;
        margin: 0;
        width: 33.33%; 
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .foot-contact-wrapper .weichart {
        margin-right: 0;
        text-align: center;
        width: 100%;
    }
    
    .foot-contact-wrapper .weichart dt {
        font-size: 13px; 
        margin-bottom: 8px;
        height: auto; 
    }
    
    .foot-contact-wrapper .weichart dd {
        margin: 0;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .foot-contact-wrapper .weichart dd img {
        width: 100%;
        max-width: 80px; 
        height: auto; 
        display: block;
    }

    .tm-footer-cert {
        padding: 15px 10px;
    }

    .tm-footer-cert .title {
        font-size: 12px;
        line-height: 1.6;
        margin-bottom: 8px;
        word-break: break-all;
    }
    
    .tm-footer-cert .footer-certificate {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .tm-footer-cert .footer-certificate .certificate {
        margin: 5px;
    }
}