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

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

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

/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
    .dg.ac{display: none !important;}
    #wrap {position:relative; width:100%; overflow:clip; box-sizing: border-box;}
    #container, .w_custom {position:relative; width: calc(100% - 60px); max-width: 1800px; margin-inline: auto; box-sizing: border-box;}
    #container{padding-block: 50px;}

	@media (max-width:860px) {
        #container, .w_custom{width: calc(100% - 30px);}
	}
	@media (max-width:320px) {
		#contents_wrap, .w_custom {width: calc(100% - 20px);}
	}

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

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

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

    #header {position:fixed; width:100%; top:0; left:0; z-index:10;width:100%;box-sizing:border-box;background:var(--trans-color); transition:all 0.4s;}
    #wrap:has(#container) #header{position: sticky; left: auto;}
    :is(#header .header_cont, #aside .aside_head){height: 130px; box-sizing: border-box; transition: all 0.4s;}
    :is(#header .header_cont, #aside .aside_head .w_custom){display:flex;align-items: center;justify-content: flex-start;}
    #header .header_cont{position:relative;}
    :is(#header, #aside) .logo {height: 100%;}
    :is(#header, #aside) .logo a{display: flex;align-items: center;justify-content: center;max-width: 156px;height: 100%;padding-block: 15px;box-sizing: border-box;transition: all 0.4s;}
    #header .logo a {filter: var(--filter-white);}
    #header .gnb{position:absolute;top: 0;left: 50%;transform: translateX(-50%);display: flex;height: 100%;text-align: center;font-size: var(--title-20);transition:all 0.4s;}
    #header .gnb > li{position:relative;width: max-content;}
    #header .gnb > li > a{font-weight: 500;color: var(--black-color03);letter-spacing: 0.08em;padding-right:30px;filter: var(--filter-white);height: 100%;padding-inline: clamp(10px, 1.4vw, 25px);display: flex;align-items: center;}
    #header .gnb .dep02{display:flex; position:absolute; top:50%; transform:translateY(-50%); left:calc(100% - 5px); opacity:0; pointer-events:none; transition:all 0.4s;}
        #header .gnb .dep02.on{opacity:1; pointer-events:inherit;}
        #header .gnb .dep02 > li + li{margin-left:10px;}
    #header .gnb .dep02 > li > a{display:inline-flex;align-items:center;min-height: 45px;font-size: max(14px, 75%);font-weight:500;color: var(--black-color03);background:var(--point-white);width:max-content;padding: 10px 15px;border: 1px solid var(--border-color01);box-sizing:border-box;transition:all 0.4s;}

        
        /* on */
            #header.on{background:var(--point-white); box-shadow:0 0 10px rgba(0,0,0,0.3);}
            :is(#header.on .header_cont, #wrap:has(#header.on) #aside .aside_head .w_custom){justify-content:flex-start;}
            :is(#header.on .header_cont, #wrap:has(#header.on) #aside .aside_head){height: 100px;}
            #header.on .logo a{filter:none;}
            #header.on .menu-trigger{background-image:url('../images/skin/menu_trigger_on.png');}
            #header.on .gnb > li > a{filter: none;}
            #header.on .gnb .dep02{display:block;top:100%;left:50%;transform:translateX(-50%);min-width: 100%; width:max-content; background: var(--point-white);box-shadow:5px 10px 10px rgba(0,0,0,0.1); text-align:center; opacity:0; pointer-events:none;}
            #header.on .gnb .dep02 > li + li{margin:0;}
            #header.on .gnb .dep02 > li > a{border:0; width:100%; justify-content:center;}

        /* over */
            @media (min-width:1024px){
                #header .gnb > li > a:hover{color:var(--point-color01); filter:none;}
                #header .gnb .dep02 > li > a:hover{background:var(--point-color01); border-color:var(--point-color01); color:var(--point-white); box-shadow:0 0 10px rgba(0,0,0,0.3);}
                #header.on .gnb > li:hover .dep02{opacity:1; pointer-events:all;}
            }

    #header .hd_right{position: absolute;top:0;right:0;height: 100%;display: flex;align-items: center; gap: 15px;}
    #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;background:var(--point-color01);font-size:var(--title-16);color:var(--point-white);font-weight:400;gap:10px;}
    #header .tel:before{width:16px;aspect-ratio: auto 1;content:"";background: url('../images/skin/main_tel.png')no-repeat center / 100% auto;filter: var(--filter-white);}
    #header .menu-trigger {position:relative;display: block;width: 26px;height: 26px;box-sizing: border-box;background:url('../images/skin/menu_trigger.png') no-repeat center;}

	@media (max-width:1200px) {
		#header .gnb > li{font-size:90%;}
    }
	@media (max-width:1100px) {
		#header .gnb > li{font-size:80%;}
    }
    @media (max-width:1023px) {
        :is(#header, #header.on) .gnb{display:none;}
        :is(#header .header_cont, #aside .aside_head){height: clamp(75px, 13vw, 130px);}
        :is(#header.on .header_cont, #wrap:has(#header.on) #aside .aside_head){height: clamp(60px, 10vw, 100px);}
        :is(#header, #aside) .logo a{max-width:140px;}
    }
    @media (max-width:640px) {
        :is(#header .header_cont, #aside .aside_head .w_custom){justify-content:flex-start;}
        :is(#header, #aside) .logo a{max-width: 125px;}
    } 
    @media (max-width:479px) { 
        :is(#header, #aside) .logo a{max-width: 117px;}
    } 
    @media (max-width:360px) { 
        :is(#header, #aside) .logo a{max-width: 100px;}
    } 
/*───────────────────────────────────────────────────────────

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

───────────────────────────────────────────────────────────*/
    body:has(#aside.on){overflow: clip; touch-action: none;}
    #aside {top:0;right:0;width:100%; height:100%; box-sizing:border-box;box-sizing:border-box;position:fixed;background:#fff;z-index:95; opacity:0; pointer-events:none; transition:all 1.5s; transition-delay:0.6s; display: flex; flex-direction: column;}
        #aside.on {opacity:1; pointer-events:inherit; }

    .aside_bg {position:fixed; width:100%; height:100%; top:0; left:0; z-index:90;background:#fff0; pointer-events:none; display: block; transform:scaleX(-1)}
        body:has(#aside.on) .aside_bg{opacity:1; pointer-events:all;}
    .aside_bg div {position: absolute;z-index: 1; background-repeat: no-repeat; transform: rotateY(-50deg) scale(0.5); opacity: 0; transform-origin: bottom; transition: all .6s cubic-bezier(.71, .05, .09, .91); transition-delay:0.3s;}
        body:has(#aside.on) .aside_bg div{ opacity: 1; transform: rotate(0deg) translateY(0);}

    #aside .aside_head{position: relative;border-bottom:1px solid #ddd; flex-shrink: 0;}	
    #aside .aside_head .w_custom{height: 100%;}
    #aside .close_btn{position: absolute;top: 0;right: 0;width:26px;height: 100%;box-sizing: border-box;background: url('../images/skin/menu_trigger_close.png')no-repeat center / 100% auto;} 

    #aside .aside_cont{height: 100%;box-sizing: border-box;display: flex;align-items: center;justify-content: center;overflow: hidden;overflow-y: auto; padding-block: 40px;}
    #aside .gnb{position: relative;font-size: var(--title-20);display: flex;flex-wrap: wrap;width: 100%;max-width: 1450px;gap: 60px;box-sizing: border-box;}
    #aside .gnb a{position: relative; display:block;box-sizing: border-box;}
    #aside .gnb > li{display: flex;align-items: center;width: calc(100% / 2 - 30px);font-size: 220%;font-weight: 700;color: var(--black-color03);gap: 15px;}
    #aside .gnb > li > a{display: block;transition: all 0.4s;width: 45%;min-width: 200px;}
    #aside .gnb .dep02{font-size: max(14px, 36%);line-height: 1.2;color: #888;font-weight: 500;display: flex;flex-wrap: wrap;gap: 5px 0;}
    #aside .gnb .dep02 > li{display: inline-flex;align-items: baseline; box-sizing: border-box;}
    #aside .gnb .dep02 > li:not(:last-child):after{display: inline-flex;content:'';width: 3px;aspect-ratio: auto 1;border-radius: 100%;background: var(--black-color08);margin-inline: 15px;transform: translateY(-3px);}

        /* over */
            @media (min-width:1024px) {
                #aside .gnb li:hover > a{color:var(--point-color01);}
            }

    @media (max-width:860px){
        #aside .gnb > li{flex-direction: column;align-items: flex-start;}
        #aside .gnb > li > a{width: 100%; min-width: auto;}
    }
    @media (max-width:640px){
        #aside .aside_cont{align-items: flex-start; padding-block: 30px;}
        #aside .gnb{padding-inline: 10px; gap: 35px;}
        #aside .gnb > li{font-size: max(20px, 130%); width: 100%; gap: 12px;}
        #aside .gnb > li > a:has(+ ul):before{width:20px;height:2px;content:"";background:#666;position: absolute;right: 0;top:50%;transform:translate(0,-50%); transition:all 0.4s;}
		#aside .gnb > li > a:has(+ ul):after{width:2px;height:20px;content:"";background:#666;position: absolute;right: 9px;top:50%;transform:translate(0,-50%); transition:all 0.4s;}
            #aside .gnb > li > a.on:has(+ ul):before{background:#f14b51;}
            #aside .gnb > li > a.on:has(+ ul):after{opacity:0;}
        #aside .gnb .dep02{display: none;}
        #aside .gnb .dep02 > li{width: 100%;display: list-item;padding-left: 10px;}
        #aside .gnb .dep02 > li:not(:last-child):after{display: none;}
        #aside .gnb .dep02 > li::marker {display: block;content:'·';}
        #aside .gnb .dep02 > li > a{padding-block: 7px; display: list-item;}
    }
	@media (max-width:479px){
        #aside .gnb .dep02 > li > a{padding-block: 5px;}
    }
	
/*───────────────────────────────────────────────────────────

	 FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
	/* PC 일반 */
		#footer{padding-top: 76px;padding-bottom:115px;border-top: 1px solid var(--border-color01);}
		#footer .w_custom{display:flex;}
		#footer .tit_nav{position:relative;font-weight: 700;}
		#footer .exp{}
		#footer .exp dt{}
			#footer .exp dt + dd{margin-top: 19px;}
		#footer .exp dd{font-size:14px;font-weight:300;color: var(--black-color06);line-height: 1.71;padding-inline: 15px;font-family: var(--font-type02);}
		#footer .exp dd .read_more_btn{display:block; margin-top:30px;}
		#footer .info{width:780px;}
		#footer .info .exp dd{line-height:214%; padding:0;}
		#footer .info .exp dd :where(br.for_m + span, span + span):before{display:inline-flex; content:''; width:1px; height:10px; background:#ddd; margin:0 15px;}
		#footer .contact{width:420px;}
		#footer .career{width:400px;}
		#footer .copyright a{display:block;margin-top: 8px;width: fit-content;}
		#footer .ftr_nav{width:calc(100% - 1600px);margin-top: -10px;}
		#footer .ftr_nav ul li{text-align:right;}
			#footer .ftr_nav ul li + li{margin-top: 12px;}
		#footer .ftr_nav ul li a{font-size:14px;font-weight:300;color: var(--black-color06);}
		#footer .ftr_nav ul li a strong{font-weight:400;color: var(--black-color03);}
		#footer .btm_sec{margin-top: 57px;}
		#footer .copyright{width:calc(100% - 180px);font-size:14px;font-weight: 400;letter-spacing: 0.04em;color:rgba(102,102,102,0.7);font-family: var(--font-type02);}
		#footer .sns_list{position:absolute;top: 10px;right:0;display:flex;align-items: center;font-size: 0;display: none;}
			#footer .sns_list li + li{margin-left: 25px;}
		#footer .sns_list li a{display:inline-flex; width: 20px; height: 20px; background: no-repeat center / 100% auto;}
		#footer .sns_list li a.insta{background-image:url('../images/skin/sns_insta_icon.png');}
		#footer .sns_list li a.youtube{height:14px; background-image:url('../images/skin/sns_youtube_icon.png');}
		#footer .sns_list li a.facebook{width:11px; background-image:url('../images/skin/sns_facebook_icon.png');}
		#footer .sns_list li a.kakako{width:19px; background-image:url('../images/skin/sns_kakao_icon.png');}

	@media (max-width:1817px) {
		#footer .info{width:calc(53% - 120px);}
		#footer .contact{width:24%;}
		#footer .career{width:23%;}
		#footer .ftr_nav{width:120px;}
	}
	@media (max-width:1300px) {
		#footer .contact .exp dd br, #footer .career .exp dd br{display:none;}
	}
	@media (max-width:1217px) {
		#footer .w_custom{flex-wrap:wrap;}
		#footer .info{width:50%;}
		#footer .contact{width:25%;}
		#footer .career{width:25%;}
		#footer .ftr_nav{width:100%; margin-top:0px;}
		#footer .ftr_nav ul{display:flex;}
		#footer .ftr_nav ul li{text-align:left;}
			#footer .ftr_nav ul li + li{margin:0 0 0 35px;}
	}
	@media (max-width:975px) {
		#footer .info{width:100%; margin-bottom:51px;}
		#footer .contact, #footer .career{width:50%;}
		#footer .contact .exp dd br, #footer .career .exp dd br{display:block;}
		#footer .ftr_nav{margin-top:60px;}
	}
	@media (max-width:640px) {
		#footer{padding-top: 55px;padding-bottom:75px;background: #f5f5f5;}
		#footer .exp dt + dd{margin-top:22px;}
		#footer .exp dd .read_more_btn{margin-top:27px;}
		#footer .exp dd .read_more_btn span{color: var(--black-color06);font-weight:300;letter-spacing:0.05em;}
		#footer .exp dd .read_more_btn span:brefore{bottom:5px; background:#666;}
		#footer .info .exp dd{line-height:178%;}
		#footer .contact, #footer .career{width:100%;}
		#footer .career{margin-top:42px;}
		#footer .contact .exp dd, #footer .career .exp dd{font-size:16px;line-height: 1.5;margin-top:18px;}
		#footer .copyright{font-size:13px; width:calc(100% - 150px);}
		#footer .btm_sec{margin-top:77px;}
		#footer .sns_list li + li{margin-left:20px;}
		#footer .info .exp dd br, #footer .info .exp dd :where(br.for_m + span, span + span):before{display:none;}
		#footer .info .exp dd br.for_m{display:block;}
		#footer .info .exp dd span{display:inline-block; margin-right:30px;}
	}
	@media (max-width:479px) {
		#footer .w_custom.btm_sec{flex-direction:column-reverse;}
		#footer .info .exp dd span{margin-right:24px;}
		#footer .copyright, #footer .sns_list{width:100%;}
		#footer .sns_list{position:relative; top:0; right:0; margin-bottom:37px;}
		#footer .sns_list li + li{margin-left:25px;}
	}
	@media (max-width:374px) {
		#footer .info .exp dd span{margin-right:15px;}
		#footer .contact .exp dd, #footer .career .exp dd{font-size:14px;}
		#footer .exp dd{font-size:13px;}
		#footer .ftr_nav ul li + li{margin-left:25px;}
		#footer .ftr_nav ul li a{font-size:13px;}
		#footer .copyright{font-size:12px;}
	}

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

    MAIN | index.html

───────────────────────────────────────────────────────────*/
    .anchor{position: relative; display:block; top:-200px;}
    @media (max-width:640px){
        .anchor{top:-100px;}
    }
    /* visual */
        .main_visual {position:relative;width:100%; background:#000; z-index:2;}
        .main_visual .slick-slide {position:relative; height:940px; overflow:hidden;}
        .main_visual .slick-slide > a{position:absolute; top:0; left:0; width:100%; height:100%; z-index:3;}
        .main_visual .txt_box {text-align:center;transform:translate(-50%, -50%);position:absolute;left: 50%;top: 51%;z-index:1;font-size: var(--title-20);color: var(--point-white);}
        .main_visual .txt_box h2{font-size: 500%;font-weight:bold;line-height: 1.16;}
            .main_visual .txt_box h2 + h5{margin-top: 13px;}
        .main_visual .txt_box h5{font-size: 150%;font-weight:600;}
        .main_visual .thumb{width:100%; height:100%;}
        .main_visual .slick-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:74px;display:inline-flex;flex-wrap: wrap;gap: 18px;font-size:0;}
        .main_visual .slick-dots li button{font-size:0;width:12px;aspect-ratio: auto 1;border-radius:100%;background:rgba(255,255,255,0.5);transition: all 0.4s;}
        .main_visual .slick-dots li.slick-active button{background:var(--point-color01);}
        
        /* 애니 효과 */
            .main_visual .slick-slide .TxtAni{opacity:0;}
            .main_visual .slick-slide.active .TxtAni{animation-name: TxtUpDown; animation-duration:2s; animation-direction:alternate;  animation-fill-mode: forwards; }
            .main_visual .slick-slide h5.TxtAni{animation-delay: 0.2s;}
            .main_visual .slick-slide .thumb{transition:all 3s; transform:scale(1.1); opacity:0.7;}
                .main_visual .slick-slide.active .thumb{transform:scale(1); opacity:1;}

                @-webkit-keyframes TxtUpDown {
                    0% {transform: translate(0px, 100px) scale(0.7);opacity: 0;}
                    70% {transform: translate(0px, -30px) scale(1);opacity: 1;}
                    100% {transform: translate(0px, 0px) scale(1);opacity: 1;}
                }


        @media (max-width:1023px) {
            .main_visual .slick-slide{height:clamp(700px, 94vw, 940px);}
            .main_visual .txt_box h2{font-size:450%;}
            .main_visual .txt_box h5{font-size: 130%;font-weight:300;}
            .main_visual .slick-dots{bottom:50px;}
        }
        @media (max-width:860px) {
            .main_visual .txt_box h2{font-size:400%;}
            .main_visual .txt_box h5{font-size: 110%;}
        }
        @media (max-width:640px) {
            .main_visual .txt_box{top:50%;}
            .main_visual .txt_box h2{font-size: max(60px, 350%);}
            .main_visual .txt_box h2 + h5{margin-top:30px;}
            .main_visual .txt_box h5{font-size: 100%;}
            .main_visual .slick-dots{bottom:40px; gap:13px;}
        }
        @media (max-width:431px) {
            .main_visual .txt_box h5{font-size: max(14px, 85%);}
        }
        @media (max-width:360px) {
            .main_visual .slick-slide{height:186.4vw;}
            .main_visual .txt_box h2{font-size: max(50px, 300%);}
            .main_visual .slick-dots{bottom:30px;}
            .main_visual .slick-dots li button{width:10px; height:10px;}
        }

	/* 공통 */
		.main_content .main_tit{position: relative; box-sizing: border-box;}
		.main_content .main_tit h2{font-size:140px; font-weight:bold; color:var(--black-color01);}
		.main_content .main_tit h3{font-size:80px;font-weight: 800;color: var(--black-color01);letter-spacing: -0.025em;}
			.main_content .main_tit h3 + h6{margin-top: 29px;}
		.main_content .main_tit h4{font-size:36px;font-weight:400;color: var(--black-color03);}
		.main_content .main_tit h5{font-size:24px; font-weight:400; color:var(--black-color01);} 
		.main_content .main_tit h6{font-size:20px;font-weight:400;color: var(--black-color06);line-height: 1.5;}
		.main_content .main_tit p{font-size:16px;font-weight: 400;color: var(--black-color06);line-height: 1.87;letter-spacing: 0.1em;}
		.main_content .tit_nav{position:absolute;top:0;left:0;font-size:16px;font-weight: 600;color: var(--black-color03);line-height: 1;display: inline-flex;align-items: center;letter-spacing: 0.08em;}
			.main_content .tit_nav:before{display:inline-flex;content:'';width:6px;height:6px;background: var(--point-color01);margin-right: 8px;vertical-align:middle;}
		.main_content .read_more_btn{display:inline-block;display: none;}
		.main_content .read_more_btn span{display:inline-block;position:relative;font-size:15px;color: var(--black-color03);font-weight: 600;transition:all 0.4s;}
			.main_content .read_more_btn span:before{position:absolute;content:'';width:100%;height:1px;background:#333;left:0;bottom: 1px;}
			.main_content .read_more_btn span:after{position:absolute; content:''; width:30px; height:1px; background:var(--point-color01); left:0; bottom:1px; opacity:0; transition:all 0.4s;}
		.main_content .view_more_btn{position:fixed;display: none !important;!i;!;transform:translate(-50%, -50%);z-index:2;}
		.main_content .view_more_btn span{display:inline-flex; align-items:center; justify-content:center; width:120px; height:120px; background:var(--point-color01); font-size:14px; font-weight:500; color:#fff; border-radius:100%;}
		.main_content .swiper-button-prev:after, .main_content .swiper-button-next:after{display:none;}

			/* over */
			@media (min-width:1024px) {
				.main_content .read_more_btn:hover span{color:var(--point-color01);}
				.main_content .read_more_btn:hover span:after{animation-name: ReadMore; animation-duration:2s; animation-duration: leaner; animation-iteration-count:infinite; animation-direction:alternate;  animation-fill-mode: forwards; opacity:1;}
				@keyframes ReadMore { 0% {left:0; opacity:1;} 100% {left:calc(100% - 30px);} }
			}

	/* main_about */
		.main_about{padding: 140px 0 160px;position:relative; z-index:2;}
		.main_about .w_custom{display:flex; align-items:center;}
		.main_about .tit_nav{top: 24px;left: 7px;}
		.main_about .main_tit{width: calc(100% - 740px);padding-right:15px;box-sizing:border-box;padding-left: 65px;padding-top: 19px;}
		.main_about .main_tit .read_more_btn{margin-top:50px;display: none;}
		.main_about .thumb{width: 740px;aspect-ratio: auto 1.75;box-sizing:border-box;padding-right: 40px;overflow: hidden;} 
		.main_about .thumb img{width:100%; height:100%; object-fit:cover;}

	/* main_wide_bnr */
		.main_wide_bnr{ opacity:0; transition:all 0.7s;}
			.main_wide_bnr.aos-animate{opacity:1;}
		.main_wide_bnr .bnr_list{display:flex; justify-content:space-between;}
		.main_wide_bnr .bnr_list > li{position:relative; width:100%; box-sizing:border-box; overflow:hidden;}
		.main_wide_bnr .bnr_list .link{position:absolute; top:0; left:0; width:100%; height:100%;}
		.main_wide_bnr .bnr_list .tittle{position:absolute;left: 7.5%;top: 77.5%; z-index:1; width:85%;}
		.main_wide_bnr .bnr_list .tittle dt{font-size:36px;font-weight:500;color:var(--point-white);letter-spacing: -0.01em;}
			.main_wide_bnr .bnr_list .tittle dt + dd{margin-top: 16px;}
		.main_wide_bnr .bnr_list .tittle dd{font-size:16px;font-weight:400;color:var(--point-white);letter-spacing: 0.085em;}
		.main_wide_bnr .bnr_list .thumb{display:block; font-size:0; width:100%; height:34.99vw; overflow:hidden; background:var(--point-white);}
		.main_wide_bnr .bnr_list .thumb img{width:100%; height:100%; object-fit:cover; transition:all 0.4s;}

			/* over */
			@media (min-width:1024px) {
				.main_wide_bnr .bnr_list > li:hover .thumb img{transform:scale(1.05); opacity:0.9;}
			}

	/* main_service */
		.main_service{position:relative; padding-top: 207px; padding-bottom:140px; border-bottom:204px solid #000; z-index:3; }
		.main_service .tit_nav{top: -63px;left:0;}
		.main_service .ser_list{border-block:1px solid var(--border-color01);padding:67px 0 78px;display:flex;height: 775px;box-sizing: border-box;}
		.main_service .ser_list > li{position:relative;border-left: 1px solid var(--border-color01);width: calc(40% / 3);box-sizing: border-box;transition:all 0.8s;cursor:pointer;}
		.main_service .ser_list > li .link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display: none;}
		.main_service .ser_list > li dl{display:flex;align-items: flex-end;height: 100%;position: relative;}
		.main_service .ser_list > li dl dt{writing-mode:vertical-rl;font-size:60px;font-weight: 600;color: var(--black-color01);transform:rotate(-180deg);padding-right: 25px;box-sizing: border-box;letter-spacing: -0.02em;height:100%;transition:all 0.8s;}
		.main_service .ser_list > li dl dd{ opacity:0;  height:100%; overflow:hidden; }
		.main_service .ser_list > li .cont{display: inline-flex;align-items: flex-end;height: 100%;}
		.main_service .ser_list > li .thumb{font-size:0; width:0; height:620px; opacity:0; transition:all 0.8s;}
		.main_service .ser_list > li .thumb img{width:100%; height:100%; object-fit:cover;}
		.main_service .ser_list > li .main_tit{opacity:0; transition:all 0.6s; transition-delay:0.4s; transition-property:opacity;}
		.main_service .ser_list > li .main_tit p{letter-spacing:0;}
		.main_service .ser_list > li .main_tit .read_more_btn{margin-top:47px;}

		.main_service .ser_list > li.on{border-color: var(--point-color01);width: 60%;}
		.main_service .ser_list > li.on dl dt{width: 230px;}
		.main_service .ser_list > li.on dl dd{width: calc(100% - 230px); opacity:1;}
		.main_service .ser_list > li.on .thumb{width: 320px; opacity:1;}
		.main_service .ser_list > li.on .main_tit{width: calc(100% - 320px);padding: 0 60px 40px;box-sizing: border-box; opacity:1;}
		
		@media (min-width:1024px) {
			.main_service .ser_list{transform:none !important;}
			.main_service .ser_list > li:nth-child(n+5){display:none;}
			.main_service .ser_list > li:hover .read_more_btn span{color:var(--point-color01);}
			.main_service .ser_list > li:hover .read_more_btn span:after{animation-name: ReadMore; animation-duration:2s; animation-duration: leaner; animation-iteration-count:infinite; animation-direction:alternate;  animation-fill-mode: forwards; opacity:1;}
			@keyframes ReadMore { 0% {left:0; opacity:1;} 100% {left:calc(100% - 30px);} }
		}

	/* main_portfolio */
		.main_portfolio{background:var(--black-color00);}
		.main_portfolio	.tit_nav{color:var(--point-white);left: 53px;z-index:7;top: 56px;font-weight: 500;} 
		.main_portfolio .slide_wrap{position:relative;display:flex; opacity:0; padding-top:100px;transition:all 1.5s;}
			.main_portfolio.aos-animate .slide_wrap{opacity:1; padding-top:0;}
		.main_portfolio .slide_wrap .main_tit{position:relative;display:flex;flex-wrap:wrap;align-items:center;height: auto;width: 29vw;background:var(--black-color00);z-index:5;align-content: center;padding-left: 50px;box-sizing:border-box;overflow:hidden;}
		.main_portfolio .slide_wrap .main_tit :where(h4, p){width:100%; color:var(--point-white);}
		.main_portfolio .slide_wrap .main_tit h4 + p{margin-top:10px;}
		.main_portfolio .slide_wrap .main_tit p{font-weight:200;}
		.main_portfolio .slide_wrap .main_tit .read_more_btn{display:none;}
		.main_portfolio .slide_wrap .main_tit .read_more_btn span{color:var(--point-white);font-weight: 100;}
		.main_portfolio .slide_wrap .main_tit .read_more_btn span:before{background-color:var(--point-white);}
		.main_portfolio .slide_wrap .main_tit .swiper-wrapper{height:auto;}
		.main_portfolio .slide_wrap .main_tit .swiper-slide{opacity:0 !important; transition:all 0.4s; pointer-events:none;}
		.main_portfolio .slide_wrap .main_tit .swiper-slide.swiper-slide-thumb-active{opacity:1 !important; pointer-events:inherit;}
		.main_portfolio .slide_wrap .thumbSwiper{width: calc(100% - 29vw);height: auto;padding-right:17.9vw;box-sizing:border-box;}
		.main_portfolio .slide_wrap .thumbSwiper .swiper-slide .thumb{font-size:0;background:var(--black-color00);overflow:hidden;aspect-ratio: auto 1.73;}
		.main_portfolio .slide_wrap .thumbSwiper .swiper-slide .thumb img{width:100%; height:100%; object-fit:cover;}
		.main_portfolio .slide_wrap .slide_btn_wrap{font-size:0;margin-top: 94px;}
		.main_portfolio .slide_wrap .swiper-button-prev, .main_portfolio .slide_wrap .swiper-button-next{position:relative;top:auto; right:auto; bottom:auto; left:auto; width:40px; height:29px; margin:0; display:inline-flex; background:url('../images/skin/main_slide_btn.png') no-repeat center; transition:all 0.4s;}
		.main_portfolio .slide_wrap .swiper-button-prev{margin-right:30px;}
		.main_portfolio .slide_wrap .swiper-button-next{transform:scaleX(-1);}

			/* over */
			@media (min-width:1024px) {
				.main_portfolio .slide_wrap .swiper-button-prev:hover, .main_portfolio .slide_wrap .swiper-button-next:hover{background-image:url('../images/skin/main_slide_btn_on.png');}
			}
    /* main_location*/
        .main_location{position: relative;padding:100px 0;background: var(--gray-bg01);border-top:126px solid var(--black-color00);z-index: 3;}
        .main_location .w_custom{display: flex;flex-wrap:wrap;align-items: center;}
        .main_location .w_custom > div{box-sizing:border-box;}
        .main_location  .main_title{width:100%;}
        .main_location .info_txt{width:45%;padding: 40px 80px 40px 0;}
        .main_location .info_txt .info_call{display: flex;flex-wrap:wrap;align-items: center;justify-content: space-between;margin-bottom:30px;gap:10px;}
        .main_location .info_txt .info_call .info_tel{font-size: var(--title-20);color:var(--black-color03);font-weight:700;display: flex;align-items: center;gap:10px;}
        .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;}
        .main_location .info_txt .info_call .info_tel span{font-size: 230%;}
        .main_location .info_txt dl{display: flex;flex-wrap:wrap;font-size:var(--title-16);color:var(--black-color03);font-weight:400;padding:5px 0;font-family:var(--font-type02);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 dt{width:130px;}
        .main_location .info_txt dl dd{width:calc(100% - 130px);}
        .main_location .info_txt dl dd p{display: flex;flex-wrap:wrap;gap:10px;}
        .main_location .info_txt dl dd p + p{margin-top:10px;}
        .main_location .info_txt dl dd span{display: inline-block;width:44px;}
        
        .main_location .info_map{width:55%;}
        .main_location .info_map .info_map_box{width:100%;height:0;padding-bottom:63%;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%);}

    /*contact us*/
        .main_contact{position: relative;z-index:6;box-sizing:border-box;padding: 120px 0;}
		.main_contact .w_custom{max-width:1200px;}
        .main_contact .tit_nav{position: relative; inset: auto; margin-bottom: 30px;}
        .main_contact .board_main_write{display: flex;flex-wrap:wrap;gap:40px 0;flex-direction: column;}
        .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:var(--point-white);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:rgba(0,0,0,0.6);}
        .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;}
        .main_contact .board_main_write textarea::placeholder{color:var(--black-color10);}
        .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:200px;height:60px;background:var(--point-color01);border:1px solid var(--point-color01);font-size:var(--title-18);color:var(--point-white);font-weight:400;margin:0 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;width:100%;height:100%;position: relative;}

        @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:1600px) {
		.main_content .main_tit h3{font-size:5vw;}
		.main_content .main_tit h4{font-size:33px;}
		.main_content .main_tit h6{font-size:18px;}
		.main_content .main_tit p{font-size:15px;line-height: 1.53;}

		.main_about .tit_nav{top:0;}
		.main_about .main_tit{padding-left:4vw; width:calc(100% - 46.2vw);}
		.main_about .thumb{width:calc(43.7vw + 2.5vw);padding-right:2.5vw;min-height:230px;}

		.main_wide_bnr .bnr_list .tittle dt{font-size:33px;}
		.main_wide_bnr .bnr_list .tittle dd{font-size:15px;}

		.main_service .ser_list{height:48vw;}
		.main_service .ser_list > li dl dt{font-size:3.7vw;}
		.main_service .ser_list > li .thumb{height:38.75vw;}
		.main_service .ser_list > li .main_tit .read_more_btn{margin-top:30px;}
		.main_service .ser_list > li.on dl dt{width:14.37vw;}
		.main_service .ser_list > li.on dl dd{width:calc(100% - 14.37vw);}
		.main_service .ser_list > li.on .thumb{width:20vw;}
		.main_service .ser_list > li.on .main_tit{padding:0 3.7vw 2.5vw; width:calc(100% - 20vw);}
	}
	@media (max-width:1400px) {
		.main_content .main_tit h6{font-size:17px;}
		.main_content .main_tit h4{font-size:30px;}

		.main_wide_bnr .bnr_list .tittle dt{font-size:30px;}
		.main_service .ser_list > li.on dl dt{width:11vw;}
		.main_service .ser_list > li.on dl dd{width:calc(100% - 11vw);}

        .main_location .info_txt{padding-right:40px;}
		.main_location .info_txt .info_call .info_tel span{font-size:200%;}
	}
	@media (max-width:1217px) {
		.main_content .main_tit h3 + h6{margin-top: 24px;}
		.main_content .main_tit h4{font-size:27px;}
		.main_content .main_tit h6{font-size:16px;}

		.main_about .main_tit{padding-top: 43px;}
		.main_about .main_tit .read_more_btn{margin-top:30px;}

		.main_wide_bnr .bnr_list .thumb{height:34.9vw;}
		.main_wide_bnr .bnr_list .tittle{top:73%;}
		.main_wide_bnr .bnr_list .tittle dt{font-size:27px;}
		.main_wide_bnr .bnr_list .tittle dd{font-size:14px;}

		.main_portfolio .tit_nav{top:0; left:15px;}
		.main_portfolio .slide_wrap .main_tit{padding-left:15px;}
		.main_portfolio .slide_wrap .slide_btn_wrap{margin-top:65px;}

        .main_location{padding:80px 0 90px;}
		.main_location .info_txt .info_call .info_tel{width:100%;}
		.main_location .info_txt dl dt{width:90px;}
		.main_location .info_txt dl dd{width:calc(100% - 90px);}

	}
	@media (max-width:1023px) {
		.main_content .main_tit h4{font-size:24px;}
		.main_content .main_tit h6{font-size:15px;}
		.main_content .main_tit p{font-size:14px;}
		.main_content .view_more_btn{display:none !important;}

		.main_about{padding: 120px 0 130px;}

		.main_wide_bnr .bnr_list .tittle dt{font-size:24px;}
			.main_wide_bnr .bnr_list .tittle dt + dd{margin-top:12px;}

		.main_service{padding-top:180px; padding-bottom:120px; border-bottom:0;}
		.main_service .tit_nav{top: -43px;}
		.main_service .ServiceSwiper{width:100%; box-sizing:border-box; padding-right:7vw;}
		.main_service .ser_list{height:auto; border:0; padding:0;}
		.main_service .ser_list > li{border:0;}
		.main_service .ser_list > li dl{display:block;}
		.main_service .ser_list > li dl dt{position:absolute;top:59vw;left: 5px;height:auto;writing-mode:inherit;transform:none; padding-right:0;}
		.main_service .ser_list > li dl dd{height:auto; opacity:1;}
		.main_service .ser_list > li .cont{display:block; height:auto;}
		.main_service .ser_list > li .thumb{width:100%; opacity:1; height:57vw;}
		.main_service .ser_list > :is(li, li.on) .main_tit{padding: 8vw 0 0 0;}
		.main_service .ser_list > li .main_tit{opacity:1;}
		.main_service .ser_list > li.on{width: auto;}
		.main_service .ser_list > li.on dl dt{width: 100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
		.main_service .ser_list > li.on dl dd{width: 100%;}
		.main_service .ser_list > li.on .thumb{width: 100%;}
		.main_service .ser_list > li.on .main_tit{width: 100%;padding-left: 5px;}

		.main_portfolio{padding:150px 0;}
		.main_portfolio .slide_wrap{flex-wrap:wrap; flex-direction:column-reverse;}
		.main_portfolio .tit_nav{top:-60px;}
		.main_portfolio .slide_wrap .main_tit{width:calc(100% - 30px);padding: 21px 0 0 0;margin: 0 auto;}
		.main_portfolio .slide_wrap .thumbSwiper{width:calc(100% - 30px);padding-right:0;margin: 0 auto;}
		.main_portfolio .slide_wrap .swiper-button-prev, .main_portfolio .slide_wrap .swiper-button-next{width:32px; background-size:100% auto;}
		.main_portfolio .slide_wrap .main_tit .read_more_btn{display:block;margin-top: 33px;}

		.main_location{border-top:0;}

        .main_contact{padding-top:100px;}
		.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:860px) {
		.main_content .main_tit h3{font-size:40px;}
		.main_content .main_tit h4{font-size:21px;}
		.main_content .main_tit h6{font-size:14px;line-height: 1.42;}
		.main_content .read_more_btn span{font-size:14px;}

		.main_about{padding: 100px 0 110px;}
		.main_about .tit_nav{left:0;}
		.main_about .main_tit{padding-left:0; width:calc(100% - 43.7vw);}
		.main_about .thumb{padding-right:0; width:calc(43.7vw);}
		.main_about .main_tit .read_more_btn{margin-top:20px;}
		.main_wide_bnr .bnr_list .tittle dt{font-size:20px;}
		.main_wide_bnr .bnr_list .tittle dd{font-size:13px;}

	}
	@media (max-width:767px) {
		.main_wide_bnr .bnr_list .tittle{top:68%;}

		.main_service .ser_list > li dl dt{font-size:25px;}
		.main_service .ser_list > :is(li, li.on) .main_tit{padding-top:55px;}

        .main_location{padding:60px 0 70px;}
		.main_location .info_txt{width:100%;padding: 35px 0 50px 0;}
		.main_location .info_txt .info_call .info_tel{width:auto;}
		.main_location .info_map{width:100%;}

        .main_contact{padding-top:60px;}
	}
	@media (max-width:730px) {
		.main_about .w_custom{display:block;}
		.main_about .main_tit{width:100%;padding: 43px 5px 30px;}
		.main_about .main_tit .read_more_btn{display:none;}
		.main_about .thumb{width:100%;min-height: 200px;}
	}
	@media (max-width:640px) {
		.main_about{padding: 70px 0 80px;}
		.main_content .main_tit h4{font-size:18px;}
		.main_content .read_more_btn span{font-size:13px;}

		.main_wide_bnr .bnr_list{display:block;}
		.main_wide_bnr .bnr_list .tittle{left: 18px;top: 72%;}
		.main_wide_bnr .bnr_list .thumb{height:70vw; min-height:300px;}
		.main_wide_bnr .bnr_list .tittle dt + dd{margin-top:7px;}
		.main_wide_bnr .bnr_list .tittle dd{font-weight:300;}

		.main_service{padding-top: 96px;padding-bottom:80px;}

		.main_portfolio{padding:94px 0 60px;}
		.main_portfolio .tit_nav{top:-44px;}
		.main_portfolio .slide_wrap :is(.swiper-button-prev, .swiper-button-next) {width:21px; height:15px;}
		.main_portfolio .slide_wrap .swiper-button-prev{margin-right:15px;}

        .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{width:150px;height:50px;margin-top:35px;}
	}
	@media (max-width:479px) {
		.main_content .main_tit p{font-size:13px;}

		.main_service .ServiceSwiper{padding-right:20vw; }
		.main_service .ser_list > li .thumb{height:82.7vw;}
		.main_service .ser_list > li dl dt{top: 90vw;}
		.main_service .ser_list > :is(li, li.on) .main_tit{padding-top: 70px;}
		.main_service .ser_list > li .main_tit p{letter-spacing:-0.01em;}

        .main_location{padding:50px 0 60px;}
		.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:before{width:22px;height:22px;}
		.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{width:calc(100% - 70px);}
		.main_location .info_txt dl dd span{width:38px;}
		.main_location .info_txt dl dd p + p{margin-top:6px;}
		.main_location .info_txt .info_time{margin-top:12px;padding-top:12px;}
		
		.main_location .info_map .info_map_box{padding-bottom:85%;}

        .main_contact{padding-top:48px;}
		.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;}
	}
	@media (max-width:374px) {
		.main_content .main_tit h3{font-size:10.5vw;}
		.main_content .main_tit h4{font-size:17px;}
		.main_content .main_tit h6{font-size:13px;}
		.main_content .main_tit p{font-size:12px;}
		.main_content .read_more_btn span{font-size:12px;}
		.main_content .tit_nav{font-size:15px;}
		.main_wide_bnr .bnr_list .tittle dt{font-size:18px;}
		.main_wide_bnr .bnr_list .tittle dd{font-size:12px;}
		.main_service .ser_list > li dl dt{font-size:23px;}
		.main_service .ser_list > :is(li, li.on) .main_tit{padding-top:65px;}
		.main_service .ser_list > li .main_tit .read_more_btn{margin-top:25px;}
	}