/* Scroll Animation */
@media(prefers-reduced-motion:no-preference){
	section:has(:where([data-se="slide-left"], [data-se="slide-right"], [data-se="flip-Y"])){ overflow: clip visible; }
	span[data-se]{ display: inline-block; }
	.seActive [data-se]:not([data-se*="parallax"], [data-se^="clip-"]),
	.seActive[data-se]:not([data-se*="parallax"], [data-se^="clip-"]){ transition-duration: .6s; }
	[data-se="clip-right"]{ clip-path: inset(0 100% 0 0); }
	[data-se="clip-left"]{ clip-path: inset(0 0 0 100%); }
	[data-se="clip-down"]{ clip-path: inset(0 0 100% 0); }
	[data-se="slide-up"]{ transform: translateY(40rem); }
	[data-se="slide-left"]{ transform: translateX(40rem); }
	[data-se="slide-right"]{ transform: translateX(-40rem); }
	[data-se*="flip-"]{ backface-visibility: hidden; }
	[data-se="flip-up"]{ transform: perspective(2500rem) rotateX(-100deg); }
	[data-se="flip-Y"]{ opacity: 0; }
	.seActive[data-se*="clip-"]{ clip-path: inset(0); }
	[data-se*="slide-"]:not(.seActive){ opacity: 0; }
	.seActive[data-se*="slide-"]{ transform: translate(0); }
	.seActive[data-se*="flip-"]{ transform: perspective(2500rem) rotateX(0deg); }
	.seActive[data-se="flip-Y"]{ animation: flip-Y 1s both; }
	@keyframes flip-Y {
		0%{ transform: perspective(400rem) rotateY(0deg); opacity: 0; }
		20%{ transform: perspective(400rem) rotateY(-30deg); }
		50%{ transform: perspective(400rem) rotateY(20deg); }
		75%{ transform: perspective(400rem) rotateY(-10deg); }
		100%{ transform: perspective(400rem) rotateY(0deg); opacity: 1; }
	}
	.seActive [data-se-delay="50"], .seActive[data-se-delay="50"]{ transition-delay: .05s; }
	.seActive [data-se-delay="100"], .seActive[data-se-delay="100"]{ transition-delay: .1s; }
	.seActive [data-se-delay="150"], .seActive[data-se-delay="150"]{ transition-delay: .15s; }
	.seActive [data-se-delay="200"], .seActive[data-se-delay="200"]{ transition-delay: .2s; }
	.seActive [data-se-delay="250"], .seActive[data-se-delay="250"]{ transition-delay: .25s; }
	.seActive [data-se-delay="300"], .seActive[data-se-delay="300"]{ transition-delay: .3s; }
	.seActive [data-se-delay="350"], .seActive[data-se-delay="350"]{ transition-delay: .35s; }
	.seActive [data-se-delay="400"], .seActive[data-se-delay="400"]{ transition-delay: .4s; }
	.seActive [data-se-delay="450"], .seActive[data-se-delay="450"]{ transition-delay: .45s; }
	.seActive [data-se-delay="500"], .seActive[data-se-delay="500"]{ transition-delay: .5s; }
	.seActive [data-se-delay="600"], .seActive[data-se-delay="600"]{ transition-delay: .6s; }
	.seActive [data-se-delay="700"], .seActive[data-se-delay="700"]{ transition-delay: .7s; }
    .seActive [data-se-delay="800"], .seActive[data-se-delay="800"]{ transition-delay: .8s; }
	@media(min-width: 768px){
        [data-se]:not(.seActive){ transition: 0s .6s; }
		[data-se] [data-se="clip-right"]{ clip-path: inset(0 100% 0 0); }
		[data-se] [data-se="clip-left"]{ clip-path: inset(0 0 0 100%); }
		[data-se] [data-se="clip-down"]{ clip-path: inset(0 0 100% 0); }
		[data-se] [data-se="slide-up"]{ transform: translateY(40rem); opacity: 0; }
		[data-se] [data-se="slide-left"]{ transform: translateX(40rem); opacity: 0; }
		[data-se] [data-se="slide-right"]{ transform: translateX(-40rem); opacity: 0; }
		.seActive[data-se] [data-se*="clip-"]{ clip-path: inset(0); }
		.seActive[data-se] [data-se*="slide-"]{ transform: translate(0); opacity: 1; }
		.seActive[data-se] [data-se*="flip-"]{ transform: perspective(2500rem) rotateX(0deg); }
		.seActive[data-se]:not([data-se-offset]) [data-se]{ transform: translate(0); opacity: 1; }
	}
	@media(max-width: 1279px){
		.seActive[data-se^="clip-"]{ transition-duration: .6s; }
		[data-se-column] [data-se*="slide-"]{ transform: translateY(40rem); }
		[data-se-column] [data-se*="slide-"].seActive{ transform: translate(0); }
	}
	@media(max-width: 767px){
		#wrap [data-se-delay]{ transition-delay: 0s; }
		[data-se-column] > *:nth-child(odd){ transition-delay: 0s; }
		[data-se-column] > *:nth-child(even){ transition-delay: calc(var(--delay) * 1ms); }
	}
}

/* header */
header::before{ content: ''; position: absolute; inset: 0; border-bottom: 1px solid #e1e1e1; pointer-events: none; }
@media(prefers-reduced-motion:no-preference){
	header::before{ transition: .6s; }
}
@media(min-width:1280px) and (min-height:720px){
	body:not(.orderColor) header::before{ opacity: 0; }
}

/* full */
.mainFull{ margin-top: var(--header_height); }
.mainFull > .swiper-wrapper > .swiper-slide{ contain: content; }
.mainFullPager{ all: unset; --pagerColor: #fff; position: fixed; inset: 0 30rem 0 auto; margin: auto; display: grid; align-content: center; gap: 20rem; text-transform: uppercase; font-size: 14rem; font-weight: 600; color: var(--pagerColor); pointer-events: none; z-index: 1; }
.mainFullPager .swiper-pagination-bullet{ all: unset; display: flex; align-items: center; justify-content: end; gap: 12rem; }
.mainFullPager__bullet{ position: relative; display: inline-block; width: 12rem; height: 12rem; border-radius: 50%; order: 2; }
.mainFullPager__bullet::before{ content: ''; position: absolute; inset: 0; margin: auto; border: 1px solid var(--pagerColor); border-radius: 50%; }
.mainFullPager__bullet::after{ content: ''; position: absolute; inset: -10rem; border-radius: 50%; cursor: pointer; pointer-events: auto; }
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .mainFullPager__bullet::before{ width: 4rem; height: 4rem; background: var(--pagerColor); }
.mainFullPager__txt{ display: inline-flex; opacity: 0; user-select: none; }
.swiper-pagination-bullet-active .mainFullPager__txt{ opacity: 1; }
.orderColor .mainFullPager{ --pagerColor: #000001; }
section{ position: relative; }
.mainFull.footerShow{ transform: translateY(var(--footerHeight)); }
.footerShow ~ .mainFullPager{ opacity: 0; visibility: hidden; }
.footerShow ~ .mainFullPager .mainFullPager__bullet::after{ pointer-events: none; }
@media(prefers-reduced-motion:no-preference){
    .mainFull,
    footer,
	.mainFullPager{ transition: .6s; }
    @media(min-width:768px){
        section::before{ transform: scale(1.05); transition: 0s .6s; }
        .mainFull > .swiper-wrapper > .swiper-slide-active section:not(.mainVis)::before{ transform: scale(1); transition: 2s; }
    }
}
@media(max-width:1700px){
    .mainFullPager{ left: calc( 2vw - 4.5rem ); }
    .mainFullPager__txt{ display: none; }
}
@media(min-width:1280px) and (min-height:720px){
    .mainFull{ height: calc( 100vh - var(--header_height)); }
    section{ display: flex; align-items: center; height: calc( 100vh - var(--header_height)); }
}
@media(max-width:1279px), (max-height:719px){
    .mainFull > .swiper-wrapper{ display: block; }
    .mainFull__parallax{ transform: none!important; }
    section{ margin-top:  calc( var(--header_height) * -1 ); padding: calc( var(--header_height) + 90rem ) 0 90rem; }
}
@media(max-width:1279px){
    .mainFullPager{ display: none; }
}

/* common */
.common__eng{ font-size: 17rem; letter-spacing: .01em; color: var(--primary); }
.common__kor{ font-size: 20rem; color: var(--secondary); }
main h2:has(b){ font-weight: 400; }
.common__eng + .common__h2{ margin-top: .48em; }
.common__kor + .common__h2{ margin-top: .58em; }
.common__h2{ font-size: var(--fs50); line-height: 1.3; }

/* visual */
.mainVis{ contain: content; position: relative; background: #dedbd2 url('/images/main/visBg1.jpg') no-repeat 0 50% / cover; }
.mainVis::before{ content: ''; position: absolute; background: url('/images/main/visBg2.jpg'); }
.mainVis__inr{ inset: 0; display: flex; align-items: center; z-index: 1; }
.mainVis__txt{ display: inline-block; pointer-events: auto; }
.mainVis__control{ display: flex; align-items: center; font-size: 14rem; font-weight: 700; color: #000; }
.mainVis__btn{ flex-shrink: 0; position: relative; height: 10rem; }
.mainVis__btn.state{ width: 9rem; }
.mainVis__btn.prev{ margin: 0 10rem 0 18rem; width: 8rem; }
.mainVis__btn.next{ margin-left: 9rem; width: 8rem; }
.mainVis__btn::before{ content: ''; position: absolute; inset: -5rem; }
.mainVis__btn::after{ content: ''; position: absolute; inset: 0; background: currentColor; }
.mainVis__btn.state:not(.pause)::after{ clip-path: polygon(0 100%, 0 0, 3rem 0, 3rem 100%, 6rem 100%, 6rem 0, 100% 0, 100% 100%); }
.mainVis__btn.state.pause::after{ clip-path: polygon(0 0, 8rem 50%, 0 100%); }
.mainVis__btn.prev::after{ clip-path: polygon(0 50%, 100% 0, 100% 100%); }
.mainVis__btn.next::after{ clip-path: polygon(0 0, 100% 50%, 0 100%); }
.mainVis__pager{ display: flex; align-items: center; gap: 10rem; width: auto; }
.mainVis__bar{ position: relative; width: 170rem; height: 3rem; background: rgba(0, 0, 0, 0.2); }
.mainVis__bar::before{ content: ''; position: absolute; inset: 0; width: 0; background: currentColor; }
.mainVis__h2{ margin: .8em 0 .74em; font-size: var(--fs50); font-weight: 500; line-height: 1.4; }
.mainVis__p{ font-size: 17rem; line-height: 1.58823529; letter-spacing: -.02em; color: #333; }
.mainVis__wide{ inset: 0; display: flex; align-items: center; justify-content: end; pointer-events: none; }
.mainVis__swiper{ margin-right: 0; aspect-ratio: 85/55; width: 100%; }
.mainVis__swiper .swiper-slide{ overflow: hidden; }
.mainVis__swiper .swiper-slide-active{ position: relative; z-index: 1; }
.mainVis__img{ position: absolute; inset: 0; background: no-repeat 50% / cover; }
.mainVis__img.i1{ background-image: url('/images/main/vis1.jpg'); }
.mainVis__img.i2{ background-image: url('/images/main/vis2.jpg'); }
.mainVis__img.i3{ background-image: url('/images/main/vis3.jpg'); }
.mainVis__img.i4{ background-image: url('/images/main/vis4.jpg'); }
.mainVis__img.i5{ background-image: url('/images/main/vis5.jpg'); }
.mainVis__img.i6{ background-image: url('/images/main/vis6.jpg'); }
.mainVis__img.i7{ background-image: url('/images/main/vis7.jpg'); }
.mainVis__img.i8{ background-image: url('/images/main/vis8.jpg'); }
.mainVis__img.i9{ background-image: url('/images/main/vis9.jpg'); }
@media(prefers-reduced-motion:no-preference){
	.mainVis__bar.play::before{ animation: visBar 3s linear both; }
	@keyframes visBar {
		0%{ width: 0; }
		100%{ width: 100%; }
	}
}
@media(min-width:1280px){
	.mainVis::before{ inset: 0 0 0 58.3854167%; }
	.mainVis__inr,
	.mainVis__wide{ position: absolute; }
	.mainVis__swiper{ max-width: 49.41860465%; }
	.mainFull > .swiper-wrapper > .swiper-slide:not(.swiper-slide-active) .mainVis__img{ transform: translate3d(0%, 0px, 0px)!important; }
}
@media(max-width:1279px){
	.mainVis::before{ inset: 0 0 70%; }
	.mainVis__inr{ margin-top: 60rem; }
}

/* portfolio */
.mainPort{ text-align: center; }
.mainPort__h2{ font-size: var(--fs35); font-weight: 600; }
.mainPort__tablist{ margin-top: 22rem; display: flex; flex-wrap: wrap; justify-content: center; }
.mainPort__tab{ position: relative; font-weight: 500; cursor: pointer; }
.mainPort__tab small{ margin-top: 1rem; display: block; font-size: 14rem; letter-spacing: -.01em; color: #333; }
.mainPort__tab[aria-selected="false"], .mainPort__tab[aria-selected="false"] small{ color: #999; }
.mainPort__tabpanel{ margin-top: 35rem; }
[aria-hidden="true"]{ display: none; }
.mainPort__ul{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 18rem clamp(10rem, calc( 25 / var(--inr) * 100vw ), 25rem); }
.mainPort__ul li:nth-child(n+9){ display: none; }
.mainPort__a{ display: block; font-weight: 500; }
.mainPort__noImg{ position: relative; aspect-ratio: 35/22; width: 100%; }
.mainPort__img{ width: 100%; height: 100%; object-fit: cover; }
.mainPort__cap{ margin-top: 14rem; }
.mainPort__more{ margin-top: 20rem; display: inline-block; padding: 19rem 46rem 18.8rem; background: #f5f5f5; font-size: 14rem; font-weight: 500; color: #777; transition: all .8s;}
@media(hover:hover){
	.mainPort__more:hover{ background: var(--primary); color: #fff; }
}
@media(min-width:768px){
	.mainPort__tablist{ gap: clamp(10rem, calc( 60 / var(--inr) * 100vw ), 60rem); }
	.mainPort__tab[aria-selected="true"]::before{ content: ''; position: absolute; top: -11rem; left: 50%; transform: translateX(-50%) rotate(45deg); width: 4rem; height: 4rem; background: currentColor; }
	.mainPort__ul{ grid-template-columns: repeat(4, 1fr); min-height: 540rem; }
}
@media(max-width: 1279px), (max-height: 719px){
	.mainPort{ padding-bottom: 0; }
}
@media(max-width:767px){
	.mainPort__tablist{ gap: 10rem; }
	.mainPort__tab{ flex: 1 25%; display: flex; align-items: center; justify-content: center; padding: 5rem; background: #f5f5f5; }
	.mainPort__tab[aria-selected="true"]{ font-weight: 700; }
}

/* location */
.mainLoc__inr{ display: grid; grid-template-columns: [left] minmax(4vw, auto) [inner_start] clamp(1px, 46%, 750rem) [center] clamp(1px, 46%, 750rem) [inner_end] minmax(4vw, auto) [right]; gap: 60rem 0; width: 100%; }
#wrap .root_daum_roughmap{ width: 100%; }
#wrap .root_daum_roughmap .wrap_map{ height: 627rem; }
.root_daum_roughmap svg{ pointer-events: none; }
.map_border,
.wrap_controllers{ display: none }
.mainLoc__eng{ font-size: 14rem; }
.mainLoc__eng::before{ content: ''; position: relative; top: -2rem; margin-right: 15rem; display: inline-block; width: 35rem; height: 1px; background: currentColor; vertical-align: middle; }
.mainLoc__h2{ margin: .825em 0 1.1em; font-size: var(--fs40); font-weight: 500; }
.mainLoc__p{ font-size: 17rem; line-height: 1.58823529; color: #444; }
.mainLoc__tel{ margin-top: 29rem; display: block; font-size: 17rem; color: #444; }
.mainLoc__a{ margin-top: 43rem; display: inline-block; padding: 19rem 46rem 18.8rem; background: #f5f5f5; font-size: 14rem; font-weight: 500; color: #777; transition: all .8s;}
@media(hover:hover){
	.mainLoc__a:hover{ background: var(--primary); color: #fff; }
}
@media(min-width:1280px){
	.mainLoc__map{ grid-column: left / center; }
	.mainLoc__txt{ grid-column: center / inner_end; padding: 127rem 0 0 120rem; }
}
@media(max-width:1279px){
	.mainLoc__map{ grid-column: inner_start / inner_end; }
	.mainLoc__txt{ grid-column: inner_start / inner_end; }
}
@media(max-width:767px){
	.root_daum_roughmap{ aspect-ratio: 1/1; }
	.root_daum_roughmap .wrap_map{ height: 100%; }
}

/* footer */
@media(min-width:1280px) and (min-height:720px){
    footer{ position: fixed; inset: auto 0 0; transform: translateY(100%); }
    .footerShow ~ footer{ transform: translateY(var(--footerHeight)); }
    .footer__address{ margin-right: 250rem; }
}