@media screen and (max-width: 400px) {
    .contact-modal__content {
        width: 90%;
        height: 90vh;
        overflow-y: auto;
    }
}

@media screen and (max-width: 480px) {
    .container {
        padding: 0 16px;
        max-width: auto;
    }

    .head-line {
        font-size: var(--font-size-m-lg);
        line-height: normal;
        text-align: center;
    }

    .sub-title {
        font-size: var(--font-size-m-xs);
        margin-bottom: 14px;
    }

    /* header */
    .top-bar {
        padding: 0 16px;
    }

    .top-bar__inner {
        height: 65px;
    }

    .top-bar__left-box h1 a img {
        width: 130px;
    }

    .top-bar__left-box .top-bar__menu ul {
        display: none;
    }

    .top-bar__right-box  {
        gap: 0;
    }

    .top-bar__right-box .contact-btn {
        display: none;
    }

    .lang-dropdown .selected {
        font-size: 14px;
    }



    /* hero section */

    .hero__inner {
        height: 100vh;
        padding-top: 65px;
    }

    .hero-img-box {
        margin-bottom: 24px;
        width: 50vw;
    }

    .eyes {
        width: 12vw;
    }

    .eyes-open {
        left: 19vw;
    }

    .hero__inner h2 {
        text-align: center;
    }

    .hero__inner h2 img {
        width: 70%;
        margin-bottom: 14px;
    }

    .hero__inner .hero-sub-text {
    font-size: var(--font-size-m-sm);
    }


    /* section1 | 교육 철학 */
    .edu-philosophy-section {
        display: none;
    }






    /* section2 | 교육 시스템 */
    /* 스와이퍼 적용 필요 */
    .edu-system-section {
        padding: 100px 0;
    }

    .edu-system__info {
        margin-bottom: 24px;
    }

    .edu-system__img-list {
        flex-direction: column;
        gap: 10px;
    }

    .edu-system__img-box-md {
        width: 100%;
        height: 250px;
        position: relative;
    }

    .edu-system__img-box-lg {
        width: 100%;
        height: 250px;
        position: relative;
    }

    .edu-system__img-box-3 img{
        object-position: center -220px;
    }

    .edu-system__img-box-2::before, .edu-system__img-box-2::after {
        width: 40px;
        height: 40px;
    }

    .edu-system__img-box-2::before {
        left: 50%;
        top: 95%;
        transform: translateX(-50%);
    }

    .edu-system__img-box-2::after {
        left: 50%;
        top: -10%;
        transform: translateX(-50%);
    }

    .edu-system-info-text {
        bottom: 24px;
        font-size: var(--font-size-m-md);
    }




    /* section3 | 학습 확장 */
    .learning-extension-section {
        padding: 20vw 16px;
    }

    .learning-extension__info {
        margin-bottom: 25px;
    }

    .learning-extension-box {
        flex-direction: column;
        padding: 20px;
        gap: 0;
    }

    .learning-extension-box .learning-extension-img-box, .learning-extension-box .learning-extension-text-box {
        width: 100%;
        height: auto;
    }

    .learning-extension-box .learning-extension-img-box {
        margin-bottom: 26px;
    }

    .learning-extension-box .learning-extension-text-box {
        padding: 0;
    }

    .learning-extension-box .learning-extension-text-box .sub-text {
        font-size: var(--font-size-m-xs);
        margin-bottom: 3px;
    }

    .learning-extension-box .learning-extension-text-box .main-title {
        font-size: var(--font-size-m-lg);
        margin-bottom: 10px;
    }

    .learning-extension-box .learning-extension-text-box .description {
        font-size: var(--font-size-m-sm);
    }

    .step-tab {
        font-size: var(--font-size-m-sm);
        padding: 10px 10px;
    }

    .step-tab span {
        font-size: var(--font-size-m-xs);
    }



    /* section4 | 차별 요소 */
    .edu-keyPoint-section {
        padding: 40vw 0 25vw 0;
    }

    .edu-keyPoint__info {
    margin-bottom: 24px;
    }

    .edu-keyPoint-section::before, .edu-keyPoint-section::after {
    height: 100px;
    background-size: cover;
    }
    .edu-keyPoint__list {
        grid-template-columns: 1fr;
    }

    .edu-keyPoint-box {
        padding: 20px 16px;
    }

    .edu-keyPoint-box__top {
        margin-bottom: 20px;
    }

    .edu-keyPoint-box__top .keyPoint-main-text {
        font-size: var(--font-size-m-md);
        margin-bottom: 10px;
    }

    .edu-keyPoint-box__top .keyPoint-icon-box {
        width: 15vw;
        height: 15vw;
    }

    .edu-keyPoint-box__bottom .keyPoint-sub-text {
        font-size: var(--font-size-m-xs);
    }





    /* section 5 | 문의하기 */
    .contact-section {
        padding: 80px 0 0 0;
    }

    .contact-section .head-line {
        margin-bottom: 24px;
    }

    .contact-btn-lg {
        width: 200px;
        height: 48px;
        border: 2px solid var(--lkc-primary-color);
        font-size: 16px;
        cursor: pointer;
        margin-bottom: 7px;
    }

    .contact-modal__content {
        width: 90%;
    }
    .contact-title-txt {
        font-size: 20px;
        font-weight: 600;
        color: var(--text-primary-color);
    }
    
    .contact-title-box i {
        font-size: 24px;
        color: var(--text-primary-color);
        padding-left: 25px;
        cursor: pointer;
    }
    
    .contact-input-list-box {
        padding: 20px 0 0px 0;
        border-top: 1px solid #e2e2e2;
        overflow-x: scroll;
    }
    
    .contact-info-box {
        display: block;
        margin-bottom: 16px;
    }
    
    .input-box {
        width: 100%;
    }
    
    label {
        font-size: 14px;
        font-weight: 500;
        display: block;
        margin-bottom: 10px;
        color: var(--text-primary-color);
    }
    
    .custom-input {
        display: block;
        width: 100%;
        margin-bottom: 20px;
        height: 50px;
        padding: 10px;
        font-size: 16px;
        border-radius: 5px;
        background-color: #f6f7fa;
        border: none;
    }
    
    .custom-input::placeholder,
    .form-control::placeholder {
        color: #bfbfbf; 
        opacity: 1;  
    }
    
    .form-control {
        display: block;
        width: 100%;
        height: 140px;
        margin-bottom: 20px;
        padding: 10px;
        font-size: 16px;
        border-radius: 5px;
        background-color: #f6f7fa;
        border: none;
        resize: none;
        letter-spacing: normal;
        word-spacing: normal;
    }

    .lkc-end-img-box {
        width: 100%;
        border: 1px solid red;
    }   

    .lkc-end-img-box img {
        display: inline-block;
        width: 100%;
        height: auto;
        object-fit: contain;
        vertical-align: bottom;
        border: 1px solid red;
    }   





    /* footer */
    footer {
        padding: 40px 0;
    }

    .footer__inner {
        flex-direction: column;
        align-items: center;
    }

    .footer-info-box {
        font-size: var(--font-size-m-xs);
    }

    .footer-logo-box {
        width: 140px;
        margin-bottom: 30px;
    }

    footer .download-btn {
        display: none;
    }

    .family-site {
        display: none;
    }

}