@charset "utf-8";

*{margin:0; padding: 0;}

/* 전체 슬라이더 컨테이너 */
.main_visual_slide {
  width: 100%;
  height: 100vh; /* 전체 화면 채우기 (원하면 고정 px로 변경 가능) */
  position: relative;
}

/* 각 슬라이드 */
.main_visual_slide .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

/* 슬라이드 이미지 */
.main_visual_slide .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.1);

}

.main_visual_slide .swiper-slide-active img{
  animation: slowZoom 8s ease-out forwards;
} 

@keyframes slowZoom {
  from { transform: scale(1.1); }
  to { transform: scale(1); }
}

/* 오버레이 텍스트 박스 */
.main_visual_slide .swiper-slide h2,
.main_visual_slide .swiper-slide p {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: left;
  z-index: 10;
  width: 90%;
  word-break: keep-all;
}

/* 제목 */
.main_visual_slide .swiper-slide h2 {
  top: 50%;
  transform: translate(-40%, -50%); /* 약간 위로 */
  color: #FFF;
  font-family: Pretendard;
  font-size: 56px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 72.8px */
  letter-spacing: 1.12px;
}

/* 설명 */
.main_visual_slide .swiper-slide p {
  top: 50%;
  transform: translate(-40%, -300%); /* 약간 아래 */
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}


.main_visual_slide .swiper-slide h2 b{
  font-size: 32px;
  font-weight: 600;
}

@media(max-width:1024px){
    .main_visual_slide{height: 80vw;}
    .main_visual_slide .swiper-slide h2{font-size: 40px;}
    .main_visual_slide .swiper-slide h2 b{font-size: 20px;}
}

@media(max-width:768px){
    .main_visual_slide{height: 80vw;}
    .main_visual_slide .swiper-slide h2{font-size: 28px;}
    .main_visual_slide .swiper-slide h2 b{font: 12px;}
}

/* 사업소개 =============================================================================*/

.business_section {width:100%; background:url('/img/business_section_bg.png') right center / cover no-repeat; display:flex; justify-content:center;
  padding: 60px 0;  /* 240px → 60px로 줄이기 */
  align-items: center;  /* 추가: 수직 중앙 정렬 */
  min-height: 100vh;  /* 추가: 최소 높이 보장 */
}
.business_section .business_box { display:flex; justify-content:space-between; align-items:flex-start; gap:60px;}

/* 왼쪽 탭 */
.business_section .business_tabs {width:320px; display:flex; flex-direction:column; gap:56px;}
.business_section .business_tabs h2 {font-size:48px; font-weight:700; color:#171717; line-height:1;}
.business_section .tab_menu {display:flex; flex-direction:column; gap:16px; list-style:none; padding:0; margin:0;}
.business_section .tab_menu li {padding:12px 16px; border-radius:4px; font-size:24px; font-weight:500; color:#5B5B5B; cursor:pointer; transition:0.3s; display:flex; align-items:center; justify-content:space-between;}
.business_section .tab_menu li.active {background:#444; color:#FAFAFA;}
.business_section .tab_menu li.active img {filter:brightness(0) invert(1);}
.business_section .tab_menu li:hover:not(.active) {background:#f3f3f3;}

/* 오른쪽 콘텐츠 */
.business_section .business_contents {width:880px; display:flex; flex-direction:column; gap:40px;}
.business_section .tab_content {display:none; flex-direction:column; gap:40px;}
.business_section .tab_content.active {display:flex;}
.business_section .img_box {width:100%; height:400px; border-radius:4px; overflow:hidden; position:relative;}
.business_section .img_box img {width:100%; height:100%; object-fit:cover;}
.business_section .text_box {display:flex; flex-direction:column; gap:8px; border:none; margin:0; padding:0;}
.business_section .text_box h3 {font-size:32px; font-weight:500; color:#171717;}
.business_section .text_box p {font-size:18px; color:#444; line-height:1.5;}
.business_line {width:1px; height:100%; background:rgba(102,102,102,0.3);}

.business_section .btn_more {display:flex; width:95px; height:20px; justify-content:space-between; align-items:center; border-radius:5px; border:1px solid var(--GREY-600,#5B5B5B); transition:all 0.5s ease; padding:10px 20px;}
.business_section .btn_more img { filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%);}

.business_section .btn_more:hover img {filter:unset;}
.business_section .btn_more span {
  color: var(--GREY-900, #171717);
  /* Label 1/Normal - Medium */
  font-family: Pretendard;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 14px */
  letter-spacing: 0.07px;
}

.business_section .btn_more:hover img { filter: brightness(0) invert(1);}
.business_section .btn_more .arrow_icon {width:24px; height:24px; position:relative;}
.business_section .btn_more .arrow_icon::after {content:""; position:absolute; left:8.25px; top:3.75px; width:9px; height:16.5px; background:#fff; transition:0.3s;}
.business_section .btn_more:hover {background:#000000;}
.business_section .btn_more:hover span {color:#ffffff;}
.business_section .btn_more:hover .arrow_icon::after {background:#000; transform:translateX(2px);}


/* =============================
   ✅ 반응형
============================= */

/* 1400px ↓ */
@media (max-width:1400px) {
  .business_section {}
  .business_section .business_box {gap:40px;}
  .business_section .business_tabs h2 {font-size:42px;}
  .business_section .tab_menu li {font-size:22px;}
  .business_section .business_contents {width:760px;}
  .business_section .img_box {height:360px;}
}

/* 1024px ↓ */
/* 1000px ↓ */
@media (max-width:1024px) {
    .business_section .business_box {flex-direction:column; align-items:center; text-align:center; gap:20px;}
    .business_section .business_tabs {width:100%; align-items:center; gap:32px;}
    .business_section .business_tabs h2 {font-size:40px;}
    .business_section .tab_menu {display:grid; grid-template-columns:repeat(3,1fr); gap:12px; justify-items:center; width:100%;}
    .business_section .tab_menu li {width:80%; font-size:20px; padding:10px 14px; text-align:center; word-break: keep-all;}
    .business_section .business_contents {width:100%;}
    .business_section .img_box {height:340px;}
    .business_section .text_box h3 {font-size:28px;}
  }
  


    /* 자세히보기 섹션 ========================================== */
    .intro_section {width:100%; height:883px; display:flex; justify-content:space-between; align-items:center; background:url('/img/intro_section_bg.png') center center / cover no-repeat; overflow:hidden;}
    .intro_section .left_box {width:50%;}
    .intro_section .right_box {width:50%; display:flex; justify-content:center; align-items:center; padding:120px 80px;}
    .intro_section .text_wrap {display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:40px;}
    .intro_section .text_group {display:flex; flex-direction:column; gap:16px;}
    .intro_section .text_group h2 {color:#fff; font-size:32px; font-family:Pretendard; font-weight:500; line-height:1.3;}
    .intro_section .text_group p {color:#c7c7c7; font-size:18px; font-family:Pretendard; font-weight:400; line-height:1.6; letter-spacing:0.09px;}
    .intro_section .btn_more {display:flex; width:95px; height:20px; justify-content:space-between; align-items:center; border-radius:5px; border:1px solid var(--GREY-600,#5B5B5B); transition:all 0.5s ease; padding:10px 20px;background: rgba(0, 0, 0, 0.3);}
    .intro_section .btn_more img {filter:brightness(0) invert(1); transition:0.3s;}
    .intro_section .btn_more:hover img {filter:unset;}
    .intro_section .btn_more span {color:#fff; font-size:14px; font-family:Pretendard; font-weight:500; letter-spacing:0.07px;}
    .intro_section .btn_more .arrow_icon {width:24px; height:24px; position:relative;}
    .intro_section .btn_more .arrow_icon::after {content:""; position:absolute; left:8.25px; top:3.75px; width:9px; height:16.5px; background:#fff; transition:0.3s;}
    .intro_section .btn_more:hover {background:#fff;}
    .intro_section .btn_more:hover span {color:#000;}
    .intro_section .btn_more:hover .arrow_icon::after {background:#000; transform:translateX(2px);}
    
    /* ==================================
       ✅ 반응형 설정
    ================================== */
    
    /* 1400px ↓ */
    @media (max-width:1400px) {
      .intro_section {height:auto; flex-direction:row; padding:100px 0;}
      .intro_section .right_box {padding:100px 60px;}
      .intro_section .text_group h2 {font-size:28px;}
      .intro_section .text_group p {font-size:17px;}
    }
    
    /* 1024px ↓ */
    @media (max-width:1024px) {
      .intro_section {flex-direction:column; justify-content:center; align-items:center; text-align:center; height:auto;}
      .intro_section .left_box {width:100%; height:300px; background-position:center top;}
      .intro_section .right_box {width:100%; padding:80px 40px; justify-content:center;}
      .intro_section .text_wrap {align-items:center;}
      .intro_section .text_group h2 {font-size:40px;}
      .intro_section .text_group p {font-size:20px; line-height:1.6;}
      .intro_section .btn_more {margin:0 auto;
        width: 50%;
        display: flex; align-items: center; justify-content: center; gap: 30px;
    }
    }
    
    /* 768px ↓ */
    @media (max-width:768px) {
      .intro_section .left_box {height:240px;}
      .intro_section .right_box {padding:60px 20px;}
    }
    
    /* 480px ↓ */
    @media (max-width:480px) {
      .intro_section .left_box {height:200px;}
      .intro_section .right_box {padding:40px 16px;}
    }
    
    
  
    /* 파트너 ================================================================*/
    .partner_section {width:100%;background:#FAFAFA;padding:120px 0;display:flex;flex-direction:column;align-items:center;}
    .partner_section .partner_box {display:flex;flex-direction:column;align-items:center;gap:56px;}
    .partner_section .partner_box h2 {color:#171717;font-size:48px;font-family:Pretendard;font-weight:700;line-height:1;text-align:center; word-break: keep-all;}
    .partner_section .partner_box .partner_list {background:#F6F6F6;border:1px solid #E6E6E6;border-radius:4px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;}
    .partner_section .partner_box .partner_list .partner_item {flex:0 1 calc(20% - 16px);height:200px;display:flex;justify-content:center;align-items:center;background:transparent;}
    .partner_section .partner_box .partner_list .partner_item img {width:120px;height:72px;object-fit:contain;}
    
    /* ✅ 반응형 */
    @media (max-width:1200px){
      .partner_section .partner_box .partner_list {width:100%; justify-content: flex-start;}
      .partner_section .partner_box .partner_list .partner_item {flex:0 1 calc(25% - 16px);}
    }
    
    @media (max-width:768px){
      .partner_section .partner_box .partner_list {gap:16px;}
      .partner_section .partner_box .partner_list .partner_item {flex:0 1 calc(50% - 12px);}
    }
    

    /* 오시는길============================================================ */

    /* 전체 섹션 */
.map_section_wrap { width: 100%; align-self: stretch; padding: 80px 0px; background: #FAFAFA; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1vh; }

/* 타이틀 */
.map_title { display: flex; flex-direction: column; justify-content: center; color: #171717; font-size: 48px; font-family: Pretendard; font-weight: 700; line-height: 48px; text-align: center; }

/* 내부 레이아웃 */
.map_container { overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 2vh; }

/* 지도 이미지 영역 */
.map_image_box { width: 100%; height: 540px; position: relative; overflow: hidden; border-radius: 4px; }
.map_image_box img { width: 100%; height: 100%; position: absolute; top: -64px; left: 0; object-fit: cover; }

/* 정보 전체 */
.map_info_wrap { width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 56px; }

/* 주소 정보 박스 */
.map_info_box { width: 100%; display: flex; flex-direction: column; gap: 12px; }

/* 주소 타이틀 라인 */
.map_info_header { display: inline-flex; align-items: center; gap: 12px; }

/* 아이콘 */
.map_icon { width: 32px; height: 32px; position: relative; }
.map_icon::before { content: ""; width: 22px; height: 28px; background: #343330; position: absolute; left: 5px; top: 2px; border-radius: 2px; }

/* 라벨 */
.map_label { color: #171717; font-size: 32px; font-family: Pretendard; font-weight: 500; line-height: 41.6px; }

/* 주소 텍스트 */
.map_address { color: #444444; font-size: 18px; font-family: Pretendard; font-weight: 400; line-height: 27px; letter-spacing: 0.09px; }

.root_daum_roughmap{width: 100% !important; height: 100% !important;}
.root_daum_roughmap .wrap_map{height: 100% !important;}

/* new 비즈니스 */
.business_intro_section { width: 100%; padding: 112px 0; background: #F5F5F5; position: relative; overflow: hidden; }
.business_intro_bg { position: absolute; width: 1372px; filter: blur(6px); pointer-events: none; opacity: 0.3; }
.business_intro_bg_1 { left: 1154px; top: 607px; }
.business_intro_bg_2 { left: 665px; top: 1001px; transform: rotate(180deg); }
.business_intro_container { max-width: 1400px; margin: 0 auto; padding: 0 20px; display: flex; flex-direction: column; align-items: center; gap: 2vh; position: relative; z-index: 1; }
.business_intro_header { width: 100%; display: flex; flex-direction: column; gap: 24px; }
.business_intro_title { color: #171717; font-size: 48px; font-family: 'Pretendard', sans-serif; font-weight: 700; line-height: 48px; margin: 0; text-align: left; }
.business_intro_subtitle { color: #27272A; font-size: 24px; font-family: 'Pretendard', sans-serif; font-weight: 400; line-height: 32px; margin: 0; }
.business_intro_content { width: 100%; display: flex; flex-direction: column; gap: 40px; }
.business_intro_row { display: flex; gap: 3vh; flex-wrap:wrap;}
.business_intro_card { flex: 1 1 calc(33.3% - 27px); display: flex; flex-direction: column; gap: 1vh; transition: transform 0.3s; }
.business_intro_card:hover { transform: translateY(-8px); cursor: pointer;}
.business_intro_image_wrapper { width: 100%; height: 22vh; border-radius: 8px; overflow: hidden; position: relative; }
.business_intro_image { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.business_intro_card_content { display: flex; flex-direction: column; gap: 4px; }
.business_intro_card_title { color: #171717; font-size: 24px; font-family: 'Pretendard', sans-serif; font-weight: 700; line-height: 32px; margin: 0; }
.business_intro_card_description { color: #404040; font-size: 18px; font-family: 'Pretendard', sans-serif; font-weight: 400; line-height: 28px; letter-spacing: -0.18px; margin: 0; }

@media (max-width: 1400px) {
  .business_intro_section { padding: 100px 0; }
  .business_intro_container { gap: 48px; }
  .business_intro_title { font-size: 42px; line-height: 42px; }
  .business_intro_subtitle { font-size: 22px; line-height: 30px; }
}

@media (max-width: 1200px) {
  .business_intro_section { padding: 80px 0; }
  .business_intro_bg { width: 1000px; height: 600px; }
  .business_intro_bg_1 { left: 800px; top: 400px; }
  .business_intro_bg_2 { left: 400px; top: 700px; }
  .business_intro_row { gap: 30px; }
  .business_intro_card { gap: 20px; }
}

@media (max-width: 968px) {
  .business_intro_section { padding: 60px 0; }
  .business_intro_container { gap: 40px; padding: 0 20px; }
  .business_intro_title { font-size: 36px; line-height: 40px; }
  .business_intro_subtitle { font-size: 18px; line-height: 26px; }
  .business_intro_content { gap: 30px; }
  .business_intro_row { flex-wrap: wrap; gap: 24px; }
  .business_intro_card { flex: 0 0 calc(50% - 12px); }
  .business_intro_image_wrapper { height: 240px; }
  .business_intro_card_title { font-size: 20px; line-height: 28px; }
  .business_intro_card_description { font-size: 16px; line-height: 24px; }
}

@media (max-width: 768px) {
  .business_intro_section { padding: 50px 0; }
  .business_intro_container { gap: 30px; padding: 0 15px; }
  .business_intro_title { font-size: 28px; line-height: 36px; }
  .business_intro_subtitle { font-size: 16px; line-height: 24px; }
  .business_intro_bg { display: none; }
}

@media (max-width: 480px) {
  .business_intro_section { padding: 40px 0; }
  .business_intro_title { font-size: 24px; line-height: 32px; }
  .business_intro_subtitle { font-size: 15px; line-height: 22px; }
  .business_intro_row { gap: 20px; }
  .business_intro_card { flex: 0 0 100%; }
  .business_intro_image_wrapper { height: 200px; }
  .business_intro_card_title { font-size: 18px; line-height: 24px; }
  .business_intro_card_description { font-size: 15px; line-height: 22px; }
}


/* Contact Info Box */
.contact_info_box {width: 100%; padding: 3vh; background: #F0F0F0; border-radius: 8px; box-sizing: border-box;}
.contact_info_inner { display: flex; flex-direction: column; gap: 3vh; }

/* Contact Info Section */
.contact_info_section { display: flex; gap: 24px; }

/* Header */
.contact_info_header { flex: 1; display: flex; align-items: flex-start ; gap: 4px; flex-direction: column;}
.contact_info_icon { width: 24px; height: 24px; flex-shrink: 0; }
.contact_info_title { color: #171717; font-size: 28px; font-family: 'Pretendard', sans-serif; font-weight: 500; line-height: 36px; margin: 0; 
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact_info_header p{font-size: 24px; font-weight: 500; padding-left: 36px;}

/* List */
.contact_info_list { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.contact_info_item { display: flex; gap: 40px; }
.contact_info_label { width: 155px; color: #444444; font-size: 18px; font-family: 'Pretendard', sans-serif; font-weight: 700; line-height: 27px; letter-spacing: 0.09px; flex-shrink: 0; display: flex; flex-direction: column;}
.contact_info_value { color: #444444; font-size: 18px; font-family: 'Pretendard', sans-serif; font-weight: 400; line-height: 27px; letter-spacing: 0.09px; }

/* Address Section */
.contact_info_address_wrap { display: flex; align-items: center; gap: 12px; }
.contact_info_address_header { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.contact_info_address_text { color: #444444; font-size: 18px; font-family: 'Pretendard', sans-serif; font-weight: 400; line-height: 27px; letter-spacing: 0.09px; margin: 0; }

/* Responsive */
@media (max-width: 1200px) {
  .contact_info_box { padding: 36px; }
  .contact_info_inner { gap: 48px; }
  .contact_info_title { font-size: 26px; line-height: 34px; }
  .contact_info_label { font-size: 17px; line-height: 26px; }
  .contact_info_value { font-size: 17px; line-height: 26px; }
  .contact_info_address_text { font-size: 17px; line-height: 26px; }
  .contact_info_item{gap: 10px;}
}

@media (max-width: 968px) {
  .contact_info_box { padding: 32px; }
  .contact_info_inner { gap: 40px; }
  .contact_info_section { flex-direction: column; gap: 20px; }
  .contact_info_title { font-size: 24px; line-height: 31px; }
  .contact_info_label { font-size: 16px; line-height: 24px; width: 140px; }
  .contact_info_value { font-size: 16px; line-height: 24px; }
  .contact_info_address_wrap { flex-direction: column; align-items: flex-start; gap: 16px; }
  .contact_info_address_text { font-size: 16px; line-height: 24px; }
}

.m_logo_box{display: none;}

@media (max-width: 1024px) {
  .m_logo_box{
    display: flex;
    padding: 40px 0;
    margin: 0 auto;
    align-items: center; justify-content: center;          
  }
  
}

