    body {
        overflow-x: hidden !important;
    }

    #hamburger_btn_logout,
    #hamburger_btn,
    .menu_btn,
    .close_btn {
        display: none;
    }

    .order_btn2 {
        display: none;
    }
    .gnb_group_login,
    .login_btn_mo {
        display: none;
    }

    @media (max-width: 1500px) {

        /* ------------ 로그인용 gnb ------------ */
        /* 모바일 헤더 */
        .menu_btn,
        .close_btn {
            display: block;
        }

        .menu_btn {
            width: 28px;
            height: 28px;
            background-color: var(--primary-brown);
            -webkit-mask-image: url("../public/images/icon/fe_bar.svg");
            mask-image: url("../public/images/icon/fe_bar.svg");
        }

        header.scrolled .menu_btn {
            width: 28px;
            height: 28px;
            background-color: white;
            -webkit-mask-image: url("../public/images/icon/fe_bar.svg");
            mask-image: url("../public/images/icon/fe_bar.svg");
        }

        /* 모바일 헤더 end */
        .login_on {
            border: none;
            display: flex;
            gap: 6px;
            justify-content: center;
            align-items: center;
            color: var(--primary-orange);
            font-weight: 700;
            padding: 6px 20px;
            border-radius: 100px;
            transition: all .3s;
            cursor: pointer;
        }

        .client_name {
            color: var(--primary-orange);
            font-size: 1.8rem;
        }

        .login_on:hover {
            background-color: var(--background-light);
            color: var(--primary-orange);
            padding: 6px 20px;
            border-radius: 100px;
        }

        .login_on:hover .login_gnb_wrap {
            display: block;
        }

        .login_on span:nth-child(2) {
            margin-top: 4px;
            color: var(--font-gray);
        }

        .login_gnb_wrap {
            position: absolute;
            top: 80px;
            right: 80px;
            background-color: white;
            border-radius: 10px;
            padding: 10px 8px;
            box-shadow: 0 5px 20px 1px rgba(0, 0, 0, 0.2);
            max-height: 0;
            opacity: 0;
            transform: translateY(-6px);
            overflow: hidden;
            transition: max-height .25s ease, opacity .2s ease, transform .2s ease;
        }

        .login_gnb_wrap a:hover {
            background: #f5f5f5;
        }

        /* 열림 상태 */
        #login_gnb:checked {
            background-color: var(--background-light);
            color: var(--primary-orange);
        }

        #login_gnb:checked~.login_gnb_wrap {
            max-height: 400px;
            opacity: 1;
            transform: none;
            padding: 10px 8px;
        }

        .login_gnb_btn .more {
            transform: rotate(0deg);
            transform-origin: 50% 50%;
            color: var(--font-gray);
            transition: transform .3s ease;
        }

        .login_gnb_btn .more:hover {
            color: var(--primary-orange);
            transition: transform .3s ease;
        }

        #login_gnb:checked~.login_gnb_btn .more {
            transform: rotate(180deg);
            color: var(--primary-orange);
        }

        .login_gnb:checked+.login_gnb_btn {
            background: #e5e7eb;
            transition: all 0.3s;
        }

        .login_gnb_contents {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
        }

        .login_gnb_contents a {
            display: flex;
            gap: 10px;
            justify-content: left;
            align-items: center;
            padding: 6px 14px;
            transition: all 0.3s;
            color: var(--background-unable-text);
        }

        .login_gnb_contents a:hover {
            background-color: var(--background-light);
            color: black;
            border-radius: 10px;
            padding: 6px 14px;
        }

        /* ------------ 로그인용 gnb end ------------ */
        html {
            -webkit-text-size-adjust: 100%;
        }

        :root {
            --min-fs: 16px;
        }

        body {
            font-size: clamp(var(--min-fs), 1rem, 999px);
            line-height: 1.4;
        }

        section {
            width: 100%;
            margin: 0 auto;
            overflow: hidden;
        }

        /* gnb end */
        /****** section03 ******/
        .main_section03 {
            margin: 0;
            padding: 0;
        }

        /****** section03 end ******/
        /****** header & footer ******/
        @media (max-width: 1840px) {
            .foo_con {
                font-size: 36px;
            }
        }

        @media (max-width: 1600px) {
            .gnb_box {
                width: 50%;
                display: flex;
                flex-direction: row;
                justify-content: center;
                align-items: center;
                font-size: 22px;
            }

            .gnb_btn {
                font-size: 20px;
                white-space: nowrap;
            }

            .foo_con {
                font-size: 30px;
            }

            .footer_contactus {
                display: flex;
                gap: 60px;
            }

            .footer_contactus .call .ask_time {
                display: flex;
                flex-direction: column;
                gap: 10px;
            }
        }

        @media (max-width: 1500px) {
            .gnb_box {
                opacity: 0;
                width: 0;
            }

            .logo {
                margin: 0 auto;
            }

            .logo img {
                width: 160px;
                height: 97px;
                object-fit: contain;
                padding: 30px 0 30px 0;
            }

            .menu_btn label {
                display: inline-block;
                width: 40px;
                height: 40px;
                cursor: pointer;
                position: relative;
                z-index: 10;
            }

            #hamburger_btn_logout:checked ~.gnb_box,
            #hamburger_btn:checked ~.gnb_box {
                opacity: 1;
                position: fixed !important;
                top: 0 !important;
                left: 0 !important;
                margin: 0 !important;
                width: 60vw;
                height: 100vh;
                background-color: white;
                transition: all .3s ease-in-out;
                display: flex;
                flex-direction: column;
                pointer-events: all;
                z-index: 9999;
                border-bottom: initial;
            }

            #hamburger_btn_logout ~.gnb_box,
            #hamburger_btn ~.gnb_box {
                pointer-events: none;
            }

            #hamburger_btn_logout:checked ~.gnb_box .gnb_btn a,
            #hamburger_btn:checked ~.gnb_box .gnb_btn a {
                color: var(--primary-brown);
            }

            #hamburger_btn_logout:checked ~.gnb_box .gnb_btn.on a,
            #hamburger_btn:checked ~.gnb_box .gnb_btn.on a {
                color: var(--primary-orange);
            }

            .gnb_box {
                border-bottom: 5px solid var(--primary-orange);
                z-index: 9999;
            }

            .gnb_btn {
                margin-right: 0;
                height: 70px;
                padding: 30px 0 10px 0;
                white-space: nowrap;
                margin-right: 30px !important;
                white-space: nowrap;
                font-size: 20px;
            }

            .close_btn {
                position: absolute;
                top: 20px;
                right: 40px;
            }

            .order_btn {
                z-index: 9999;
                width: 100px;
                height: 40px;
                font-size: 16px;
            }

            .login_btn {
                z-index: 9999;
                width: 100px;
                height: 40px;
                font-size: 16px;
            }

            .login_btn_pc {
                display: none;
            }

            .login_btn_mo {
                display: flex;
                color: var(--primary-brown);
                border-color: var(--primary-brown);
                position: absolute;
                top: 20px;
                left: 40px;
            }

            /* header e */
            .foo_con {
                font-size: 36px;
            }

            .sns {
                width: 100%;
                justify-content: center;
            }

            .footer_contactus {
                flex-direction: column;
            }

            .footer_bottom {
                flex-direction: column;
                justify-content: center;
                align-items: center;
            }

            .footer_left {
                margin-bottom: 80px;
            }

            .footer_right {
                text-align: center;
            }

            .footer_copylight span:nth-child(1) {
                border-top: 1px solid #fff1de70;
                padding-top: 10px;
            }

            .footer_copylight span:nth-child(1) div {
                border-right: 0;
            }

            .footer_contactus .call,
            .footer_contactus .order_time {
                align-items: center;
            }

            .sns {
                padding: 50px 0 30px 0;
            }
        }

        @media (max-width: 800px) {

            /* 모바일 헤더 */
            .gnb {
                padding: 0 20px 0 30px;
            }

            .menu_btn,
            .close_btn {
                display: block;
            }

            .menu_btn {
                width: 28px;
                height: 28px;
                background-color: white;
                -webkit-mask-image: url("../public/images/icon/fe_bar.svg");
                mask-image: url("../public/images/icon/fe_bar.svg");
            }

            .logo img {
                width: 100px;
                height: 97px;
                object-fit: contain;
                padding: 30px 0 30px 0;
            }

            .order_btn {
                z-index: 9999;
                width: initial;
                height: initial;
                padding: 8px 20px;
                font-size: 14px;
            }

            /****** 탑버튼 ******/
            .side_button {
                transform: scale(0.8);
                transform-origin: 100% 100%;
                /* 오른쪽 아래 */
            }

            footer {
                padding: 0 20px;
            }

            .foo_con {
                font-size: 30px;
                text-align: center;
            }
        }

        @media (max-width: 400px) {
            .banner_title {
                width: initial;
            }

            .gnb {
                padding: 0 20px;
                height: 50px;
            }

            footer {
                padding: 0 20px;
            }

            .foo_con {
                font-size: 30px;
                text-align: center;
            }

            .foo_ext {
                font-size: 16px;
            }

            .sns {
                padding: 50px 0 30px 0;
            }

            /****** 탑버튼 ******/
            .side_button {
                transform: scale(0.6);
                transform-origin: 100% 100%;
                /* 오른쪽 아래 */
            }
        }

        /****** header & footer end ******/
        /* 공통 텍스트 */
        .title {
            font-size: 30px;
        }

        .sub_title {
            font-family: 'Pretendard-Regular';
            font-size: 2rem;
        }

        /* 공통 텍스트 end */
        /* 공통 라인 */
        .line {
            margin: 40px 0;
            width: 100%;
            height: 10px;
            background-color: #f3f3f3;
            box-shadow: inset 0px 1px 3px rgba(54, 54, 54, 0.1);
        }

        /* 공통 라인 end */
    }

    @media (max-width: 1024px) {
    .section01 {
        background-attachment: scroll;
        background-position: top center; 
        background-size: cover; 
  }
}
    @media (max-width: 880px) {
        .footer_copylight ul li b {
            display: block;
            margin-bottom: 4px;
            white-space: nowrap;
        }

        .footer_copylight ul li {
            padding: 0 10px;
        }

        .footer_copylight span {
            margin-top: 10px
        }
        .section01 {
            height: 70vh;
            background-position: top center;
        }

        .visu_title {
            line-height: 120%;
            font-size: 80px;
            margin-top: 10px;
        }

        .visu_sub_title {
            font-size: 40px;
            margin-top: 10px;
        }
    }

    @media (max-width: 850px) {
        .section01 {
            height: 70vh;
            background-position: top center;
        }

        .visu_title {
            line-height: 120%;
            font-size: 63px;
        }

        .visu_sub_title {
            font-size: 38px;
            margin-top: 10px;
        }
    }
        @media (max-width: 800px) {
        .gnb_pc{
            padding-bottom: 80px;
        }
    }

    @media (max-width: 585px) {
        .section01 {
            height: 55vh;
            background-position: top center;
            background-size: cover;
        }
        .visu_title {
            line-height: 120%;
            font-size: 48px;
            margin-top: 15px;
        }
        .visu_sub_title {
            font-size: 33px;
            margin-top: 10px;
        }    
    }

    @media (max-width: 450px) {
        .section01 {
            height: 40vh;
            background-position: top center;
            background-size: cover;
        }
        .visu_title {
            line-height: 120%;
            font-size: 40px;
            margin-top: 20px;
        }
        .visu_sub_title {
            font-size: 28px;
            margin-top: 10px;
        }    
    }

    @media (max-width: 390px) {

        .section01 {
            height: 40vh;
        }
        .visu_title {
            line-height: 120%;
            font-size: 33px;
            margin-top: 30px;
        }
        .visu_sub_title {
            font-size: 24px;
            margin-top: 10px;
        }  

        body {
            overflow-x: hidden;
        }
    }

    /* login_header media css */
@media (max-width: 1500px) {
    .gnb_group_login {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        align-items: center;
        padding: 0 20px;
        width: 100%;
        height: auto;
        position: absolute;
        top: 70px;
        left: 0;
        border-top: 1px solid var(--line-normal);
        border-bottom: 1px solid var(--line-normal);
    }
    .login_on {
        display: none;
    }
    .login_btn_mo {
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--primary-brown);
        border-color: var(--primary-brown);
        position: absolute;
        top: 20px;
        left: 40px;
    }
    .login_btn_mo span {font-weight: 700;}
    .login_btn_mo span:nth-child(2) {
        font-size: 14px;
        margin-left: 6px;
        margin-top: 5px;
        color: var(--font-gray);
    }
    .gnb_group_login .gnb_btn {padding: 30px 10px;}
    .gnb_group_login .gnb_btn a {
        width: 100%;
        display: flex;
        gap: 10px;
        justify-content: center;
        align-items: center;
    }
}
@media (max-width: 600px) {
    .gnb_group_login .gnb_btn {
        padding: 30px 10px;
        transform: scale(0.9);
        margin-right: 0 !important;
    }
    #hamburger_btn_logout:checked ~ .gnb_box .gnb_btn a,
    #hamburger_btn:checked ~ .gnb_box .gnb_btn a {
        color: var(--primary-brown);
        justify-content: flex-start;
    }
    .login_btn_mo span {
        font-size: 1.3rem;
    }
    .login_btn_mo span:nth-child(2) {
        font-size: 1.1rem;
    }
}
@media (max-width: 450px) {
    .gnb_group_login .gnb_btn {
        padding: 30px 10px;
        transform: scale(0.8);
        margin-right: 0 !important;
    }
    #hamburger_btn_logout:checked ~ .gnb_box .gnb_btn a,
    #hamburger_btn:checked ~ .gnb_box .gnb_btn a {
        color: var(--primary-brown);
        justify-content: flex-start;
    }
    .login_btn_mo span {
        font-size: 1.3rem;
    }
    .login_btn_mo span:nth-child(2) {
        font-size: 1.1rem;
    }
    .login_btn_mo {
        position: absolute;
        top: 20px;
        left: 20px;
    }
    .close_btn {
        position: absolute;
        top: 20px;
        right: 20px;
    }
    .close_btn img {
        width: 20px;
        object-fit: contain;
    }
}
@media (max-width: 375px) {
    .gnb_group_login {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        align-items: center;
        padding: 0 20px;
        width: 100%;
        height: auto;
        position: absolute;
        top: 70px;
        left: 0;
        border-top: 1px solid var(--line-normal);
        border-bottom: 1px solid var(--line-normal);
    }
    .gnb_box {
        
    }
    .gnb_btn a {
        font-size: 16px;
    }
}