@charset "utf-8";
/*───────────────────────────────────────────────────────────
	
	header, footer, main 관련 작성 css 파일입니다.

	** 이와 서브페이지 관련 css는 /css/sub.css 에 있습니다.

───────────────────────────────────────────────────────────*/

/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
    #wrap {position:relative; width: 100%; box-sizing: border-box; overflow: clip;}
    #container, .w_custom{position: relative; width: calc(100% - 60px); max-width: 1200px; margin-inline: auto; box-sizing: border-box;}
    #container{padding-block: 120px;}

    @media (max-width:1023px){
        #container{padding-block: clamp(70px, 12vw, 120px);}
    }
    @media (max-width:860px){
        #container, .w_custom{width: calc(100% - 30px);}
    }
    @media (max-width:320px){
        #container, .w_custom{width: calc(100% - 20px);}
    }


/*───────────────────────────────────────────────────────────

    HEADER | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
    #header{position: sticky; top:0; height: 80px; box-shadow: 0 2px 10px 1px rgba(0,0,0,0.2); box-sizing: border-box; z-index: 100; background: var(--point-white);}
    #header .cont{position: relative;height: 100%;box-sizing: border-box;background: inherit;z-index: 21;}
	#header .cont .w_custom{max-width: 1820px;height: 100%;display: flex;align-items: center;padding-right: 80px;}
    #header .cont .logo{height: 100%;}
    #header .cont .logo a{display: inline-flex;align-items: center;height: 100%;padding-block: 17.5px;box-sizing: border-box;}
    #header .cont .gnb{position: absolute; top:0; left:50%; transform: translateX(-50%); height: 100%; box-sizing: border-box; display: flex; justify-content: center; text-align: center; font-size: var(--title-20); line-height: 1.33;}
    #header .cont .gnb > li{position: relative; height: 100%; box-sizing: border-box; font-size: 80%; font-weight: 600; color: var(--black-color03);}
    #header .cont .gnb > li > a{display: flex; align-items: center; height: 100%; box-sizing: border-box; padding-inline: clamp(10px, 1.8vw, 33px); transition: all 0.4s;}
    #header .cont .gnb .dep02{position: absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);text-align:center;width:170px;background:var(--point-color01);box-sizing:border-box;padding:22px 0;transition: all 0.6s;opacity: 0;clip-path: inset(-40px 0 calc(100% + 40px) 0);}
        #header .cont .gnb .dep02:before{position: absolute;content:'';top: -15px;left: 50%;border:8px solid var(--trans-color);border-bottom-color: var(--point-color01);box-sizing: border-box;transform: translateX(-50%);}
    #header .cont .gnb .dep02 > li{font-size: 93.75%; font-weight: 400; padding-inline: 20px;}
    #header .cont .gnb .dep02 > li > a{display: block;padding-block: 15px;color: var(--point-white);transition: all 0.4s;}
    #header .allCate{position: absolute;top:0;right:0;background: var(--point-color01);height: 100%;aspect-ratio: auto 1;z-index: 30;}
    #header .allCate span{position: absolute; top:50%; left:50%; width: 32px; height: 2px; background: var(--point-white); transform: translate(-50%, -50%); transition: all 0.4s;}
        #header .allCate span:nth-child(1){margin-top: -11px;}
        #header .allCate span:nth-child(2){width: 24px;margin-left: -4px;}
        #header .allCate span:nth-child(3){margin-top: 11px;margin-left: -9px;width: 14px;}

        body:has(#aside.on) #header .allCate span{width: 32px; transform: translate(-50%, -50%) rotate(45deg); margin:0;}
        body:has(#aside.on) #header .allCate span:nth-child(2){opacity: 0;}
        body:has(#aside.on) #header .allCate span:nth-child(3){transform: translate(-50%, -50%) rotate(-45deg);}

        /* over */
            @media (hover:hover) and (pointer:fine){
                #header .cont .gnb > li:hover > a{color: var(--point-color01);}
                #header .cont .gnb > li:hover .dep02{opacity: 1;clip-path: inset(-40px 0);}
                #header .cont .gnb .dep02 > li:hover > a{text-decoration: underline; font-weight: 600;}
                #header .allCate:hover span{width: 32px; margin-left: 0;}
            }

    @media (max-width:1023px){
        #header{height: clamp(65px, 8.5vw, 80px);}
        #header .cont .gnb{display: none;}
    }

/*───────────────────────────────────────────────────────────

    ASIDE | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
    body:has(#aside.on){overflow: clip; touch-action: none;}
    .aside_bg{position: fixed;inset: 0;background: rgba(0,0,0,0.6);opacity: 0;pointer-events: none;z-index: 21;}
        body:has(#aside.on) .aside_bg{opacity: 1; pointer-events: all;}
    #aside {position: fixed;top: 80px;right:0;width:100%;max-width:280px;height: calc(100% - 80px);background: var(--point-color01);padding: 17px 30px 30px;box-sizing:border-box;transition:all 0.6s;z-index: 30;opacity: 0;clip-path: inset(0 0 0 100%);}
        #aside.on {opacity: 1; clip-path: inset(0 0 0 0);}
    #aside .gnb{position: relative; font-size: var(--title-20); color: var(--point-white);}
    #aside .gnb > li{font-size: max(14px, 80%);font-weight:400;line-height: 1.75;box-sizing: border-box;font-family:var(--font-type02);}
    #aside .gnb > li > a{position: relative; display: block; padding-block:16px; padding-right: 40px; transition: all 0.4s;}
    #aside .gnb > li:has(.dep02) > a:before, #aside .gnb > li:has(.dep02) > a:after{position: absolute; content:''; width: 20px; height: 1px; background: var(--point-white); top:50%; right:0; margin-top: -0.5px; transition: all 0.4s;}
    #aside .gnb > li:has(.dep02) > a:after{width: 1px; height: 20px; top:50%; right:10px; margin:-10px -0.5px 0 0;}
        #aside .gnb > li:has(.dep02).on > a{font-weight: 700;}
    #aside .gnb > li:has(.dep02).on > a:after{opacity: 0;}
    #aside .gnb .dep02{display: none; padding-block: 3px 22px;}
    #aside .gnb .dep02 > li > a{display: block; font-size: max(13px, 87.5%); font-weight: 300; padding:10px 20px; line-height: 1.43; box-sizing: border-box; transition: all 0.4s;}

        /* over */
        @media (hover:hover) and (pointer:fine){
            #aside .gnb .dep02 > li:hover > a{font-weight: 500;}
        }

    @media (max-width:1023px){
        #aside{padding-inline: clamp(20px, 3vw, 30px); padding-top: clamp(14px, 2vw, 17px); top:clamp(65px, 8.5vw, 80px);}
        #aside .gnb > li > a{padding-block: clamp(8px, 1.6vw, 16px);}
    }

/*───────────────────────────────────────────────────────────

    MAIN | index.html

───────────────────────────────────────────────────────────*/
    .anchor{display: block; position: relative; top:-150px}

        @media (max-width:640px){
            .anchor{top:-120px}
        }
    /* 비주얼 */
        .main_visual {position:relative; box-sizing: border-box;}
        .main_visual .slick-slide {position: relative; height: 798px; box-sizing: border-box; overflow: hidden;}
        .main_visual .thumb{display: block; width: 100%; height: 100%; background: no-repeat center / cover;}
        .main_visual .cont{width: 100%; height: 100%; box-sizing: border-box;}
        .main_visual .txt_box{position: absolute;top:42%;left:50%;transform: translate(-50%, -50%);text-align: center;font-size: var(--title-20);color: var(--point-white);z-index: 3;display: flex;flex-direction: column;gap: 42px;}
        .main_visual .line_wrap{position: relative; width: fit-content; margin-inline: auto;}
        .main_visual .line_wrap h2{font-size: 400%; font-weight: 400; line-height: 1; padding-inline: 15px;}
        .main_visual .line_wrap h2 em{font-weight: 700;}
        .main_visual .line{position: absolute;top:50%;right:0;width:0;height:1px;border-block:1px solid var(--point-white);box-sizing:border-box; transform: translateY(-50%);}
            .main_visual .line_wrap:nth-child(2) .line {right:auto; left:0;}
        .main_visual .txtAni{opacity:0;}

            .main_visual .active .cont{transform:scale(1.1);transition:all 3s;transition-delay:1.3s;}
            .main_visual .active .txtAni{opacity:1;transition:all 3.5s;transition-delay:2s;}
            .main_visual .active .line{width:100%;transition:all 1.5s; animation-delay:1.5s;animation-duration:2s;animation-direction:normal;animation-name:main_visual;animation-fill-mode:both;}

        @keyframes main_visual {
            0%   {height:1px; }
            100% {height:90%; }
        }

        @media (max-width:1200px){
            .main_visual .line_wrap h2{font-size: max(24px, 6.2vw);}
        }
        @media (max-width:1023px){
            .main_visual .txt_box{gap: clamp(10px, 4.2vw, 42px);}
            .main_visual .slick-slide {height: clamp(550px, 80vw, 798px);}
        }
        @media (max-width:479px){
            .main_visual .txt_box{top: 47%;}
        }
    
    /* 공통 */
        .main_title{position: relative; font-size: var(--title-20); box-sizing: border-box;}
            .main_title.cen{text-align: center;}
        .main_title h2{font-size: 290%;font-weight: 600;color:var(--black-color03);line-height: 1;}
            .main_title h2 + p{margin-top: 15px;}
        .main_title h3{font-size: 250%;font-weight: 600;color:var(--black-color03);line-height: 1.2;}
            .main_title h3 + h6{margin-top: 18px;}
        .main_title h4{font-size:190%;font-weight:600; color:var(--black-color03); line-height:1.44;}
            .main_title h4 + p{margin-top: 15px;}
        .main_title h6{font-size: inherit;font-weight: 400;color: var(--black-color06);line-height: 1.5;}
        .main_title p{font-size: max(16px, 90%);font-weight: 400;color: var(--black-color06);line-height: 1.5;font-family: var(--font-type03);}

        @media (max-width:1023px){
            .main_title h2{font-size: 260%;}
            .main_title h2 + p{margin-top: clamp(5px, 1.5vw, 15px);}
            .main_title h3{font-size: 230%;}
            .main_title h4 + p{margin-top: clamp(5px, 1.5vw, 15px);}
            .main_title h6{font-size: max(14px, 90%);}
        }
        @media (max-width:640px){
            .main_title h2{font-size: 230%;}
            .main_title h3{font-size: 210%;}
        }
        @media (max-width:479px){
            .main_title :is(h2, h3){font-size: 190%;}
        }

    /* main_tech */
        .main_tech{padding-block: 140px;}
        .main_tech .w_custom{display: flex; flex-wrap: wrap; gap: 50px 0;}
        .main_tech .main_title{width: 27.5%;padding-right: 30px;}
        .main_tech .info_list{width: 72.5%;display: flex;flex-wrap: wrap;gap: 30px;}
        .main_tech .info_list > li{position: relative; width: calc(100% / 3 - 20px); box-sizing: border-box;}
            .main_tech .info_list .aos-animate{transition-delay: 0.2s;}
            .main_tech .info_list .aos-animate:nth-child(2){transition-delay: 0.3s;}
            .main_tech .info_list .aos-animate:nth-child(3){transition-delay: 0.4s;}
        .main_tech .info_list .thumb{display: block; width: 100%; aspect-ratio: auto 1; overflow: hidden;}
        .main_tech .info_list .thumb + .desc{margin-top: 36px;}
        .main_tech .info_list .thumb img{width: 100%; height: 100%; object-fit: cover; transition: all 0.4s;}
        .main_tech .info_list .desc{font-size: var(--title-20);box-sizing: border-box;}
        .main_tech .info_list .desc dt{position: relative;width: fit-content;font-size: max(20px, 120%);font-weight: 600;color: var(--black-color03);-webkit-line-clamp: 4;}
            .main_tech .info_list .desc dt + dd{margin-top: 24px;}
        .main_tech .info_list .desc dd{font-size: max(14px, 70%);font-weight: 400;color: var(--black-color08);line-height: 1.57;text-wrap:balance;}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_tech .info_list .desc dt:before{position: absolute; content:''; width: 0; height: 1px; left:50%; bottom:0; background: var(--black-color03); transform: translateX(-50%); transition: all 0.4s;}
                .main_tech .info_list > li:hover .thumb img{transform: scale(1.1);}
                .main_tech .info_list > li:hover .desc dt:before{width: 100%;}
            }
        @media (max-width:1200px){
            .main_tech .info_list{gap: 20px;}
            .main_tech .info_list > li{width: calc(100% / 3 - 13.34px);}
        }
        @media (max-width:1023px){
            .main_tech{padding-block: clamp(70px, 14vw, 140px);}
            .main_tech .info_list{gap: 15px;}
            .main_tech .info_list > li{width: calc(100% / 3 - 10px);}
            .main_tech .info_list .thumb + .desc{margin-top:clamp(15px, 3.6vw, 36px);}
            .main_tech .info_list .desc dt + dd{margin-top: clamp(10px, 2.4vw, 24px);}
        }
        @media (max-width:767px){
            .main_tech .w_custom{row-gap: clamp(20px, 6.5vw, 50px);}
            .main_tech .main_title{width: 100%; padding-right: 0;}
            .main_tech .info_list{width: 100%;}
            .main_tech .info_list > li{width: 100%; display: flex; align-items: center; flex-wrap: wrap;}
            .main_tech .info_list .thumb{width: 50%;}
            .main_tech .info_list .desc{width: 50%; padding: 0 0 0 clamp(15px, 4vw, 30px);}
        }
        @media (max-width:360px){
            .main_tech .info_list .thumb{width: 100%;}
            .main_tech .info_list .desc{width: 100%; padding: 15px 0 0;}
        }

    /* main_service */
        .main_service{position: relative;}
        .main_service .main_title{position: absolute;top: 20%;left:50%;transform: translateX(-50%);z-index: 3;}
        .main_service .main_title h2{filter: var(--filter-white);}
        .main_service .exp_list{display: flex; flex-wrap: wrap; background: url('../images/skin/main_service01.jpg') no-repeat center / cover; height: 820px; overflow: hidden; box-sizing: border-box; transition: all 0.4s;}
        .main_service .exp_list > li{position: relative;width: calc(100% / 4);height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding-inline: clamp(30px, 4.2vw, 80px);padding-top: 130px;box-sizing: border-box;cursor: pointer;}
            .main_service .exp_list > li:before{position: absolute; content:''; inset: 0; background: rgba(0,0,0,0.4); transition: all 0.4s;}
            .main_service .exp_list > li + li{border-left: 1px solid rgba(255,255,255,0.2);}
        .main_service .exp_list .desc{position: relative; font-size: var(--title-20); box-sizing: border-box; color: var(--point-white); transition: all 0.4s;}
        .main_service .exp_list .desc dt{display: flex;align-items: flex-start;justify-content: center;width: 85px;height: 85px;margin-inline: auto;}
        .main_service .exp_list .desc dt + dd{margin-top: 33px;}
        .main_service .exp_list .desc dd{font-size: 150%;font-weight: 700;height: 70px;line-height: 1.2;}

            /* over */
            @media (min-width:1023px){
                .main_service .exp_list:has(> li:nth-child(2):hover){background-image: url('../images/skin/main_service02.jpg');}
                .main_service .exp_list:has(> li:nth-child(3):hover){background-image: url('../images/skin/main_service03.jpg');}
                .main_service .exp_list:has(> li:nth-child(4):hover){background-image: url('../images/skin/main_service04.jpg');}
                .main_service .exp_list > li:hover:before{background: rgba(0,0,0,0.5);}
                .main_service .exp_list > li:hover .desc{transform: translateY(-50px);}
            }

        @media (max-width:1500px){
            .main_service .exp_list .desc dd{font-size: 2vw;}
        }
        @media (max-width:1023px){
            .main_service .main_title{display: none;}
            .main_service .exp_list{height: auto; background: none;}
            .main_service .exp_list > li{width: 100%; height: clamp(300px, 52vw, 500px); background: url('../images/skin/main_service01.jpg') no-repeat center / cover;border:0;padding-top: 0;}
                .main_service .exp_list > li + li{border-left: 0;}
                .main_service .exp_list > li:nth-child(2){background-image: url('../images/skin/main_service02.jpg');}
                .main_service .exp_list > li:nth-child(3){background-image: url('../images/skin/main_service03.jpg');}
                .main_service .exp_list > li:nth-child(4){background-image: url('../images/skin/main_service04.jpg');}
            .main_service .exp_list .desc dt{width: clamp(55px, 8.5vw, 85px); height:clamp(55px, 8.5vw, 85px); align-items: center;}
                .main_service .exp_list .desc dt + dd{margin-top: clamp(20px, 3.3vw, 33px);}
            .main_service .exp_list .desc dd{font-size: max(25px, 150%); height: auto;}
        }

    /* main_news */
        .main_news .board_list > li{padding: 40px 30px 78px;box-shadow: inset 0 0 0 1px var(--border-color01); cursor: pointer;}
        .main_news .board_list > li:before, .main_news .board_list > li:after{position: absolute;content:'';inset: 0;width: 100%;height: 100%;box-shadow: inset 0 0 0 1px var(--black-color03);box-sizing: border-box;transition: all 0.6s;clip-path: polygon(100% 0, 100% 0, 100% 0); pointer-events: none;}
        .main_news .board_list > li:after{clip-path: polygon(0 100%, 0% 100%, 0 100%);}
        .main_news .board_list .desc{padding:0;width: 100%;}
        .main_news .board_list .desc :where(dt, dd){white-space:normal; overflow:hidden; text-overflow:ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;}
        .main_news .board_list .desc dt{font-size: 85%; font-weight: 400; color: var(--black-color03); line-height: 1.47;}
            .main_news .board_list .desc dt:before{display: none;}
        .main_news .board_list .desc dd{font-size: max(14px, 75%); font-weight: 400; color: var(--black-color06); line-height: 1.2;}
        .main_news .board_list .desc .date{position: absolute;inset: auto 30px 30px auto;font-size: max(12px, 60%);color: var(--black-color03);font-family: var(--font-type04);line-height: 1;}

            /* over */
            @media (min-width:1023px){
                .main_news .board_list > li:hover:before{clip-path: polygon(100% 0, 100% 100%, 0 0);}
                .main_news .board_list > li:hover:after{clip-path: polygon(0 0, 0% 100%, 100% 100%);}
            }

        @media (max-width:1023px){
            .main_news .board_list > li{padding: clamp(20px, 4vw, 40px) clamp(20px, 3vw, 30px) clamp(60px, 7.8vw, 78px);}
            .main_news .board_list .desc .date{inset: auto clamp(20px, 3vw, 30px) clamp(20px, 3vw, 30px) auto;}
        }
        
    /* main_fixed */
        .main_fixed{position: relative;background: url('../images/skin/main_fixed.jpg') no-repeat center fixed; background-size: cover; min-height: 560px;padding-block: 30px;box-sizing: border-box;display: flex;flex-direction: column;align-items: center;justify-content: center;}
            .main_fixed .main_title:before, .main_fixed .main_title:after{position: absolute;content:'';top:50%;left:0;width: 0;border-top: 1px solid var(--point-white); pointer-events: none;}
            .main_fixed .main_title:after{left:auto; right:0; border-top: 0; border-bottom: 1px solid var(--point-white); bottom:50%;}
            .main_fixed.aos-animate .main_title:before, .main_fixed.aos-animate .main_title:after{width: 100%; transition:all 1.5s;animation-delay:1.5s;animation-duration:2s;animation-direction:normal;animation-name:main_fixed;animation-fill-mode:both;}
        .main_fixed .main_title{padding-block: 80px; width: fit-content; margin-inline: auto; text-wrap: balance;}
        .main_fixed .main_title :where(h3, h6){color: var(--point-white); font-family: var(--font-type04); opacity: 0;}
            .main_fixed.aos-animate .main_title :where(h3, h6){opacity:1;transition:all 3.5s;transition-delay:2s;}
        .main_fixed .main_title h6{font-weight: 300;}

            @keyframes main_fixed {
                0%   {top:50%; height:0%;}
                100% {top:0; height:100%; }
            }

        @media (max-width:1023px){
            .main_fixed{min-height: clamp(480px, 56vw, 560px); background-attachment: unset; }
            .main_fixed .main_title{padding-block: clamp(15px, 8vw, 80px);}
        }

     /* 견적 문의 */
        .main_contact{position: relative;z-index:6;background:var(--point-white);box-sizing:border-box;padding-block: 140px;}
        .main_contact .board_main_write{display: flex;flex-wrap:wrap;gap:40px 0;flex-direction: column; margin-top: 70px;}
        .main_contact .board_main_write .line2{display: flex;flex-wrap:wrap;gap:0 40px;}
        .main_contact .board_main_write dl{display: flex;flex-wrap:wrap;width:100%;}
        .main_contact .board_main_write .line2 dl{width:calc(50% - 20px);}
        .main_contact .board_main_write dl dd{width:100%;}
        .main_contact .board_main_write input:where([type="text"], [type="password"]){background:none;box-sizing:border-box;border:none;border-bottom:1px solid rgba(0,0,0,0.4);font-size:var(--title-16);color:rgba(0,0,0,0.6);font-weight:400;padding-left:9px;width:100%;height:44px;}
        .main_contact .board_main_write input:where([type="text"], [type="password"])::placeholder{color:inherit;}
        .main_contact .board_main_write input:where([type="text"], [type="password"]):focus{border-color: var(--black-color00);color:var(--black-color00);}
        .main_contact input:-webkit-autofill{color:var(--black-color00);}
        .main_contact .board_main_write textarea{width:100%;height:140px;box-sizing:border-box;outline:none;border:1px solid rgba(0,0,0,0.4);background:var(--point-white);padding:20px;font-size:var(--title-16);color:var(--black-color10);font-weight:400;resize:none; line-height:1.4;}
        .main_contact .board_main_write textarea::placeholder{color:inherit;}
        .main_contact .board_main_write textarea:focus{color:var(--black-color03);}
        .main_contact .policy_cont{padding:20px;box-sizing:border-box;border:1px solid rgba(0,0,0,0.4);}
        .main_contact .policy_cont label,
        .main_contact .policy_cont a{color:var(--black-color00);font-size:var(--title-16);font-weight:400;}
        .main_contact .policy_cont a{font-size:var(--title-14);}
        .main_contact .board_main_write .capthca_wrap .capthca_box{display: flex;flex-wrap:wrap;gap:10px;box-sizing:border-box;border:1px solid rgba(0,0,0,0.4);padding:10px 20px;}
        .main_contact .board_main_write .capthca_wrap #captcha{width:calc(100% - 240px);height:40px;border:none;background:var(--point-white);color:var(--black-color03);}
        .main_contact .board_main_write .capthca_wrap .btn_sm{width:40px;height:40px;padding:0;background-position:center;border:1px solid rgba(0,0,0,0.4);}
        .main_contact .btn_send_box{display:block;box-sizing:border-box;width: fit-content;background:var(--point-color01);font-size:var(--title-18);color:var(--point-white);font-weight:400;margin-inline: auto;margin-top:55px;position: relative;overflow:hidden;transition: all 0.4s;}
        .main_contact .btn_send_box:before{width:300px;height:300px;content:"";background:var(--point-white);transform:rotate(45deg);position: absolute;top:-205px;left:-316px;transition:all 1s;}
        .main_contact .btn_send_main{display:inline-flex;align-items: center;justify-content: center;position: relative;width: 200px;height: 60px;border: 1px solid var(--point-color01);font-size: var(--title-18);box-sizing: border-box;}
            
            @media (pointer: fine) and (hover: hover) {
                .main_contact .btn_send_box:hover:before{transition:all 1s;left:-14px;top:-135px;}
                .main_contact .btn_send_box:hover{color:var(--point-color01);}
            }

        @media (max-width:1023px) {
            .main_contact{padding-block: clamp(70px, 14vw, 140px);}
            .main_contact .board_main_write{margin-top: clamp(30px, 7vw, 70px);}
            .main_contact .board_main_write .line2.policy_box dl{width:100%;}
            .main_contact .board_main_write .line2.policy_box dl + dl{margin-top:20px;}
        }
        @media (max-width:640px) {
            .main_contact .board_main_write{gap:20px 0;}
            .main_contact .board_main_write .line2{gap:20px;}
            .main_contact .board_main_write .line2 dl{width:calc(50% - 10px);}
            .main_contact .board_main_write .capthca_wrap .capthca_box{padding:10px 15px;}
            .main_contact .board_main_write .line2.policy_box dl + dl{margin-top:0;}
            .main_contact .policy_cont{padding:15px;}
            .main_contact .btn_send_box{margin-top:35px;}
			.main_contact .btn_send_main{width:150px;height:50px;}
        }
        @media (max-width:479px) {
            .main_contact .board_main_write .line2 dl{width:100%;}
            .main_contact .board_main_write input:where([type="text"], [type="password"]){height:40px;}
            .main_contact .board_main_write textarea{padding:10px;height:150px;}
            .main_contact .board_main_write .capthca_wrap .capthca_box{padding:0;border:none;}
            .main_contact .board_main_write .capthca_wrap #captcha{border:1px solid rgba(0,0,0,0.4);width:100%;}
            .main_contact .policy_cont{padding:15px 10px;}
        }

/*───────────────────────────────────────────────────────────

    FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
        #footer{position: relative; box-sizing: border-box;}
        #footer .link_list{position: relative;background: var(--point-color01);padding-block: 24px;max-height: 63px;box-sizing: border-box;}
        #footer .link_list ul{display: flex; flex-wrap: wrap; font-size: var(--title-20);}
        #footer .link_list ul li{font-size: max(12px, 60%);font-weight: 400;color: var(--point-white);font-family: var(--font-type03);}
        #footer .link_list ul li:not(:last-child):after{display: inline-flex; content:''; width: 1px; height: 10px; background: rgba(255,255,255,0.5); margin-inline: 18px;}
        #footer .link_list ul li strong{font-weight: 500;}
        #footer .cont{padding-block: 27px 30px;display: flex;flex-wrap: wrap;gap: 35px clamp(30px, 4.2vw, 80px);}
        #footer .gnb{position: relative;font-size: var(--title-20);font-family: var(--font-type04);box-sizing: border-box;min-width: 150px;padding-right: 30px;}
        #footer .gnb > li{font-size: max(14px, 80%); font-weight: 600;}
            #footer .gnb > li + li{margin-top: 14px;}
        #footer .ftr_title{font-size: var(--title-20);font-family: var(--font-type04);margin-bottom: 17px;}
        #footer .ftr_title h6{font-size: max(14px, 80%); font-weight: 500; letter-spacing: 0.05em;}
		#footer .addr_list{display: inline-flex;flex-direction: column;gap: 5px;}
        #footer .addr_list > li{display: flex;flex-wrap: wrap;gap: 5px 10px;}
        #footer .addr_list .desc{display: inline-flex; gap: 4px; font-size: var(--title-20); font-family: var(--font-type03);}
        #footer .addr_list .desc :where(dt, dd){font-size: max(13px, 65%);font-weight: 400;color: var(--black-color08);line-height: 1.5;}
        #footer .addr_list .desc dt{flex-shrink: 0;}
        #footer .copy{font-size: var(--title-20); font-family: var(--font-type03); margin-top: 30px;}
        #footer .copy :where(dt, dd){font-size: max(13px, 65%);font-weight: 400;color: var(--border-color01);line-height: 1.5;}
        #footer .cs_desc{font-size: var(--title-20); font-family: var(--font-type03);}
        #footer .cs_desc dt{font-size: 160%;font-weight: 700;color: var(--point-color01);line-height: 1;margin-top: -5px;}
        #footer .cs_desc dt + dd{margin-top: 10px;}
        #footer .cs_desc dd{display: flex;gap: 5px;font-size: max(13px, 65%);font-weight: 400;color: var(--black-color08);line-height: 1.5;}
        #footer .cs_desc dd + dd{margin-top: 5px;}
        #footer .cs_desc dd:last-child{border-top: 1px solid var(--border-color01); margin-top: 10px; padding-top: 7px;}

        @media (max-width:1023px){
            #footer .link_list{padding-block: clamp(13px, 2.4vw, 24px);}
            #footer .gnb{display: none;}
        }
        @media (max-width:860px){
            #footer .cont{flex-direction: column-reverse; align-items: center; justify-content: center; text-align: center;}
            #footer .link_list ul{justify-content: center;}
            #footer .addr_list > li{justify-content: center;}
            #footer .addr_list .desc :where(dt, dd){display: contents;}
            #footer .cs_desc dd{width: fit-content; margin-inline: auto;}
        }