@charset "utf-8";
#fullpage > .section ,
#fullpage > .section .fp-overflow {height: 100%;}
.preloader {width: 100%; height: 100%; position: fixed; z-index: 9999999; top: 0; left: 0; opacity: 1; visibility: visible; background-color: #000;}

.answer-label {padding: 10px; border-radius: 10px; font-size: 16px; font-weight: 600; color: #fff;}
.answer-label.done {background-color: #2ECC71;}
.answer-label.wait {background-color: #F5B041;}

/* main */
.main-container {background-color: #0C0C0C;}
.main-container .section:not(.main-section) {}
.main-container .section:not(.main-section):not(.slogan-section):not(.footer-section) {display: flex; flex-direction: column; row-gap: 80px; align-items: center; justify-content: center;}
.main-container .section:not(:last-child) {margin-bottom: 200px;}
.main-container .section:last-child {padding-bottom: 200px;}
.main-section  {min-height: 800px; height: 100vh; position: relative; overflow: hidden;}
.main-section .btn-wrap .round-btn {width: 230px; justify-content: center;}
.main-section .video-bg {position: absolute; z-index: 1; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover;}
.main-section .main-visual-content {width: 100%; position: absolute; z-index: 10; left: 0; bottom: 0; transform: translateY(110%); transition: bottom 0.5s, transform 0.5s;}
.main-section .main-visual-content.loaded {bottom: 30px; transform: translateY(0%);}
.main-section .main-tit {color: #fff; margin-top: 65px; margin-bottom: 110px;}
.main-section .main-tit:not(.tracking-in-contract) h2,
.main-section .main-tit:not(.tracking-in-contract) p,
.main-section .main-tit:not(.tracking-in-contract) span{opacity: 0;}
.main-section .main-tit h2 {font-size: 48px; font-weight: 600; line-height: 56px;}
.main-section .main-tit p {font-size: 32px; font-weight: 500; line-height: 46px; margin: 20px 0 50px;}
.main-section .main-tit span {font-size: 18px; font-weight: 500; line-height: 41px;}
.scroll-icon-wrap{position:absolute; bottom: 0; left:50%; transform: translateX(-50%); text-align:center; z-index:9;}

.main-container .section-tit:not(.inner) {width: 100%;}
.main-container .section-tit {display: flex; align-items: center; justify-content: space-between;}
.main-container .section-tit h2 {font-size: 48px; font-weight: 600; color: #fff;}
.main-container .section-tit h2 span {font-size: 24px; font-weight: 500; color: #1362EB; padding-bottom: 10px;}

.service-slide {width: 100%; padding-top: 10px;}
.service-slide .swiper-slide {transform: translateY(0px); transition: transform 0.2s; overflow: hidden; border-radius: 10px; background-color: #171717; display: flex; flex-direction: column;}
.service-slide .swiper-slide:hover {transform: translateY(-10px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);}
.service-slide .swiper-slide img {aspect-ratio: 491 / 268; width: 100%;}
.service-slide .swiper-slide .txt-wrap {padding: 30px;}
.service-slide .swiper-slide .txt-wrap h3 {font-size: 20px; font-weight: 500; color: #fff; margin-bottom: 10px;}
.service-slide .swiper-slide .txt-wrap p {height: 72px; font-size: 17px; font-weight: 500; color: #fff;}

.portfolio-slide {width: 100%; max-width: 1262px; height: fit-content; margin: 0 auto;}
.portfolio-slide .swiper-slide {display: flex; column-gap: 70px;}
.portfolio-slide .swiper-slide .slide-left {width: 70%; max-width: 877px;}
.portfolio-slide .swiper-slide .portfolio-img {position: relative;}
.portfolio-slide .swiper-slide .portfolio-img > .display-img {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.portfolio-slide .swiper-slide .portfolio-img:hover img:not(.display-img) {animation: portfolioImgPan 20s linear forwards;}
.portfolio-slide .swiper-slide .slide-left .pc-img {padding: 15px; border-radius: 25px; aspect-ratio: 877 / 462; width: 100%; overflow: hidden; position: relative;}
.portfolio-slide .swiper-slide .slide-left .pc-img img:not(.display-img) {width: 100%; height: 100%; object-fit: cover; object-position: top;}
.portfolio-slide .swiper-slide .slide-left .info-wrap {margin-top: 40px; display: flex; align-items: center; column-gap: 40px;}
.portfolio-slide .swiper-slide .slide-left .info-wrap .txt-wrap {color: #fff;}
.portfolio-slide .swiper-slide .slide-left .info-wrap .txt-wrap p{word-break: keep-all; font-size: 15px; font-weight: 500; margin-bottom: 10px;}
.portfolio-slide .swiper-slide .slide-left .info-wrap .txt-wrap h3{font-size: 24px; font-weight: 500;}
.portfolio-slide .swiper-slide .slide-right {min-width: fit-content; width: calc(30% - 70px); max-width: 309px;}
.portfolio-slide .swiper-slide .slide-right .mo-img {padding: 10px; border-radius: 40px; aspect-ratio: 252 / 494; width: 100%; max-width: 252px; overflow: hidden;}
.portfolio-slide .swiper-slide .slide-right .mo-img img:not(.display-img) {border-radius: 40px; width: 100%; height: 100%; object-fit: cover; object-position: top;}
.portfolio-slide .swiper-slide .slide-right .counter-txt {margin-bottom: 16px; display: flex; flex-direction: column; align-items: flex-start; row-gap: 20px;}
.portfolio-slide .swiper-slide .slide-right .counter-txt p {white-space: nowrap; font-size: 32px; font-weight: 600; color: #fff;}
.portfolio-slide .swiper-slide .slide-right .counter-txt p span {font-size: 48px; padding-left: 24px; background: linear-gradient(90deg, #1362EB 0%, #5290FB 50%, #65F665 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block;}
.portfolio-slide .swiper-btn {position: absolute; bottom: 0; left: 0; display: flex; align-items: center; column-gap: 30px; z-index: 10;}
.portfolio-slide .swiper-btn svg {cursor: pointer;}

.about-section {padding: 165px 0; background-image: url(../img/main/about-bg.webp); background-repeat: no-repeat; background-size: cover;}
.about-section .about-cont {display: flex; flex-direction: column; align-items: center; row-gap: 50px;}
.about-card-wrap {width: 100%; display: flex; align-items: stretch; column-gap: 24px;}
.about-section h2 {text-align: center; font-size: 40px; font-weight: 600; line-height: 60px; color: #fff;}
.about-card-wrap .card {row-gap: 20px; border-radius: 10px;display: flex; flex-direction: column; align-items: center;  justify-content: space-evenly; aspect-ratio: 490/380; width: calc(100% / 3 - 48px / 3); position: relative; bottom: 0; transition: bottom 0.2s;}
.about-card-wrap .card::after {z-index: -1; content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; border-radius: 10px; padding: 2px; background: linear-gradient(135deg, #1362EB, #5290FB, #65F665); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;}
.about-card-wrap .card img {aspect-ratio: 1/1; width: 80%; max-width: 100px; object-fit: contain;}
.about-card-wrap .card p {word-break: keep-all; line-height: 1.5; text-align: center; font-size: 20px; background: linear-gradient(90deg, #1362EB 0%, #5290FB 50%, #65F665 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block;}
.about-card-wrap .card:hover {box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); bottom: 10px;}
.about-section .about-p {font-size: 32px; font-weight: 500; color: #fff; margin-top: 50px;}

.inquiry-section .section-tit{width: 100%;}
.inquiry-wrap {width: 100%; display: flex; flex-direction: column; row-gap: 30px;}
.inquiry-wrap li {width: 100%; height: fit-content; position: relative; border-radius: 10px;}
.inquiry-wrap li::after {z-index: -1; content: ""; width: 100%; height:100%; position: absolute; padding: 1px; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: inherit; background: #fff; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; transition: background .3s ease;}
.inquiry-wrap li:hover::after {background: linear-gradient(135deg, #1362EB, #5290FB, #65F665);}
.inquiry-wrap li a {width: 100%; height: 80px; padding: 0 55px; display: flex; align-items: center; column-gap: 40px;}
.inquiry-wrap li .subject,
.inquiry-wrap li span:not(.answer-label) {font-size: 16px; font-weight: 600; color: #fff;}
.inquiry-wrap li .subject {flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.inquiry-wrap li:hover .subject {background: linear-gradient(90deg, #1362EB 0%, #5290FB 50%, #65F665 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block;}
.news-slide.inner {width: calc(100% - 100px - (84px * 2)); max-width: calc(1521px + (84px * 2)); padding: 0 84px;}
.news-section .news-slide {position: relative;}
.news-section .news-slide .news-ico {position: absolute; top: 0; right: 0; z-index: 20;}
.news-section .news-slide::after,
.news-section .news-slide::before {content: ''; display: block; z-index: 5; width: 84px; height: 100%; background-color: #0C0C0C; position: absolute; top: 0;}
.news-section .news-slide::after {left: 0;}
.news-section .news-slide::before {right: 0;}
.news-section .news-slide .swiper-wrapper {align-items: stretch;}
/* .news-section .news-slide .swiper-slide {height: auto; display: flex; flex-direction: column;} */
.news-section .news-slide .swiper-slide {position: relative; max-height: 790px; min-height: 630px; height: 40vw;}
/* .news-section .thumb-img {aspect-ratio: 1/1; border-radius: 50px; overflow: hidden;} */
.news-section .thumb-img {transition: top 0.2s; aspect-ratio: 490/490; border-radius: 50px; overflow: hidden; position: absolute; top: 15%; z-index: 5;}
.news-section .swiper-slide:hover .thumb-img {top: 0;}
.news-section .thumb-img img {width: 100%; height: 100%; object-fit: cover;}
/* .news-section .txt-card {transition: transform 0.2s; transform: translateY(-60%); position: relative; padding: 40px 30px; border-radius: 50px; background:#171717; color:#fff; z-index: 0;} */
/* .news-section .swiper-slide:hover .txt-card {transform: translateY(-20%);} */
.news-section .txt-card {transition: top 0.2s; padding: 40px 30px; border-radius: 50px; background:#171717; color:#fff; z-index: 0; position: absolute; bottom: 15%; left: 0; z-index: 10;}
.news-section .swiper-slide:hover .txt-card {bottom: 0;}
.news-section .txt-card::before {content:""; position:absolute; inset:0; border-radius: inherit; padding: 2px; background: linear-gradient(135deg,#1362EB,#5290FB,#65F665); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity:0; transition: opacity .3s ease; z-index:-1;}
.news-section .swiper-slide:hover .txt-card::before {opacity:1;}
.news-section .txt-card > * {position:relative; z-index:1;}
.news-section .txt-card .date {display:inline-flex; align-items:center; justify-content:center; padding: 0 20px; height:44px; border-radius: 22px; border:1px solid #fff; font-size:16px; font-weight: 600; margin-bottom:40px;}
.news-section .swiper-slide:hover .txt-card .date {background: linear-gradient(135deg,#1362EB,#5290FB,#65F665); border-color:transparent;}
.news-section .txt-card .tit {margin-bottom: 20px; font-size: 22px; font-weight: 500; line-height:1.6; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.news-section .txt-card .cont {font-size: 18px; color:#C5C5C5; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;}
.news-section .news-slide .swiper-btn svg {z-index: 10; cursor:pointer; pointer-events:auto; position: absolute; top: 50%; transform: translateY(-50%);}
.news-section .news-slide .swiper-btn svg.prev {left: 0;}
.news-section .news-slide .swiper-btn svg.next {right: 0;}

.slogan-section {text-align: center;}
.slogan-section p {font-size: 40px; font-weight: 600; line-height: 60px; color: #fff; margin-bottom: 16px;}
.slogan-section img {width: 300px;}

/* 슬라이드 공통 */
.swiper-btn svg {transition: fill 0.2s;}
.swiper-btn svg:hover {fill: rgba(255,255,255,0.2);}

@keyframes portfolioImgPan {
    0% {
        object-position: top;
    }
    100% {
        object-position: bottom;
    }
}

/* 반응형 */
@media screen and (max-width: 1440px) {
	.main-container .section-tit h2 {font-size: 44px;}
	.portfolio-slide .swiper-slide .slide-right .counter-txt p {font-size: 28px;}
	.portfolio-slide .swiper-slide .slide-right .counter-txt p span {font-size: 40px;}
	.news-slide.inner {width: calc(100% - 120px);}
	.news-section .thumb-img {aspect-ratio: 490/330;}
}
@media screen and (max-width: 1280px) {
  .main-section .main-tit h2 {font-size: 44px;}
  .main-section .main-tit p {font-size: 28px;}
	.news-slide.inner {width: calc(100% - 100px);}
	.news-section .thumb-img {aspect-ratio: 490/430;}
  .about-section h2 {font-size: 36px;}
  .about-section .about-p {font-size: 28px;}
  .about-card-wrap .card {padding: 50px 30px;}
  .about-card-wrap .card img {width: 80px;}
  .inquiry-wrap li a {padding: 0 35px;}
}
@media screen and (max-width: 1024px) {
  .main-section {min-height: 700px;}
	.main-container .section-tit {flex-direction: column; align-items: flex-start; row-gap: 20px;}
	.main-container .section-tit .round-btn {margin-left: auto;}
  .service-slide .swiper-slide .txt-wrap p {word-break: keep-all;}
  .service-slide .swiper-slide .txt-wrap p br {display: none;} 
	.news-slide.inner {width: calc(100% - 80px); padding: 0;}
	.news-section .news-slide::after, .news-section .news-slide::before {display: none;}
	.news-section .news-slide .swiper-btn {margin-top: 10px; display: flex; align-items: center; justify-content: flex-end; column-gap: 20px;}
	.news-section .news-slide .swiper-btn svg {position: unset; transform: unset;}
	.news-section .thumb-img {aspect-ratio: unset; width: 100%; height: 60%;}
	.news-section .txt-card .date {margin-bottom: 20px;}
	.news-section .txt-card .tit {-webkit-line-clamp: 2;}
	.news-section .txt-card .cont  {-webkit-line-clamp: 4;}
  .about-card-wrap .card p {font-size: 18px;}
}
@media screen and (max-width: 768px) {
  .main-section {min-height: 750px;}
  .main-section .main-visual-content {display: flex; flex-direction: column; row-gap: 65px; align-items: center;}
  .main-section .btn-wrap {flex-direction: column; row-gap: 16px;}
  .main-section .btn-wrap .round-btn {width: 215px; justify-content: space-between;}
  .main-section .main-tit {margin-top: 0; margin-bottom: 0;}
  .main-section .main-tit h2 {font-size: 40px; text-align: center;}
  .main-section .main-tit p {font-size: 24px; text-align: center;}
  .main-section .main-tit span {font-size: 16px; text-align: center; width: 100%;}
  .scroll-icon-wrap {position: unset; transform: none;}
  .main-container .section:not(:last-child) {margin-bottom: 120px;}
  .main-container .section-tit h2 {font-size: 40px;}
  .portfolio-slide {padding-bottom: 74px;}
  .portfolio-slide .swiper-slide {flex-direction: column-reverse; align-items: center;}
  .portfolio-slide .swiper-slide .slide-left {width: 100%;}
  .portfolio-slide .swiper-slide .slide-left .pc-img {display: none;}
  .portfolio-slide .swiper-slide .slide-left .info-wrap .txt-wrap p,
  .portfolio-slide .swiper-slide .slide-left .info-wrap .txt-wrap h3 {text-align: center;}
  .portfolio-slide .swiper-slide .slide-left .info-wrap {justify-content: center;}
  .portfolio-slide .swiper-slide .slide-right {width: 100%; display: flex; flex-direction: column; align-items: center;}
  .portfolio-slide .swiper-slide .slide-right .counter-txt {align-items: center;}
  .portfolio-slide .swiper-btn {left: 50%; transform: translateX(-50%);}
  .about-section {padding: 60px 0;}
	.about-section h2 {word-break: keep-all; font-size: 20px; line-height: 30px;}
  .about-section h2 br {display: none;}
  .about-card-wrap {flex-direction: column; row-gap: 24px;}
	.about-card-wrap .card {width: 100%; padding: 30px; aspect-ratio: unset; row-gap: 30px;}
	.about-card-wrap .card img{width: 50px;}
  .about-section .about-p {font-size: 22px;}
  .inquiry-wrap li a {flex-direction: column; row-gap: 20px; height: fit-content; padding: 15px 20px; align-items: flex-start;}
  .inquiry-wrap li .subject {width: 100%; flex: auto;}
  .inquiry-wrap li .answer-label {margin-left: auto;}
  .inquiry-wrap li:hover .name,
  .inquiry-wrap li:hover .date {background: linear-gradient(90deg, #1362EB 0%, #5290FB 50%, #65F665 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block;}
	.news-slide.inner {width: calc(100% - 60px);}
	.news-slide.inner {max-width: 600px;}
  .news-section .news-slide .news-ico {width: 130px;}
  .news-section .swiper-slide .thumb-img {top: 0;}
  .news-section .swiper-slide .txt-card {bottom: 0;}
  .slogan-section p {font-size: 24px;}
  .slogan-section img {width: 250px;}

}
@media screen and (max-width: 480px) {
  .main-section {min-height: unset; height: 100svh;}
  .main-section .btn-wrap {display: none;}
  .main-section .main-tit h2 {font-size: 36px;}
  .main-container .section-tit h2 {font-size: 36px;}
  .service-slide .swiper-slide .txt-wrap h3 {font-size: 18px;}
  .service-slide .swiper-slide .txt-wrap p {font-size: 15px;}
  .portfolio-slide .swiper-slide .slide-right .mo-img {border-radius: 40px 40px 50px 50px;}
  .about-section .about-p {font-size: 16px;}
  .news-section .news-slide .news-ico {width: 100px;}
  .news-section .news-slide .swiper-slide {height: calc(100vh - 150px); min-height: unset;}
	.slogan-section p {font-size: 20px;}
  .slogan-section img {width: 200px;}
}

/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */
/* 잘림방지 */