/* visual */
.mainVisual{ color: #fff; }
.mainVisual .swiper-slide{ position: relative; }
.mainVisual .swiper-slide::before{ content: ''; position: absolute; inset: 0; background: var(--black) no-repeat 50% / cover; }
.mainVisual .slide1::before{ background-image: url('/images/main/visual1.jpg'); }
.mainVisual .slide2::before{ background-image: url('/images/main/visual2.jpg'); }
.mainVisual__inr{ display: grid; align-items: center; justify-content: center; text-align: center; height: 100%; }
.mainVisual__h2{ font-size: var(--fs65); font-weight: 800; line-height: 1.15384615; }
.mainVisual__p{ margin-top: 29rem; font-size: 18rem; }
.mainVisual__contorl{ position: absolute; inset: auto 0 5.5%; display: inline-flex; align-items: center; gap: 33px; font-size: 15px; font-weight: 600; pointer-events: none; z-index: 1; }
.mainVisual__pager{ display: inline-flex; gap: 20px; width: auto; pointer-events: auto; }
.mainVisual .swiper-pagination-bullet{ position: relative; width: 8px; height: 8px; background: 0; border: 1px solid currentColor; opacity: .5; }
.mainVisual .swiper-pagination-bullet-active{ opacity: 1; }
.mainVisual .swiper-pagination-bullet::before{ content: ''; position: absolute; inset: -10px; }
.mainVisual__fraction{ font-size: 15px; font-weight: 300; }
.mainVisual__current{ display: inline-block; width: 2ch; }
.mainVisual__slash{ margin: 0 .45ch; font-size: 13px; opacity: .5; }
.mainVisual__total{ opacity: .5; }
.mainScrolldown{ position: absolute; right: 0; bottom: 6rem; display: grid; place-content: center; aspect-ratio: 1/1; width: clamp(0rem, 148rem, 148px); z-index: 1; }
.mainScrolldown::before{ content: ''; position: absolute; inset: 0; background: url('/images/main/scrolldown.png') no-repeat 50% / contain; }
.mainScrolldown__svg{ width: 13rem; height: 20rem; fill:currentColor;stroke:currentColor;stroke-miterlimit:10;stroke-width:.2px; }
@media (prefers-reduced-motion: no-preference){
	.mainVisual .swiper-slide-active::before{ animation: slide_bg 3s both; }
	@keyframes slide_bg{
		0%{ transform: scale(1.05); }
		100%{ transform: scale(1); }
	}
	.mainVisual__text > *{ opacity: 0; }
	.swiper-slide-active .mainVisual__text > *{ animation: visual_txt .8s .3s both; }
	.swiper-slide-active .mainVisual__text > *:nth-child(2){ animation-delay: .6s; }
	@keyframes visual_txt{
		0%{ transform: translateY(40rem); opacity: 0; }
		100%{ transform: translateY(0); opacity: 1; }
	}
	.mainScrolldown::before{ animation: rotate360 15s linear infinite; }
	@keyframes rotate360 {
		0%{ transform: rotate(360deg); }
	}
}
@media(min-width:768px){
	.mainVisual{ aspect-ratio: 1920/970; }
}
@media(max-width:767px){
	.mainVisual{ height: 100vh; min-height: 450rem; }
}

/* common */
.common__p{ font-weight: 600; letter-spacing: .01em; color: var(--primary); }
.common__h2{ font-size: var(--fs45); letter-spacing: -.01em; }
.common__h2:has(b){ font-weight: 400; }

/* about */
.mainAbout{ padding: clamp(90rem, calc( 155 / var(--inner) * 100vw ), 155rem) 0 clamp(90rem, calc( 150 / var(--inner) * 100vw ), 150rem); text-align: center; }
.mainAbout .common__h2{ margin-top: 0.66666667em; }
.mainAbout__p{ margin-top: 30rem; font-size: 17rem; line-height: 1.58823529; color: var(--gray); }
.mainAbout__a{ position: relative; margin-top: 48rem; display: inline-block; padding-bottom: 1rem; border-bottom: 1px solid currentColor; font-size: 15rem; }
.mainAbout__img{ background: no-repeat 50% / cover; }
.mainAbout__img.img2{ margin: clamp(60rem, calc( 88 / var(--inner) * 100vw ), 88rem) auto 0; aspect-ratio: 50/35; width: 100%; background-image: url('/images/main/about2.jpg'); }
@media(min-width:768px){
	.mainAbout__img.img1{ position: absolute; top: 23%; left: 0; aspect-ratio: 39/47; width: clamp(0px, 26%, 390rem); background-image: url('/images/main/about1.jpg'); }
	.mainAbout__img.img2{ width: clamp(0px, 33.3%, 500rem); }
	.mainAbout__img.img3{ position: absolute; top: 30%; right: 0; aspect-ratio: 42/30; width: clamp(0px, 28%, 420rem); background-image: url('/images/main/about3.jpg'); }
}
@media(max-width:1279px){
	.mainAbout__img.img1{ transform: scale(.85); transform-origin: left; }
	.mainAbout__img.img3{ transform: scale(.85); transform-origin: right; }
}

/* inquiry */
.mainInquiry{ --secColor: #fff; margin-bottom: clamp(90rem, calc( 150 / var(--inner) * 100vw ), 150rem); padding: 102rem 0 95rem; background: #3d4653 url('/images/main/inquiry_bg.jpg') no-repeat 50% / cover; color: var(--secColor); }
.mainInquiry__inr{ display: grid; align-items: center; justify-content: space-between; gap: 0 40rem; }
.mainInquiry__p{ font-size: 14rem; font-weight: 500; letter-spacing: .01em; color: rgba(255, 255, 255, 0.3); color: color-mix(in srgb, var(--secColor) 30%, #0000); }
.mainInquiry__h2{ margin-top: .3em; font-size: var(--fs40); letter-spacing: -.01em; color: rgba(255, 255, 255, 0.3); color: color-mix(in srgb, var(--secColor) 30%, #0000); }
.mainInquiry__a{ margin-top: 60rem; display: inline-flex; align-items: center; justify-content: space-between; width: 240rem; height: 68rem; padding: 3rem 25rem 0; background: color-mix(in srgb, var(--secColor) 10%, #0000); border: 1px solid color-mix(in srgb, var(--secColor) 30%, #0000); }
.mainInquiry__a::after{ content: ''; position: relative; top: .05em; left: 1rem; display: inline-block; width: 7rem; height: 7rem; border: solid currentColor; border-width: 1px 1px 0 0; transform: rotate(45deg); }
@media(prefers-reduced-motion:no-preference){
	.mainInquiry__a{ transition: .6s; }
}
@media(hover:hover){
	.mainInquiry__a:hover{ border-color: var(--secColor); }
}
@media(min-width:768px){
	.mainInquiry__inr{ grid-template: 'p a' 'h a'; }
	.mainInquiry__p{ grid-area: p; }
	.mainInquiry__h2{ grid-area: h; }
	.mainInquiry__a{ grid-area: a; position: relative; top: -4rem; right: 3rem; margin-top: 0; }
}

/* customer */
.mainCustomer{ --secColor: #fff; position: relative; padding: 80rem 0; background: #f8f8f8 url('/images/main/customer_bg2.jpg') no-repeat 50% / cover; color: var(--secColor); }
.mainCustomer::before{ content: ''; position: absolute; inset: 0; background: #1f1f20 url('/images/main/customer_bg1.jpg') no-repeat 50% / cover; }
.mainCustomer__inr{ display: grid; gap: 90rem 40rem; }
.mainCustomer .common__h2{ margin-top: 0.15555556em; }
.mainCustomer__ul{ margin-top: 38rem; font-weight: 300; }
.mainCustomer__ul > li{ display: flex; }
.mainCustomer__ul > li + li{ margin-top: 10rem; }
.mainCustomer__ul b{ margin: 0 2rem; font-weight: 600; }
.mainCustomer__links{ margin-top: clamp(40rem, calc( 65 / var(--inner) * 100vw ), 65rem); display: grid; grid-template-columns: repeat(2, 165rem); gap: 25rem; font-size: 14rem; }
.mainCustomer__a{ position: relative; display: flex; align-items: center; justify-content: space-between; padding: 10rem 7rem 10rem 0; border-bottom: 1px solid color-mix(in srgb, var(--secColor) 40%, #0000); }
.mainCustomer__svg{ height: 7rem; fill:currentColor;stroke:currentColor;stroke-miterlimit:10;stroke-width:.2px;}
#wrap .root_daum_roughmap{ width: 100%; }
#wrap .root_daum_roughmap .wrap_map{ height: 500rem; }
.root_daum_roughmap svg{ pointer-events: none; }
.map_border,
.wrap_controllers{ display: none }
@media(prefers-reduced-motion:no-preference){
	.mainCustomer__a::before{ transition: .6s; }
}
@media(hover:hover){
	.mainCustomer__a::before{ content: ''; position: absolute; inset: auto 0 0; height: 1px; background: currentColor; }
	.mainCustomer__a:not(:hover)::before{ right: 100%; }
}
@media(min-width:768px){
	.mainCustomer::before{ width: 56.25%; }
	.mainCustomer__inr{ grid-template-columns: 1fr 60%; }
	.mainCustomer__txt{ padding-top: 112rem; }
}
@media(max-width:767px){
	.mainCustomer::before{ height: 65%; }
	.root_daum_roughmap{ aspect-ratio: 1/1; }
	.root_daum_roughmap .wrap_map{ height: 100%; }
}