/* Scroll Animation */
@media(prefers-reduced-motion: no-preference){
	section:has(:where([data-scroll_effect="slide_left"], [data-scroll_effect="slide_right"])){ overflow: hidden; }
	[data-scroll_effect="clip_right"]{ clip-path: inset(0 100% 0 0); transition: .8s; }
	[data-scroll_effect="slide_up"]{ transform: translateY(20px); opacity: 0; transition: .6s; }
	[data-scroll_effect="slide_left"]{ transform: translateX(20px); opacity: 0; transition: .6s; }
	[data-scroll_effect="slide_right"]{ transform: translateX(-20px); opacity: 0; transition: .6s; }
	[data-scroll_effect*="flip_"]{ backface-visibility: hidden; }
	[data-scroll_effect="flip_up"]{ transform: perspective(2500px) rotateX(-100deg); transition: .6s; }
	[data-scroll_effect="clip_right"].effect_active{ clip-path: inset(0); }
	[data-scroll_effect*="slide_"].effect_active{ transform: translate(0); opacity: 1; }
	[data-scroll_effect*="flip_"].effect_active{ transform: perspective(2500px) rotateX(0deg); }
	[data-scroll_effect_delay="50"].effect_active{ transition-delay: .05s; }
	[data-scroll_effect_delay="100"].effect_active{ transition-delay: .1s; }
	[data-scroll_effect_delay="150"].effect_active{ transition-delay: .15s; }
	[data-scroll_effect_delay="200"].effect_active{ transition-delay: .2s; }
	[data-scroll_effect_delay="250"].effect_active{ transition-delay: .25s; }
	[data-scroll_effect_delay="300"].effect_active{ transition-delay: .3s; }
	[data-scroll_effect_delay="350"].effect_active{ transition-delay: .35s; }
	[data-scroll_effect_delay="400"].effect_active{ transition-delay: .4s; }
	[data-scroll_effect_delay="450"].effect_active{ transition-delay: .45s; }
	[data-scroll_effect_delay="500"].effect_active{ transition-delay: .5s; }
	[data-scroll_effect_delay="600"].effect_active{ transition-delay: .6s; }
	[data-scroll_effect_delay="700"].effect_active{ transition-delay: .7s; }
	[data-scroll_effect_delay="800"].effect_active{ transition-delay: .8s; }
	[data-scroll_effect_delay="1000"].effect_active{ transition-delay: 1s; }
	[data-scroll_effect_column] [data-scroll_effect].effect_active{ transition-delay: calc( var(--index) * calc( var(--delay) * 1ms )); }
	@media(min-width:768px){
		[data-scroll_effect].effect_active [data-scroll_effect]{ transform: translate(0); opacity: 1; }
	}
	@media(max-width:1279px){
		[data-scroll_effect_column] [data-scroll_effect*="slide_"]{ transform: translateY(20px); }
		[data-scroll_effect_column] [data-scroll_effect*="slide_"].effect_active{ transform: translate(0); }
	}
	@media(max-width:1279px) and (min-width:768px){
		:is([data-scroll_effect_column="3"], [data-scroll_effect_column="4"]) > *:nth-child(odd){ transition-delay: 0s; }
		:is([data-scroll_effect_column="3"], [data-scroll_effect_column="4"]) > *:nth-child(even){ transition-delay: calc( var(--delay) * 1ms ); }
		:is([data-scroll_effect_column="5"], [data-scroll_effect_column="6"]) > *:nth-child(4){ transition-delay: calc( (var(--index) - 1 ) * calc( var(--delay) * 1ms )); }
		:is([data-scroll_effect_column="5"], [data-scroll_effect_column="6"]) > *:nth-child(5){ transition-delay: calc( (var(--index) - 2 ) * calc( var(--delay) * 1ms )); }
		:is([data-scroll_effect_column="5"], [data-scroll_effect_column="6"]) > *:nth-child(6){ transition-delay: calc( (var(--index) - 3 ) * calc( var(--delay) * 1ms )); }
	}
	@media(max-width:767px){
		#wrap [data-scroll_effect_delay]{ transition-delay: 0s; }
		[data-scroll_effect_column] > *:nth-child(odd){ transition-delay: 0s; }
		[data-scroll_effect_column] > *:nth-child(even){ transition-delay: calc( var(--delay) * 1ms ); }
	}
}

/* common */
.common__a{ display: inline-flex; justify-content: space-between; gap: 13rem; padding: 8rem 0; border-bottom: 2rem solid currentColor; font-weight: 700; }
.common__a::after{ content: '+'; }
@media(hover:hover) and (prefers-reduced-motion:no-preference){
    .common__a::after{ transition: .4s; }
    .common__a:hover::after{ transform: rotate(180deg); }
}

.inr{ position: relative; margin: 0 auto; max-width: calc( var(--inner) * 1rem); width: calc( var(--inner_width) * 100% ); height: 100%; z-index: 2; }
.inr.wide{ max-width: 1720rem; }
.inr.narrow{ max-width: 1280rem; }
.wrapper{margin: 0 auto; max-width: calc( var(--inner) * 1rem); width: calc( var(--inner_width) * 100% ); }

/* header */
:root{
	--header_height: 100rem;
}
.header{ height: var(--header_height); }
#header{ position:absolute; inset: 0 0 auto; background: var(--white); border-bottom: 1rem solid var(--border); box-sizing: border-box; z-index:99; }
.header__inr{ display: flex; justify-content: space-between; align-items: center; z-index: auto; }
.header__logo{ display: inline-block; position:relative; }
.header__logo a{ display: block; font-size: 0; }
.header__logo img{ height: 50rem; min-height: 20px; font-size: 1rem; }

#header nav{ display: flex; align-items: center; position: relative; height: 100%; }
#header .gnb{ display: flex; position:relative; height: 100%; }
#header .gnb > li{display:inline-block; position: relative; height: 100%; pointer-events: auto; }
#header .gnb [data-gnb="1"]{ display:flex; align-items: center; height:100%; padding: 0 41.5rem; text-transform: uppercase; font-size:17rem; font-weight:700; }
#header .gnb > li:hover > [data-gnb="1"]{ color: var(--primary); }
#header .gnb .sub_menu{ visibility: hidden; position:absolute; top: 75%; min-width: 120px; width: max-content; left: 50%; transform: translateX(-50%); background:var(--white); border:1px solid #ddd; opacity: 0; z-index:99; }
#header .gnb li:hover .sub_menu{ visibility: visible; top: 80%; opacity: 1; }
#header .gnb .sub_menu li a{ display: block; padding:14px; color:#333; border-top:1px solid #ddd; font-size:14px; text-align:center }
#header .gnb .sub_menu li a:hover{ background: var(--primary); color: var(--white); }
#header .gnb .sub_menu li:first-child a{border-top:0 }
@media(min-width:1600px){
	#header .gnb{ margin-right: 252rem; }
}
@media(max-width:1279px){
	:root{
		--header_height: 90rem;
	}

	#header .gnb{ display: none; }
}

@media(max-width:767px) {
	
	:root{
		--header_height: 74rem;
	}
	.header__logo img {height:37rem;}
}



/* mobile-menu */
.btn_menu{ overflow: hidden; display: inline-flex; flex-wrap: wrap; justify-content: space-between; align-content: space-between; position:relative; width: 21rem; height: 21rem; background: 0; color: inherit; z-index:90; }
.btn_menu span{ display: block; width:8rem; height:8rem; background: currentColor; }
.btn_menu.active span {background:#fff;}
.btn_menu.active span:where(:nth-child(1), :nth-child(4)){ transform: rotate(-45deg) scale(.4, 2.5); }
.btn_menu.active span:where(:nth-child(2), :nth-child(3)){ transform: rotate(45deg) scale(.4, 2.5); }

@media(hover:hover){
	.btn_menu:hover span{ transform: scale(3.5); }
}
@media(prefers-reduced-motion:no-preference){
	.btn_menu span{ transition: .4s; }
}


@media(max-width:767px) {
	.btn_menu {width:16rem; height:16rem;}
	.btn_menu span {width:6rem; height:6rem;}
	.btn_menu.active span {background:currentColor; }
}

/* 모바일 메뉴 */
.m_gnb {overflow: hidden auto; position:fixed; top:0px; right: 0; transform: translateX(100%); max-width:280rem; width: 100%; height:100%; background:var(--white); transition-timing-function: ease-out; z-index:10;}
/*.m_gnb.active{transform: translateX(0);}*/
.m_gnb .header{ display: flex; align-items: center; justify-content: flex-end; }
.m_gnb > ul > li > a{display:block; position:relative; padding:15rem 25rem; border-bottom: 1rem solid #eaeaea; color:#424242; transition:all 0.3s ease 0s;}
.m_gnb > ul > li:first-child > a{ border-top: 1rem solid #eaeaea }
.m_gnb > ul > li > a.open:before{content:''; display:block; position:absolute; top:50%; transform: translateY(-50%); right:10rem; width:11rem; height:7rem; background:url(../images/common/menu_button.svg) no-repeat 50% 0; transition:all 0.4s ease 0s; background-size:100%;}
.m_gnb > ul > li > a.active:before{transform: translateY(-50%) rotate(180deg);}
.m_gnb .sub_menu{display:none; background:#efefef; }
.m_gnb .sub_menu > li{border-bottom:1rem solid #dedede;}
.m_gnb .sub_menu > li > a{position:relative; display:block; padding:15rem 25rem; font-size:14rem; color:var(--black); }

.cover{position: fixed; width: 100%; height:100%; left:0; top:0; background:rgba(0, 0, 0, 0.4); visibility: hidden; opacity: 0; }
.cover.active{visibility: visible; opacity: 1;}

@media(prefers-reduced-motion: no-preference){
	#header .gnb > li > .sub_menu{ transition: .3s; }
	.all_gnb{ transition-duration: .5s; }
	.m_gnb{ transition-duration: .5s; }
	.m_gnb .btn_close{ transition: .8s; }
	.cover{ transition: .4s; }
}

.all_gnb {overflow: hidden auto; position:fixed; top:0px; right: 0; transform: translateX(100%); max-width:50%; width:100%; height:100%; padding:0 80rem; color:#f5f5f5; background:var(--black); transition-timing-function: ease-out; z-index:10;}
.all_gnb.active{transform: translateX(0);}
.all_gnb ul {display:flex; flex-wrap:wrap; align-content:center; height:100%;}
.all_gnb > ul > li {display:flex; align-items:flex-start; width:100%; padding:30rem 0; border-bottom:1px solid rgba(255, 255, 255, .1);}
.all_gnb > ul > li > a {margin-right:20rem; font-size:var(--font_size45); font-weight:800; transition: .3s;}
.all_gnb > ul > li:hover > a {color:var(--primary);}
.all_gnb .sub_menu li {padding:10rem 15rem;}
.all_gnb .sub_menu li a {position:relative; display:inline-block; font-size:var(--font_size18); color:var(--border);}
.all_gnb .sub_menu li a::after {display:none; position:absolute; left:0; bottom:-5rem; content:''; width:100%; height:2px; background:var(--border);}
.all_gnb .sub_menu li:hover a::after {display:block;}



@media(max-width:1279px){
	.all_gnb {padding:0 50rem;}
	.all_gnb .sub_menu li a {font-size:16rem;}
}


@media(max-width:767px){
	.all_gnb {display:none;}
	.m_gnb.active{transform: translateX(0);}

}

/* footer link */
.footer_link{ display: flex; color: #fff; }
.footer_link__li{ flex: 1; background: no-repeat 50% / cover; }
.footer_link__li:nth-child(1){ background-image: url("/images/common/img_footer_bg1_1.jpg"); background-position-x: 85%; }
.footer_link__li:nth-child(2){ background-image: url("/images/common/img_footer_bg2.jpg"); }
.footer_link__txt{ font-size: 18rem; font-weight: 500; line-height: 1.77777778; letter-spacing: -.025em; }
.footer_link .common__a{ margin-top: .5em; }
@media(min-width:1280px){
	.footer_link__li{ padding: 42rem 100rem; }
}
@media(max-width:1279px) and (min-width:768px){
	.footer_link__txt{ font-size: 16rem; }
	.footer_link .common__a{ font-size: 14rem; }
}
@media(max-width:1279px){
	.footer_link__li{ padding: 30rem 4vw; }
}
@media(max-width:767px){
	.footer_link{ flex-direction: column; }
	.footer_link__txt{ width: 100%; }
}

/* footer */
#footer{ padding: 58rem 0 57rem; background: #111; color: #ccc; font-size: 14rem; letter-spacing: -.025em; }
.footer__inr{ display: flex; justify-content: space-between; gap: 1.5em; }
.footer__info{ display: grid; gap: 0 80rem; }
.footer__logo{ grid-area: logo; position: relative; height: 50rem; }
.footer__address{ grid-area: address; display: flex; flex-wrap: wrap; gap: 2rem 30.5rem;  }
.footer__address b{ margin-right: 3rem; font-weight: 600; color: #fafafa; }
.footer__copyright{ grid-area: copyright; margin-top: 25rem; width: 100%; color: #767676; }
.top_btn{ display: inline-flex; justify-content: center; align-items: center; position: relative; flex-shrink: 0; width: 60rem; height: 60rem; background: #070707; border-radius: 50%; color: #fff; fill: currentColor; }
@media(min-width: 768px){
	.footer__info{ grid-template: "logo address" "logo copyright"; }
	.footer__logo{ top: -13rem; }
	.footer__address span:nth-of-type(2){ flex: 1 60%; }
	.top_btn{ top: 15rem; }
}
@media(max-width:767px){
	.footer__info{ grid-template: "logo" "address" "copyright"; }
	.footer__address{ margin-top: 30rem; }
}