/* 헤더 스타일 */
.main_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 85px;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  z-index: 1000;
  line-height: 85px;
}

.main_header:hover {
  background-color: #ffffff;
}

.main_header .inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.main_header .logo img {
  height: 33px;
  transition: filter 0.3s ease-in-out;
}

.main_header:hover .logo img {
  filter: grayscale(0%);
}


.main_banner h2 {
  font-size: 24px;
    margin: 0 auto 0;
	text-align:center;

  }

  .main_banner h2 {
    margin: 200px auto 0;
    color: #fff;
    font-weight: 700;
}
.main_banner img {
    margin: 0 auto 15px;
    width: 50%;
	min-width: 300px;
    display: block;
}

.main_header .nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}

.main_header .nav .menu_center {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  gap: 60px;
}

.main_header .nav .menu_center li a {
  text-decoration: none;
  color: #ffffff;
  font-size: 18px;
  transition: color 0.3s ease-in-out;
}

.main_header:hover .nav .menu_center li a {
  color: #000000;
}

.main_header .nav .menu_right {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}

.main_header .nav .menu_right li a {
  text-decoration: none;
  color: #ffffff;
  font-size: 18px;
  transition: color 0.3s ease-in-out;
}

.main_header:hover .nav .menu_right li a {
  color: #328bcb;
}


/* 서비스 박스 스타일 */
.service_boxes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.service_box {
  background-color: #fff;
  border: 2px solid #328bcb;
  border-radius: 20px;
  padding-left: 30px;
  text-align: left;
  margin-bottom: 120px;
}

.service_box h3 {
  font-size: 32px;
  font-weight: 700;
  color: #328bcb;
  margin-top: 107px;
  margin-bottom: 10px;
}

.service_box h4 {
  font-size: 24px;
  font-weight: 700;
  color: #328bcb;
  margin-bottom: 30px;
}

.service_box p {
  font-size: 16px;
  margin-bottom: 40px;
  color: #222222;
  line-height: 1.5;
}


/*부채꼴 */
.services .inquiry_link {
  font-size: 16px;
  color: #222222;
  display: inline-flex;
  font-weight: 700;
  align-items: center;
  margin-bottom: 50px;
  transition: color 0.3s;

}

.services .inquiry_link img {
  margin-left: 10px;
  width: 16px;
  height: auto;
  transition: transform 0.3s;
}

.services .inquiry_link:hover {
  color: #328bcb;
}


.services .inner .service_boxes {

  justify-content: center;
  position: relative;
 transition: all 1.2s ease-in-out;
 margin: 0 16px;
}


.service_box {
  transform-origin: bottom center;
  transition: all 1.2s ease-in-out; 
    transform: rotate(0deg);
}

.service_box {
  transform-origin: bottom center;
  transition: all 0.5s ease;
}
/* 각 service_box의 회전각도 설정 */
.service_boxes.folded .service_box:nth-child(1) { 
  transform: rotate(0deg) translateX(400px) translateY(0); 
   z-index: 4;
}
.service_boxes.folded .service_box:nth-child(2) { 
  transform: rotate(5deg) translateX(100px); 
   z-index: 3;
}
.service_boxes.folded .service_box:nth-child(3) { 
  transform: rotate(10deg) translateX(-200px) translateY(50px); 
   z-index: 2;
}
.service_boxes.folded .service_box:nth-child(4) { 
  transform: rotate(15deg) translateX(-500px)  translateY(150px); 
   z-index: 1;
}

/* 포트폴리오 아이템 */
.portfolio {
  background-color: #fff;
  text-align: center;
  margin-top: 165px;
  margin-bottom: 120px;
} 

.portfolio_items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin: 0 16px;
}

.portfolio_item {
  position: relative;
  overflow: hidden;
}

.portfolio_item img {
  width: 100%;
  display: block;
  transition: transform 0.3s ease;
}

.portfolio_hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.portfolio_item:hover .portfolio_hover {
  opacity: 1;
}

.portfolio_hover p {
  position: absolute;
  bottom: 0;
  left: 30px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  color: #ffff;
}


/* 공통 푸터 스타일 */
.main_footer {
  position: relative;
  width: 100%;
  height: 300px;
  background-color: #000;
  color: #fff;
  overflow: hidden;
}
.main_footer .inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

/* 회색 로고 롤링 애니메이션 */
.main_footer .rolling_logos {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-top: 45px;
}

.main_footer .rolling_logos .logos {
  gap: 100px;
  display: flex;
  animation: roll 10s linear infinite;
}

.main_footer .rolling_logos .logos img {
  width: 220px;
  height: 72px;
}

/* 애니메이션 키프레임 */
@keyframes roll {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}

/* 푸터 텍스트 */
.main_footer .footer_content {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 33px;
}

.main_footer .footer_content span {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #fff;
}

.main_footer .footer_content p {
  font-size: 14px;
  color: #bfbfbf;
  margin-top: 19px;
}

/* 공통 플로팅 버튼 */
.floating_buttons {
  position: fixed;
  bottom: 50px;
  right: 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 1000;
}

/* 견적문의 버튼 스타일 */
.inquiry_button {
  width: 68px;
  height: 68px;
  background: linear-gradient(45deg, #ff00ff, #00aaff);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.inquiry_button img {
  width: 30px;
  height: 30px;
}

.inquiry_button span {
  position: absolute;
  top: -25px;
  font-size: 16px;
  color: #e62aff;
  font-weight: 700;
}

/* TOP 버튼 스타일 */
.top_button {
  width: 60px;
  height: 60px;
  background: #f3f3f3;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  
}

.top_button img {
  width: 20px;
  height: 20px;

}

.top_button span {
  position: absolute;
  bottom: 10px;
  font-size: 14px;
  color: #000;
  font-weight: 700;
  
}

/* 기본 스타일 유지 */

@media screen and (max-width: 1024px) {

  /* 태블릿 (1024px 이하) */



  /* 헤더 */

  .main_header {

 

  top: 0;

  left: 0;

  width: 100%;

  height: 85px;

  background-color: rgba(0, 0, 0, 0.2);

  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  z-index: 1000;

  line-height: 85px;




}



.main_header:hover {

  background-color: #ffffff;

}



.main_header .inner {

  max-width: 1400px;

  margin: 0 auto; 

  display: flex;

  justify-content: space-between;

  align-items: center;

}



.main_header .logo img {

/*transform: translate(-150px, 0);  /* X축 -20px, Y축 -60px 동시 이동 */
  transition: filter 0.3s ease-in-out;

}



.main_header:hover .logo img {

  filter: grayscale(0%);

}



.main_header .nav {

  display: flex;

  justify-content: space-between;

  width: 100%;

  align-items: center;

 flex-wrap: nowrap;  /* 줄바꿈 방지 */
 white-space: normal;  /* 설명 텍스트는 필요시 줄바꿈 허용 */
    word-break: keep-all;  /* 단어 단위로 줄바꿈 */
  /*  line-height: 1.5;   줄 간격 설정 */

}



.main_header .nav .menu_center {

  list-style: none;

  display: flex;

  justify-content: center;

  margin: 0 auto;

  padding: 0;

  gap: 20px;

}



.main_header .nav .menu_center li a {

  text-decoration: none;

  color: #ffffff;

  font-size: 18px;

  transition: color 0.3s ease-in-out;

}



.main_header:hover .nav .menu_center li a {

  color: #000000;

}



.main_header .nav .menu_right {

  list-style: none;

  display: flex;

  margin: 0;

  padding: 0 10px;

}



.main_header .nav .menu_right li a {

  text-decoration: none;

  color: #ffffff;

  font-size: 18px;

  transition: color 0.3s ease-in-out;

}



.main_header:hover .nav .menu_right li a {

  color: #328bcb;

}


.portfolio_items {
    grid-template-columns: repeat(2, 1fr);
    
}


  /* 푸터 */

  .main_footer .inner {

    padding: 20px;

    flex-direction: column;

    gap: 20px;

    height: auto;

  }



  .main_footer .footer_content {

    flex-direction: column;

    align-items: center;

    text-align: center;

  }



  .main_footer .rolling_logos .logos img {

    width: 180px; /* 로고 크기 축소 */

  }

}



@media screen and (max-width: 768px) {

  /* 모바일 (768px 이하) */



  /* 헤더 */

  .main_header {

  /*  height: auto;  높이를 콘텐츠에 맞게 조정 */

    line-height: initial;
	/* padding: 30px 0; */

  }



  .main_header .inner {
        flex-direction: column;
        margin: 10px auto 0;
        display: flex
;
        align-items: flex-start;
        height: 70px;
        padding: 0;

  }



  


  .main_header .nav {
	width: 100%;
	display: flex;
	position: relative;  /* absolute 포지셔닝 제거 */
  }



  .main_header .nav .menu_center {

  margin-top: 20px;
        margin-bottom: 20px;
	
    flex: 1;  /* 남은 공간 차지 */
    gap: 5px; /* 메뉴 간격 줄이기 */
  /* 가로 배치 명시 */
  }



  .main_header .nav .menu_center li a,

  .main_header .nav .menu_right li a {
	display: inline-block;  /* 인라인 블록으로 변경 */
    white-space: nowrap;  /* 텍스트 줄바꿈 방지 */
    font-size: 14px; /* 텍스트 크기 축소 */
	 flex-direction: row;  /* 가로 배치 */
	 flex-shrink: 0;  /* 축소 방지 */

  }

.main_header .nav .menu_right{
    width: 100%;  /* 전체 너비 사용 */
    padding: 0;  /* 좌우 여백 추가 */
    box-sizing: border-box;
    justify-content: flex-end;
	 position: static;  /* absolute 포지셔닝 제거 */
	 flex-direction: row;  /* 가로 배치 */
	width: auto;  /* width: 100%에서 변경 */
	 flex-wrap: nowrap;  /* 줄바꿈 방지 */
    white-space: nowrap;  /* 텍스트 줄바꿈 방지 */
 }


.main_header .logo img {
        margin: 0;
        height: 14px;
        transition: filter 0.3s ease-in-out;
        display: flex
;
        justify-content: center;
        margin-left: 20px;
        transform: translate(0, 0);
    }

.portfolio_items {
    grid-template-columns: repeat(2, 1fr);
    
}


  /* 푸터 */

  .main_footer {

    height: auto; /* 콘텐츠 높이에 맞게 조정 */

    padding: 20px;

  }



  .main_footer .inner {

    gap: 15px;
  
  }



  .main_footer .rolling_logos .logos img {

    width: 150px; /* 로고 크기 축소 */

  }



  .main_footer .footer_content {

    flex-direction: column;

    text-align: center;

  }



  .main_footer .footer_content span,

  .main_footer .footer_content p {

    font-size: 14px; /* 텍스트 크기 축소 */

  }

}



@media screen and (max-width: 620px) {

  /* 작은 모바일 (480px 이하) */



  /* 헤더 */

  .main_header {
	 height: auto; /* line-height 초기화 */
	 line-height: 1;  /* line-height 초기화 */
     padding: 0;
	
	/* position: relative; */
	 z-index: 1002;  /* menu_right보다 높은 z-index */
	 flex-direction: column;  /* 세로 배치 */
	display: flex;




  }


  


   .main_header .logo img {
    /* margin: 0;  auto 마진 제거 */
	margin: 0  ;
    height: 14px;
    transition: filter 0.3s ease-in-out;
	display: flex;
	justify-content: center; 
	margin-left: 20px;
	transform: translate(0, 0);  X축 -20px, Y축 -60px 동시 이동 */
}

.main_header .nav {
	list-style: none;
	display: flex;
	width: 100%;
	font-size: 12px;
	padding: 50px 0 10px;
	margin-top: -1px;  /*	 위로 10px 올리기 위해 negative margin 사용 */
   
	
}


  .main_header .nav .menu_center li a,

  .main_header .nav .menu_right li a {

	display: flex;
	width: 100%;
    font-size: 12px;  /* 텍스트 크기 축소 */
	color: inherit;  /* 호버 효과 제거 */
    transition: none;  /* 트랜지션 효과 제거 */

  }

  .main_header .nav .menu_center {
  margin-top: 20px;
  margin-bottom: 20px;
	align-items: left;
   display: flex;
   justify-content: center;
	transform: translate(-95px,-40px); /* X축 -20px, Y축 -60px 동시 이동 */
color: #fff;
  }

  .main_header .nav .menu_right {
   
	justify-content: flex-start;
    order: -2;
	z-index: 1001;  /* main_header의 z-index보다 높게 설정 */
	padding: 0 35px;
    flex-direction: row;
   /*  justify-content: flex-end;  또는 flex-end로 설정 가능 */
    display: flex;
	transform: translate(340px, -80px);  /* X축 -20px, Y축 -60px 동시 이동 */
    left: 20px;  /* 왼쪽 여백 조정 */
   
  }

  /* 이너 */

.main_banner {
width: 500px;
}

.main_banner img {
	margin: 0 auto -20px;
	width: 80%;
}

.main_banner h2 {
  font-size: 20px;
  margin-left: 20px; 
    margin-right: 20px;
  }
  .mian_banner_text {
    font-size: 12px;
  }

  .service_boxes, .protfolio_items {
    display: block;
	margin: 0 auto;
;}

.portfolio_items {

  grid-template-columns: none;

}

  /* 푸터 */

  .main_footer .inner {

    gap: 10px;

  }



  .main_footer .rolling_logos .logos img {

    width: 120px; /* 로고 크기 축소 */

  }



  .main_footer .footer_content span,

  .main_footer .footer_content p {

    font-size: 12px; /* 텍스트 크기 축소 */

  }

}
