/* ==============================
   메인 비주얼 Triple Slider
   ============================== */
  .main_visual_section { padding: 40px 0; }
  .main_visual_inner { width: 100%; max-width: 1640px; margin: 0 auto; }
  .main_visual_swiper { position: relative; width: 100%; overflow: visible; perspective: 1600px; }
  .main_visual_swiper .swiper-wrapper { align-items: center; }
  .main_visual_slide { position: relative; overflow: hidden; width: 1244px !important; height: 700px !important; margin: 0 auto; border-radius: 32px; background-color: #000; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); opacity: 0.35; filter: blur(4px); transition: transform 0.6s ease, opacity 0.6s ease, filter 0.6s ease, box-shadow 0.6s ease; backface-visibility: hidden; }
  .main_visual_slide.swiper-slide-active { opacity: 1; filter: blur(0); box-shadow: 0 32px 80px rgba(0, 0, 0, 0.25); }
  .main_visual_slide.swiper-slide-prev,
  .main_visual_slide.swiper-slide-next { opacity: 0.65; filter: blur(2px); }
  
  .main_visual_slide .mv_img { position: absolute; inset: 0; background-position: center center; background-size: cover; background-repeat: no-repeat; }
  .main_visual_slide--01 .mv_img { background-image: url('../images/main/main_visual01.jpg'); }
  .main_visual_slide--02 .mv_img { background-image: url('../images/main/main_visual02.jpg'); }
  .main_visual_slide--03 .mv_img { background-image: url('../images/main/main_visual03.jpg'); }
    /* YouTube iframe 16:9 비율 유지 - 전체 영역 사용 */

/* YouTube iframe 컨테이너 */
.main_visual_slide .video-container {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000;
  overflow: hidden;
}
.main_visual_slide .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: none;      /* ← translate/scale 제거 */
  border: 0;
}
  .main_visual_arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 25px; height: 47px; display: flex; align-items: center; justify-content: center; z-index: 20; }
  .main_visual_prev { left: 50%; margin-left: -670px; background: url(../images/main/swiper_next.png)no-repeat;}
  .main_visual_next { right: 50%; margin-right: -670px; background: url(../images/main/swiper_prev.png)no-repeat;}
  .main_visual_arrow i { font-size: 2.2rem; color: #22305c; }
  
  /* --------- 하단 네비게이션(점) --------- */
  .main_visual_bottom { margin-top: 24px; display: flex; justify-content: center; }
  .main_visual_pagination { display: flex; align-items: center; justify-content: center; gap: 8px; }
  .main_visual_pagination .main_visual_bullet { width: 11px; height: 11px; border-radius: 50%; border: none; }
  .main_visual_pagination .main_visual_bullet.swiper-pagination-bullet-active { background-color: #118ad6; }


  /* ==============================
   AIDX 콘텐츠 성과
   ============================== */

.main_two_section { background-color: #f6f6f6; padding: 120px 0 100px; }
.main_two_inner { max-width: 1400px; margin: 0 auto; }
.main_two_head { position: relative; width: 100%; margin-bottom: 32px; text-align: center; }
.main_two_title { font-size: 4.8rem; font-weight: 100; color: #222; text-align: center; font-family: 'YeogiOttaeJalnanGothic';  letter-spacing: 1px; }
.main_two_title span { color: #118ad6; }
.main_two_illust { width: 283px; height: 217px; background: url('../images/main/main_aidx_char.png') no-repeat; background-size: contain; position: absolute; right: 0; top: 20%; transform: translateY(-50%); z-index: 0; }
.main_two_grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; position: relative; z-index: 1; }
.aidx-card { background-color: #ffffff; border-radius: 24px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06); display: flex; flex-direction: column; }

.aidx-card-head { display: flex; align-items: center; justify-content: space-between; padding:15px 20px; border-top-left-radius:20px; border-top-right-radius:20px; max-height: 60px;}
.aidx-card-title { display: flex; align-items: center; gap: 20px; font-size: 1.6rem; font-weight: 600; }
.aidx-card-icon { display: flex; align-items: center; justify-content: center; width: 33px; height: 33px;  }
.aidx-card-name{font-size: 1.8rem;}
.aidx-card-icon img{width: 100%; height: 100%; object-fit: cover;}
.aidx-card-more { width: 26px; height: 26px; border-radius: 50%; background-color: #ffffff; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12); display: flex; align-items: center; justify-content: center; cursor: pointer; }

/* 헤더 색상 변형 */
.aidx-card--blue .aidx-card-head { background-color: #b6d9f4; }
.aidx-card--mint .aidx-card-head { background-color: #a8ded2; }
.aidx-card--green .aidx-card-head { background-color: #9ed8b4; }
.aidx-card--orange .aidx-card-head { background-color: #ffcda6; }
.aidx-card--purple .aidx-card-head { background-color: #e0c0e8; }
.aidx-card--pink .aidx-card-head { background-color: #fbcfe3; }

.aidx-card-body { flex: 1; padding:20px; text-align: center;}
.aidx-card-swiper .swiper-wrapper { align-items: stretch; }
.aidx-card-swiper .swiper-slide { border-radius: 18px; overflow: hidden; }
.aidx-card-thumb { position: relative; display: block; width: 100%; border-radius: 18px; overflow: hidden; background-color: #000; transform: translateZ(0); transition: transform 0.35s ease, box-shadow 0.35s ease; }
.aidx-card-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.aidx-card-thumb:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18); }
.aidx-card-thumb:hover img { transform: scale(1.06); }
.aidx-card-controls { margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; font-size: 1.3rem; color: #666; }
.aidx-card-nav { width: 28px; height: 28px; border-radius:50%; border: 1px solid #dddddd; background-color: #ffffff; display: flex; align-items: center; justify-content: center;  cursor: pointer;}
.aidx-card-nav i {
  font-size: 2.2rem;
  transform: scale(1.15);
}
.aidx-card-fraction{display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.aidx-card-fraction .swiper-pagination-current,
.aidx-card-fraction .swiper-pagination-total { font-weight: 600; color: #333; }
.aidx-card-fraction .swiper-pagination-total { color: #999; }

/* ==============================
   메인 – 사업단 소식
   ============================== */
.main_third_section { padding: 80px 0 170px; background-color: #ffffff; }
.main_third_inner { position: relative; max-width: 1400px; margin: 0 auto; z-index: 2; margin: -650px auto 0; padding: 56px 0; color: #fff;}
.main_news_bg { position: relative; height: 680px; z-index: 0; }
.main_news_panel_bg { position: absolute; left: 0; top: 0; width: 1070px; height: 100%; background-color: #34aef6; border-radius: 0 100px 20px 0; z-index: 1; }
.main_news_emblem { position: absolute; right: 40px; top: 10%; width: 280px; height: 280px; transform: translateY(-50%); border-radius: 50%; background: url('../images/main/division_bg.png') no-repeat center center; background-size: contain; pointer-events: none; z-index: 0; }
.main_news_char { position: absolute; left: 1050px; top: -20px; width: 180px; height: 183px; background: url('../images/main/main_aidx_char02.png') no-repeat center bottom; background-size: contain; z-index: 0; pointer-events: none; }

/* ---------------------------
   사업단 소식 – 헤더 (타이틀 + 탭)
---------------------------- */
.main_news_head { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.main_news_title { font-family: 'YeogiOttaeJalnanGothic'; font-size: 4.8rem; font-weight: 100;}
.main_news_tab { display: flex; align-items: center; gap: 24px; flex: 1; margin-left:50px;}
.main_news_tab_btn { position: relative; padding: 4px 0; font-size: 2.4rem; color: rgba(255, 255, 255, 0.6); cursor: pointer;}
.main_news_tab_item.is_active .main_news_tab_btn { font-weight: 600; color: #ffffff; }
.main_news_tab_item.is_active .main_news_tab_btn::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 2px; border-radius: 999px; background-color: #ffffff; }
.main_news_tab_item + .main_news_tab_item::before { content: ""; display: inline-block; width: 1px; height: 18px; margin-right: 24px; background-color: rgba(255, 255, 255, 0.45); }
/* ---------------------------
   사업단 소식 
---------------------------- */
.main_news_list_placeholder { margin-top: 50px; }
.main_news_controls { display: flex; gap: 8px; padding: 4px 10px; }
.main_news_ctrl { width: 40px; height: 40px; border-radius:50%; background-color:#004dc0; display: flex; align-items: center; justify-content: center; color: #ffffff; cursor: pointer; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22); }
.main_news_ctrl i { font-size: 1.8rem; }
.main_news_slider { margin-top: 50px; overflow: visible; }
.main_news_slider .swiper-wrapper{ align-items: stretch; }
.main_news_slider .swiper-slide { width: 330px; display: flex; justify-content: center; }
.main_news_panels { position: relative; }
.main_news_panel { display: none; }
.main_news_panel.is_active { display: block; }
.main_news_card { width: 100%; max-width: 330px; height: 370px; padding:40px 30px; margin: 0 auto; background-color: #ffffff; border-radius: 20px; box-shadow: 0 10px 24px rgba(0,0,0,0.12); color: #222; display: flex; flex-direction: column; box-sizing: border-box; border:1px solid #e7e9f1;}
.main_news_link { display: block; flex: 1; }
.main_news_badge {display: inline-block; font-size: 1.3rem; font-weight: 600; padding: 5px 14px; border-radius: 20px; margin-bottom: 16px; max-width: 75px; text-align: center;}
.badge_green { background-color: #39a68e; color: #ffffff; }
.badge_orange { background-color: #F78C27; color: #ffffff; }
.badge_purple { background-color: #a439cb; color: #ffffff; }
.badge_pink { background-color: #cf518c; color: #ffffff; }
.main_news_subject { font-size: 1.8rem; font-weight: 700; line-height: 1.5; margin-bottom: 12px; }
.main_news_desc { font-size: 1.4rem; line-height: 1.6; margin-bottom: 18px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.main_news_date { font-size: 1.3rem; color: #999; display: flex; align-items: center; gap: 6px; }

 

/* ---------------------------
  행사·프로그램 안내
---------------------------- */
.main_four_section { position: relative; padding: 80px 0; background-image: url("../images/main/main_cal_bg.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center; }
.main_four_inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; }
.main_four_head { display: flex; align-items: flex-start; justify-content: space-between; color: #ffffff; }
.main_four_title { font-family: 'YeogiOttaeJalnanGothic'; font-size: 4.8rem; line-height: 1.2; margin-top: 30px; letter-spacing: 1px; font-weight: 100;}
.main_four_tab { align-self: flex-start; margin-top: 80px; margin-right: 280px;}
.main_four_tab_list { display: flex; align-items: center; gap: 24px; }
.main_four_tab_item { position: relative; }
.main_four_tab_btn { position: relative; padding: 4px 0; font-size: 2.2rem; color: rgba(255, 255, 255, 0.6); }
.main_four_tab_item.is_active .main_four_tab_btn { font-weight: 600; color: #ffffff; }
.main_four_tab_item.is_active .main_four_tab_btn::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 2px; border-radius: 999px; background-color: #ffffff; }
.main_four_tab_item + .main_four_tab_item::before { content: ""; display: inline-block; width: 1px; height: 18px; margin-right: 24px; background-color: rgba(255, 255, 255, 0.45); }
.main_four_illust { width: 260px; height: 230px; background: url("../images/main/main_aidx_char03.png") no-repeat center bottom; background-size: contain; margin-bottom: -30px; margin-right: 50px;}
.main_four_body { display: flex; gap:50px; align-items: stretch;}
.main_four_col { flex: 1; }
.main_four_col_calendar { max-width: 360px; }
.main_four_col_list { flex: 1.4; }
  /* 공통 카드 박스 */
.calendar_card,
.program_card { background-color: #ffffff; border-radius: 25px; box-shadow: 0 18px 30px rgba(0, 0, 0, 0.15); box-sizing: border-box;  height: 100%;}
.calendar_card{padding:20px;   display: flex; flex-direction: column;}
.program_card{padding:40px;   display: flex; flex-direction: column;}
  /* ---- 캘린더 헤더 ---- */
.calendar_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.calendar_card,
.calendar_month { font-size: 2.2rem; font-weight: 700; color: #222; }
.calendar_nav_btn { width: 40px; height: 40px; border-radius: 50%; border:1px solid #d4d4d4; background-color: #f8f8f8; display: flex; align-items: center; justify-content: center;}
.calendar_nav_btn i { font-size: 1.6rem; color: #555; }
.calendar_week { display: grid; grid-template-columns: repeat(7, 1fr); padding: 8px 10px; border-radius: 10px; background-color: #003568; margin-bottom: 4px; }
.week_day {font-family: 'Escoredream'; text-align: center; font-size: 1.2rem; color: #ffffff; font-weight: 600; }
.week_day.is_sun{color:#f96d6d;}
.week_day.is_sat{color:#1aa3fb}
  /* ---- 날짜 그리드 ---- */
.calendar_grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 4px; padding: 2px 2px 0; font-size: 1.3rem; }
.calendar_day_btn { width: 30px; height: 30px; margin: 4px auto; border-radius: 50%; border: none; background: transparent; display: flex; align-items: center; justify-content: center; position: relative;}
.calendar_day_btn.is_other_month { opacity: 0.25; }
.calendar_day_btn.has_event { background-color: #e3f3ff; color: #0050a9; border-radius: 12px; }
.calendar_day_btn.is_today { position: relative; z-index: 1;   color: #fff !important}
.calendar_day_btn.is_today::before { content: ""; position: absolute; left: 50%; top: 50%; width: 32px; height: 32px; transform: translate(-50%, -50%); background: #ff9c3a; border-radius: 50%; z-index: -1; }
.calendar_day_btn.is_selected { background-color: #ff9c3a; color: #fff; }

/*20251202 수정*/
/* 연속 이벤트 공통 스타일 */
.calendar_day_btn.is_range { width: 100%; margin-left: 0; margin-right: 0; background-color: #e3f3ff; color: #0050a9; border-radius: 0; }
.calendar_day_btn.is_range_single { border-radius: 12px; }
/* 범위 시작 */
.calendar_day_btn.is_range_start { border-radius: 35px 0 0 35px; }
/* 범위 중간 */
.calendar_day_btn.is_range_middle { border-radius: 0; }
/* 범위 끝 */
.calendar_day_btn.is_range_end { border-radius: 0 35px 35px 0; }
.calendar_day_btn.range_event.is_range,
.calendar_day_btn.range_event.is_range_start,
.calendar_day_btn.range_event.is_range_middle,
.calendar_day_btn.range_event.is_range_end{
  background-color: #ff98c8 !important;
  color: #000 !important; /* 행사 글씨 조금 진하게 */
}
.calendar_day_btn.range_event.is_range_single {
    background-color: #e970a8 !important;
    color: #ffffff !important; /* 행사 글씨 조금 진하게 */
}
.calendar_day_btn.range_program.is_range,
.calendar_day_btn.range_program.is_range_start,
.calendar_day_btn.range_program.is_range_middle,
.calendar_day_btn.range_program.is_range_end{
  background-color: #bdfbe0 !important;
  color: #000 !important;
}
.calendar_day_btn.range_program.is_range_single {
  background-color: #39a68e !important;
  color: #ffffff !important; /* 프로그램 글씨 조금 진하게 */
}
.calendar_day_btn.range_program.is_range.is_today { position: relative; z-index: 1;   color: #fff !important}
.calendar_day_btn.is_range,
.calendar_day_btn.is_range_start,
.calendar_day_btn.is_range_middle,
.calendar_day_btn.is_range_end {
    height: 20px !important;       
    margin-top: 10px !important;    
}
.calendar_day_btn.is_range_single {
  width: 34px !important;
  height: 34px !important;
  margin: 4px auto !important;
  border-radius: 50% !important;
}
.calendar_day_btn .day_num {
  position: relative;
  z-index: 4;
}

.calendar_day_btn.single_event_dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #e970a8; 
  z-index: 2;
}
.calendar_day_btn.single_program_dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #39a68e;
  z-index: 2;
}
.calendar_day_btn.single_event_dot .day_num,
.calendar_day_btn.single_program_dot .day_num {
  color: #fff !important;
}
/*//20251202 수정*/

.program_list { flex: 1; overflow-y: auto; margin: 0; padding: 0;   max-height: 305px; }
.program_item { display: flex; align-items: center; column-gap: 24px; padding: 8px 0; font-size: 1.8rem; color: #222; position: relative; }
.program_item ~ .program_item{margin-top: 5px;}
.program_item + .program_item::before { content: ""; position: absolute; left: 0; right: 0; top: -5px; height: 1px; background-color: #f0f0f0; }
.program_meta { display: flex; align-items: center; gap: 15px; min-width: 150px; }
.program_badge { display: inline-flex; align-items: center; justify-content: center; min-width: 70px; max-width: 70px; text-align: center; padding: 4px 12px; border-radius: 16px; font-size: 1.5rem; color: #fff; }
.program_badge.event { background-color: #cf518c; }
.program_badge.program { background-color: #39a68e; }
.program_date { font-size: 1.5rem; color: #222; min-width: 100px;}
.program_title { flex: 1; font-size: 1.5rem; line-height: 1.6; color: #222; font-weight: 600;}


/* ========================================
   메인 – AIDX 교육플랫폼 영상·갤러리
   ======================================== */
  .main_five_section { padding: 80px 0 120px; }
  .main_five_inner { display: flex; align-items: stretch; gap: 56px; }
  .main_video_intro { flex: 0 0 260px; display: flex; flex-direction: column; }
  .main_video_title { font-size: 4.8rem; font-weight: 100; color: #222; line-height: 1.2; margin-bottom: 22px; font-family: 'YeogiOttaeJalnanGothic'; letter-spacing: 1px; }
  .main_video_title span{color:#0084da; letter-spacing: -0.5px; font-size: 4.5rem;}
  .main_video_desc { font-size: 1.5rem; color: #444; line-height: 1.6; }
  .main_video_illust { margin-top: 30px; }
  .main_video_illust img { display: block; max-width: 220px; height: auto; }
  .main_video_feature_wrap { flex: 1; border-radius: 30px; padding: 26px 26px 30px; }
  .main_video_feature { display: flex; align-items: stretch; border-radius: 22px; overflow: hidden; background-color: #f7f7f7; }
  .main_video_feature_thumb { position: relative; flex: 0 0 610px; background-color: #000; }
  .main_video_feature_thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .main_video_play_icon { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; transform: translate(-50%, -50%); border-radius: 50%; background: url('../images/sub/icon_play_big.png') no-repeat center center; background-size: contain; }
  .main_video_feature_info { flex: 1; padding: 40px; display: flex; flex-direction: column; background-color: #f1f1f1; }
  .main_video_badge { display: inline-block; max-width: 75px; font-size: 1.3rem; font-weight: 600; color: #ff3b30; padding: 7px 16px; border-radius: 15px 15px 15px 3px; background-color: #ffffff; text-align: center; margin:10px 0;}
  .badge_type01{color:#3278e0}
  .main_video_feature_title { margin-top: 14px; font-size: 1.9rem; font-weight: 600; color: #222; line-height: 1.5; }
  .main_video_feature_text { margin-top: 10px; font-size: 1.4rem; color: #555; line-height: 1.6; }
  .main_video_feature_date { font-size: 1.3rem; color: #777; }
  .main_video_list_wrap { margin-top: 28px; }
  .main_video_list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; list-style: none; padding: 0; margin: 0; }
  .main_video_card_meta { display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 6px; }
  .main_video_card_link { display: block;}
  .main_video_thumb { overflow: hidden; border-radius: 18px; position: relative; }
  .main_video_thumb img { transition: transform 0.45s ease, opacity 0.45s ease; }
  .main_video_card_link:focus-visible{outline:none;}
  .main_video_card_link:hover .main_video_thumb img { transform: scale(1.05); opacity: 0.9;}
  .main_video_card_link:hover .main_video_play_icon { transform: translate(-50%, -50%) scale(1.12); transition: transform 0.35s ease; }
  .main_video_thumb { position: relative; overflow: hidden; border-top-right-radius: 20px; border-top-left-radius: 20px; background-color: #000; height: 210px; }  
  .main_video_thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .video_flex{display: flex; justify-content: space-between; align-items: center; margin-top: 10px;}
  .video_flex .main_video_more{width:40px; height:40px; border-radius: 50%; background-color: #fff; text-align: center; line-height:40px;} 
  .video_flex .main_video_more i{font-size: 1.8rem; color:#000;}
  .main_video_card_info { padding: 20px; background-color: #f1f1f1; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
  .main_video_card_title { font-size: 1.8rem; font-weight: 600; color: #222; line-height: 1.5; margin-bottom: 4px;  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;   overflow: hidden; height: 4.5em;}
  .main_video_card_date { font-size: 1.3rem; color: #777; }

/* ========================================
   메인 – 영역별 사업 소개
   ======================================== */
  .main_six_section { padding: 80px 0 120px; background: url(../images/main/main_cp_bg.png) no-repeat center top; background-size: cover; }
  .main_six_inner { max-width: 1400px; margin: 0 auto; display: flex;  justify-content: space-between; gap: 80px; }
  .main_six_left { flex: 1.5; }
  .division_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 30px; }
  .division_card { position: relative; padding:40px; border-radius: 30px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.05); background-color: #ffffff; overflow: hidden; }
  .division_card--blue { background-color: #e6f8fb; }
  .division_card--purple { background-color: #f1f6ff; }
  .division_card--green { background-color: #e4faef; }
  .division_card--yellow { background-color: #fafade; }
  .division_text { position: relative; z-index: 1;  }
  .division_title { font-size: 2.8rem; font-weight: 700; color: #222; margin-bottom: 10px; }
  .division_title_en { display: inline-block; margin-left: 4px; font-size: 2rem; font-weight: 500; color: #444; }
  .division_desc { font-size: 1.4rem; color: #555; line-height: 1.6; max-width: 270px;}
  .division_bottom { position: relative; margin-top: 10px; display: flex; align-items: flex-end; justify-content: space-between; }
  .division_more_btn { display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; min-width: 96px; height: 40px; font-size: 1.3rem; border-radius: 999px; border: 1px solid rgba(0, 0, 0, 0.12); background-color:transparent; color: #333; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06); }
  .division_more_btn:hover,
  .division_more_btn:focus-visible { border-color: #118ad6; color: #118ad6; }
  .division_illust { width: 110px; height: 110px; background-repeat: no-repeat; background-position: right bottom; background-size: contain; }
  .division_illust--01 { background-image: url("../images/main/main_cp_icon01.png"); }
  .division_illust--02 { background-image: url("../images/main/main_cp_icon02.png"); }
  .division_illust--03 { background-image: url("../images/main/main_cp_icon03.png"); }
  .division_illust--04 { background-image: url("../images/main/main_cp_icon04.png"); }
  .main_six_right { flex: 0 0 340px; }
  .division_intro {text-align: right;}
  .division_intro_title { font-family: "YeogiOttaeJalnanGothic"; font-size: 4.8rem; line-height: 1.2; margin-bottom: 18px; text-align: right; font-weight: 100;}
  .division_intro_sub { color: #0084da; }
  .division_intro_text { font-size: 1.4rem; color: #555; line-height: 1.7; margin-bottom: 22px; text-align: right;}
  .division_intro_more { display: inline-flex; align-items: center; gap: 8px; margin-left: auto;}
  .division_intro_more_icon { width: 24px; height: 24px; border-radius: 50%; border: 1px solid #ddd; display: flex; align-items: center; justify-content: center; }
  .division_intro_more_icon i { font-size: 1.5rem; }
  .division_char { width: 260px; height: 260px; margin-top: 150px; background: url("../images/main/main_aidx_char05.png") no-repeat center bottom; background-size: contain; }
  
/* ========================================
   메인 – 사업커뮤니티 소개
   ======================================== */
  .main_seven_section {position: relative; padding: 80px 0 90px; background-color: #f4f5f7; }
  .main_seven_inner { max-width: 1400px; margin: 0 auto; text-align: center; }
  .main_seven_head { text-align: center; }
  .main_seven_title { font-family: 'YeogiOttaeJalnanGothic'; font-size: 4.8rem; color: #333; letter-spacing:1px; font-weight: 100; }
  .main_seven_title span { color: #0084da; }
    /* 슬라이더 본체 */
  .main_seven_body { margin: 36px 0; display: flex; align-items: flex-start; gap: 24px; }
  .community_swiper { flex: 1; }
  .community_item { display: flex; justify-content: center; }
  .community_card { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 110px; }
  .community_icon { width: 72px; height: 72px; border-radius: 24px; background-color: #ffffff; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); display: flex; align-items: center; justify-content: center; }
  .community_icon img { max-width: 40px; max-height: 40px; }
  .community_name { font-size: 1.4rem; color: #222; line-height: 1.4; white-space: wrap; word-break:keep-all; max-width: 90px;; }
  .community_arrow { width: 48px; height: 48px; border-radius: 50%; background-color: #dedfe4; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15); margin-top: 12px; } .community_arrow i { font-size: 2.2rem; color: #666; }
  .community_arrow:hover,
  .community_arrow:focus-visible { background-color: #cfd1d8; }
  .community_pagination { margin-top: 22px; display: flex; justify-content: center; gap: 8px; top:70% !important;}
  .community_pagination .swiper-pagination-bullet { width: 7px; height: 7px; border-radius: 50%; background-color: #cfd2db; opacity: 1; }
  .community_pagination .swiper-pagination-bullet-active { width: 9px; height: 9px; background-color: #118ad6; }
  .main_seven_char { position: absolute; right: 155px; bottom: 0; width: 210px; height: 190px; background: url("../images/main/main_aidx_char06.png") no-repeat right bottom; background-size: contain; pointer-events: none; }


/* ================================
   Scroll Animation (공통)
   ================================ */
   [data-sa] {
    opacity: 0;
    transform: translateY(40px);
    transition-property: opacity, transform;
    transition-timing-function: ease;
    transition-duration: 1s; 
    will-change: opacity, transform;
  }
/* 방향 옵션 */
[data-sa="fade-up"] {
  transform: translateY(40px);
}
[data-sa="fade-up-small"] {
  transform: translateY(20px);
}
[data-sa="fade-right"] {
  transform: translateX(-40px);
}
[data-sa="fade-left"] {
  transform: translateX(40px);
}
[data-sa="fade-scale"] {
  transform: scale(0.9);
}

/* 뷰포트 안으로 들어온 상태 */
[data-sa].is_inview {
  opacity: 1;
  transform: none;
}
    
  /* --------- 반응형 --------- */
  
  @media (max-width: 1400px) {
    .main_visual_inner,
    .main_six_inner { max-width: 100%; padding: 0 20px; }
    .main_visual_slide { width: 100% !important; max-width: 1400px; height: 520px !important; }
    .main_visual_prev { margin-left: -50%; }
    .main_visual_next { margin-right: -50%; }
    .main_third_section { height: auto; padding: 90px 0 150px; }
    .main_news_panel_bg { width: 80%; border-radius: 0 80px 20px 0; }
    .main_third_inner { padding: 40px 40px 0; }
    .main_news_char { left: auto; right: 10px; top: -90px; width: 140px; height: 140px; }
    .main_news_emblem { width: 200px; height: 200px; right: 20px; }
    .main_four_inner{padding:0 20px;}
    .main_four_tab{margin-right: 80px;}
    .main_four_illust{width:180px;}
    .main_five_inner{display: block;}
    .main_video_intro{flex-direction: row; justify-content: space-between;}
  }
  @media (max-width: 1200px) {
    .main_four_section { padding: 70px 0; }
    .main_four_tab{margin-right: 0;}
  }
  @media (max-width: 1024px) {
    .main_visual_slide { height: 400px !important; border-radius: 24px; }
    .main_two_grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .main_two_illust{width: 180px; height:160px;}
    .main_third_inner { margin: -580px auto 0; padding: 24px 20px 0; }
    .main_news_panel_bg { width: 75%; border-radius: 0 50px 20px 0; }
    .main_news_char {display: none;}
    .main_news_head{gap:20px;}
    .main_two_title,
    .main_news_title,
    .main_four_title,
    .main_video_title,
    .division_intro_title,
    .main_seven_title{font-size: 3.5rem;}
    .main_video_title span{font-size: 2.5rem; display: block;}
    .main_video_illust img{max-width: 160px;;}
    .main_news_tab{margin-left: 20px;}
    .main_news_tab_btn{padding:0;}
    .main_news_card{height:300px;}
    .main_news_bg{height: 580px;}
    .main_news_panel_bg{height:90%;}
    .main_four_illust{display: none;}
    .main_four_body{margin-top: 50px;}
    .main_four_tab_btn{font-size: 1.8rem;}
    .calendar_card, .program_card{padding:20px;}
    .main_video_feature_thumb{flex:1;}
    .main_video_feature_info{padding:20px;}
    .main_five_section,
    .main_six_section{padding:40px 0;}
    .main_six_inner { flex-direction: column-reverse; gap: 40px; }
    .main_six_left,
    .main_six_right { flex: 0 0 auto; }
    .main_six_right{display: flex; justify-content: space-between;}
    .division_intro_title,
    .division_intro,
    .division_intro_text{text-align: left;}
    .division_card{padding:20px;}
    .division_char{margin-top: 0; max-width: 180px; height: auto;}
    .division_grid { gap: 10px ; }
    .main_seven_char{max-width: 180px; right: 0;}
  }
  
  @media (max-width: 768px) {
    .main_visual_slide { height: 300px !important; }
    .aidx-card-body{padding:10px;}
    .main_two_illust{display:none;}
    .main_news_head { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; grid-template-areas: "title title" "tabs controls"; row-gap: 12px; column-gap: 12px; align-items: center; }
    .main_news_title { grid-area: title; }
    .main_news_tab { grid-area: tabs; margin-left: 0; }
    .main_news_tab_btn{font-size: 1.8rem;}
    .main_news_ctrl{width: 33px; height: 33px;}
    .main_news_controls { grid-area: controls; justify-content: flex-end; padding: 0; }
    .main_news_slider .swiper-slide{width:250px;}
    .main_news_emblem{display: none;}
    .main_news_card{padding:20px; height:250px;}
    .main_news_desc {-webkit-line-clamp: 2;}
    .main_four_body{display: block;}
    .main_four_col_calendar{max-width: inherit;}
    .program_card {margin-top: 30px;}
    .main_four_tab{margin-top: 70px;}
    .main_four_tab_item.is_active .main_four_tab_btn::after{bottom:-4px;}
    .main_video_list{gap:10px;}
    .main_video_feature_title,
    .main_video_card_title{font-size: 1.5rem;}
    .main_video_card_title{-webkit-line-clamp:1; height:1.5em;}
    .main_video_feature_wrap{padding:0; margin-top: 20px;;}
    .main_video_card_info{padding:10px;}
    .main_video_feature{display: block;}
    .main_video_list{grid-template-columns: repeat(2, 1fr);}
    .division_illust{max-width: 60px;}
    .division_bottom{margin-top: 0;}
    .community_icon{width: 60px; height: 60px;}
    .community_icon img{max-width: 30px; max-height: 30px;}
    .community_arrow{width: 36px; height: 36px;}
    .main_video_badge{margin:5px 0;}
  }

  @media (max-width: 550px) {
    .main_two_grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .main_four_head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
    .main_four_title { margin-top: 0; }
    .main_four_title br{display: none;}
    .main_four_tab { margin-top: 8px; margin-right: 0; align-self: flex-end; }
    .main_four_tab_list { justify-content: flex-end; }
    .main_four_body{margin-top: 20px;}
    .program_item{display: block;}
    .main_video_list{display: block;}
    .main_video_card~.main_video_card{margin-top: 20px;}
    .division_grid { grid-template-columns: 1fr;}
    .community_name{font-size: 1.2rem;}
  }
  @media (max-width: 450px) {
    .main_news_head { grid-template-columns: 1fr; grid-template-rows: auto auto auto; grid-template-areas: "title" "tabs" "controls"; }
    .main_news_controls { justify-content: flex-end; margin-top: 4px; }
    .main_two_section,
    .main_four_section{padding:40px 0;}
    .main_third_section{padding:40px 0 90px;}
    .community_icon{width: 45px; height: 45px;}
    .community_icon img{max-width: 25px; max-height: 25px;}
    .community_name{max-width: 60px; word-break: break-all; font-size: 1rem;}
    .community_pagination { top:75% !important;}
  }