.btm_banner { padding: 2.8rem 3.1rem; border-radius: 1.2rem; display: flex; align-items: center; }
.btm_banner  .text_wrap {flex: 1; min-width: 0;}
.btm_banner  .text_wrap p { font-size: 1.4rem; font-weight: 400; margin-bottom: 0.5rem;}
.btm_banner  .text_wrap h4 { font-size: 1.8rem; font-weight: 600;}
.btm_banner .btn { padding: 1rem 2rem; font-size: 1.4rem; font-weight: 500; color: #fff; background-color: #3e78ff; border-radius: 500px;}

/* home_main */
#home_main #section_visual { display: flex; flex-direction: column; gap: 2.2rem; margin: 0;}
#home_main #section_visual .secvis { width: 100%; height: 17.5rem; background-position: center right; background-repeat: no-repeat; background-size: cover; border-radius: 1.2rem; padding: 3.8rem 2.5rem;}
#home_main #section_visual .secvis p { font-size: 1.5rem; font-weight: 400; color: #fff; margin-bottom: 1rem;}
#home_main #section_visual .secvis h3 { font-size: 2.4rem; font-weight: 600; color: #fff; text-shadow: 0px 0px 3px rgba(0,0,0,0.6);}
#home_main #section_visual .secvis .btn_wrap .btn { padding: 1rem 0; width: 14rem; border-radius: 500px; display: flex; align-items: center; justify-content: center; gap: 1rem; font-size: 1.4rem; margin-top: 1.6rem; font-weight: 500;}
#home_main #section_visual .secvis1 .btn_wrap .btn { background-color: #3e78ff; color: #fff;}
#home_main #section_visual .secvis2 .btn_wrap .btn { background-color: #fff;}
#home_main #section_visual .secvis .btn_wrap .btn img { width: 1rem;}

#home_main section { margin-top: 3.1rem;}
#home_main .sec-title { margin-bottom: 1.3rem;}
#home_main .sec-title h3 { font-size: 1.9rem; font-weight: 700; }

#home_main #section1 .con_area .menu_list { display: flex; align-items: center; gap: 1.9rem;}
#home_main #section1 .con_area .menu_item { flex: 1; min-width: 0;}
#home_main #section1 .con_area .menu_item a{ width: 100%;}
#home_main #section1 .con_area .menu_item .img_wrap { background-color: #F2F2F2; border-radius: 1.2rem; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1/1;}
#home_main #section1 .con_area .menu_item .img_wrap img { height: 50%;}
#home_main #section1 .con_area .menu_item p { text-align: center; font-size: 1.4rem; font-weight: 500; margin-top: 1.3rem;}
#home_main .btm_banner { background-color: #c7e1ff; margin-top: 3.8rem;}

/* info_main */
.info_main .inner { display: flex; flex-direction: column; flex: 1; min-height: 0;}
.headline { position: relative; margin-bottom: 2rem;}
.headline .headline-title { background: linear-gradient(to bottom, #4cb0ef, #72dcfd); border-radius: 1.2rem; padding: 2rem 2.5rem; flex-shrink: 0; display: flex; align-content: center;}
.headline .headline-title h3 { font-size: 2rem; color: #fff; font-weight: 600; text-shadow: 0px 0px 3px rgba(0,0,0,0.6); flex: 1; min-width: 0;}
.headline .headline-title img { width: 1.6rem; object-fit: contain; object-position: center;}
.headline .headline-title.active img { transform: rotate(180deg);}
.headline .headline-menu { position: absolute; top: calc( 100% + 1rem ); width: 100%; display: none; z-index: 99;}
.headline .headline-menu .hdmenu-list { background-color: #f2f2f2; border-radius: 1.2rem; width: 100%;}
.headline .headline-menu .hdmenu-item { padding: 2.5rem 2.5rem; }
.headline .headline-menu .hdmenu-item a { font-size: 1.8rem; font-weight: 700;}
.headline .headline-menu .hdmenu-item.active a { color: var(--brand-color);}

/* 탭 버튼 스타일 */
.headline .headline-menu .hdmenu-item .tab-btn { background: none; border: none; font-size: 1.8rem; font-weight: 700; color: #333; cursor: pointer; width: 100%; text-align: left; padding: 0; transition: color 0.3s ease;}
.headline .headline-menu .hdmenu-item.active .tab-btn { color: var(--brand-color);}
.tab-content { display: none;}
.tab-content.active { display: block; animation: fadeIn 0.3s ease;}

/* faq_main 탭 콘텐츠 스타일 */
.faq_main .tab-content { display: none;}
.faq_main .tab-content.active { display: block; animation: fadeIn 0.3s ease;}

/* info_main */
.info_main section { flex: 1; min-height: 0; padding-bottom: 3rem;}
.info_main .con_area .text_box + .text_box { margin-top: 2rem;}
.info_main .con_area .text_box h5 { font-size: 1.8rem; font-weight: 500; line-height: 1.4; margin-bottom: 0.8rem;}
.info_main .con_area .text_box p { font-size: 1.4rem; font-weight: 400; color: #666; line-height: 1.4; letter-spacing: -0.06rem;}
.info_main .con_area .text_box p b { font-weight: 500; color: #333;}
.info_main .con_area .text_box p + p { margin-top: 1rem;}
.info_main .btm_banner { background-color: #f2f2f2;}

/* info5_main */
#info5_main .con_area .text_box a{ background-color: var(--brand-color); color: #fff; border-radius: 100px; font-size: 1.4rem; text-align: center; padding: 1.5rem 0; width: 100%; margin-top: 1.2rem; letter-spacing: -0.04rem; font-weight: 300;}

/* faq_main */
.faq_main .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); animation: fadeIn 0.3s ease; align-items: center;}
.faq_main .modal-content { background-color: #fff; margin: 5% auto; padding: 0; border-radius: 1.2rem; width: 90%; max-width: 600px; max-height: 80vh; overflow: hidden; animation: slideIn 0.3s ease; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);}
.faq_main .modal-body { padding: 3rem 2.5rem; max-height: 64vh; overflow-y: auto;}
.faq_main .answer_section { display: flex; gap: 1rem;}
.faq_main .answer_text { font-size: 1.4rem; font-weight: 400; color: #333; line-height: 1.6; flex: 1; min-width: 0;}
.faq_main .btn-wrap { margin-top: 2rem;}
.faq_main .btn-wrap button { width: 100%; background-color: var(--brand-color); color: #fff; text-align: center; padding: 1.4rem; border-radius: 1rem; font-size: 1.4rem; font-weight: 400;}


/* FAQ 리스트 스타일 수정 */
.faq_main .faq_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; padding-bottom: 3rem;}
.faq_main .faq_item { background-color: #f2f2f2; border-radius: 1.2rem;}
.faq_main .faq_item:last-child { border-bottom: none;}
.faq_main .faq_question { padding: 2rem 1.2rem; cursor: pointer; display: flex; align-items: center; gap: 1rem; transition: background-color 0.3s ease;}
.faq_main .question_text { font-size: 1.5rem; font-weight: 600; color: #333; line-height: 1.4; flex: 1; min-width: 0; text-align: center; word-break: keep-all;}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { 
    opacity: 0;
    transform: translateY(-50px);
  }
  to { 
    opacity: 1;
    transform: translateY(0);
  }
}

/* 페이지네이션 스타일 */
.pagination_wrap { display: flex; flex-direction: column; align-items: center; gap: 1.5rem;}
.pagination { display: flex; align-items: center; gap: 0.5rem;}
.page_btn { display: flex; align-items: center; justify-content: center; width: 2rem; aspect-ratio: 1/1; background-color: #fff; color: #333; text-decoration: none; font-size: 1.6rem; font-weight: 500; transition: all 0.3s ease; cursor: pointer;}
.page_btn.active { color: var(--brand-color); font-weight: 600;}
.page_btn.prev,
.page_btn.next { width: 3rem; font-size: 1.8rem; font-weight: bold;}
.page_btn.prev img,
.page_btn.next img { width: 1.6rem; aspect-ratio: 1/1; object-fit: contain;}
.page_btn.disabled { opacity: 0.3; cursor: not-allowed; pointer-events: none;}
.page_btn.disabled:hover { transform: none; box-shadow: none;}
.page_info { display: flex; align-items: center; gap: 1rem; font-size: 1.3rem; color: #666;}
.page_info span:first-child { font-weight: 500; color: #333;}

/* FAQ 메인 스타일 */
.faq_main { display: flex; flex-direction: column;}
.faq_main .inner { flex: 1; display: flex; flex-direction: column;}
.faq_main section { flex: 1; display: flex; flex-direction: column;}
.faq_main .con_area { flex: 1;}
