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

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

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

/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
	/** PC 일반 **/
		#wrap {position:relative;width:100%;height:100%;margin:0;padding:0;}
		#contents_wrap {padding-bottom: 150px; z-index: 1;}
			/* 컨텐츠 전체 가로 사이즈 */
		#contents_wrap, .w_set, .w_custom {position: relative; width: calc(100% - 60px); max-width: 1400px; margin:0 auto; box-sizing: border-box;}
		.w_set {max-width: 1720px;}
		
	@media only screen and (max-width:1023px) {
		#contents_wrap, .w_set, .w_custom {width:calc(100% - 30px);}
	}
	@media only screen and (max-width:320px) {
		#contents_wrap, .w_set, .w_custom {width:calc(100% - 20px);}
	}
	

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

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

───────────────────────────────────────────────────────────*/
	/** PC 일반 **/
		.skip_nav {position:relative;z-index:9999;}
		.skip_nav a {display:block;height:1px;width:1px;margin-bottom:-1px;overflow:hidden;font-size:12px;color:#fff;font-weight:bold;white-space:nowrap;text-align:center;}
		.skip_nav a:focus, .skip_nav a:active {height:auto;width:100%;padding:0;margin-bottom:0;position:absolute;left:0;top:0;}
		
		#header {position: fixed; top:0; left:0; width:100%; z-index:10; transition: all 0.4s;}
		#header .w_set {display: flex; justify-content: space-between; align-items: center; height: 110px; transition: all 0.4s;}
		#header .hd_logo img {filter: var(--filter-white);}
		#header .hd_lnb {position: absolute; left: 50%; top: 0; transform: translateX(-50%); display: inline-flex; width: max-content; height: 100%;}
		#header .hd_lnb > li {position: relative; height: 100%; padding: 0 40px;}
		#header .hd_lnb > li > a {display: flex; align-items: center; height: 100%; font-size: var(--title-18); color: var(--white-color01); font-weight: 400; letter-spacing: var(--font-letter04); transition: all 0.4s;}
		#header .hd_lnb > li > a span {position: relative;}
		#header .hd_lnb > li > a span:after {content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; height: 1px; background: var(--white-color01); opacity: 0;}
		#header .hd_lnb > li .lnb_dep2 {position: absolute; left: 50%; top: 80%; transform: translateX(-50%); background: var(--white-color01); width: max-content; min-width: 130px; padding: 18px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.15); opacity: 0; pointer-events: none; transition: all 0.4s;}
            #header .hd_lnb > li .lnb_dep2:not(:has(li:nth-child(2))){display:none;}
		#header .hd_lnb > li .lnb_dep2 li a {font-size: var(--title-16); color: var(--black-color08); line-height: 2;}
		#header .hd_right {display: flex; align-items: center; justify-content: center;}
		#header .hd_link {display: flex;}
		#header .hd_link a {display: inline-flex; align-items: center; justify-content: center; height: 40px; box-sizing: border-box; border: 1px solid var(--white-color01); padding: 0 20px;}
		#header .hd_link a + a {border-left: 0;}
		#header .hd_link a span {padding-top: 1px; font-size: var(--title-16); color: var(--white-color01); font-weight: 500; letter-spacing: var(--font-letter04); line-height: 1;}
		#header .menu-trigger {display: none; position:relative;padding:0;width: 30px;height: 24px;box-sizing: border-box;margin-left: 30px;}
		#header .menu-trigger span {transition:0.3s;position:absolute;width: 100%;height:2px;background: var(--white-color01);left: 0;}
		#header .menu-trigger span:nth-of-type(1) {top: 0;}
		#header .menu-trigger span:nth-of-type(2) {top: 50%;margin-top: -1px;}
		#header .menu-trigger span:nth-of-type(3) {bottom: 0;}
		
		#header.on {background: var(--white-color01); box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);}
		#header.on .w_set {height: 95px;}
		#header.on .hd_logo img {filter: none;}
		#header.on .hd_lnb > li > a {color: var(--black-color00);}
		#header.on .hd_lnb > li:hover a span:after {background: var(--point-color01);}
		#header.on .hd_link a {border-color: var(--border-color02);}
		#header.on .hd_link a span {color: var(--black-color08);}
		#header.on .menu-trigger span {background: var(--point-color01);}
		
		/* hover */
		@media only screen and (min-width:1024px) {
			#header .hd_lnb > li:hover a span:after {opacity: 1;}
			#header .hd_lnb > li:hover .lnb_dep2 {opacity: 1; pointer-events: all;}
			#header .hd_lnb > li .lnb_dep2 li a:hover {color: var(--black-color00);}
			
			#header .hd_link a:hover {background: var(--white-color01);}
			#header .hd_link a:hover span {color: var(--point-color01);}
			
			#header.on .hd_lnb > li:hover > a {color: var(--point-color01);}
			#header.on .hd_link a:hover {background: var(--point-color01); border-color: var(--point-color01);}
			#header.on .hd_link a:hover span {color: var(--white-color01);}
		}
			
	@media only screen and (max-width:1480px) {
		#header .hd_lnb > li {padding: 0 34px;}
		#header .hd_link a {padding: 0 16px;}
	}
	@media only screen and (max-width:1320px) {
		#header .hd_lnb > li {padding: 0 30px;}
		#header .hd_link a {padding: 0 14px;}
		#header .hd_link a span {font-size: var(--title-15);}
	}
	@media only screen and (max-width:1240px) {
		#header .hd_link {display: none;}
		#header .menu-trigger {display: block;}
	}
	@media only screen and (max-width:1023px) {
		#header .w_set {height: 100px;}
		#header .hd_logo {width: 180px;}
		#header .hd_logo img {width: 100%;}
		#header .hd_lnb {display: none;}
		
		#header.on .w_set {height: 85px;}
	}
	@media only screen and (max-width:860px) {
		#header .w_set {height: 95px;}
		#header .hd_logo {width: 170px;}
		#header .menu-trigger {width: 28px; height: 22px;}
		
		#header.on .w_set {height: 80px;}
	}
	@media only screen and (max-width:640px) {
		#header .w_set {height: 85px;}
		#header .hd_logo {width: 160px;}
		#header .menu-trigger {width: 26px; height: 20px;}
		
		#header.on .w_set {height: 70px;}
	}
	@media only screen and (max-width:479px) {
		#header .w_set {height: 75px;}
		#header .hd_logo {width: 150px;}
		#header .menu-trigger {width: 24px; height: 19px;}
		
		#header.on .w_set {height: 65px;}
	}


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

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

───────────────────────────────────────────────────────────*/
	/* PC 일반 */
	#aside {overflow:hidden;top: 0;right: 0;/* right:-420px; */width:100%;transition:0.5s;height:100%;box-sizing:border-box;box-sizing:border-box;position:fixed;background:var(--point-color01);z-index:99;visibility: hidden;transform-origin: top center;opacity: 0;}
	#aside.on {visibility: visible;opacity: 1;}
	#aside .aside_box {height:100%;padding: 0;overflow:hidden; overflow-y:auto;position:relative;z-index:1;box-sizing:border-box;display:block;touch-action: none;}
	
	.aside_bg {left:0px;top:0px;bottom:0;right:0;width:100%;height:100%;background:rgba(0,0,0,0.6);opacity:0;transition:0.8s;z-index:50;position:fixed;display:none;}
	.aside_bg.on {opacity:1;display:block;}
	
	#aside .aside_top {position: relative; display:flex; align-items:center; justify-content:space-between; height: 110px;}
	#aside .aside_logo img {filter: var(--filter-white);}
	#aside .aside_right {display: flex; align-items: center; justify-content: center;}
	#aside .aside_link {display: flex;}
	#aside .aside_link a {display: inline-flex; align-items: center; justify-content: center; height: 40px; box-sizing: border-box; border: 1px solid var(--white-color01); padding: 0 16px;}
	#aside .aside_link a + a {border-left: 0;}
	#aside .aside_link a span {padding-top: 1px; font-size: var(--title-16); color: var(--white-color01); font-weight: 500; letter-spacing: var(--font-letter04); line-height: 1;}
	
	#aside .aside_box .btn_aside_close {width: 27px;height: 27px;cursor:pointer;margin-left: 40px;box-sizing: border-box;position:relative;}
	#aside .aside_box .btn_aside_close div {width: 37px;height: 37px;position:absolute;top: -7px;right: -5px;}
	#aside .aside_box .btn_aside_close .menu-trigger2.active-1 {width:100%;height:100%;position: absolute;top: 0;left: 0;}
	#aside .aside_box .btn_aside_close .menu-trigger2.active-1 span {transition:0.3s;position:absolute;width:100%;height:2px;background:var(--white-color01);left:0;top: 50%;transform: translateY(-50%);}
	#aside .aside_box .btn_aside_close .menu-trigger2.active-1 span:nth-of-type(1) {-webkit-transform:translateY (0) rotate (-45deg);transform:translateY(0) rotate(-45deg);}
	#aside .aside_box .btn_aside_close .menu-trigger2.active-1 span:nth-of-type(2) {opacity:0;}
	#aside .aside_box .btn_aside_close .menu-trigger2.active-1 span:nth-of-type(3) {-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg);}
	
	#aside .aside_menu {width:100%;box-sizing:border-box;padding: 70px 10px;}
	#aside .aside_menu .slidemenu {width:100%;box-sizing:border-box;padding-left:40px;border-left: 1px solid rgba(255,255,255,0.2);}
	#aside .aside_menu .slidemenu a {position: relative; display: block; color: var(--white-color01); opacity: 0.7; transition: all 0.4s;}
	#aside .aside_menu .slidemenu .icons {display: none; position:absolute; right: 0; top: 50%; transform: translateY(-50%); width: 30px; height: 30px;}
        #aside .aside_menu .slidemenu li:not(:has(.depth > li:nth-child(2))) .icons{display:none;}
	    #aside .aside_menu .slidemenu .icons:before, #aside .aside_menu .slidemenu .icons:after {content: ""; position: absolute; left: 50%; top: 50%; transform: translate(calc(-50% + 0.5px),calc(-50% + 0.5px)); background: var(--white-color01);}
	    #aside .aside_menu .slidemenu .icons:before {width: 70%; height: 1px;}
	    #aside .aside_menu .slidemenu .icons:after {width: 1px; height: 70%;}
	    #aside .aside_menu .slidemenu .on .icons:after {display: none;}
	#aside .aside_menu .slidemenu > li {position: relative; display: flex; align-items: center; padding: 24px 0; font-size: var(--title-20);}
	#aside .aside_menu .slidemenu > li:before {content: ""; position: absolute; left: -41px; top: 0; width: 1px; height: 0; background:var(--white-color01); transition: all 0.3s;}
	#aside .aside_menu .slidemenu > li > a {width: 220px; font-size: 130%; font-family: var(--font-type02);}
	#aside .aside_menu .slidemenu .depth {display: flex; align-items: center; width: calc(100% - 220px);}
	#aside .aside_menu .slidemenu .depth > li + li {margin-left: 40px;}
	#aside .aside_menu .slidemenu .depth > li > a {font-size: 90%; font-weight: 300;}
	
	/* hover */
		@media only screen and (min-width:1024px) {
			#aside .aside_link a:hover {background: var(--white-color01);}
			#aside .aside_link a:hover span {color: var(--point-color01);}
			
			#aside .aside_menu .slidemenu > li:hover:before {height: 100%;}
			#aside .aside_menu .slidemenu > li:hover > a {opacity: 1;}
			#aside .aside_menu .slidemenu > li:hover .depth > li > a {opacity: 1;}
			#aside .aside_menu .slidemenu > li .depth > li:hover > a {color: #C2B3A9;}
		}
		@media only screen and (min-width:641px) {
			#aside .aside_menu .slidemenu .depth {display: flex !important;}
		}
		
	@media only screen and (max-width:1023px) {
		#aside .aside_top {height: 100px;}
		#aside .aside_logo {width: 180px;}
		#aside .aside_link a {height: 38px;}
		
		#aside .aside_box .btn_aside_close {margin-left: 34px;}
	}
	@media only screen and (max-width:860px) {
		#aside .aside_top {height: 95px;}
		#aside .aside_logo {width: 170px;}
		#aside .aside_link a {height: 36px;}
		
		#aside .aside_box .btn_aside_close {margin-left: 28px;}
		#aside .aside_box .btn_aside_close div {width:34px;height:34px;top: -4px;right: -3px;}
		
		#aside .aside_menu {padding: 55px 10px;}
		#aside .aside_menu .slidemenu {padding-left: 35px;}
		#aside .aside_menu .slidemenu > li {padding: 20px 0;}
		#aside .aside_menu .slidemenu > li > a {width: 200px;}
		#aside .aside_menu .slidemenu .depth {width: calc(100% - 200px);}
	}
	@media only screen and (max-width:640px) {
		#aside .aside_box {touch-action: auto;}
		
		#aside .aside_top {height: 85px;}
		#aside .aside_logo {width: 160px;}
		#aside .aside_link {position: absolute; left: 0; top: 93px; width: 100%; opacity: 0.8;}
		#aside .aside_link a {width: 100%; height: 38px;}
		#aside .aside_link a span {padding-top: 0;}
		
		#aside .aside_box .btn_aside_close {margin-left: 0;}
		#aside .aside_box .btn_aside_close div {width:30px;height:30px;top: -2px;right: -2px;}
		
		#aside .aside_menu {padding: 75px 0 60px;}
		#aside .aside_menu .slidemenu {padding: 0; border: 0;}
		#aside .aside_menu .slidemenu a {opacity: 1;}
		#aside .aside_menu .slidemenu .icons {display: block;}
		#aside .aside_menu .slidemenu > li {display: block; padding: 0;}
		#aside .aside_menu .slidemenu > li > a {width: 100%; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,0.2); font-size: 120%;}
		#aside .aside_menu .slidemenu .depth {display: none; width: 100%; box-sizing: border-box; padding: 15px 18px; background: rgba(255,255,255,0.2);}
		#aside .aside_menu .slidemenu .depth > li + li {margin-left: 0;}
		#aside .aside_menu .slidemenu .depth > li > a {padding: 12px 0;}
	}
	@media only screen and (max-width:479px) {
		#aside .aside_top {height: 75px;}
		#aside .aside_logo {width: 150px;}
		#aside .aside_link {top: 83px;}
		#aside .aside_link a {padding: 0 12px;}
		
		#aside .aside_menu {padding-top: 70px;}
	}


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

	 FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
	/* PC 일반 */
		#footer {width: 100%; background: var(--point-color01);}
		#footer .ft_top {display: flex; padding: 50px 0 45px;}
		#footer .ft_top .ft_logo {width: 208px;}
		#footer .ft_top .ft_logo img {width: 100%;}
		#footer .ft_top .ft_info {width: calc(100% - 208px); box-sizing: border-box; padding: 3px 0 4px; padding-left: 80px;}
		#footer .ft_top .ft_info p {display: flex; flex-wrap: wrap;}
		#footer .ft_top .ft_info span {margin-right: 30px; font-size: var(--title-16); color: var(--white-color01); font-weight: 200; letter-spacing: var(--font-letter03); line-height: 1.8;}
		#footer .ft_top .ft_info span:last-child {margin-right: 0;}
		#footer .ft_btm {display: flex; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box; padding: 22px 0 29px; border-top: 1px solid rgba(255,255,255,0.2);}
		#footer .ft_btm .ft_copy {font-size: var(--title-12); color: var(--black-color10); font-family: var(--font-type02);}
		#footer .ft_btm .ft_copy a {margin-left: 20px; font-size: inherit; color: inherit; font-family: inherit;}
		#footer .ft_btm .ft_gnb {display: flex; align-items: center;}
		#footer .ft_btm .ft_gnb li {display: inline-flex; align-items: center; font-size: var(--title-15); color: var(--black-color10); letter-spacing: var(--font-letter03);}
		#footer .ft_btm .ft_gnb li + li:before {content: ""; display: block; width: 3px; height: 3px; background: var(--black-color10); margin: 0 20px;}
		#footer .ft_btm .ft_gnb li strong {color: var(--point-color02); font-weight: 500;}
		#footer .ft_btm .ft_gnb li a {font-size: inherit; color: inherit; letter-spacing: inherit;}
	
	@media only screen and (max-width:1240px) {
		#footer .ft_top {padding: 45px 0 40px;}
		#footer .ft_top .ft_info {padding-left: 65px;}
	}
	@media only screen and (max-width:1023px) {
		#footer .ft_top {padding: 40px 0 35px;}
		#footer .ft_top .ft_logo {width: 194px;}
		#footer .ft_top .ft_info {width: calc(100% - 194px); padding-left: 50px;}
		#footer .ft_top .ft_info span {margin-right: 26px;}
		#footer .ft_btm .ft_copy a {margin-left: 16px;}
		#footer .ft_btm .ft_gnb li + li:before {margin: 0 16px;}
	}
	@media only screen and (max-width:860px) {
		#footer .ft_top {flex-direction: column; padding: 35px 0 30px;}
		#footer .ft_top .ft_logo {width: 184px;}
		#footer .ft_top .ft_info {width: 100%; padding-left: 0; padding-top: 26px;}
		#footer .ft_btm {flex-direction: column; align-items: flex-start; padding: 18px 0 30px;}
		#footer .ft_btm .ft_gnb {margin-top: 25px;}
	}
	@media only screen and (max-width:640px) {
		#footer .ft_top {padding: 30px 0 25px;}
		#footer .ft_top .ft_logo {width: 174px;}
		#footer .ft_top .ft_info {padding-top: 22px;}
		#footer .ft_top .ft_info span {margin-right: 22px;}
		#footer .ft_btm .ft_copy a {margin-left: 12px;}
	}
	@media only screen and (max-width:479px) {
		#footer .ft_top {padding: 26px 0 20px;}
		#footer .ft_top .ft_logo {width: 164px;}
		#footer .ft_top .ft_info span {margin-right: 18px;}
	}


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

	 MAIN | index.html

───────────────────────────────────────────────────────────*/
	/* *PC 일반 **/
		.main_index #contents_wrap {width: 100%; max-width: 100%; padding-bottom: 0;}
		.main {width:100%; overflow:hidden;}
		
		/* main_visual */
			#wrap .main_visual {position:relative; width:100%; margin:0; height: 106.7vh; min-height: 800px; max-height: 1024px; overflow: hidden;}
			#wrap .main_visual .slick-slide {float: none; /* display: flex; align-items: center; justify-content: flex-start; */ overflow:hidden;position:relative;text-align:center;height:106.7vh; min-height: 800px; max-height: 1024px; border:none;}
			#wrap .main_visual .slick-slide a {display:inline-block;height:100%;width:100%;max-width:1920px;margin:0 auto;text-align:Center;position:absolute;left:0;top:0;outline:0;}
			#wrap .main_visual .slick-slide a {animation: imgAni 4s 100ms forwards;}
			
			@keyframes imgAni {0% {transform: scale(1);} 100% {transform: scale(1.04);}}
			
			.main_visual .txt_box {padding-top: 17.7vw; text-align: left;}
			.main_visual .txt_box span, .main_visual .txt_box h2, .main_visual .txt_box p {color: var(--white-color01);}
			.main_visual .txt_box span, .main_visual .txt_box h2 {font-family: var(--font-type02);}
			.main_visual .txt_box span, .main_visual .txt_box span:before {opacity: 0.8;}
			.main_visual .txt_box span {position: relative; display: block; padding-left: 110px; font-size: var(--title-18); font-weight: 500;}
			.main_visual .txt_box span:before {content: ""; position: absolute; left: 0; top: 50%; transform: translateY(calc(-50% + 0.5px)); width: 80px; height: 1px; background: var(--white-color01);}
			.main_visual .txt_box h2, .main_visual .txt_box p {letter-spacing: var(--font-letter04);}
			.main_visual .txt_box h2 {margin-top: 28px; font-size: var(--title-60); font-weight: 600;}
			.main_visual .txt_box p { margin-top: 48px; font-size: var(--title-20); font-weight: 300; line-height: 1.4;}
		
		/* main_bnr */
			.main_bnr {position: absolute; left: 50%; bottom: 80px; transform: translateX(-50%); text-align: right;}
			.main_bnr .bnr_wrap {display: inline-grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
			.main_bnr .bnr_wrap > div {grid-column: 1 / span 2; text-align: right;}
			.main_bnr .bnr_wrap dl {display: inline-block; width: 320px; height: 170px; background: rgba(0,0,0,0.6); box-sizing: border-box; padding: 20px 30px; border: 1px solid rgba(255,255,255,0.4); text-align: left;}
			.main_bnr .bnr_wrap dt, .main_bnr .bnr_wrap dd {color: var(--white-color01);}
			.main_bnr .bnr_wrap dt {display: flex; align-items: center; margin-bottom: 14px; font-size: var(--title-22); font-weight: 400; letter-spacing: var(--font-letter04); font-family: var(--font-type02);}
			.main_bnr .bnr_wrap dt img {margin-top: 3px;}
			.main_bnr .bnr_wrap dt strong {margin-left: 14px; font-size: inherit; color: inherit; font-weight: inherit; letter-spacing: inherit;}
			.main_bnr .bnr_wrap dd {font-size: var(--title-16); font-weight: 100; letter-spacing: var(--font-letter03); line-height: 1.625;}
	
	@media only screen and (max-height:800px) {
		.main_visual .txt_box p {width: calc(100% - 360px);}
	}
	
	@media only screen and (max-width:1240px) {
		.main_visual .txt_box {padding-top: 20vw;}
		.main_bnr {bottom: 60px;}
	}
	@media only screen and (max-width:1023px) {
		.main_visual .txt_box {padding-top: 22vw;}
		.main_visual .txt_box span {padding-left: 85px;}
		.main_visual .txt_box span:before {width: 60px;}
		.main_visual .txt_box h2 {margin-top: 24px;}
		.main_visual .txt_box p {margin-top: 42px;}
		
		.main_bnr {bottom: 40px;}
		.main_bnr .bnr_wrap dl {height: 160px;}
	}
	@media only screen and (max-width:860px) {
		.main_visual .txt_box {padding-top: 24vw;}
		.main_visual .txt_box p {margin-top: 38px;}
	}
	@media only screen and (max-width:690px) {
		.main_visual .txt_box {padding-top: 27vw;}
		.main_visual .txt_box p {width: 100% !important;}
		.main_bnr .bnr_wrap {width: 100%;}
		.main_bnr .bnr_wrap dl {width: 100%; height: 130px; padding: 18px 24px;}
		.main_bnr .bnr_wrap dt {margin-bottom: 10px;}
		.main_bnr .bnr_wrap dt strong {margin-left: 12px;}
	}
	@media only screen and (max-width:640px) {
		.main_visual .txt_box {padding-top: 30vw;}
		.main_visual .txt_box span {padding-left: 60px;}
		.main_visual .txt_box span:before {width: 40px;}
		.main_visual .txt_box h2 {margin-top: 20px;}
		.main_visual .txt_box p {margin-top: 34px;}
		
		.main_bnr .bnr_wrap dt img {height: 17px;}
		.main_bnr .bnr_wrap dl:nth-child(2) dt img {height: 15px;}
	}
	@media only screen and (max-width:520px) {
		.main_visual .txt_box h2 br {display: none;}
	}
	@media only screen and (max-width:479px) {
		.main_visual .txt_box {padding-top: 33vw;}
		
		.main_bnr {bottom: 25px;}
		.main_bnr .bnr_wrap {grid-template-columns: repeat(1, 1fr); gap: 10px;}
		.main_bnr .bnr_wrap dl {height: 106px; padding: 16px 22px;}
		.main_bnr .bnr_wrap > div {grid-column: auto;}
		.main_bnr .bnr_wrap > div dl {width: 100%;}
	}