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

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

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

/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
    #wrap {position:relative;width:100%; box-sizing: border-box; overflow: clip;}
    .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(50px, 12vw, 120px);}
    }
    @media (max-width:860px){
        .w_custom{width: calc(100% - 30px);}
    }
    @media (max-width:320px){
        .w_custom{width: calc(100% - 20px);}
    }




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

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

───────────────────────────────────────────────────────────*/
    #header{position: sticky; top:0; width: 100%; height: 120px; z-index: 100; box-sizing: border-box; }
    #header .cont{width: 100%; height: 100%; background: var(--point-white); box-shadow: 0 1px 0 var(--border-color01); transition: all 0.4s;}
    #header .w_custom{display: flex;align-items: center;justify-content: space-between;max-width: 1800px;height: 100%;transition: all 0.4s;gap: 15px;}
    #header .logo{font-size: 0; height: 100%;}
    #header .logo a{display: flex;align-items: center;height: 100%;padding-block: 15px;box-sizing: border-box;max-width: 152px;}
    #header .gnb{position: absolute;top:0;left:50%;transform: translateX(-50%);display: flex;justify-content: center;text-align: center;width: calc(100% - 460px);height: 100%;font-size: var(--title-20);}
    #header .gnb > li{position: relative;height: 100%;font-size: max(14px, 80%);font-weight: 500;color: var(--black-color03);}
    #header .gnb > li > a{display: flex;align-items: center;height: 100%;padding-inline: clamp(10px, 1.9vw, 36px); transition: all 0.4s;}
	#header .gnb .dep02{display:none;}
    #header .link_wrap{display: flex;align-items: center;gap: clamp(20px, 2.5vw, 48px);font-size: var(--title-20);}
    #header .tel{display: inline-flex;box-sizing:border-box;align-items: center;justify-content: center;width: auto;height:32px;padding-inline: 12px;border-radius: 30px;border: 1px solid var(--black-color03);font-size: max(14px, 75%);color: var(--black-color03);font-weight:400;gap:10px;}
    #header .tel:before{width: 12px;height: 16px;content:"";background: url('../images/skin/tel.png')no-repeat center / 100% auto;}
    #header .allCate{display: flex; width: 22px;}

        .main_index #header{position: fixed; left: 0;}
        .main_index #header .w_custom{filter: var(--filter-white);}
        .main_index #header .cont{box-shadow: none; background: none;}

        /* over */
        @media (min-width:1024px){
            #header:hover .cont{height: max(60px, 66.6%);}
            .main_index #header:hover .cont{background: var(--point-white); box-shadow: 0 1px 0 var(--border-color01);}
            .main_index #header:hover .w_custom{filter: none;}
            #header .gnb > li:hover > a{color: var(--point-color01);}
        }

        /* on */
        #header.on .cont{height: max(60px, 66.6%);}
        .main_index #header.on .cont{background: var(--point-white); box-shadow: 0 1px 0 var(--border-color01);}
        .main_index #header.on .w_custom{filter: none;}

    @media (max-width:1023px){
        #header{height: clamp(60px, 12vw, 120px);}
        #header .gnb{display: none;}
        #header .logo a{max-width: clamp(100px, 15.2vw, 152px);}
    }

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

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

───────────────────────────────────────────────────────────*/
    #aside{position: fixed;top:-100%;right:0;width: 100%;height: 100%;background: var(--point-white);z-index: 200;padding-bottom: 120px;box-sizing: border-box;overflow: hidden;overflow-y: auto;  opacity: 0; transition: all 0.6s;}
        #aside.on{top:0; opacity: 1;}
    #aside .w_custom{max-width: 1800px;display: flex;flex-direction: column;height: 100%;align-items: stretch;width: calc(100% - 50px);}
    #aside .top_sec{height: 120px;display: flex;align-items: center;justify-content: space-between;flex-shrink: 0;}
    #aside .top_sec .cont{height: max(60px, 66.6%);}
    #aside .logo{font-size: 0; height: 100%;}
    #aside .logo a{display: flex;align-items: center;height: 100%;padding-block: 21px;box-sizing: border-box;max-width: 152px;}
    #aside .allCate{display: flex; width: 22px;}
    #aside .gnb_wrap{width: 100%;height: 100%;max-width: 1425px;margin-inline: auto;display: flex;flex-direction: column;justify-content: center;box-sizing: border-box;}
    #aside .gnb{position: relative;font-size: var(--title-20);display: flex;flex-wrap: wrap;gap: 60px 30px;align-items: center;align-content: flex-start;}
    #aside .gnb > li{width: calc(100% / 2 - 15px);height: auto;}
    #aside .gnb > li > a{display: block;font-size: 220%;font-weight: 700;color: var(--black-color03); transition: all 0.4s;}

        /* over */
        @media (hover:hover) and (pointer: fine){
            #aside .gnb > li:hover > a{color: var(--point-color01);}
        }
    
    @media (max-width:1023px){
        #aside{padding-bottom: clamp(60px, 12vw, 120px);}
        #aside .top_sec{height: clamp(60px, 12vw, 120px);}
        #aside .gnb{row-gap: clamp(24px, 6vw, 60px);}
    }
    @media (max-width:640px){
        #aside{top:0; right:-100%; width: 100%; max-width: 400px;}
            #aside.on{right:0;}
        #aside .gnb_wrap{height: auto;padding-block: 40px;}
        #aside .gnb > li{width: 100%;}
        #aside .gnb > li > a{font-size: max(22px, 130%);}
    }

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

	MAIN | index.html

───────────────────────────────────────────────────────────*/
    /* 비주얼 */
        .main_visual{position: relative; overflow: clip;}
        .main_visual .slick-slide{position: relative; height: 940px;}
        .main_visual .thumb{width: 100%; height: 100%; background: no-repeat center / cover;}
            .main_visual .active .thumb{transform: scale(1.05); transition:all 5s;}
        .main_visual .txt_box{position: absolute;left:50%;bottom: 26.3%;transform: translateX(-50%);font-size: var(--title-20);color: var(--point-white);display: flex;flex-direction: column;gap: 11px;z-index: 3;}
        .main_visual .txt_box h2{font-size: 400%;font-weight: 800;}
        .main_visual .txt_box p{font-size: 90%;font-weight: 400;}
        .main_visual .txtAni{opacity: 0; transform: translateY(70px); }
            .main_visual .active .txtAni{opacity: 1; transform: translate(0); transition: all 1s; }
            .main_visual .active .txtAni:nth-child(2){transition-delay: 0.2s;}
        .main_visual .controller{position: absolute;left:50%;bottom: clamp(50px, 7.5%, 70px);transform: translateX(-50%);z-index: 5;display: flex;align-items: center;gap: clamp(20px, 4vw, 60px);}
        .main_visual .slider-progress{position: relative; width: 100%; height: 2px; background: rgba(255,255,255,0.4);}
        .main_visual .slider-progress span{position: absolute; top:0; left:0; height: 100%; background: var(--point-color01);}
        .main_visual .arw_box{display: inline-flex;flex-shrink: 0;font-size: 0;}
        .main_visual .slick-arrow{position: relative;width: 20px;height: auto;aspect-ratio: auto 1;transition: all 0.4s;}
        .main_visual .slick-arrow:before{position: absolute;content:'';width: 80%;height: 80%;border: solid var(--point-white);border-width: 0 0 2px 2px;box-sizing: border-box;top: 50%;left: 50%;transform: translate(-50%, -50%) rotate(45deg);border-radius: 1px; transition: all 0.4s;}
        .main_visual .slick-arrow.next{transform: scale(-1,-1);}

            /* over */
            @media (hover:hover) and (pointer: fine){
                .main_visual .slick-arrow:hover:before{left: calc(50% - 5px)}
            }
        
        @media (max-width:1023px){
            .main_visual .slick-slide{height: clamp(550px, 94vw, 940px);}
            .main_visual .slick-arrow{width: clamp(18px, 2vw, 20px);}
            .main_visual .txt_box h2{font-size: clamp(32px, 8vw, 78px);}
        }
        @media (max-width:640px){
            .main_visual .thumb{background-position:30% 50%;}
            .main_visual .thumb:before{position: absolute; content:''; inset: 0; background: rgba(0,0,0,0.2);}
            .main_visual [data-slick-index="2"] .thumb{background-position:50% 50%;}
            .main_visual .txt_box h2{color: var(--point-white); -webkit-text-stroke-color: var(--trans-color);}
            .main_visual .txt_box p{font-size: max(13px, 80%);}
        }

    /* 공통 */
        .anchor{position: absolute;top:-60px; left: 0;}	
        .main_title{position: relative;font-size: var(--title-20);box-sizing: border-box;display: flex;flex-direction: column;gap: 15px;align-items: flex-start;}
            .main_title.cen{align-items: center; text-align: center;}
        .main_title h2{font-size: 300%; font-weight: 800; color: var(--black-color03);}
            .main_title h2 + p{margin-top: 23px;}
        .main_title p{font-size: max(15px, 90%);font-weight: 500;color: var(--black-color08);line-height: 1.66;letter-spacing: -0.02em;text-wrap: pretty;}
        .main_title p em{font-size: 95%;font-family: var(--font-type02);font-weight: 600;letter-spacing: -0.01em;color: var(--black-color09);}

        @media (max-width:1023px){
            .main_title{gap: clamp(10px, 1.5vw, 15px);}
            .main_title h2{font-size: 270%;}
            .main_title h2 + p{margin-top: clamp(15px, 2.3vw, 23px);}
        }
        @media (max-width:860px){
            .main_title h2{font-size: 250%;}
        }

    /* 회사소개 */
        .main_about{position: relative;padding-block: 134px 150px;}
        .main_about .w_custom{display: flex; flex-wrap: wrap; gap: 40px 0;}
        .main_about .main_title{width:50%;padding-right: 70px;}
        .main_about .main_title h2{transition: all 0.4s;}
        .main_about .thumb_list{display: flex; align-items: flex-start; width: 50%; box-sizing: border-box;}
        .main_about .thumb_list > li{position: relative; background: var(--black-color03); overflow: clip;}
            .main_about .thumb_list > li:nth-child(1){margin-top: 30%;z-index: 3;aspect-ratio: auto 1;}
            .main_about .thumb_list > li:nth-child(2){margin-left: -46%;aspect-ratio: auto 0.767;}
        .main_about .thumb_list > li img{width: 100%; height: 100%; object-fit: cover; }
        .main_about .thumb_list > li.aos-animate img{transition: all 1s; transition-delay: 0.2s;}
            .main_about .thumb_list > li:nth-child(1) img{clip-path: inset(0 0 100% 0);}
            .main_about .thumb_list > li:nth-child(1).aos-animate img{clip-path: inset(-100% -100% 0 -100%);}
            .main_about .thumb_list > li:nth-child(2) img{clip-path: inset(100% 0 0 0);}
            .main_about .thumb_list > li:nth-child(2).aos-animate img{clip-path: inset(0 -100% -100% -100%);}


        /* over */
            @media (hover:hover) and (pointer:fine){
                .main_about .main_title:hover h2{color: var(--point-color01);}
            }

        @media (max-width:1023px){
            .main_about{padding-block: clamp(50px, 13.4vw, 134px) clamp(50px, 15vw, 150px);}
        }
        @media (max-width:860px){
            .main_about .main_title{width: 100%; padding-right: 0;}
            .main_about .thumb_list{width: 100%;}
            .main_about .thumb_list > li{width: 100%;}
        }

    /* 회사강점 */
        .main_life{position: relative;padding-block: 177px 240px;background: url('../images/skin/main_life.jpg') no-repeat center / cover;}
            .main_life:before{position: absolute;content:'';inset: 0;background: rgba(0,0,0,0.8);pointer-events: none; clip-path: inset(0 50% 0 50%); opacity: 0; }
            .main_life.aos-animate:before{clip-path: inset(0); opacity: 1; transition: all 1.5s; transition-delay: 0.2s;}
        .main_life .main_title :where(h2, p){filter: var(--filter-white);}
        .main_life .main_title h2 + p{margin-top: 8px;}
        .main_life .info_list{display: flex;flex-wrap: wrap;justify-content: center;text-align: center;margin-top: 211px;}
        .main_life .info_list > li{position: relative;display: flex;flex-direction: column;gap: 35px;width: calc(100% / 4);padding-inline: 30px;box-sizing: border-box;}
            .main_life .info_list > li:not(:first-child):before{position: absolute;content:'';width: 1px;height: 98%;background: rgba(255,255,255,0.4);top: 0;left:0;}
        .main_life .info_list .icon{display: flex;align-items: flex-start;justify-content: center;width: 80px;height: 54px;margin-inline: auto;}
        .main_life .info_list .desc{font-size: var(--title-20); color: var(--point-white);}
        .main_life .info_list .desc dt{font-size: 110%;font-weight: 600;}
            .main_life .info_list .desc dt + dd{margin-top: 15px;}
        .main_life .info_list .desc dd{font-size: max(13px, 75%);font-weight: 300;line-height: 1.6;text-wrap: balance;}

        @media (max-width:1023px){
            .main_life{padding-block: clamp(55px, 17.7vw, 177px) clamp(55px, 24vw, 240px);}
            .main_life .info_list{margin-top: clamp(70px, 21vw, 211px);}
            .main_life .info_list > li{gap: clamp(15px, 3.5vw, 35px); padding-inline:clamp(15px, 3vw, 30px);}
            .main_life .info_list .icon{width: clamp(50px, 8vw, 80px);height: clamp(40px, 5.4vw, 54px);}
            .main_life .info_list .desc dt + dd{margin-top: clamp(10px, 1.5vw, 15px);}
        }
        @media (max-width:860px){
            .main_life .info_list > li{width: 50%;}
            .main_life .info_list > li:nth-child(n+3){padding-top: 40px;}
            .main_life .info_list > li:not(:first-child):before{height: 100%;}
            .main_life .info_list > li:nth-child(2n+1):before{display: none;}
        }

    /* 컨텐츠 소개 */
        .main_look{position: relative;display: flex;flex-wrap: wrap;margin-top:-1px;}
        .main_look .exp_list{width: 50%; box-sizing: border-box;}
        .main_look .exp_list > li{position: relative; width: 100%;}
        .main_look .exp_list .thumb{position: relative;display: block;width: 100%;overflow: clip;min-height: 220px;}
        .main_look .exp_list .thumb img{width: 100%; height: 100%; object-fit: cover;}
            .main_look .exp_list.lg .thumb{aspect-ratio: auto 1.022;}
            .main_look .exp_list.sm .thumb{aspect-ratio: auto 2.043;}

        .main_look .exp_list .desc{position: absolute;inset: 0;padding: 63px 50px;box-sizing: border-box;font-size: var(--title-20);color: var(--point-white);display: flex;flex-direction: column;justify-content: flex-end;align-items: flex-start;}
        .main_look .exp_list .desc dt{font-size: 180%; font-weight: 600;}
            .main_look .exp_list .desc dt + dd{margin-top: 23px;}
        .main_look .exp_list .desc dd{font-size: max(14px, 75%);font-weight: 300;line-height: 1.6;opacity: 0.8;font-family: var(--font-type03);letter-spacing: 0;text-wrap: balance;}
        .main_look .exp_list .desc dd strong{font-weight: 500;}

        @media (max-width:1023px){
            .main_look .exp_list{width: 100%;}
            .main_look .exp_list .desc{padding:clamp(30px, 6.3vw, 63px) clamp(25px, 5vw, 50px);}
            .main_look .exp_list .desc dt + dd{margin-top: clamp(10px, 2.3vw, 23px);}
        }

    /* 오시는 길 */
        .main_location{position: relative;padding-block: 160px;z-index: 3;}
        .main_location .w_custom{display: flex;flex-wrap:wrap;align-items: flex-start;}
        .main_location .w_custom > div{box-sizing:border-box;}
        .main_location .main_title:after{display: block;content:'';width: 60px;height: 2px;background: var(--black-color03);margin-block: 8px 39px;}
        .main_location .main_title p em{letter-spacing: 0.02em;font-weight: 500;font-family: inherit;}
        .main_location .info_txt{width: 50%;padding: 0 80px 0 0;}
        .main_location .info_txt .info_call{display: flex;flex-wrap:wrap;align-items: center;justify-content: space-between;margin-bottom: 24px;gap:10px;}
        .main_location .info_txt .info_call .info_tel{font-size: var(--title-20);color: var(--point-color01);font-weight:700;display: flex;align-items: center;gap: 15px;}
        .main_location .info_txt .info_call .info_tel:before{width:32px;height:32px;content:'';background:url('../images/skin/main_tel.png')no-repeat center / 100% auto;display: inline-block; filter: var(--filter-point);}
        .main_location .info_txt .info_call .info_tel span{font-size: 180%;}
        .main_location .info_txt dl{display: flex;font-size: var(--title-20);color:var(--black-color03);font-weight:400;padding: 7px 0;box-sizing:border-box;}
        .main_location .info_txt .info_time{border-top:1px solid var(--border-color01);margin-top:20px;padding-top:20px;}
        .main_location .info_txt dl :where(dt, dd){font-size:max(13px, 80%);}
        .main_location .info_txt dl dt{width: 130px;font-weight: 600;color: var(--black-color06); flex-shrink: 0;}
        .main_location .info_txt dl dd{font-weight: 400;color: var(--black-color08);font-family: var(--font-type03);}
        .main_location .info_txt dl dd p{display: flex;flex-wrap:wrap;gap: 5px 15px;}
        .main_location .info_txt dl dd p + p{margin-top: 7px;}
        .main_location .info_txt dl dd span{display: inline-block;width:44px;}
        
        .main_location .info_map{width: 50%;}
        .main_location .info_map .info_map_box{width:100%;height: 480px;box-sizing:border-box;position: relative;overflow:hidden;}
        .main_location .info_map .info_map_box iframe{width:100%;height:100%;position: absolute;top:50%;left:50%;transform:translate(-50%, -50%);}

        @media (max-width:1217px) {
            .main_location .info_txt .info_call .info_tel{width:100%;}
            .main_location .info_txt dl dt{width:90px;}
        }
        @media (max-width:1023px){
            .main_location{padding-block: clamp(50px, 16vw, 160px);}
            .main_location .main_title:after{width: clamp(30px, 6vw, 60px); margin-block:clamp(0px, 1vw, 8px) clamp(20px, 4vw, 39px);}
            .main_location .info_txt .info_call .info_tel:before{width: clamp(22px, 3.5vw, 32px); height: clamp(22px, 3.5vw, 32px); }
            .main_location .info_txt dl dd p{column-gap: clamp(10px, 2vw, 15px);}
        }
        @media (max-width:860px) {
            .main_location .info_txt{width:100%;padding: 0 0 50px 0;}
            .main_location .info_txt .info_call .info_tel{width:auto;}
            .main_location .info_map{width:100%;}
            .main_location .info_map .info_map_box{aspect-ratio: auto 1.5;height: auto;min-height: 250px;}
        }
        @media (max-width:479px) {
            .main_location .info_txt{padding-bottom:30px;}
            .main_location .info_txt .info_call{margin-bottom:20px;}
            .main_location .info_txt .info_call .info_tel{gap:6px;}
            .main_location .info_txt .info_call .info_tel span{font-size: 150%;}
            .main_location .info_txt dl dt{width:70px;}
            .main_location .info_txt dl dd span{width:38px;}
            .main_location .info_txt .info_time{margin-top:12px;padding-top:12px;}
        }

    /* 상담문의 */
        .main_contact{position: relative;background: var(--black-color00);box-sizing:border-box;padding-block: 144px 150px;}
        .main_contact .main_title :where(h2, p){filter: var(--filter-white);}
        .main_contact .main_title p{opacity: 0.5;}
        .main_contact .board_main_write{display: flex;flex-wrap:wrap;gap:40px 0;flex-direction: column;margin-top: 45px;}
        .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(255,255,255,0.4);font-size:var(--title-16);color: rgba(255,255,255,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(--point-white);color:var(--point-white);}
        .main_contact input:-webkit-autofill{color:var(--point-white);}
        .main_contact .board_main_write textarea{width:100%;height:140px;box-sizing:border-box;outline:none;border: 0;background: rgba(255,255,255,0.1);padding:20px;font-size:var(--title-16);color:rgba(255,255,255,0.6);font-weight: 300;resize:none;line-height: 1.4;}
        .main_contact .board_main_write textarea::placeholder{color:inherit;}
        .main_contact .board_main_write textarea:focus{color:var(--point-white);}
        .main_contact .policy_cont{padding: 23px 20px;box-sizing:border-box;border: 1px solid rgba(255,255,255,0.4);display: flex;align-items: center;flex-wrap: wrap;gap: 10px 20px;font-size: var(--title-20);}
		.main_contact .policy_cont label:has([type="checkbox"]){color: var(--point-white);}
        .main_contact .policy_cont a{display: flex;align-items: center;gap: 7px;font-size: max(13px, 70%);font-weight: 300;opacity: 0.5;color: var(--point-white);}
        .main_contact .policy_cont a:after{display: inline-flex;content:'';width: 6px;height: 6px;border:solid var(--point-white);border-width: 0 1px 1px 0;transform: rotate(-45deg);opacity: 0.6;}
        .main_contact .board_main_write .capthca_wrap .capthca_box{display: flex;flex-wrap:wrap;gap:10px;box-sizing:border-box;border: 1px solid rgba(255,255,255,0.4);padding: 15px 20px;}
        .main_contact .board_main_write .capthca_wrap #captcha{width:calc(100% - 240px);height:40px;border:none;}
        .main_contact .board_main_write .capthca_wrap .btn_sm{width:40px;height:40px;padding:0;border:1px solid rgba(0,0,0,0.4);box-sizing: border-box;background-color: var(--black-color02);}
        .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: 60px;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;}
        label:has([type="checkbox"]){display: flex;gap: 18px;cursor: pointer;font-size: var(--title-16);line-height: 24px;font-weight: 400;color: var(--black-color03);}
        label [type="checkbox"]{display: block;flex-shrink: 0;width: 24px;height: auto;aspect-ratio: auto 1;background: url('../images/skin/chk_box.png') no-repeat center / 100% auto; cursor: inherit; transition: all 0.4s;}
        label [type="checkbox"]:checked{background-image: url('../images/skin/chk_boxOn.png');}
            
            @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:1200px) {
			.main_contact{padding-bottom:120px;}
		}
        @media (max-width:1023px) {
            .main_contact{padding-block: clamp(70px, 12vw, 120px);}
            .main_contact .board_main_write .line2.policy_box dl{width:100%;}
            .main_contact .board_main_write .line2.policy_box dl + dl{margin-top:20px;}

            label [type="checkbox"]{width: clamp(20px, 3vw, 24px);}
            label:has([type="checkbox"]){gap: clamp(10px, 2.3vw, 18px);line-height: clamp(20px, 3vw, 24px);}
        }
        @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: 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 #captcha{border: 1px solid rgba(255,255,255,0.4);width:100%;}
        }

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

	FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
    #footer{position: relative; box-sizing: border-box;}
    #footer .top_sec{border-bottom: 1px solid var(--border-color01); padding-block: 34px;}
    #footer .top_sec .w_custom{display: flex;align-items: center;justify-content: space-between;gap: 20px 30px;flex-wrap: wrap;}
    #footer .top_sec .link_list{display: flex; flex-wrap: wrap; gap: 10px 30px; font-size: var(--title-20);}
    #footer .top_sec .link_list > li{font-size: max(13px, 65%); font-weight: 400; color: var(--black-color08);}
    #footer .top_sec .logo{display: flex; align-items: flex-start; max-width: 152px;}
    #footer address{padding-block: 40px 50px;}
    #footer address .w_custom{display: flex;flex-wrap: wrap;align-items: flex-start;gap: 30px;justify-content: space-between;}
    #footer .addr_list{display: flex;flex-direction: column;gap: 7px;}
    #footer .addr_list > li{display: flex;flex-wrap: wrap;gap: 7px 30px;}
    #footer .addr_list .desc{display: 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);letter-spacing: -0.01em;}
    #footer .addr_list .desc dt{flex-shrink: 0;}
    #footer .copy{display: flex; flex-wrap: wrap; gap: 4px 20px; font-size: var(--title-20); font-family: var(--font-type03);}
    #footer .copy :where(dt, dd){font-size: max(13px, 65%);font-weight: 400;color: var(--black-color08);letter-spacing: -0.01em;}

    @media (max-width:1023px){
        #footer .top_sec{padding-block: clamp(20px, 3.4vw, 34px);}
        #footer .top_sec .link_list{column-gap: clamp(20px, 3vw, 30px);}
        #footer .top_sec .logo{max-width: clamp(100px, 15.2vw, 152px);}
        #footer address{padding-block: clamp(30px, 4vw, 40px) clamp(40px, 5vw, 50px);}
        #footer .addr_list > li{column-gap: clamp(20px, 3vw, 30px);}
    }