/* common */
#main{ overflow: hidden; }
#main section{ padding-bottom: 240px; }

.title-box{ margin-bottom: 65px; }
.title-box h2{ font-size: 6.4rem; font-weight: 700; color: #222; text-align: center; transform: translateY(100%); clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
.title-box.aos-animate h2{ animation: textClip 1s both; }

@media screen and (max-width: 1700px){
	#main section{ padding-bottom: 180px; }

	.title-box{ margin-bottom: 40px; }
	.title-box h2{ font-size: 5rem; }
}

@media screen and (max-width: 1280px){
	#main section{ padding-bottom: 100px; }
	.title-box{ margin-bottom: 20px; }
	.title-box h2{ font-size: 4rem; }
}

@media screen and (max-width: 900px){
	.title-box h2{ font-size: 3rem; }
}


/* visual */
#visual .flex-box{ display: flex; }
#visual .flex-box > div{ width: 50%; }

#visual .img{ display: flex; flex-direction: column; }
#visual .img .slide{ flex: 1 0 auto; position: relative; }
#visual .img .visual-wrap{ height: 100%; border-radius: 20px; overflow: hidden; }
#visual .img .visual-wrap .slick-list, #visual .img .visual-wrap .slick-track{ height: 100%; }
#visual .img .visual .bg{ height: 100%; background-repeat: no-repeat; background-position: center center; background-size: cover; padding-bottom: 67.223%; }
#visual .img .text{ position: absolute; bottom: 0; left: 0; right: 0; padding: 40px; display: flex; justify-content: space-between; align-items: flex-end; }

#visual .img .num{ display: flex; align-items: center; font-family: var(--engFont); font-size: 2.2rem; font-weight: 400; color: rgba(255, 255, 255, 0.6); letter-spacing: -0.02em; margin: 0 -13px; }
#visual .img .num span{ display: inline-block; font-size: 3.6rem; padding: 0 13px; position: relative; }
#visual .img .num span.index{ color: #fff; }
#visual .img .num span::after{ content: ""; width: 2px; height: 25px; background: rgba(255, 255, 255, 0.6); position: absolute; top: calc(50% - 2px); right: -1px; transform: translate(50%, -50%) rotate(15deg); }
#visual .img .num span:last-of-type::after{ display: none; }

#visual .img .btns{ display: flex; }
#visual .img .btns button{ width: 80px; height: 80px; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 0; transition: background 0.5s; }
#visual .img .btns button:not(:last-of-type){ margin-right: 10px; }

#visual .img .inquiry{ background: url("/img/main/inquiry_bg.jpg") no-repeat center center / cover; border-radius: 20px; margin-top: 15px; }
#visual .img .inquiry a{ display: block; padding: 50px; }
#visual .img .inquiry p{ font-size: 3rem; font-weight: 700; color: #fff; letter-spacing: -0.02em; padding-left: 55px; position: relative; }
#visual .img .inquiry p::before{ content: ""; width: 34px; height: 34px; background: url("/img/main/inquiry_icon.svg") no-repeat center center / contain; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#visual .img .inquiry p span{ display: inline-block; font-size: inherit; font-weight: inherit; letter-spacing: inherit; margin-left: 10px; }


#visual .menu{ display: flex; flex-wrap: wrap; padding-left: 28px; margin-bottom: -12px; }
#visual .menu .item{ --delay: 0ms; width: calc((100% - 24px) / 3); min-height: calc((100% - 60px) / 5); background: #fff; border: 1px solid #fff; border-radius: 20px; margin-right: 12px; margin-bottom: 12px; transition: border 0.5s, box-shadow 0.5s, opacity 1s var(--delay), transform 1s var(--delay); }
#visual .menu .item:nth-of-type(3n){ margin-right: 0; }
#visual .menu .item a{ width: 100%; height: 100%; display: flex; align-items: center; padding: 30px; }
#visual .menu .item .icon{ width: 48px; opacity: 0.6; transition: opacity 0.5s; }
#visual .menu .item .text{ width: calc(100% - 48px); padding-left: 14px; }
#visual .menu .item .text p{ font-size: 1.6rem; font-weight: 500; color: #222; letter-spacing: -0.02em; }

@media screen and (hover: hover){
	#visual .img .btns button:hover{ background: rgba(255, 255, 255, 0.2); }

	#visual .menu .item:hover{ border: 1px solid #000; box-shadow: 0px 0px 30px rgba(0, 45, 171, 0.1); }
	#visual .menu .item:hover .icon{ opacity: 1; }
}

@media screen and (max-width: 1700px){
	#visual .img .text{ padding: 30px; }
	#visual .img .num span{ font-size: 3rem; }
	#visual .img .btns button{ width: 70px; height: 70px; }

	#visual .img .inquiry a{ padding: 40px; }
	#visual .img .inquiry p{ font-size: 2.6rem; }

	#visual .menu .item a{ padding: 20px; padding-left: 15px; }
}

@media screen and (max-width: 1450px){
	#visual .menu{ padding-left: 20px; }
	#visual .menu br{ display: none; }
}

@media screen and (max-width: 1400px){
	#visual .aos-init{ transition-delay: 0 !important; }
	#visual .flex-box{ flex-direction: column; }
	#visual .flex-box > div{ width: 100%; }

	#visual .menu{ width: 100%; padding-left: 0; padding-top: 20px; }
	#visual .menu .item{ --delay: 0ms !important; transform: translateY(var(--aosPlus)); }
	#visual .menu .item.aos-animate{ transform: translateY(0); }
}

@media screen and (max-width: 1280px){
	#visual .img .text{ padding: 20px; }
	#visual .img .num span{ font-size: 2.6rem; }
	#visual .img .num span::after{ height: 20px; }
	#visual .img .btns button{ width: 60px; height: 60px; }

	#visual .img .inquiry a{ padding: 30px; }
	#visual .img .inquiry p{ font-size: 2.2rem; padding-left: 45px; }
	#visual .img .inquiry p::before{ width: 30px; height: 30px; }
}

@media screen and (max-width: 900px){
	#visual .img .num span{ font-size: 2.2rem; }
	#visual .img .btns button{ width: 50px; height: 50px; }

	#visual .img .inquiry p{ font-size: 2rem; }
}

@media screen and (max-width: 730px){
	#visual .menu .item{ width: calc((100% - 12px) / 2); }
	#visual .menu .item:nth-of-type(3n){ margin-right: 12px; }
	#visual .menu .item:nth-of-type(2n){ margin-right: 0; }
}

@media screen and (max-width: 800px){
	#visual .menu{ display: none; }
}


/* recruit */
#recruit .sec:not(:last-of-type){ padding-bottom: 125px; }
#recruit .img-box{ position: relative; opacity: 1; }
#recruit .recruit-wrap .img-box:not(:last-of-type){ margin-bottom: 60px; }
#recruit .img-box .bg{ width: 100%; position: relative; overflow: hidden; padding-bottom: 40.556%; border-radius: 20px; }
#recruit .img-box .bg img{ width: 100%; height: 100%; object-fit: cover; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1.15); opacity: 0; transition: opacity 1s, transform 1s; }
#recruit .img-box.aos-animate .bg img{ transform: translate(-50%, -50%) scale(1); opacity: 1; }

#recruit .img-box .text-box{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; padding: 60px; }
#recruit .img-box .text-box .inner{ max-width: 422px; background: #fff; border-radius: 20px; transform: translateY(var(--aosPlus)); opacity: 0; transition: transform 1s, opacity 1s; }
#recruit .img-box .text-box .inner a{ display: block; padding: 40px; }
#recruit .img-box .text-box .category{ display: inline-block; background: #000; border-radius: 10px; font-size: 1.6rem; font-weight: 500; color: #fff; letter-spacing: -0.02em; line-height: 1; padding: 9px 20px; }
#recruit .img-box .text-box h4{ font-size: 2.4rem; font-weight: 500; color: #111; letter-spacing: -0.02em; line-height: 1.5; margin: 15px 0 10px; }
#recruit .img-box .text-box button{ display: flex; justify-content: center; align-items: center; background: none; border: none; font-family: var(--baseFont); font-size: 1.6rem; font-weight: 500; color: #000; position: relative; padding: 0; margin-left: auto;  }
#recruit .img-box .text-box button::before, #recruit .img-box .text-box button::after{ width: 40px; height: 40px; }
#recruit .img-box .text-box button::before{ content: ""; background: url("/img/main/recruit_arrow.svg") no-repeat center center / auto; transition: filter 0.5s; position: absolute; top: 0; right: 0; }
#recruit .img-box .text-box button::after{ content: ""; display: inline-block; background: #F2F2F2; border-radius: 50%; transition: background 0.5s; margin-left: 10px; }

#recruit .img-box.aos-animate .text-box .inner{ transform: translateY(0); opacity: 1; }

@media screen and (hover: hover){
	#recruit .img-box .inner:hover button::before{ filter: brightness(2); }
	#recruit .img-box .inner:hover button::after{ background: #000; }
}

@media screen and (max-width: 1700px){
	#recruit .sec:not(:last-of-type){ padding-bottom: 100px; }

	#recruit .img-box .text-box{ padding: 40px; }
	#recruit .img-box .text-box .inner{ max-width: 400px; }
	#recruit .img-box .text-box .inner a{ padding: 30px; }
	#recruit .img-box .text-box h4{ font-size: 2.2rem; }
}

@media screen and (max-width: 1280px){
	#recruit .sec:not(:last-of-type){ padding-bottom: 80px; }
	#recruit .recruit-wrap .img-box:not(:last-of-type){ margin-bottom: 30px; }

	#recruit .img-box .text-box{ padding: 30px; }
	#recruit .img-box .text-box .inner a{ padding: 20px; }
	#recruit .img-box .text-box .category{ font-size: 1.5rem; padding: 7px 15px; }
	#recruit .img-box .text-box h4{ font-size: 2rem; margin: 10px 0; }
	#recruit .img-box .text-box button::before, #recruit .img-box .text-box button::after{ width: 35px; height: 35px; }
}

@media screen and (max-width: 1000px){
	/* #recruit .recruit-wrap .img-box:not(:last-of-type){ margin-bottom: 0; } */

	#recruit .img-box{ opacity: 0; transition: opacity 1s; }
	#recruit .img-box .bg{ border-radius: 20px 20px 0 0; }
	#recruit .img-box .text-box{ padding: 0; position: relative; }
	#recruit .img-box .text-box .inner{ max-width: 100%; border-radius: 0 0 20px 20px; transform: translateY(0); opacity: 1; }

	#recruit .img-box.aos-animate{ opacity: 1; }
}

@media screen and (max-width: 900px){
	#recruit .img-box .text-box h4{ font-size: 1.9rem; }
}