
span.dotcolor { 
    color: #541b86; 
}

 span.size-32 { 
    font-size: 2rem; 
}


 span.size-24 { 
    font-size: 1.4rem; 
}

#mainVisual { 
    width: 100vw; 
    height: 100vh; 
    background-color: #000; 
    position: relative; 
    
}

#mainVisual .inner .titWrap {
	width: 80vw;
	margin: 0 auto;
	padding: 4%;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
    align-items: flex-end;
	gap: 4vw;
}


#mainVisual h2 { 
    font-family: "gill-sans-nova"; 
    font-size: 4rem; 
    font-weight: 500; 
	letter-spacing: -2px;
	width: 40vw;
	word-break: keep-all;
	color: #fff; 
}


#mainVisual #logovideo { 
    position: absolute; 
    right: 8vw; 
    top: 50vh;
}

#mainVisual .kotxt {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.6;
	width: 34vw;
	word-break: keep-all;
	margin-top: 6vh;
	color: #999;
}

#mainVisual .kotxt span {
	color: #fff;
}


#mainVisual .kotxt span.font {
	 font-family: "gill-sans-nova";
}


#mainVisual p.txt { 
    text-align: right; 
    line-height: 1.4; 
    font-size: 1rem; 
	word-break: keep-all;
	color: #999;
}

#mainVisual .scroll { 
    position: absolute; 
    right: 10vw; 
    bottom: 12vh; 
    text-align: center; 
    color: #999; 
    font-size: 0.8rem; 
}


#mainVisual .scroll span.scrollimg {  
    animation: scrollDown-ani 2s infinite; 
}

@keyframes scrollDown-ani {
  0% {
      opacity: 0;
  }

  50% {
      transform: translateY(-6px);
      opacity: 1;
  }

  to {
      opacity: 0;
  }
}


#company { 
   background-color: #000;
   width: 100vw;
    height: 100vh; 
    padding-top: 20vh; 
	padding-bottom: 20vh;
	/* background-color: #541b86;
	background-image: linear-gradient(0deg, #000 0%, #541b86 60%, #000 100%); */

}

#company .inner { 
    width: 72vw;  
    margin: 0 auto; 
 }


 #company .inner .comwrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	margin-left: 8vw;
	margin-top: 4vh;
 }

#company .inner h4 { 
    font-family: "Montserrat"; 
    font-size: 3rem; 
    color: #f5f5f7; 
    font-weight: 300; 
    line-height: 1.2; 
}

#company .inner .companyDown { 
    color: #fff; 
    padding: 12px 32px; 
    background-color: #1f1f1f; 
    border-radius: 4px; 
    font-weight: 500; 
	box-sizing: border-box; 
}

#company .inner .companyDown:hover { 
    background-color: #541b86; 
}

#company .inner .cont1Wrap { 
    color: #fff; 
    display: flex; 
    flex-wrap: wrap; 
    gap: 4vw; 
	margin-left: 8vw;
	margin-top: 16vh;
}

#company .inner .cont1Wrap .item {
	width: 28vw;
	word-break: keep-all;
}

#company .inner .cont1Wrap .item .txtL { 
    font-size: 1.8rem; 
    margin-bottom: 2vh; 
    font-weight: 500;
	line-height: 0.6;
}

#company .inner .cont1Wrap .item .txtL .dotcolor { 
    font-size: 2.8rem; 
}

#company .inner .cont1Wrap .item .itemtxt { 
    color: #999; 
    line-height: 1.4;
}




#portfolio { 
	width: 100vw;
    background-color: #000; 
    height: 72vh; 
    padding-top: 8vh; 
}


#portfolio .inner { 
    color: #fff; 
    width: 90vw;
     margin: 0 auto; 
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
     gap: 5vw;
}

#portfolio .inner p.tit { 
    font-size: 6rem;
    font-weight: 100; 
    font-family: "Montserrat";
}

#portfolio .inner p.titbold {
    font-size: 6rem;
    font-weight: 700;
    font-family: "Montserrat";
}

#portfolio .inner .imgWrap {
    width: 32vw;
    height: 40vh;
	object-fit: cover;
    overflow: hidden;
}

#portfolio .inner .imgWrap .imgbox {
    width: 32vw;
    height: 40vh;
    display: flex;
   /*  flex-wrap: wrap; */
    justify-content: center;
    align-items: center;
}

#portfolio .inner .imgWrap .imgbox p {
    font-size: 2rem;
	word-break: keep-all;
	line-height: 1.6;
	text-align: center;
}

#portfolio .inner .imgWrap .imgbox1 {
    background: url("/home/images/img1.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox2 {
    background: url("/home/images/img2.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox3 {
    background: url("/home/images/img3.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox4 {
    background: url("/home/images/img4.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox5 {
    background: url("/home/images/img5.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox6 {
    background: url("/home/images/img6.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox7 {
    background: url("/home/images/img7.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}

#portfolio .inner .imgWrap .imgbox8 {
    background: url("/home/images/img8.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}


#portfolio .inner .imgWrap .imgbox10 {
    background: url("/home/images/img10.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}


#portfolio .inner .imgWrap .imgbox11 {
    background: url("/home/images/img11.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}


#portfolio .inner .imgWrap .imgbox12 {
    background: url("/home/images/img12.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}


#portfolio .inner .imgWrap .imgbox13 {
    background: url("/home/images/img13.jpg")no-repeat center center/cover, rgba(0, 0, 0, 0.6);
    background-blend-mode: multiply;
}





#client {
	box-sizing: border-box;
	height: 70vh;

}

#client .inner {
	width: 100vw;
	margin: 0 auto;
	overflow: hidden;
}


#client .inner .container {
	width: 100vw;
    display: flex;
    gap: 1vw;
}


#client .inner .container .item img {
	border-radius: 1vw;
	width: 240px;
}


#client .inner .container-left {
   margin-top: 10vh;
}

#client .inner .container-right {
   margin-top: 3vh;
	flex-direction: row-reverse;
}


 #client .inner .container .leftimg {
    animation: moveBackAndForth 30s linear infinite;
}

  
  @keyframes moveBackAndForth {
    0% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(-400px); /* 움직일 거리 지정 */
    }
    100% {
      transform: translateX(0);
    }
  }
  
  /* 오른쪽 이미지는 반대 방향으로 움직이기 */
 #client .inner .container .rightimg {
	 flex-direction: row-reverse;
    animation: moveBackAndForthRight 30s linear infinite; 

  }
  
  @keyframes moveBackAndForthRight {
    0% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(400px); /* 움직일 거리 지정 */
    }
    100% {
      transform: translateX(0);
    }
  }


#news {
	width: 80vw;
	margin: 0 auto;
	overflow: hidden;

}

#news .inner {
	
}

#news .inner p.cont_tit {
	font-size: 4rem;
	font-family: "Montserrat"; 
	margin-bottom:6vh;
}

#news .inner .swiper {
      width: 100%;
      height: 100%;
}

#news .inner .swiper-slide {
      text-align: center;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
 }

#news .inner .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
 }

#news .swiper-wrapper .swiper-slide {
	display: flex;
	flex-direction: column;
	gap: 4vh;
}

#news .swiper-wrapper .swiper-slide .cont {
	width: 100%;
}


#news .swiper-wrapper .swiper-slide .cont .category { 
	color: #541b86; 
	font-weight: 600;
}	


#news .swiper-wrapper .swiper-slide .cont .info {
	display: flex;
	flex-wrap: wrap;
	 justify-content: space-between;
}


#news .swiper-wrapper .swiper-slide .cont .date { 
	color: #666; 
}	

#news .swiper-wrapper .swiper-slide .cont p.tit {
	font-size: 1.2rem;
	line-height: 2;
	text-align: left;
}	

#contactWrap  {
	/* height: 100vh; */
	padding-top: 24vh;
	padding-bottom: 24vh;
	box-sizing: border-box;
}

#contactWrap .inner {
	width: 100vw;
	display: flex;
	justify-content: center;
    align-items: center;
}

#contactWrap .inner .mapWrap {
	width: 53vw;
	height: 500px;
	overflow: hidden;
}

#contactWrap .contactUs  {
	padding: 4%
}

#contactWrap .contactUs p.tit {
	font-size: 4rem;
	font-family: "Montserrat"; 
}

#contactWrap .contactUs .info {
	margin-top: 5vh;
	font-size: 1.3rem;
	line-height: 1.6;
	word-break: keep-all;
}

#contactWrap .contactUs .info p:last-child {
	margin-top: 4vh;
}

#contactWrap .contactUs .info p span{
	color: #541b86;
	font-weight: 600;
}

#contactWrap .contactUs .btnWrap {
	display: flex;
	gap: 2vh;
	margin-top: 4vh;
}


#contactWrap .contactUs .btnWrap .btn a {
	color: #fff;
	font-weight: 500;
	font-size: 1.2rem;
	width: 240px;
	height: 50px;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	gap: 2vh;
}

#contactWrap .contactUs .btnWrap .btn-contactUs {
		background-color: #541b86;
			border-radius: 4px;
}

#contactWrap .contactUs .btnWrap .btn-company {
		background-color: #333;
			border-radius: 4px;
}




  @media screen and (max-width: 576px) {

	#mainVisual .inner .titWrap {
		width: 80vw;
		padding: 14% 2%;
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 2vh;
	}

	
	#mainVisual .kotxt  {
		width: 80vw;
		font-size: 1rem;
	}

	#mainVisual p.txt {
		font-size: 0.9rem;
	}


	#mainVisual h2 { 
		font-size: 2.8rem; 
		letter-spacing: -2px;
		width: 68vw;
	}


	#mainVisual #logovideo { 
		position: absolute; 
		right: 10vw; 
		top: 72vh;
		width: 80%;
	}


	#company .inner .comwrap {
		gap: 6vh;
	 }

	#company .inner .cont_logo {
		width: 200px;
	}

	
	#company .inner h4 { 
		font-size: 2rem; 
	}

	#company .inner .cont1Wrap { 
		flex-direction: column;
		margin-top: 10vh;
		gap: 6vh;
	}

	#company .inner .cont1Wrap .item {
		width: 70vw;
	}

	#company .inner .cont1Wrap .item .txtL { 
		font-size: 1.3rem;
		margin-bottom: 4vh; 
	}

	
	#portfolio {
		height: 100vh;
		padding-top:50vh;
	
	} 

	#portfolio .inner { 
		flex-direction: column;
		 gap: 10vw;
	}

	#portfolio .inner .imgWrap {
		width: 80vw;
		object-fit: cover;
		
	}


	#portfolio .inner p.tit { 
		font-size: 4rem;
	}

	#portfolio .inner p.titbold {
		font-size: 4rem;
	}

	#portfolio .inner .imgWrap .imgbox p {
		font-size: 1.2rem;

	}

	#client {
		height: 50vh;
	}


	#client .inner .container .item img {
		width: 160px;
	}


	#news .inner p.cont_tit {
		font-size: 3rem;
		margin-bottom: 4vh;
	}


	#news .swiper-wrapper .swiper-slide .cont .category {
		margin-bottom: 2vh;
	}

	#news .swiper-wrapper .swiper-slide .cont p.tit {
		line-height: 1.2;
	}

	#contactWrap .inner {
		flex-direction: column;
	}

	#contactWrap .contactUs {
		padding: 12%;
	}

	#contactWrap .inner .mapWrap {
		width: 80vw;
		height: 50vh;
	}

	#contactWrap .contactUs p.tit {
		font-size: 3rem;
	}

	#contactWrap .contactUs .info {
		font-size: 1rem;
	}


	#contactWrap .contactUs .btnWrap { 
		flex-direction: column;
		justify-content: space-between;
	}

	#contactWrap .contactUs .btnWrap .btn a {
		font-size: 1rem;
		width: 100%;
	}




}


@media screen and (min-width: 577px) and (max-width: 768px) {

	#mainVisual .inner .titWrap {
		width: 70vw;
		padding: 8% 2%;
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 6vh;
	}

	
	#mainVisual .kotxt  {
		width: 60vw;
		font-size: 1.1rem;
	}

	#mainVisual p.txt {
		font-size: 0.9rem;
	}


	#mainVisual h2 { 
		font-size: 2.6rem; 
		letter-spacing: -2px;
		width: 80vw;
	}

	#mainVisual #logovideo { 
		position: absolute; 
		right: 14vw; 
		top: 61vh;
		width: 80%;
	}

	#company .inner { 
		width: 90vw;  
	 }

	 #company .inner .comwrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 4vh;
	 }

	 #company .inner .cont1Wrap { 
		flex-direction: column;
		margin-top: 12vh;
	}

	#company .inner .cont1Wrap .item {
		width: 70vw;
	}


	#company .inner .cont1Wrap .item .txtL { 
		font-size: 1.4rem; 
	}


	#portfolio {
		height: 100vh;
		padding-top:20vh;
	
	} 

	#portfolio .inner { 
		flex-direction: column;
		 gap: 10vw;
	}

	#portfolio .inner .imgWrap {
		width: 50vw;
		object-fit: cover;
		
	}


	#portfolio .inner p.tit { 
		font-size: 4rem;
	}

	#portfolio .inner p.titbold {
		font-size: 4rem;
	}

	#portfolio .inner .imgWrap .imgbox p {
		font-size: 1.4rem;

	}

	#client {
		height: 60vh;
	}


	#client .inner .container .item img {
		width: 160px;
	}

	#contactWrap .inner {
		flex-direction: column;
	}

	#contactWrap .inner .mapWrap {
		width: 80vw;
		height: 50vh;
	}

	#contactWrap .contactUs p.tit {
		font-size: 3rem;
	}

	#contactWrap .contactUs .info {
		font-size: 1rem;
	}

	#contactWrap .contactUs .btnWrap .btn a {
	font-size: 1rem;
	width: 200px;
	height: 50px;
}




}


@media screen and (min-width: 769px) and (max-width: 1024px) {
	#mainVisual .inner .titWrap {
		width: 60vw;
		padding: 9% 2%;
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 6vh;
	}

	
	#mainVisual .kotxt  {
		width: 60vw;
		font-size: 1.1rem;
	}


	#mainVisual h2 { 
		font-size: 3rem; 
		letter-spacing: -2px;
		width: 72vw;
	}


	 #mainVisual #logovideo { 
		right: 14vw; 
		top: 60vh;
		width: 80%;
	}


	#company .inner { 
		width: 90vw;  
	 }

	#company .inner .cont1Wrap .item {
		width: 36vw;
	}

	#company .inner .cont1Wrap .item .txtL { 
		font-size: 1.5rem; 
	}

	#portfolio .inner { 
		width: 84vw;
	}

	#portfolio .inner .imgWrap {
		width: 28vw;
		object-fit: cover;
	}

	
	#portfolio .inner p.tit { 
	  font-size: 3rem;
	}

	#portfolio .inner p.titbold {
		font-size: 3rem;
	}

	#portfolio .inner .imgWrap .imgbox p {
		font-size: 1.2rem;
	}

	#client {
		height: 60vh;
	}

	#client .inner .container .item img {
		width: 180px;
	}


	
	#contactWrap .inner {
		flex-direction: column;
	}

	#contactWrap .inner .mapWrap {
		width: 80vw;
		height: 50vh;
	}

	#contactWrap .contactUs p.tit {
		font-size: 2rem;
	}

	#contactWrap .contactUs .info {
		font-size: 1rem;
	}



}


@media screen and (min-width: 1025px) and (max-width: 1440px) {
	#mainVisual .inner .titWrap {
		width: 90vw;
		padding: 6% 2%;
		gap: 4vw;
	}

	#mainVisual .kotxt  {
		width: 40vw;
		font-size: 1.2rem;
	}

	#mainVisual p.txt {
		font-size: 1rem;
	}

	#mainVisual #logovideo { 
		position: absolute; 
		right: 8vw; 
		top: 56vh;
	}

	#mainVisual h2 { 
		font-size: 3.8rem; 
		width: 56vw;
	}


	#company .inner { 
		width: 80vw;  
	 }

	#company .inner .cont1Wrap .item {
		width: 34vw;
	}

	#company .inner .cont1Wrap .item .txtL { 
		font-size: 1.6rem; 
	}


	#portfolio .inner { 
		width: 80vw;
		 gap: 2vw;
	}

	#portfolio .inner .imgWrap {
		width: 30vw;

	}

	
	#portfolio .inner p.tit { 
	  font-size: 4rem;
	}

	#portfolio .inner p.titbold {
		font-size: 4rem;
	}

	#portfolio .inner .imgWrap .imgbox p {
		font-size: 1.4rem;
	}


	#client .inner .container .item img {
		width: 200px;
	}



	#contactWrap .contactUs p.tit {
		font-size: 3rem;
	}

	#contactWrap .contactUs .info {
		font-size: 1.2rem;
	}




}



@media screen and (min-width: 1441px) {

}


