#service {width:100%; margin:0 auto; overflow:hidden;}
#service p.txtP { padding-bottom:20px; font-size:20px;  line-height:35px; }
#service .sub_txt01 { padding:0 10px;}
#service div.icoBox {overflow:hidden; margin:40px 0 60px 0;}
#service section {padding:170px 35px 40px 35px; text-align:center; border:1px solid #dfdfdf; margin:1% 1%; width:22%; box-sizing:border-box; min-height:0px; float:left; }
#service section.ico1 {background:url("../img/img1.png")no-repeat center 40px;}
#service section.ico2 {background:url("../img/img2.png")no-repeat center 40px;}
#service section.ico3 {background:url("../img/img3.png")no-repeat center 40px;}
#service section.ico4 {background:url("../img/img4.png")no-repeat center 40px;}
#service section.ico5 {background:url("../img/img5.png")no-repeat center 40px;}
#service section.ico6 {background:url("../img/img6.png")no-repeat center 40px;}
#service div.tit {font-size:20px; padding-bottom:20px;}
#service div.txt {font-size:14px; }

#contentWrap #content {
    min-height: 500px;
    overflow: hidden;
    clear: both;
    max-width: none !important;
    margin: 0 auto;
    padding-top: 0px;
}

#wrap {
	width: 100%;
}

.scroll-container {
	display: flex;
	gap: 20px;
	overflow: hidden;
	justify-content: center;
	padding: 40px 0;
}

.scroll-image {

	width:80%;
	opacity: 0;
	transform: translateX(100px); /* Start off-screen to the right */
	transition: transform 1s ease-out, opacity 1s ease-out;
}

.scroll-image.visible {
	opacity: 1;
	transform: translateX(0); /* Move to its original position */
}

.affiliates-partners-wrap {
  margin: 36px 0 28px 0;
}
.partner-block {
  margin-bottom: 50px;
}
.partner-logos-title {
  font-size: 3.3rem;
  font-weight: bold;
  margin-bottom: 80px;
  letter-spacing: 0.02em;
  text-align: center;
  padding-left: 6px;
}
.partner-logos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px 12px;
  justify-items: center;
  align-items: center;
}
.partner-logo img {
  width: 100%;
  height: 250px;
  object-fit: contain;
  filter: grayscale(0.2) brightness(0.98);
  transition: filter 0.3s;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07);
  padding: 10px 15px;
}
.partner-logo img:hover {
  filter: grayscale(0) brightness(1.05);
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}


/* 등장 애니메이션 기본(숨김) */
.partner-block,
.partner-logo {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(.4,0,.2,1), transform 0.8s cubic-bezier(.4,0,.2,1);
}

.partner-block.visible {
  opacity: 1;
  transform: none;
}

.partner-logo.visible {
  opacity: 1;
  transform: none;
}

/* 로고 마우스 오버 효과 */
.partner-logo img {
  /* 기존 스타일 유지 */
  width: 100%;
  height: 250px;
  object-fit: contain;
  filter: grayscale(0.2) brightness(0.98);
  transition: filter 0.3s, transform 0.4s cubic-bezier(.4,0,.2,1), box-shadow 0.3s;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07);
  padding: 10px 15px;
  /* 추가 */
  will-change: transform, filter;
}

.partner-logo img:hover {
  filter: grayscale(0) brightness(1.07);
  box-shadow: 0 8px 32px rgba(0,0,0,0.14);
  transform: scale(1.07) translateY(-8px) rotate(-2deg);
  z-index: 2;
}


/*---------------------------------------
  MOBILE RESPONSIVE              
-----------------------------------------*/
@media (max-width: 1023px) {
#service {width:100%; }	
#service div.icoBox {padding:0 15px;}
}
@media (max-width: 900px) {
  .partner-logos-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-logo img { width: 90px; }
}
@media (max-width: 768px) {
#service section {width:100%;  margin:2% 0%;}	
}
@media (max-width: 640px) {
}
@media (max-width: 540px) {
  .partner-logos-grid { grid-template-columns: 1fr 1fr; }
  .partner-logo img { width: 80px; padding: 7px 8px; }
}
@media (max-width: 480px) {
}
@media (max-width: 320px) {
}

