@media screen and (max-width: 768px) {
    /* 기본 레이아웃 크기 조정 */
    #hd, #wrapper, #ft { min-width: auto; }
    #hd_pop, #hd_wrapper, #tnb .inner, #gnb .gnb_wrap, #container_wr, #ft_wr { width: 100%; }
    
    /* 헤더 영역 모바일 최적화 */
    #hd_wrapper { height: auto; padding: 10px; }
    #logo { float: none; text-align: center; padding: 10px 0; }
    #logo img { max-width: 200px; height: auto; }
    
    /* 검색창 모바일 최적화 */
    .hd_sch_wr { float: none; width: 100%; padding: 10px 0; margin: 0; }
    #hd_sch { border-radius: 25px; }
    #hd_sch #sch_stx { width: calc(100% - 60px); height: 40px; font-size: 16px; }
    #hd_sch #sch_submit { width: 60px; height: 40px; }
    
    /* 상단 네비게이션 모바일 최적화 */
    #hd_define, #hd_qnb { float: none; text-align: center; margin: 10px 0; }
    #hd_define li, #hd_qnb li { float: none; display: inline-block; margin: 5px; border: none; }
    #hd_define li:last-child, #hd_qnb li:last-child { margin-right: 5px; }
    
    /* 로그인 영역 */
    .hd_login { position: static; text-align: center; margin: 10px 0; }
    .hd_login li { float: none; display: inline-block; margin: 5px; border: none; }
    
    /* 메인 네비게이션 모바일 최적화 */
    #gnb { position: relative; }
    #gnb .gnb_wrap { width: 100%; }
    #gnb #gnb_1dul { font-size: 1em; }
    #gnb .gnb_1dli { float: none; display: block; line-height: 50px; border-bottom: 1px solid #e0e2e5; }
    .gnb_1da { padding: 0 20px; }
    .gnb_2dul { position: static; display: none; width: 100%; box-shadow: none; border: none; }
    .gnb_1dli_over .gnb_2dul, .gnb_1dli_over2 .gnb_2dul { display: block; }
    
    /* 전체 메뉴 모바일 최적화 */
    #gnb_all { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; }
    #gnb_all .gnb_al_li { width: 50%; min-height: 120px; padding: 15px; }
    #gnb_all .gnb_al_li:nth-child(2n+1) { border-left: 0; }
    
    /* 컨테이너 영역 모바일 최적화 */
    #container_wr { margin: 0; padding: 0 10px; }
    #container { float: none; width: 100%; margin: 10px 0; min-height: auto; }
    #aside { float: none; width: 100%; margin: 20px 0; padding: 0; }
    
    /* 최신글 영역 모바일 최적화 */
    .lt_wr { width: 100%; margin-bottom: 20px; }
    .lt_wr:nth-child(3n+1) { clear: none; }
    .latest_wr { margin-bottom: 15px; }
    .latest_top_wr { margin: 0 0 15px; }
    
    /* 하단 영역 모바일 최적화 */
    #ft_wr { width: 100%; padding: 20px 10px; }
    #ft_wr .ft_cnt { width: 100%; float: none; padding: 10px 0; text-align: center; }
    #ft_copy { width: 100%; padding: 15px 10px; }
    
    /* 버튼 모바일 최적화 */
    a.btn, .btn { height: 44px; line-height: 44px; font-size: 16px; padding: 0 15px; }
    .btn_submit { height: 44px; line-height: 44px; font-size: 16px; }
    .btn_close { height: 44px; line-height: 44px; }
    
    /* 테이블 모바일 최적화 */
    .tbl_wrap { overflow-x: auto; }
    .tbl_wrap table { min-width: 600px; }
    .tbl_head01 td, .tbl_head02 td { padding: 8px 5px; font-size: 14px; }
    .tbl_head01 thead th, .tbl_head02 thead th { padding: 10px 5px; font-size: 14px; }
    
    /* 폼 모바일 최적화 */
    .tbl_frm01 th { width: 100px; padding: 10px; }
    .tbl_frm01 td { padding: 10px; }
    .frm_input { height: 44px; font-size: 16px; }
    .tbl_frm01 textarea, .write_div textarea { height: 120px; font-size: 16px; }
    
    /* 입력 필드 포커스 스타일 */
    input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus { 
        font-size: 16px; /* iOS 줌 방지 */
    }
    
    /* 캡챠 모바일 최적화 */
    #captcha.m_captcha { display: block; }
    #captcha.m_captcha #captcha_img { width: 100%; max-width: 200px; height: 60px; }
    #captcha.m_captcha #captcha_key { width: 100%; max-width: 200px; height: 40px; font-size: 16px; }
    
    /* 페이징 모바일 최적화 */
    .pg_page, .pg_current { height: 40px; line-height: 40px; min-width: 40px; font-size: 16px; }
    .pg_start, .pg_prev, .pg_end, .pg_next { width: 40px; height: 40px; }
    
    /* 새창 모바일 최적화 */
    .new_win .tbl_wrap { margin: 0 10px; }
    .new_win #win_title { padding: 15px 10px; font-size: 1.2em; }
    .new_win .win_ul li { margin: 5px 2px; }
    .new_win .win_ul li a { padding: 10px 5px; }
    
    /* 사이드뷰 모바일 최적화 */
    .sv_wrap .sv { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; }
    
    /* 최상단 버튼 모바일 최적화 */
    #top_btn { width: 50px; height: 50px; line-height: 50px; font-size: 18px; }
    
    /* 날짜 입력 필드 모바일 최적화 */
    .bo_w_date .date_input_wrapper { flex-direction: column; gap: 5px; }
    .bo_w_date .date_input_half input[type="date"] { height: 44px; font-size: 16px; }
    
    /* 기타 모바일 최적화 */
    .list_01 li { padding: 15px 10px; }
    .form_01 .frm_label { width: 100%; display: block; margin-bottom: 5px; }
    .form_01 .left_input { float: none; width: 100%; }
    .form_01 .margin_input { margin-right: 0; margin-bottom: 10px; }
    
    /* 숨김 처리 */
    .pc-only { display: none !important; }
    .mobile-only { display: block !important; }
}