@charset "utf-8";

/* Keep the existing desktop rules; overrides apply below 1200px only. */
.mobile_menu_title { display: none; }
.mobile_scroll_hint { display: none; }
/* Server-rendered banners keep their desktop grid positions without a box. */
.main_first_con .mobile_banner_group { display: contents; }
.main_first_con .mobile_banner_group > .data_banner { display: none; }

@media screen and (max-width: 1199px) {
  body { min-width: 0; }

  .header > .inner,
  .admin_section .inner,
  .sub_in,
  .footer .inner,
  .p_main .visual,
  .youtube_inner,
  .slick_inner {
    width: 100%;
    min-width: 0;
    padding-left: 24px;
    padding-right: 24px;
  }

  .header .gnb { min-height: 80px; justify-content: space-between; }
  .header .left_col { min-width: 0; margin-right: 16px; }
  .header .logo img { width: 280px; max-width: 100%; height: auto; }
  .gnb .menu { display: none; }
  .user_menu { flex: 0 0 auto; margin: 0; }
  .allmenu_user { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
  .allmenu_user:focus-visible { outline: 2px solid #2f4d8d; outline-offset: 2px; }
  .allmenu_user[aria-expanded="true"] { background: #e0f0ff; border-radius: 6px; }
  .header .all_menu,
  .header .all_menu_user {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    min-width: 0;
    max-height: calc(100vh - 140px);
    max-height: var(--mobile-menu-space, calc(100dvh - 140px));
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #ddd;
    border-radius: 0 0 12px 12px;
    background: #fff;
    z-index: 1001;
  }
  .header .all_menu .inner,
  .header .all_menu_user .inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    padding: 24px;
  }
  .header .all_menu .inner::after,
  .header .all_menu_user .inner::after { display: none; }
  .header .all_menu .inner > div,
  .header .all_menu_user .inner > div {
    display: block;
    position: static;
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    padding: 0;
    text-align: left;
  }
  .header .all_menu_user .mobile_menu_title {
    display: block;
    padding-bottom: 8px;
    border-bottom: 2px solid #2f4d8d;
    color: #041e40;
    font-size: 17px;
  }
  .header .all_menu_user .inner > div h2 + ul { margin-top: 8px; }
  .header .all_menu .inner > div ul li + li,
  .header .all_menu_user .inner > div ul li + li { margin-top: 0; }
  .header .all_menu .inner > div ul li a,
  .header .all_menu_user .inner > div ul li a { width: auto; min-height: 44px; padding: 10px 0; font-size: 15px; }
  .header .all_menu .inner > div ul li a { display: block; }
  .header .mobile_menu_category {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    appearance: none;
    background: none;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    cursor: pointer;
  }
  .header .mobile_menu_category:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
  .header .mobile_menu_group > [hidden] { display: none !important; }
  .header .util_menu .mobile_admin_menu { display: inline-block !important; }
  .header .admin_section .inner { height: auto; min-height: 44px; flex-wrap: wrap; gap: 8px; }
  .header .admin_section { height: auto; min-height: 50px; }
  .header:has(#admin-menu) .admin_section .inner { padding-top: 8px; padding-bottom: 8px; }
  .header:has(#admin-menu) .top_menu { gap: 4px 12px; }
  .header:has(#admin-menu) .top_menu > span { height: auto; }
  .header:has(#admin-menu) .top_menu .t { gap: 8px; min-width: 0; }
  .header:has(#admin-menu) .top_menu .t > span { overflow-wrap: anywhere; }
  .header:has(#admin-menu) .util_menu ul { gap: 4px 16px; }
  .header:has(#admin-menu) .util_menu a { min-height: 44px; height: auto; }
  .header .mobile_admin_menu .allmenu { padding: 0 12px; border: 1px solid #ffffff70; border-radius: 6px; }
  .header .mobile_admin_menu .allmenu:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .header .mobile_admin_menu .allmenu[aria-expanded="true"] { background: #2f4d8d; }
  .header .all_menu .inner > .admin { padding: 16px; border-radius: 8px; }
  .header .all_menu .inner { align-items: start; }
  .header .all_menu .inner > .admin h2 + h3 { margin-top: 12px; }
  .header .all_menu .inner > .admin ul li::before { top: 21px; }
  .util_menu ul { display: flex; flex-wrap: wrap; gap: 8px 16px; }
  .util_menu ul li,
  .util_menu ul li + li { margin: 0; }
  .top_menu { min-width: 0; flex-wrap: wrap; }

  .main_first_con .inner,
  .p_main .dash_board .inner { width: calc(100% - 48px); }
  .main_first_con .inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding: 24px 0;
    align-items: start;
  }
  .main_first_con .swiper { grid-column: 1 / -1; min-width: 0; height: auto; aspect-ratio: 820 / 420; }
  .main_first_con .swiper-slide a { display: block; width: 100%; height: 100%; }
  .main_first_con .swiper img { max-height: none; object-fit: contain; }
  .main_first_con .konavi_banner,
  .main_first_con .gix_banner { position: relative; top: auto; left: auto; width: 100%; max-width: 240px; height: auto; aspect-ratio: 240 / 420; margin: 0; justify-self: center; }
  .main_first_con .main_first_con_r { grid-column: 1 / -1; width: 100%; height: auto; min-height: 0; }
  .main_first_con .mobile_banner_group { display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-start; gap: 12px; grid-column: 1 / -1; order: 2; width: 100%; }
  .main_first_con .mobile_banner_group > .konavi_banner,
  .main_first_con .mobile_banner_group > .gix_banner,
  .main_first_con .mobile_banner_group > .data_banner { flex: 0 1 calc((100% - 24px) / 3); order: 0; width: 100%; min-width: 0; max-width: 240px; height: auto; aspect-ratio: 240 / 420; margin: 0; overflow: hidden; border-radius: 12px; }
  .main_first_con .mobile_banner_group > .gix_banner { border-radius: 0; }
  .main_first_con .mobile_banner_group > .data_banner { display: block; background: #edf3fd; }
  .main_first_con .mobile_banner_group .data_banner a { display: block; width: 100%; height: 100%; }
  .main_first_con .mobile_banner_group .data_banner img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; }
  .p_main .dash_board .sec_one { flex-direction: column; gap: 24px; }
  .p_main .dash_board .board { width: 100%; min-width: 0; margin-right: 0; }
  .p_main .dash_board .swiper.wd37 { width: 100% !important; height: auto; aspect-ratio: 450 / 257; }
  .p_main .dash_board .swiper-slide a { display: block; width: 100%; height: 100%; }
  .p_main .dash_board .swiper-slide img { max-height: none; object-fit: contain; }
  .p_main .data_banner { display: flex; justify-content: center; }
  .p_main .data_banner img { float: none !important; margin-left: 0 !important; max-width: 100%; }
  .p_main .dash_board .data_banner { display: none; }
  .Main_page_slider { width: 100%; max-width: none; margin: 0; }
  .Main_page_slide img { height: auto; max-height: 420px; object-fit: contain; }
  .p_main .dash_board .tab_item ul li a { min-width: 0; gap: 16px; }
  .p_main .dash_board .tab_item ul li .tit { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .p_main .dash_board .tab_item ul li .dates { flex-shrink: 0; }
  .slick_title { position: static; margin-bottom: 20px; }
  .slick_title::after { display: none; }
  .slick_inner .slider { width: 100%; margin: 0; }
  .slick_inner .slider:not(.slick-initialized) { display: flex; overflow-x: auto; scrollbar-width: none; }
  .slick_inner .slider:not(.slick-initialized)::-webkit-scrollbar { display: none; }
  .slick_inner .slider:not(.slick-initialized) > .cont__item { flex-shrink: 0; margin: 0 10px; }
  /* Two cards, including their margins, fit the available slider width. */
  .slick_inner .slider:not(.slick-initialized) > .cont__item { width: calc((100% - 40px) / 2); }
  .slick_inner .slick-slide { height: auto; }
  .slick_inner .title-wrap .title { width: 100%; }
  .youtube_con { flex-wrap: wrap; gap: 20px; }
  .youtube_con > * { min-width: 0; max-width: 100%; }
  .youtube_con img { max-width: 100%; height: auto; }
  .youtube_con iframe { max-width: 100%; }

  .layout { display: block; }
  .layout .nav { display: block; width: 100%; padding-top: 24px; }
  .layout .nav h2 { padding: 14px 18px; }
  .layout .nav .inner > ul { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 12px 18px; }
  .layout .nav .inner > ul > li + li { margin-top: 0; }
  .layout .nav .inner > ul > li > a { padding: 10px 0; font-size: 16px; }
  .layout .nav .inner > ul > li > ul > li a { padding: 8px 0; }
  .layout .content_wrap { display: block; width: 100%; min-width: 0; padding-left: 0; }
  .content { min-height: 0; padding-bottom: 48px; }
  .content img { max-width: 100%; height: auto; }
  .content iframe { max-width: 100%; }
  .content .application-process { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .content .application-process li { width: auto; }
  .content .application-process li::after { display: none; }
  .content .download,
  .content .ci-color-card.main,
  .content .executive-card { max-width: 100%; }
  .content img[src*="JoJik_New.svg"] { display: block; max-width: 100%; margin: 24px auto 0 !important; }
  .content.p_contactus table { width: 100%; }
  .content.p_contactus td[width] { width: auto; }
  .location { height: auto; padding: 24px 0; }
  .board_list,
  .board_list2,
  .board_view2,
  .board_view3,
  .board_view4,
  .board_article { max-width: 100%; overflow-x: auto; }
  .table_scroll { max-width: 100%; overflow-x: auto; }
  .board_list,
  .board_list2,
  .board_view2,
  .board_view3,
  .board_view4,
  .table_scroll,
  .content .benefit-table-wrap {
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #9baac1 #eef2f7;
  }
  .mobile_scroll_hint:not([hidden]) { display: block; margin: 10px 0 8px; color: #59677c; font-size: 13px; line-height: 1.5; text-align: right; }
  [data-mobile-scroll]:focus-visible { outline: 2px solid #2f4d8d; outline-offset: 3px; }
  .board_list > table,
  .board_list2 > table { min-width: 640px; }
  .board_view2 > table,
  .board_view3 > table,
  .board_view4 > table { min-width: 560px; }
  .condition,
  .condition2,
  .notice_list_form,
  .search_div { flex-wrap: wrap; gap: 10px; }
  .notice_list_form > *,
  .condition .item { max-width: 100%; min-width: 0; }
  .content .f_search,
  .content .f_search_flex { max-width: 100%; min-width: 0; }
  .content input,
  .content select,
  .content textarea { max-width: 100%; }
  .board_list_nav_list { flex-wrap: wrap; }
  .board_list_nav_list a { flex: 1 1 140px; padding: 8px; }
  .paging { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
  .paging > ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; }
  .paging > ul li + li { margin-left: 0; }
  .paging > ul { gap: 4px; }
  .paging > ul li { flex: 0 0 auto; }
  .paging .prev,
  .paging .next { margin: 0; }
  .paging > ul li a,
  .paging > ul li strong { width: 36px; height: 40px; line-height: 1.4; font-size: 14px; }
  .paging > ul li.btn a { width: 36px; height: 40px; }
  .img_board_network { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p_login { width: 100%; max-width: 690px; }

  .footer .inner { display: flex; flex-wrap: wrap; gap: 24px; height: auto; padding-top: 32px; padding-bottom: 32px; }
  .footer h1,
  .footer .mid { float: none; margin: 0; padding: 0; }
  .footer h1 { min-width: 0; max-width: 100%; }
  .footer .mid { flex: 1 1 440px; min-width: 0; }
  .footer .right_col { position: static; }
  .footer img { max-width: 100%; height: auto; }
  #survey-left-menu { left: 16px; bottom: 16px; max-width: calc(100% - 32px); }
  #survey-left-menu .survey-btn { max-width: 100%; }
  #surveyModal { overflow-y: auto; }
  .popup_banner { left: 16px !important; top: 80px !important; max-width: calc(100% - 32px); max-height: calc(100vh - 96px); overflow-y: auto; }
}

@media screen and (max-width: 767px) {
  .header > .inner,
  .admin_section .inner,
  .sub_in,
  .footer .inner,
  .p_main .visual,
  .youtube_inner,
  .slick_inner { padding-left: 16px; padding-right: 16px; }
  .header .gnb { min-height: 72px; }
  .header .logo img { width: 230px; }
  .header .all_menu .inner,
  .header .all_menu_user .inner { grid-template-columns: minmax(0, 1fr); gap: 20px 16px; padding: 16px; }
  .top_menu .d { margin-left: 0; font-size: 12px; }
  .header:has(#admin-menu) .util_menu { width: 100%; }
  .header:has(#admin-menu) .util_menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
  .header:has(#admin-menu) .util_menu a { justify-content: center; }
  .main_first_con .inner,
  .p_main .dash_board .inner { width: calc(100% - 32px); }
  .main_first_con .inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .main_first_con .swiper { order: 0; }
  .main_first_con .main_first_con_r { order: 1; grid-column: 1 / -1; min-height: 0; }
  .main_first_con .konavi_banner,
  .main_first_con .gix_banner { order: 2; }
  .quick_menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  .quick_menu a { min-height: 56px; padding: 8px 2px; }
  .quick_text { min-width: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
  .p_main .dash_board .tab { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; padding: 12px 52px 12px 12px; }
  .p_main .dash_board .tab li { min-width: 0; }
  .p_main .dash_board .tab li a { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 0; line-height: 1.4; text-align: center; }
  .p_main .dash_board .tab .more { position: absolute; top: 50%; right: 8px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; transform: translateY(-50%); }
  .p_main .dash_board .tab li + li { margin-left: 0; }
  .p_main .dash_board .tab_item ul li a { flex-direction: column; gap: 4px; }
  .p_main .dash_board .tab_item ul li .tit { white-space: normal; }
  .p_main .dash_board .tab_item ul li .dates { font-size: 13px; }
  .p_main .dash_board .tab_item ul li img { margin-left: 0; margin-right: 8px; }
  .slick_inner .slider:not(.slick-initialized) > .cont__item { width: calc(100% - 12px); margin: 0 6px; }
  .slick_inner .slick-slide { margin: 0 6px; }
  .slick_inner .text-box { height: auto; min-height: 230px; }
  .slick_inner .title-wrap .title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; line-height: 1.5; overflow-wrap: anywhere; }
  .youtube_con { flex-direction: column; align-items: stretch; }
  .youtube_con > * { width: 100%; }
  .youtube_con .layout_375806_ { height: auto; max-height: none; gap: 16px; }
  .youtube_con iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .youtube_con img { width: 100%; }
  .slick_title,
  .youtube_title { flex-wrap: wrap; font-size: 22px; }
  .marquee_title_sec { padding: 24px 16px; text-align: center; }
  .marquee-section { min-height: 0; padding: 24px 0; }
  #containerTop { height: auto; min-height: 160px; padding: 20px 16px; }
  #containerTop > * { max-width: 100%; }
  #containerTop #dynamicTitle { font-size: 24px; }
  .tit_1 { font-size: 26px; }
  .tit_2 { font-size: 22px; }
  .txt_1 + .tit_2 { flex-wrap: wrap; gap: 12px; }
  .condition2 { padding: 16px; }
  .condition2 .item + .item { margin-left: 0; }
  .condition > form,
  .condition2 > form { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; width: 100%; }
  .condition .f_select,
  .condition2 .f_select { height: 44px; margin-left: 0; }
  .condition .f_select select,
  .condition2 .f_select select { height: 100%; }
  .condition .f_search,
  .condition2 .f_search { max-width: 100%; }
  .condition .f_search input[type="text"],
  .condition2 .f_search input[type="text"] { height: 44px; padding-right: 44px; }
  .condition .f_search .btn,
  .condition2 .f_search .btn { right: 0; width: 44px; height: 44px; background-position: center; background-size: 18px; }
  .content input[type="text"],
  .content input[type="password"],
  .content select,
  .content textarea { font-size: 16px; }
  .board_view_top .tit { flex-direction: column; align-items: stretch; gap: 12px; padding: 20px 16px; }
  .board_view_top .inq_title_l { width: 100%; white-space: normal; line-height: 1.5; overflow-wrap: anywhere; }
  .board_view_top .inq_title_r { justify-content: flex-start; }
  .board_view_top .inq_info { margin: 0; line-height: 1.6; }
  .board_view_top .info,
  .board_attach { padding: 16px; }
  .board_view_top .info dl { width: auto; margin: 4px 12px 4px 0; padding: 4px 0; }
  .board_view_top .info dl:nth-child(1),
  .board_view_top .info dl:nth-child(2) { margin-right: 12px; }
  .board_article { padding: 20px 0; }
  .board_view_bot,
  .board_list_top { display: flex; flex-wrap: wrap; gap: 12px; }
  .board_view_bot .left_col,
  .board_view_bot .right_col,
  .board_list_top .left_col,
  .board_list_top .right_col { position: static; float: none; }
  .board_view_bot .left_col,
  .board_view_bot .right_col,
  .board_list_top .left_col,
  .board_list_top .right_col { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: auto; max-width: 100%; }
  .board_view_bot .left_col .btn + .btn,
  .board_view_bot .right_col .btn + .btn,
  .board_list_top .right_col .btn + .btn { margin-left: 0; }
  /* Editable forms flow vertically; data lists keep their table layout. */
  .board_view2.mobile_form { overflow: visible; }
  .board_view2.mobile_form > table { display: block; min-width: 0; }
  .board_view2.mobile_form > table > colgroup { display: none; }
  .board_view2.mobile_form > table > tbody { display: block; }
  .board_view2.mobile_form > table > tbody > tr { display: block; padding: 12px 0; border-bottom: 1px solid #dde2e5; }
  .board_view2.mobile_form > table > tbody > tr > td { display: block; width: 100%; padding: 8px 0; }
  .board_view2.mobile_form > table > tbody > tr > td.lb { text-align: left; font-weight: 500; }
  .mobile_form .f_select,
  .mobile_form .f_search2,
  .mobile_form .f_search3 { max-width: 100%; }
  .mobile_form .f_txt_inner.ml15 { display: block; height: auto; margin: 6px 0 0 !important; line-height: 1.6; }
  .mobile_form #areaNo,
  .mobile_form #middleTelno,
  .mobile_form #endTelno { width: calc((100% - 72px) / 3) !important; max-width: 100px; padding: 0 10px; }
  .mobile_form input[type="file"],
  .mobile_form .cke { max-width: 100%; }
  .mobile_form #bannerImage { display: block; margin: 8px 0 0 !important; }
  .inq_title_l,
  .inq_title_r,
  .inq_info { flex-wrap: wrap; gap: 8px; }
  .img_board_Squere_wrap { padding: 0; }
  .img_board_title,
  .img_board_title_start_box_Squere,
  .download_online_box { flex-wrap: wrap; gap: 12px; }
  .download_online { width: 100%; height: auto; min-height: 48px; font-size: 16px; }
  .content .intro_vis,
  .content .year-section,
  .sitemap-columns { flex-direction: column; gap: 20px; }
  .content .intro_img_box { margin: 0; text-align: center; }
  .content .intro_img_box img { display: block; margin: 0 auto; }
  .content .subContentsInner,
  .content .executives-grid { justify-content: center; }
  .content .subContentsInner .card { max-width: 100%; }
  .content .intro_r_box h4 { margin-top: 0; font-size: 24px; }
  .content .intro_blue_box em { margin-top: 24px; }
  .content .history-container { width: 100%; padding: 12px; }
  .content .year-details { width: 100%; min-width: 0; }
  .content .year-details td:first-child { width: 85px; }
  #year-sections { max-height: none; overflow: visible; }
  .content .items,
  .content .sw_flex,
  .content .business-grid,
  .content .business-card.wide ul,
  .content .ci-logo-grid.two,
  .content .ci-type-grid,
  .content .ci-color-row.two,
  .content .ci-color-row.three { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .content .business-card.wide { grid-column: auto; }
  .content .items .item { height: auto; min-height: 118px; padding: 16px; }
  .content .item-icon { flex: 0 0 64px; width: 64px; height: 64px; margin-right: 16px; }
  .content .application-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content .application-download-note,
  .content .membership-account-box .contact { flex-wrap: wrap; gap: 12px; }
  .content .membership-join-button { padding: 16px; font-size: 22px; }
  .membership-application-page .table-wrapper { display: flex; flex-direction: column; gap: 8px; }
  .membership-application-page .table-wrapper .money { position: static; order: -1; text-align: right; font-size: 13px; }
  .membership-application-page .table-wrapper .mobile_scroll_hint { margin: 0; }
  .content .fee-table { min-width: 660px; }
  .content .fee-table th,
  .content .fee-table td { padding: 10px 8px; line-height: 1.5; }
  .content .membership-account-box { padding: 24px 16px; }
  .content .membership-account-box .account-number { font-size: 22px; line-height: 1.5; }
  .content .membership-account-box .organization { line-height: 1.6; }
  .content .association-wrapper { flex-direction: column; gap: 20px; padding: 16px; }
  .content .association-header { margin-right: 0; }
  .content .association-logo { max-width: 100%; margin-left: 0; text-align: center; }
  .content .timeline-item { flex-direction: column; }
  .content .timeline-year { width: 100%; justify-content: flex-start; border-right: 0; font-size: 24px; }
  .content .timeline-content { width: 100%; }
  .content .timeline-content ul li { gap: 12px; }
  .content .event-date { flex: 0 0 64px; }
  .content .event-description { width: auto; min-width: 0; flex: 1; }
  .content .tab-btn,
  .content .tab-btn:first-child { width: auto; flex: 1; font-size: 14px; }
  .content .benefit-table-wrap { overflow-x: auto; }
  .content .benefit-table { min-width: 560px; }
  .sitemap-footer ul { flex-wrap: wrap; gap: 16px; }
  .login_banner { height: 200px; padding: 24px 16px; }
  .login_banner .txt { line-height: 1.6; word-break: keep-all; overflow-wrap: anywhere; }
  .p_login { padding: 0 16px; }
  .loginbox { margin-top: 24px; padding: 24px 16px; }
  .loginbox dl > * { float: none; width: 100%; }
  .loginbox dt { height: auto; line-height: 1.5; padding: 0 0 8px; text-align: left; }
  .loginbox dd input[type="text"],
  .loginbox dd input[type="password"] { width: 100%; }
  .loginbox .login_remember { display: flex; width: fit-content; min-height: 44px; margin: 8px 0 0; }
  .loginbox .btn_a { padding: 24px 0 0; }
  .loginbox .btn_a .btn { width: 100%; margin: 0 !important; }
  .footer .inner { flex-direction: column; align-items: center; text-align: center; }
  .footer .mid { flex-basis: auto; width: 100%; overflow-wrap: anywhere; }
  .footer .mid > div { line-height: 2; }
  #CM_chatbot > div:has(button[aria-label="챗봇 열기"]) { right: 16px; bottom: 16px; }
  #CM_chatbot button[aria-label="챗봇 열기"] { width: 56px; height: 68px; padding: 0; }
  #CM_chatbot button[aria-label="챗봇 열기"] img { width: 100%; height: 100%; object-fit: contain; }
  #CM_chatbot button[aria-label="챗봇 열기"] + div { display: none; }
  #CM_chatbot div:has(> #resize-handle) { max-width: 100vw; max-height: 100dvh; }
  #CM_chatbot #resize-handle + div > img { min-width: 0; max-width: calc(100% - 84px); height: auto; }
  .ui-dialog:has(iframe[src*="EgovIdDplctCnfirmView.do"]) { position: fixed; left: 16px !important; top: 16px !important; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); }
  .ui-dialog:has(iframe[src*="EgovIdDplctCnfirmView.do"]) .ui-dialog-content { max-height: calc(100dvh - 48px); }
  .POP_DUPID_CONF .pop_inner { max-width: 100%; }
}

@media screen and (max-width: 479px) {
  .content .img_board_network { grid-template-columns: minmax(0, 1fr); }
  .POP_DUPID_CONF .pop_header { height: 76px; }
  .POP_DUPID_CONF .pop_header h1 { padding: 24px 16px 0; font-size: 20px; }
  .POP_DUPID_CONF .pop_header .close { top: 22px; right: 16px; }
  .POP_DUPID_CONF .pop_container { padding: 20px 16px; }
  .POP_DUPID_CONF .box_1 { padding: 16px; }
  .POP_DUPID_CONF .box_1 input[type="text"] { display: block; width: 100%; margin: 10px 0 0 !important; font-size: 16px; }
  .POP_DUPID_CONF .btn_area { display: flex; justify-content: center; gap: 12px; }
  .POP_DUPID_CONF .btn_area > .btn + .btn { margin-left: 0; }
}

@media screen and (max-width: 1199px) {
  .ui-dialog.bbs-select-dialog { position: fixed; left: 50% !important; top: 16px !important; transform: translateX(-50%); width: calc(100vw - 32px) !important; max-width: 1100px; height: calc(100vh - 32px) !important; height: calc(100dvh - 32px) !important; max-height: 700px; padding: 0; }
  .ui-dialog.bbs-select-dialog .ui-dialog-content { width: 100% !important; height: 100% !important; padding: 0; overflow: hidden; }
  .ui-dialog.bbs-select-dialog iframe { display: block; }
  .EgovBoardMstrListPop .pop_inner { max-width: 100%; }
  .EgovBoardMstrListPop .f_select,
  .EgovBoardMstrListPop .f_search,
  .EgovBoardMstrListPop .f_search input[type="text"] { max-width: 100%; }
}
@media screen and (max-width: 767px) {
  .EgovBoardMstrListPop .pop_inner { position: static; width: 100%; transform: none; border-radius: 0; }
  .EgovBoardMstrListPop .pop_header { position: sticky; top: 0; z-index: 2; height: 76px; background: #fff; }
  .EgovBoardMstrListPop .pop_header h1 { padding: 24px 64px 0 16px; font-size: 22px; }
  .EgovBoardMstrListPop .pop_header .close { top: 16px; right: 10px; width: 44px; height: 44px; background-position: center; }
  .EgovBoardMstrListPop .pop_container { padding: 20px 16px; }
  .EgovBoardMstrListPop .f_select { margin-left: 0; height: 44px; }
  .EgovBoardMstrListPop .f_select select { font-size: 16px; }
  .EgovBoardMstrListPop .f_search { width: 100%; }
  .EgovBoardMstrListPop .f_search input[type="text"] { width: 100%; height: 44px; font-size: 16px; }
  .EgovBoardMstrListPop .f_search .btn { right: 0; width: 44px; height: 44px; background-position: center; background-size: 18px; }
}
@media screen and (max-width: 1199px) {
  /* Keep auto-width columns readable beside the existing fixed-width columns. */
  .board_list.admin_member_list > table { min-width: 1100px; }
  .board_list.admin_group_list > table { min-width: 900px; }
  .board_list.admin_banner_list > table { min-width: 1000px; }
  .board_list.admin_board_list > table { min-width: 1000px; }
}
