header{ display: none; }

/* visual */
.main_vis .swiper-slide{ position: relative; }
.main_vis .swiper-slide::before{ content: ''; position: absolute; inset: 0; background: no-repeat 50% / cover; }
.main_vis .slide1::before{ background-image: url('/images/main/vis1.jpg'); }
.main_vis .slide2::before{ background-image: url('/images/main/vis2.jpg'); }
.main_vis__inr{ display: flex; align-items: center; justify-content: center; text-align: center; }
.main_vis__eng{ font-size: 22rem; font-weight: 500; letter-spacing: .225em; }
.main_vis__h2{ margin-top: .5em; font-size: var(--fs70); font-weight: 600; letter-spacing: -.01em; }
.main_vis__p{ margin-top: 42rem; font-size: 24rem; line-height: 1.66666667; }
.main_vis__contorl{ position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.main_vis__btn{ position: relative; width: 30rem; height: 60rem; color: #fff; }
.main_vis__btn::before{ content: ''; position: absolute; inset: -15rem; pointer-events: auto; }
.main_vis__btn::after{ content: ''; position: absolute; top: calc( 50% - 21.5rem ); width: 43rem; height: 43rem; border: solid currentColor; border-width: 2px 2px 0 0; box-sizing: border-box; }
.main_vis__btn.prev::after{ left: 9rem; transform: rotate(-135deg); }
.main_vis__btn.next::after{ right: 9rem; transform: rotate(45deg); }

/* top request quick */
.main_vis .quick_requ {position: absolute; display: block; right: 3%; top: 4%; z-index: 99; width: 150px; height: 50px; }
.main_vis .quick_requ a {display: block; width: 100%; height: 100%; border-radius: 50px; background: var(--primary); border: 1px solid var(--primary); text-align: center; line-height: 50px; color: #fff; font-weight: 500; transition: all .5s; box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);}
.main_vis .quick_requ a:hover {border: 1px solid var(--primary); background: #fff; color: var(--primary);}


@media (prefers-reduced-motion: no-preference){
	.main_vis .swiper-slide-active::before{ animation: slide_bg 3s both; }
	@keyframes slide_bg{
		0%{ transform: scale(1.025); }
		100%{ transform: scale(1); }
	}
	.main_vis__eng{ opacity: 0; }
	.main_vis__h2{ opacity: 0; }
	.main_vis__p{ opacity: 0; }
	.main_vis .swiper-slide-active .main_vis__eng{ animation: visual_txt .8s .3s both; }
	.main_vis .swiper-slide-active .main_vis__h2{ animation: visual_txt .8s .5s both; }
	.main_vis .swiper-slide-active .main_vis__p{ animation: visual_txt .8s .7s both; }
	@keyframes visual_txt{
		0%{ filter: blur(10rem); transform: translateY(20rem); opacity: 0; }
		100%{ filter: blur(0); transform: translateY(0); opacity: 1; }
	}
}
@media(min-width:768px){
	.main_vis{ aspect-ratio: 1920/970; }
	
}
@media(max-width:767px){
	.main_vis{ height: 100vh; }
	.main_vis .quick_requ {width: 130px; height: 50px;}
	.main_vis .quick_requ a {font-size: 16px;}
}



/* common */
.common_bg{ background: url('/images/main/common_bg.jpg') no-repeat 50% 0% / cover; }
.common_category{ font-size: 17rem; font-weight: 600; color: var(--primary); }
.common_h2{ margin-top: 0.32em; font-size: var(--fs40); font-weight: 600; color: var(--black); }
.common_h2 + .common_p{ margin-top: 22rem; }
.common_p{ font-size: 17rem; line-height: 1.76470588; }
.main_con{ position: relative; }

/* sticky */
.main_sticky { position: fixed; right: clamp(10rem, calc( 50 / var(--inner) * 100vw ), 50rem); bottom: 50rem; width: 6.15384615em; font-size: 13rem; z-index: 5; }
.main_sticky:not(.show){ visibility: hidden; opacity: 0; }
.main_sticky > *{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; border-radius: 2rem; box-shadow: 0 0 10rem 1rem rgba(140, 140, 140, 0.2);}
.main_sticky > *:not(:first-child){ margin-top: 1.56em; }
.main_sticky__a{ gap: 0.30769231em; aspect-ratio: 1/1; padding-top: 2rem; background: #fff; border: 1px solid #eee; box-sizing: border-box; }
.main_sticky__svg{ height: 33.75%; fill: var(--black); opacity: .8; }
.main_sticky__top{ height: 2.5em; background: var(--primary); font-size: inherit; color: #fff; }
.main_sticky__top span{ font-size: 1.07692308em; }
.main_sticky .i_sns,
.main_sticky .i_store {margin: 0 auto; width: 64rem; height: 64rem; border-radius: 50%; ; background-position: center; background-repeat: no-repeat; background-size: 26rem; overflow: hidden;} 
.main_sticky .i_sns {position: relative; background-image: url(/images/main/i_instagram.svg);  }
.main_sticky .i_sns::before {content: ''; position: absolute; width:100%; height: 100%; background: linear-gradient(120deg, #f8b019 12%,#e92152 50%,#a84098 70%,#6263ad 100%); z-index: -1;}
.main_sticky .i_store { margin-top: 0.94em; background-color: #41b649; background-image: url(/images/main/i_store.svg);}


@media(prefers-reduced-motion:no-preference){
	.main_sticky{ transition: .4s; }
}
@media(max-width:767px){
	.main_sticky .i_sns, .main_sticky .i_store {width: 45rem; height: 45rem; background-size: 18rem;}
	.main_sticky{ font-size: 10rem; }
}

/* speciality */
.main_specy{ padding: clamp(90rem, calc( 136 / var(--inner) * 100vw ), 136rem) 0 clamp(90rem, calc( 120 / var(--inner) * 100vw ), 120rem); text-align: center; }
.main_specy .common_h2{ margin-top: 0.36em; font-size: var(--fs50); letter-spacing: .01em; }
.main_specy .common_p{ margin-top: 34rem; }
.main_specy__ul{ margin-top: clamp(70rem, calc( 116 / var(--inner) * 100vw ), 116rem); display: grid; gap: 60rem 24rem; }
.main_specy__svg{ height: 69rem; fill: var(--primary); }
.main_specy__head{ margin: 22rem 0 21rem; font-size: 20rem; font-weight: 600; color: var(--primary); }
.main_specy__data{ line-height: 1.625; }
@media(min-width:768px){
	.main_specy__ul{ grid-template-columns: repeat(3, 1fr); }
}

/* service */
.main_svc{ overflow: hidden; padding: clamp(90rem, calc( 107 / var(--inner) * 100vw ), 107rem) 0 clamp(90rem, calc( 120 / var(--inner) * 100vw ), 120rem); text-align: center; }
.main_svc .inr{ position: relative; }
.main_svc .inr::before{ content: ''; position: absolute; bottom: calc( -1 * clamp(90rem, calc( 120 / var(--inner) * 100vw ), 120rem)); width: 1660rem; height: clamp(210rem, calc( 350 / var(--inner) * 100vw ), 350rem); background: url('/images/main/serv_bg.jpg') no-repeat 100%; z-index: -1; }
.main_svc__youtube{ position: relative; margin: 65rem auto 0; display: flex; align-items: center; justify-content: center; aspect-ratio: 82/46; max-width: 820rem; width: 100%; background: #000; box-shadow: 0 0 19rem 1rem rgba(187, 187, 187, 0.2); }
.main_svc__youtube::before{ content: ''; position: absolute; inset: 0; background: var(--black) url('/images/main/serv.jpg') no-repeat 50% / cover; }
.main_svc__youtube::after{ content: ''; position: relative; width: 66rem; height: 48rem; background: url('/images/main/i_play.png') no-repeat 50% / contain; }
.main_svc__popup{ position: fixed; display: flex; align-items: center; justify-content: center; inset: 0; background: rgba(0, 0, 0, 0.8); z-index: 8; }
.main_svc__popup:not(.open){ visibility: hidden; opacity: 0; }
.main_svc__iframe_wrap{ position: relative; }
.main_svc__iframe{ aspect-ratio: 16/9; border: 0; }
@media(prefers-reduced-motion:no-preference){
	.main_svc__youtube::before,
	.main_svc__popup{ transition: .4s; }
}
@media(hover:hover){
	.main_svc__youtube:hover::before{ opacity: .7; }
}
@media(min-width:768px){
	.main_svc .inr::before{ right: 0; }
}
@media(min-width:1450px){
	.main_svc__iframe{ width: auto; height: 81vh; }
}
@media(max-width:1449px) and (min-width:768px){
	.main_svc__iframe{ width: 90vw; }
}
@media(max-width:767px){
	.main_svc .inr::before{ right: -4vw; }
	.main_svc__iframe{ width: 100vw; }
}

/* slide */
.main_slide{ overflow: hidden; padding: clamp(90rem, calc( 135 / var(--inner) * 100vw ), 135rem) 0; }
.main_slide + .main_slide{ padding: 0 0 clamp(90rem, calc( 139 / var(--inner) * 100vw ), 139rem); }
.main_slide__top{ margin-top: 33rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 60rem 20rem; }
.main_slide [role="tablist"]{ display: flex; align-items: flex-end; gap: 42.6rem; font-size: 17rem; font-weight: 500; color: #777; }
.main_slide [role="tab"]{ position: relative; cursor: pointer; }
.main_slide [role="tab"]:not(:first-child)::before{ content: ''; position: absolute; inset: 0; margin: auto auto auto -21rem; transform: translateX(-50%); width: 4rem; height: 4rem; background: #dedbd2; border-radius: 50%; }
.main_slide [aria-selected="true"]{ color: var(--primary); }
.main_slide__panel_wrap{ position: relative; margin-top: 54rem; }
.main_slide__swiper{ overflow: clip visible; }
.main_slide [role="tabpanel"]:not([aria-hidden="false"]){ position: absolute; inset: 0 0 auto; visibility: hidden; opacity: 0; }
.main_slide__img_wrap{ overflow: hidden; border-radius: 10rem; }
.main_slide__img{ display: block; aspect-ratio: 44/42; width: 100%; object-fit: cover; }
.main_slide__txt{ margin-top: 31rem; display: flex; align-items: center; gap: 17rem; }
.main_slide__tag{ flex-shrink: 0; display: flex; align-items: center; height: 35rem; padding: 0 12rem 0 15rem; background: #f1efe9; border-radius: 3rem; color: #9a8770; }
.main_slide__tag::before{ content: '#'; }
.main_slide__title{ font-size: 23rem; font-weight: 600; color: var(--black); }
.main_slide__control{ margin-top: clamp(40rem, calc( 80 / var(--inner) * 100vw ), 80rem); display: flex; align-items: center; justify-content: center; gap: 21rem; }
.main_slide__btn{ display: flex; align-items: center; justify-content: center; width: 33rem; height: 33rem; border-radius: 50%; box-shadow: 0 0 9.5rem 0.5rem rgba(187, 187, 187, 0.25); }
.main_slide__btn::before{ content: ''; display: inline-block; width: 7rem; height: 7rem; border: solid #777; border-width: 2rem 2rem 0 0; box-sizing: border-box; }
.main_slide__btn.prev::before{ transform: translateX(2rem) rotate(-135deg); }
.main_slide__btn.next::before{ transform: translateX(-2rem) rotate(45deg); }
.main_slide__pager{ display: flex; gap: 14rem; width: auto; }
.main_slide__pager .swiper-pagination-bullet{ position: relative; width: 7rem; height: 7rem; background: #d9d9d9; opacity: 1; }
.main_slide__pager .swiper-pagination-bullet::before{ content: ''; position: absolute; inset: -7rem; }
.main_slide__pager .swiper-pagination-bullet-active{ background: var(--primary); }
@media(prefers-reduced-motion:no-preference){
	.main_slide [role="tabpanel"]{ transition: .4s; }
	.main_slide__img{ transition: .4s; }
}
@media(hover:hover){
	.main_slide .swiper-slide:hover .main_slide__img{ transform: scale(1.05); }
}
@media(max-width:767px){
	.main_slide [role="tablist"]{ gap: 30rem; }
	.main_slide [role="tab"]:not(:first-child)::before{ margin-left: -14.7rem; }
}

/* banner */
.main_banner{ margin-bottom: clamp(90rem, calc( 140 / var(--inner) * 100vw ), 140rem); padding: clamp(90rem, calc( 117 / var(--inner) * 100vw ), 117rem) 0 clamp(90rem, calc( 116 / var(--inner) * 100vw ), 116rem); background: #293230 url('/images/main/banner_bg.jpg') no-repeat 50% / cover; border-radius: 10rem; color: #fff; }
.main_banner__h2{ margin-bottom: 0.85714286em; font-size: var(--fs42); line-height: 1.2; letter-spacing: -.008em; }
.main_banner__p{ font-size: 20rem; }

/* portfolio */
.main_port{ overflow: hidden; padding: clamp(90rem, calc( 128 / var(--inner) * 100vw ), 128rem) 0 clamp(90rem, calc( 140 / var(--inner) * 100vw ), 140rem); text-align: center; }
.main_res{ background: #f1f2f3 url('/images/main/port_bg.jpg') no-repeat 50% / cover; }
.main_port__swiper{ overflow: unset; margin-top: 54rem; clip-path: inset(-50vw -20rem); }
.main_port .swiper-slide{ border-radius: 10rem; box-shadow: 0px 0px 22.5px 2.5px rgba(187, 187, 187, 0.25); }
.main_port__img_wrap{ overflow: hidden; border-radius: 10rem 10rem 0 0; }
.main_port__img{ display: block; aspect-ratio: 44/33; width: 100%; object-fit: cover;}
.main_port__txt{ padding: 26rem 10rem 22rem; background: #fff; border-radius: 0 0 10rem 10rem; }
.main_port__head{ font-weight: 500; color: var(--primary); }
.main_port__title{ margin-top: 8rem; font-size: 23rem; font-weight: 600; color: var(--black); }
@media(prefers-reduced-motion:no-preference){
	.main_port__img{ transition: .4s; }
}
@media(hover:hover){
	.main_port .swiper-slide:hover .main_port__img{ transform: scale(1.05); }
}

/* contact */
.main_cont{ position: relative; padding: 62rem 0 clamp(90rem, calc( 122 / var(--inner) * 100vw ), 122rem); }
.main_cont::before{ content: ''; position: absolute; inset: auto 0 0; height: 292rem; background: url('/images/main/cont_bg.jpg') no-repeat 50% / cover; }
.main_cont__inr{ display: grid; gap: 40rem; }
.main_cont__con2 .common_category{ font-size: 16rem; }
.main_cont__con2 .common_h2{ font-size: var(--fs28); }
.main_cont__con2 .common_p{ margin-top: 19rem; font-size: 16rem; }
.main_form{ display: grid; gap: 18rem 15rem; padding: 49rem clamp(20rem, calc( 49 / var(--inner) * 100vw ), 49rem) 56rem; background: #fff; border: 1px solid #eee; border-radius: 15rem; box-shadow: 0 0 27rem 3rem rgba(187, 187, 187, 0.2); box-sizing: border-box; }
.main_form__h2{ margin-bottom: 22rem; text-align: center; font-size: var(--fs33); font-weight: 600; color: var(--black); } 
.main_form :is(input, textarea, select){ margin: 0; height: auto; padding: 0; background: 0; border: 0; box-sizing: border-box; font-family: inherit; font-size: 16rem; line-height: 1.5; color: inherit; }
.main_form :is(input, textarea, select)::placeholder{ font-size: 16rem; font-weight: 300; color: var(--gray); }
.main_form [class^="wrap_"]{ display: flex; align-items: center; }
.main_form .item :is([type="text"], textarea, .select_wrap){ flex: 1; width: 1px; }
.main_form .item [class^="wrap_"]{ width: 100%; }
.main_form [class^="wrap_"] span{ display: inline-block; flex-shrink: 0; text-align: center; }
.main_form .item{ display: flex; gap: 35rem; padding: 15rem 19rem 13rem; background: #f7f7f7; border-radius: 3rem; box-sizing: border-box; }
.main_form .head{ display: block; flex: 0 0 55rem; font-weight: 600; color: var(--black); }
.main_form .select_wrap{ position: relative; }
.main_form .select_wrap::before{ content: ''; position: absolute; top: 7rem; right: 0; width: 11rem; height: 7rem; background: #878787; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.main_form select{ width: 100%; }
.main_form .type_wrap{ display: flex; flex-wrap: wrap; gap: 10rem 35rem; }
.main_form .radio_wrap{ display: flex; align-items: center; gap: 7rem; }
.main_form .radio_wrap input{ width: 15rem; height: 15rem; }
.main_form .radio_wrap label{ margin: 0; }
.main_form .wrap_phone input:nth-of-type(1){ flex: 0 0 46rem; }
.main_form .wrap_phone input:nth-of-type(2),
.main_form .wrap_phone input:nth-of-type(3){ flex: 0 0 76rem; }
.main_form .wrap_phone span{ width: clamp(10rem, calc( 40 / var(--inner) * 100vw ), 20rem); }
.main_form textarea{ min-height: 73rem; }
.main_form .wrap_checkbox{ margin-top: 3rem; font-size: 15rem; color: #777; }
.main_form .wrap_checkbox label{ margin: 0 5rem 0 11rem; }
#checkbox{ aspect-ratio: 1/1; width: 16rem; }
#online_btn{ margin-top: 9rem; display: flex; align-items: center; justify-content: center; height: 65rem; background: #333; border-radius: 4rem; font-size: 17rem; font-weight: 600; color: #fff; }
@media(min-width:768px){
	.main_form{ grid-template-columns: repeat(2, 1fr); }
	.main_form .col-1-3{ grid-column: 1/3; }
}
@media(min-width:1280px){
	.main_cont__inr{ grid-template-columns: auto 712rem; }
	.main_cont__con1{ margin: 93rem 0 105rem }
	.main_cont__con1 .common_p{ margin-top: 32rem; }
}
@media(max-width:1279px){
	.main_cont__con2{ margin: 60rem 0 30rem; }
}
@media(max-width:768px){
	.main_cont{ width: 100%; }
}

/* review */
/*.main_review{ padding: clamp(90rem, calc( 135 / var(--inner) * 100vw ), 135rem) 0 clamp(90rem, calc( 229 / var(--inner) * 100vw ), 229rem); }*/
.main_review{ padding: clamp(90rem, calc( 135 / var(--inner) * 100vw ), 135rem) 0; }
.main_review__ul{ --gap: clamp(20rem, calc( 80 / var(--inner) * 100vw ), 80rem); margin-top: 115rem; }
.main_review__ul::after{ content: ''; display: block; clear: both; }
.main_review__li{ position: relative; display: grid; gap: 0 28rem; border-radius: 8rem; padding: 40rem 30rem 37rem 40rem; box-shadow: inset 0rem -10rem 10rem -10rem #f0f0f0, inset 10rem 0rem 10rem -10rem #fbfbfb, inset -10rem 0rem 10rem -10rem #fbfbfb, inset 0rem 10rem 10rem -10rem #fff, 0rem 0rem 18rem 2rem rgba(187, 187, 187, 0.2); box-sizing: border-box; }
.main_review__li:nth-child(n+3){ margin-top: var(--gap); }
.main_review__li:nth-child(odd){ float: left; }
.main_review__li:nth-child(even){ float: right; }
.main_review__profile{ width: 100rem; height: 100rem; background: #ddd; border-radius: 50%; }
.main_review__img{ width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.main_review__rating{ margin-top: 2rem; display: flex; gap: 5.3rem; height: 15rem; fill: currentColor; }
.main_review__star.rated{ fill: #ffef27; }
.main_review__content{ margin: 17rem 0 13rem; font-size: 17rem; line-height: 1.76470588; color: var(--black); }
.main_review__author{ font-size: 15rem; color: #777; }
.main_review__author::after{ content: ' 고객님'; }

/* mid request bt */
.go_requ {position: relative; display: block; width: 100%; margin-top: 70px;}
.go_requ a {display: block; width: 30%; border-radius: 10px; background: var(--primary); box-sizing: border-box; margin: 0 auto; text-align: center; color: #fff; font-weight: 600; font-size: 25px; line-height: 90px; border: 1px solid var(--primary); transition: all .5s ease;}
.go_requ a:hover {background: #fff; color: var(--primary);}

@media(min-width:768px){
	.main_review__li{ grid-template: 'p r' 'p c' 'p a' / auto 1fr; width: calc( ( 100% - var(--gap) ) / 2 ); }
	.main_review__li:nth-child(odd){ top: 55rem; }
	.main_review__profile{ grid-area: p; width: 80rem; height: 80rem;}
	.main_review__rating{ grid-area: r; }
	.main_review__content{ grid-area: c; }
	.main_review__author{ grid-area: a; }
}
@media(max-width:767px){
	.main_review__li{ width: 90%; }
	.main_review__li:nth-child(2){ margin-top: var(--gap); }
	.main_review__profile{ margin-bottom: 30rem; }
	.main_review__content br{ display: none; }
	
	.go_requ a {width: 70%;}
}
@media(max-width:375px){
	.go_requ a {font-size: 20px; line-height: 70px;}
}