/*서브레이아웃*/
.sub_visual{ height:130px; background:#eef2fb; }
.sub_visual .inner{ height:100%; }
.sub_visual_head{ display:flex; align-items:flex-start; justify-content:flex-end; height:100%; padding-top:20px; }
.sub_breadcrumb{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:24px; color:#8a8f99; font-size:1.4rem; line-height:1.5; }
.sub_breadcrumb_home{ position:relative; display:block; width:16px; height:16px; flex:0 0 16px; }
.sub_breadcrumb_home::before{ content:""; position:absolute; left:0; top:0; width:16px; height:16px; background:url("../images/common/ico_home_breadcrumb.png") no-repeat center center / contain; }
.sub_breadcrumb_sep{ display:block; width:8px; height:13px; flex:0 0 13px; background:url("../images/common/ico_breadcrumb_arrow.png") no-repeat center center / contain; }
.sub_breadcrumb_link,
.sub_breadcrumb_current{ color:#666666; font-weight:400; text-decoration:none; }
.sub_breadcrumb_current{ font-weight:500; }
/* 접근성 */
.sub_breadcrumb_link:focus,
.sub_breadcrumb_home:focus{ outline:2px solid #2a4ea4; outline-offset:3px; border-radius:4px; }


/* 서브 레이아웃 */
.sub_layout{ position:relative; }
.sub_layout_inner{ display:flex; gap:20px; align-items:flex-start; }

/* LNB */
.lnb{ width:230px; flex:0 0 230px; margin-top:-70px; }
.lnb_tit{ min-height:130px; border-radius:15px; background:url("../images/sub/lnb_tit_bg.jpg") no-repeat center / cover; display:flex; align-items:center; justify-content:center; color:#fff; font-size:3rem; font-weight:700; padding:15px; text-align:center; word-break:keep-all; overflow-wrap:break-word; }
.lnb_tit_text{ display:block; max-width:100%; word-break:break-all; overflow-wrap:break-word; }
.lnb_list{margin-top:8px;background:#fff;border-radius:15px;border:1px solid #cfd2d7;overflow:hidden;padding: 6px;}
.lnb_link{ display:block; padding:16px 18px; font-size:1.6rem; color:#333; text-decoration:none; position:relative; }
.lnb_link::before{ content:""; display:inline-block; width:4px; height:4px; background:#c5c5c5; border-radius:50%; margin-right:8px; vertical-align:middle; }

/* hover */
.lnb_link:hover{ background:#f7f9fc; }
/* active */
.lnb_item.is_active .lnb_link{ background:#2a4ea4; color:#fff; font-weight:500; border-radius:8px;}
.lnb_item.is_active .lnb_link::before{ background:#fff; }

.lnb_item{ position:relative; }
.lnb_item::after{ content:""; position:absolute; left:18px; right:18px; bottom:0; height:1px; background:#eaeaea; }
.lnb_item:last-child::after,
.lnb_item.is_active::after,
.lnb_item:has(+ .lnb_item.is_active)::after{ display:none; }

/* 서브 컨텐츠 */
.sub_content{ flex:1 1 auto; min-width:0; margin-top:-70px; }
.sub_content_inner{ padding:50px; background:#fff; border-top-left-radius:15px; border-top-right-radius:15px; min-height:600px; }
.sub_page_head{ display:flex; align-items:flex-start; }
.sub_page_tit{ width:100%; padding-bottom:30px; border-bottom:1px solid #c6c6c6; color:#333; font-size:3.6rem; font-weight:700; }

/* 인사말 박스 */
.greet_box{ margin-top: 50px; color:#666; font-size:1.8rem; line-height:1.9; }
.greet_message_box{ display:flex; align-items:center; justify-content:center; min-height:150px; margin-bottom:45px; padding:30px 40px; background:url("../images/sub/greet_bg.jpg") no-repeat center / cover; text-align:center; }
.greet_message{ color:#3d4653; font-size:2.4rem; font-weight:200; line-height:1.5; word-break:keep-all; }
.greet_message span{ color:#000; font-weight:500; vertical-align:baseline; position:relative; top:-0.02em; }
.greet_text_box p{ margin-top:28px; color:#444; }
.greet_text_box p:first-child{ margin-top:0; }
.greet_sign{ margin-top:55px; text-align:right; color:#444; font-size:2rem; line-height:1.6; }
.greet_sign strong{ font-family:'Noto Serif KR'; display:inline-block; margin-left:10px; color:#222; font-size:3rem; font-weight:700; }


/* 연혁 */
.subcon_01_02{ }
.history_tab_box{ margin-top:50px; }
.history_tab_list{ display:flex; align-items:flex-end; flex-wrap:wrap; gap:0; border-bottom:1px solid #d9d9d9; }
.history_tab_btn{ min-width:160px; height:50px; margin-bottom:-1px; padding:0 18px; border:1px solid #d3d3d3; border-left:0; border-radius:8px 8px 0 0; background:#f3f3f3; color:#555555; font-size:1.8rem; white-space:nowrap; }
.history_tab_btn:first-child{ border-left:1px solid #d3d3d3; }
.history_tab_btn.is_active{ background:#fff; color:#222; font-weight:600; border-bottom-color:#fff; }
.history_tab_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; position:relative; z-index:2; }
.history_tab_panels{ margin-top:50px; }
.history_tab_panel{ display:none; }
.history_tab_panel.is_active{ display:block; }
.history_year_group{ display:flex; align-items:flex-start; gap:50px;}
.history_year_group + .history_year_group{ margin-top:50px; padding-top:50px; border-top:1px solid #e5e5e5; }
.history_year{ flex:0 0 70px; color:#2a4ea4; font-size:3rem; font-weight:700; }
.history_year_cols{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:30px 36px; flex:1 1 auto; min-width:0; }
.history_year_list li{ display:flex; align-items:flex-start; gap:14px; font-size:1.2rem; line-height:1.55; color:#444; }
.history_year_list li + li{ margin-top:10px; }
.history_date{ flex:0 0 40px; color:#222; font-weight:600; font-size: 1.8rem; }
.history_text{ flex:1 1 auto; min-width:0; color:#444; word-break:keep-all; font-size: 1.7rem; }
.history_empty{ padding:40px 0; color:#666; font-size:1.8rem; line-height:1.6; }

/* 연혁 단일컬럼 연도별 내림차순 레이아웃 */
.history_timeline{ position:relative; padding:0 0 10px 0; }
.history_center_line{ position:absolute; left:8px; top:0; bottom:0; width:2px; background:#d9d9d9; }
.history_cols{ display:block; position:relative; }
.history_col{ width:100%; box-sizing:border-box; }
.history_col_right{ padding:0 0 0 15px; text-align:left; }
.history_box + .history_box{ margin-top:40px; }
.history_timeline .history_year{ flex:none; position:relative; display:inline-block; color:#2f53a6; font-size:3.2rem; font-weight:700; line-height:1; letter-spacing:-0.03em; vertical-align:top; padding-left:50px; }
.history_timeline .history_year::before{ content:""; position:absolute; left:-12px; top:9px; width:44px; height:18px; background:url("../images/sub/icon_history_right.png") no-repeat center / 44px 18px; }
.history_list{ margin:14px 0 0; padding:0 0 0 10px; list-style:none; }
.history_item{ display:flex; align-items:flex-start; gap:12px; }
.history_item + .history_item{ margin-top:8px; }
.history_timeline .history_date{ flex:0 0 auto; order:1; min-width:58px; text-align:left; color:#555; font-weight:700; font-size:1.8rem; line-height:1.7; white-space:nowrap; letter-spacing:-0.01em; }
.history_txt{ order:2; text-align:left; color:#555; font-size:1.6rem; line-height:1.7; word-break:keep-all; }

/*주요행사*/
.event_box{margin-top: 50px;}

/*전직회장단 , 집행부 , 특별분회장 및 구회장, 중소병의원 위원회*/
.presidency_box{margin-top: 50px;}
.presidency_table{ width:100%; border-top:2px solid #222222; border-collapse:collapse; }
.presidency_table th,
.presidency_table td{ border:1px solid #dbdbdb; padding:15px 10px; text-align: center;}
.presidency_table th{  background:#f6f6f6; color:#202738; font-size:1.8rem; font-weight:500; }
.presidency_table td{ font-size:1.7rem; }

/* 찾아오시는 길 */
.direct_box{ margin-top:50px; }
.direct_map_box{ margin-top:30px; overflow:hidden; background:#f5f5f5; }
.direct_map_box #map {border: 1px solid #e5e5e5; box-sizing: border-box;}
.direct_map_img{ display:block; width:auto; max-width:100%; height:auto; }
.direct_info_box{ margin-top:50px; }
.direct_info_list{ display:flex; flex-wrap:wrap; row-gap:22px; padding:0 20px;}
.direct_info_item{ display:flex; align-items:center; width:50%; min-height:50px; }
.direct_info_icon{ display:flex; align-items:center; justify-content:center; width:50px; height:50px; margin-right:14px; border-radius:50%; background:#e1e8fa; flex:0 0 50px; background-repeat:no-repeat; background-position:center; background-size:auto; }
.direct_info_item_address .direct_info_icon{ background-image:url("../images/sub/icon_adress.png"); }
.direct_info_item_tel .direct_info_icon{ background-image:url("../images/sub/icon_tel.png"); }
.direct_info_item_fax .direct_info_icon{ background-image:url("../images/sub/icon_fax.png"); }
.direct_info_item_email .direct_info_icon{ background-image:url("../images/sub/icon_email.png"); }
.direct_info_text_box{ display:flex; align-items:center; min-width:0; }
.direct_info_label{ flex:0 0 auto; min-width:44px; margin-right:18px; color:#333; font-size:2rem; font-weight:600; line-height:1.3; }
.direct_info_text{ color:#666; font-size:1.6rem; line-height:1.5; word-break:keep-all; }
.direct_info_item_email .direct_info_text{ word-break:break-all; }

/*자원봉사단*/
.volunteer_box{ margin-top:50px; } 
.volunteer_section + .volunteer_section{ margin-top:50px; } 
.volunteer_text_box{ margin-top:28px; } 
.volunteer_text_box p{ color:#555; font-size:1.8rem; line-height:1.95; word-break:keep-all; } 
.volunteer_text_box p + p{ margin-top:22px; } 
.volunteer_table_box{ margin-top:28px; } 
.volunteer_table_note{ margin-bottom:12px; color:#2a4ea4; font-size:1.8rem; font-weight:600; line-height:1.5; } 
.volunteer_table_scroll{ width:100%; } 
.volunteer_table{ width:100%; border-top:1px solid #222; border-collapse:collapse; table-layout:fixed; background:#fff; } 
.volunteer_table tbody tr{ border-bottom:1px solid #d9d9d9; } 
.volunteer_table th, 
.volunteer_table td{ padding:15px 18px; line-height:1.6; vertical-align:middle; border:0; } 
.volunteer_table th{ width:160px; background:#f5f5f5; color:#222; font-weight:600; text-align:center; white-space:nowrap; font-size:1.8rem;} 
.volunteer_table td{ color:#555; text-align:left; word-break:keep-all; background:#fff; font-size:1.7rem;}

/*ASCPi*/
.ascpi_box{ margin-top:50px; }
.ascpi_section + .ascpi_section{ margin-top:50px; }
.ascpi_text_box{ margin-top:30px; }
.ascpi_text_box p{ color:#555; font-size:1.8rem; line-height:1.95; word-break:keep-all; }

/*글쓰기 영역*/
.write_btn_box{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:50px; }
.write_btn{ display:inline-flex; align-items:center; justify-content:center; width:150px; height:50px; border-radius:7px; font-size:1.6rem; font-weight:600; text-decoration:none; transition:background-color .2s ease, color .2s ease, border-color .2s ease; }
.write_btn_submit{ background:#2a4ea4; border:1px solid #2a4ea4; color:#fff; }
.write_btn_submit:hover{ background:#2a4ea4; border-color:#2a4ea4; }
.write_btn_list{ background:#fff; border:1px solid #222; color:#222; }
.write_btn_list:hover{ background:#f7f7f7; }
.write_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:3px; }
.write_btn_delete { background: #6c757d; border: 1px solid #6c757d; color: #fff;}
.write_btn_delete:hover { background: #5a6268; border-color: #545b62; }

/*구인게시판*/
.info_table_wrap{ margin-top:20px; }
.info_table{ width:100%; table-layout:fixed; border-top:1px solid #dbdbdb; border-left:1px solid #dbdbdb; background:#fff;}
.info_table th,
.info_table td{ padding:16px 18px; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; vertical-align:middle; text-align:left; word-break:keep-all; }
.info_table th{ background:#f8f8f8; color:#202738; font-size:1.5rem; font-weight:600; text-align:center; }
.info_table td{ color:#555; font-size:1.5rem; line-height:1.6; background:#fff; } 
.job_tit{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.job_tit_left{ display:flex; align-items:center; gap:24px; min-width:0; flex:1; }
.job_tit_left .convey_h3{ flex-shrink:0; }
.job_tit_left p{ margin-top:2px; color:#4b68b8; font-size:1.6rem; font-weight:600; line-height:1.5; word-break:keep-all; }
.job_tit_right{ flex-shrink:0; padding-top:4px; }
.job_tit_right span{ display:inline-block; color:#555; font-size:1.4rem; font-weight:500; line-height:1.4; white-space:nowrap; }
.job_tit_right span::before{ content:"*"; margin-right:4px; color:#ff0000; font-weight:700; }
/*구인게시판_view*/
.job_info_table th, 
.job_info_table td{ padding:14px 18px; font-size:1.45rem; line-height:1.6; } 
.job_info_table th{ background:#f8f8f8; color:#333; font-weight:600; text-align:center; } 
.job_info_table td{ background:#fff; color:#555; vertical-align:middle; } 
.job_info_table .job_info_section th,
.job_info_table .job_info_section ~ tr th,
.job_info_table tr.job_info_line th{background:#f8f8f8; }
.job_info_table tr.job_info_line th,
.job_info_table tr.job_info_line td{ border-top:2px solid #222222; }
.job_info_table .job_req{ display:inline-block; margin-left:3px; color:#ff3b30; font-weight:700; vertical-align:middle; } 
.job_info_table .job_info_td_multi{ padding-top:12px; padding-bottom:12px; vertical-align:top; } 
.job_info_table .job_info_td_multi p{ color:#555; font-size:1.45rem; line-height:1.7; } 
.job_info_table .job_info_td_multi p + p{ margin-top:2px; } 
.job_info_table .job_info_td_intro{ padding-top:14px; padding-bottom:14px; } 
.job_info_table .job_info_td_intro p{ line-height:1.8; } 
.job_box .info_table_wrap{ margin-top:18px; }
.job_btn_box{ display:flex; justify-content:center; margin-top:40px; }

/* 구인등록 폼 (sub04_06) */
#recruitForm .job_input,
#recruitForm .job_select,
#recruitForm .job_textarea,
#recruitForm input[type="text"],
#recruitForm input[type="date"],
#recruitForm input[type="number"],
#recruitForm select,
#recruitForm textarea { border:1px solid #c8cbd2; border-radius:4px; padding:8px 12px; font-size:14px; color:#222; background-color:#fff; box-sizing:border-box; line-height:1.4; }
#recruitForm .job_input:focus,
#recruitForm .job_select:focus,
#recruitForm .job_textarea:focus,
#recruitForm input:focus,
#recruitForm select:focus,
#recruitForm textarea:focus { border-color:#2f4f9e; outline:none; box-shadow:0 0 0 2px rgba(47,79,158,.15); }
#recruitForm .job_textarea,
#recruitForm textarea { min-height:100px; resize:vertical; font-family:inherit; }
#recruitForm input[type="radio"],
#recruitForm input[type="checkbox"] { border:0; padding:0; margin-right:4px; vertical-align:middle; }
#recruitForm input[readonly] { background:#f3f4f7; color:#666; }
#recruitForm .job_btn { border:1px solid #c8cbd2; background:#fff; color:#333; border-radius:6px; cursor:pointer; font-size:15px; }
#recruitForm .job_btn_primary { background:#2f4f9e; border-color:#2f4f9e; color:#fff; }
#recruitForm .job_btn_primary:hover { background:#244083; border-color:#244083; }
#recruitForm .job_req { color:#c0392b; margin-left:2px; }
.info_table.job_write_table { border-left:0; }
.info_table.job_write_table th,
.info_table.job_write_table td { border-right:0; border-left:0; }

/* 구인등록 폼 - col 너비 */
.job_write_table col:nth-child(1) { width: 15%; }
.job_write_table col:nth-child(2) { width: 35%; }
.job_write_table col:nth-child(3) { width: 15%; }
.job_write_table col:nth-child(4) { width: 35%; }

/* 구인등록 폼 - 입력 너비 */
#recruitForm .job_input { width: 100%; }
#recruitForm .job_textarea { width: 100%; height: 120px; }
#recruitForm .gender_label { margin-right: 14px; }
#recruitForm .gender_label:last-child { margin-right: 0; }
#recruitForm .salary_select { width: 48%; }
#recruitForm .salary_input { width: 48%; }
#recruitForm input[type="date"] { width: 200px; max-width: 100%; min-width: 120px; box-sizing: border-box; overflow: visible; }
#recruitForm input[type="date"]::-webkit-calendar-picker-indicator { background-image: url('../images/common/icon_calendar_blk.png'); background-size: contain; background-repeat: no-repeat; background-position: center; width: 18px; height: 18px; cursor: pointer; opacity: 1; }

#recruitForm .decla_btn { min-width: 120px; height: 40px; font-size: 1.4rem; }
#recruitForm .decla_btn_outline { background: #fff; border: 1px solid #c8cbd2; color: #333; }
.board_tbl.job_board_tbl { min-width: 860px; }

/* ================================
   중소병의원자료실 지침서
================================ */
.cert_aco{ border-top: 1px solid #111111; margin-top: 30px;}
.cert_aco_item{ border-bottom: 1px solid #dbdbdb; }
.cert_aco_btn{ display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 18px 20px; text-decoration: none; }
.cert_aco_tit{ position: relative; display: inline-block; padding-left: 28px; font-size: 1.8rem; font-weight: 700; line-height: 1.4; color: #333333; transition: color .2s ease; }
.cert_aco_tit::before{ content: ""; position: absolute; left: 0; top: 50%; width: 16px; height: 18px; background: url("../images/sub/icon_aco.png") no-repeat center center; background-size: contain; transform: translateY(-50%);}
.cert_aco_btn.is_open .cert_aco_tit::before{ background: url("../images/sub/icon_aco_acitve.png") no-repeat center center; background-size: contain; }
.cert_aco_icon{ position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.cert_aco_icon::before{ content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 13px; border-right: 2px solid #888888; border-bottom: 2px solid #888888; transform: translate(-50%, -60%) rotate(45deg); transition: transform .2s ease, border-color .2s ease; }
.cert_aco_btn.is_open .cert_aco_tit{ color: #2a4ea4; }
.cert_aco_btn.is_open .cert_aco_icon::before{ border-color: #2a4ea4; transform: translate(-50%, -40%) rotate(-135deg); }
.cert_aco_btn:focus-visible{ outline: 2px solid #2a4ea4; outline-offset: 4px; border-radius: 4px; }
.cert_aco_panel{ display: none;}
.cert_aco_inner{ padding: 30px 20px; background: #f8f8f8; }
.cert_aco_head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 20px; background: #ffffff; border-radius: 5px; text-decoration: none; box-shadow: none; transition: background-color .2s ease, box-shadow .2s ease; }
.cert_aco_head_tit{ font-size: 1.6rem; font-weight: 500; line-height: 1.4; color: #4a4a4a; transition: color .2s ease; }
.cert_aco_head_mark{ position: relative; flex: 0 0 14px; width: 14px; height: 14px; }
.cert_aco_head_mark::before,
.cert_aco_head_mark::after{ content: ""; position: absolute; left: 0; top: 50%; width: 14px; height: 2px; background: #666666; border-radius: 2px; transform: translateY(-50%); transition: background-color .2s ease, opacity .2s ease; }
.cert_aco_head_mark::after{ transform: translateY(-50%) rotate(90deg); }
.cert_aco_unit + .cert_aco_unit{ margin-top: 6px; }
.cert_aco_head.is_open{ background: #4a81d4;  box-shadow: 0 3px 6px #d0d3d8; border-radius: 5px 5px 0 0;}
.cert_aco_head.is_open .cert_aco_head_tit{ color: #ffffff; }
.cert_aco_head.is_open .cert_aco_head_mark::before,
.cert_aco_head.is_open .cert_aco_head_mark::after{ background: #ffffff; }
.cert_aco_head.is_open .cert_aco_head_mark::after{ opacity: 0; }
.cert_aco_head:focus-visible{ outline: 2px solid #2a4ea4; outline-offset: 3px; }
.cert_aco_body{ padding: 20px; background: #e8ebf0; border-radius: 0 0 5px 5px; border:1px solid #d6dbe3;}
.cert_file_list{ display: flex; flex-wrap: wrap; gap: 10px; }
.cert_file_link{ display: flex; align-items: center; width: calc((100% - 30px) / 4); min-height: 28px; padding: 6px 12px; border: 1px solid #dddddd; border-radius: 5px; background: #fbfbfb; font-size: 1.3rem; line-height: 1.35; color: #444; word-break: break-all; transition: border-color .2s ease, color .2s ease, background-color .2s ease; }
.cert_file_link:hover{ color: #2a4ea4; border-color: #b8c8ea; background: #ffffff; }
.cert_file_link:focus-visible{ outline: 2px solid #2a4ea4; outline-offset: 2px;}

/* ================================
   무면허의료행위 신고
================================ */
/*안내*/
.guide_box{margin-top: 60px;}
.guide_box ~ .guide_box{margin-top: 60px;}
.grey_box{margin-top: 25px; padding:30px; box-sizing: border-box; border:1px solid #e1e1e1; border-radius: 15px; background-color: #f9f9f9; position: relative;}
.grey_box_inner{ max-height:330px; overflow-y:auto; padding-right:10px; }
.grey_box_inner::-webkit-scrollbar{ width:6px; }
.grey_box_inner::-webkit-scrollbar-track{ background:transparent; }
.grey_box_inner::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:10px; }
.grey_box_inner::-webkit-scrollbar-thumb:hover{ background:#b5b5b5; }
.grey_box_tit{ color:#222; font-size:2rem; font-weight:700;}
.grey_box_subtit{color:#222; font-size:1.9rem; font-weight: 500;}
.grey_box_desc{ margin-top:30px; color:#444; font-size:1.6rem; line-height:1.9; word-break:keep-all; } 
.grey_box_desc .ko_list{ margin-top:0; }
.grey_box_desc .num_paren_list + p,
.grey_box_desc p + .ko_list,
.grey_box_desc p + .num_paren_list{ margin-top:4px; }
.guide_text{margin:20px 0;}
.guide_btn_wrap{ margin-top: 30px; padding: 24px 75px; border: 1px solid #fddddb; border-radius: 15px; background: #fff3f3; }
.guide_btn_inner{ display: flex; align-items: center; gap: 50px; }
.guide_btn_detail{ display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; padding: 6px 4px; color: #333; font-size: 1.6rem; }
.guide_btn_detail_ico{ display: block; width: 26px; height: 26px; background: url("../images/sub/ico_detail.png") no-repeat center; background-size: contain; flex-shrink: 0; }
.guide_btn_links{ display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.guide_btn_link{ display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-width: 0; flex: 1 1 0; padding: 12px 20px; border-radius: 7px; background: #e15341; color: #fff; text-align: center; }
.guide_btn_link_txt{ display: block; color: #fff; font-size: 1.6rem; line-height: 1.4; word-break: keep-all; }
.guide_btn_link_ico{ display: block; width: 14px; height: 14px; background: url("../images/sub/ico_dwn.png") no-repeat center; background-size: contain; flex-shrink: 0;}
.guide_btn_detail:hover .guide_btn_detail_txt,
.guide_btn_detail:focus-visible .guide_btn_detail_txt{ text-decoration: underline; text-underline-offset: 3px; }
.guide_btn_link:hover,
.guide_btn_link:focus-visible{ background: #d44a39; }
.guide_btn_detail:focus-visible,
.guide_btn_link:focus-visible{ outline: 2px solid #111; outline-offset: 3px; }
.guide_tit{font-size: 1.7rem; margin:20px 0; font-weight: 600;}
.guide_role_box{ margin-top:25px; padding:30px 40px; border:1px solid #e1e1e1; border-radius:15px; }
.guide_role_head{ display:flex; gap:28px; margin-bottom:22px; }
.guide_role_head_item{ width:calc((100% - 28px) / 2); height:40px; border:1px dashed #95a8df; border-radius:10px; background:#e6eaf8; color:#2a4ea4; font-size:1.6rem; font-weight:700; line-height:40px; text-align:center; }
.guide_role_flow{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.guide_role_item{ flex:1 1 0; min-width:0; }
.guide_role_card{ height:235px; padding:28px 16px 24px; border-radius:15px; background:#eef2f7; text-align:center; }
.guide_role_icon{ display:flex; align-items:center; justify-content:center; height:84px; margin-bottom:26px; }
.guide_role_icon img{ display:block; width:auto; height:auto; max-width:100%; }
.guide_role_name{ color:#222; font-size:1.8rem; font-weight:700; line-height:1.45; word-break:keep-all; }
.guide_role_desc{ margin-top:12px; color:#666; font-size:1.4rem; font-weight:500; word-break:keep-all; }
.guide_role_arrow{ flex:0 0 12px; display:flex; align-items:center; justify-content:center; }
.guide_role_arrow img{ display:block; width:21px; height:auto; }
/* 공익 신고 절차 - 국민권익위원회 */
.guide_role_box_type02{ padding:30px 40px; border-radius: 20px; background: #ffffff; overflow: hidden; } 
.guide_role_head_type02{ margin-bottom: 22px; } 
.guide_role_head_type02 .guide_role_head_item{ width: 445px; max-width: 100%; height: 46px; border: 1px dashed #9eb2e8; border-radius: 14px; background: #e9edf7; color: #2a4ea4; font-size: 1.6rem; font-weight: 700; line-height: 44px; } 
.guide_role_flow_type02{ display:flex; align-items:center; justify-content:flex-start; gap:0; } 
.guide_role_flow_type02 .guide_role_item{ flex:0 0 145px; width:145px; } 
.guide_role_card_type02{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; height:235px; padding:26px 10px 18px; border-radius:18px; background:#eef2f7; text-align:center; } 
.guide_role_icon_type02{ display:flex; align-items:center; justify-content:center; height:68px; margin-bottom:24px; } 
.guide_role_icon_type02 img{ display:block; width:auto; height:auto; max-width:72px; max-height:58px; } 
.guide_role_name_type02{ color:#222; font-size:1.8rem; font-weight:700; line-height:1.45; letter-spacing:-0.02em; word-break:keep-all; } 
.guide_role_desc_type02{ margin-top:10px; color:#666; font-size:1.4rem; font-weight:500; line-height:1.6; letter-spacing:-0.02em; word-break:keep-all; } .guide_role_arrow_type02{ flex:0 0 34px; width:34px; display:flex; align-items:center; justify-content:center; } 
.guide_role_arrow_type02 img{ display:block; width:16px; height:auto; }
/* 무면허 채용 공고 신고 방법 */
.guide_report_box{ margin-top: 25px; padding: 30px; border: 1px solid #e2e2e2; border-radius: 15px; background: #ffffff; }
.guide_report_step + .guide_report_step{ margin-top: 12px; }
.guide_report_card{ display: flex; align-items: center; gap: 22px; min-height: 110px; padding: 12px 30px; border-radius: 15px; background: #eef2f7; }
.guide_report_head{ flex: 0 0 240px; width: 240px; min-height: 64px; display: flex; align-items: center; gap: 18px; padding-right: 22px; border-right: 1px solid #d7dce5; }
.guide_report_head_last{ border-right: 0; }
.guide_report_symbol{ flex: 0 0 62px; width: 62px; display: flex; align-items: center; justify-content: center; }
.guide_report_symbol img{ display: block; width: auto; height: auto; max-width: 100%; } 
.guide_report_symbol_logo{ flex-basis: 82px; width: 82px; } 
.guide_report_title_box{ min-width: 0; } 
.guide_report_step_num{ color: #2450b4; font-size: 1.5rem; font-weight: 700; line-height: 1.2; } 
.guide_report_step_tit{ margin-top: 6px; color: #222; font-size: 1.7rem; font-weight: 700; line-height: 1.35; word-break: keep-all; } 
.guide_report_flow{ flex: 1; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; } 
.guide_report_flow_multi{ display: block; } 
.guide_report_flow_row{ display: flex; align-items: center; flex-wrap: wrap; gap: 8px; } 
.guide_report_flow_row + .guide_report_flow_row{ margin-top: 8px; } 
.guide_report_pill{ display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 18px; border: 1px solid #c7c7c7; border-radius: 999px; background: #ffffff; color: #555; font-size: 1.5rem; font-weight: 500; line-height: 1.2; text-align: center; word-break: keep-all; } 
.guide_report_pill_short{ min-width: 74px; padding: 0 16px; } 
.guide_report_pill_long{ padding: 0 20px; } 
.guide_report_arrow{ flex: 0 0 auto; width: 16px; display: inline-flex; align-items: center; justify-content: center; } 
.guide_report_arrow img{ display: block; width: 11px; height: auto; } 
.guide_report_down{ display: flex; align-items: center; justify-content: center; height: 24px; margin: 4px 0; } 
.guide_report_down img{ display: block; width: 14px; height: auto; }
.guide_example_box{ margin-top:40px; padding:30px; background:#f4f4f4; border-radius:20px; } 
.guide_example_list{ display:flex; gap:30px; } 
.guide_example_item{ flex:1; background:#fff; border-radius:15px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.05); } 
.guide_example_head{ background:#445886; color:#fff; font-size:18px; font-weight:700; text-align:center; padding:16px 10px; } 
.guide_example_body{ padding:25px 65px; } 
.guide_example_body img{ width:100%; display:block; border:1px solid #dbdbdb; } 
.guide_example_note{ margin-top:25px; } 
.guide_example_note li{ position:relative; padding-left:12px; font-size:15px; color:#444; line-height:1.6; } 
.guide_example_note li + li{ margin-top:6px; } 
.guide_example_note li::before{ content:""; position:absolute; left:0; top:10px; width:4px; height:4px; background:#444; border-radius:50%; }
.guide_example_box_single{ margin-top: 25px; } 
.guide_example_single{ display: block; } 
.guide_example_item_single{ width: 100%; max-width: 100%; } 
.guide_example_body_single{ padding: 40px 100px; } 
.guide_example_body_single img{ width: 100%; max-width: 760px; margin: 0 auto; display: block; border: 1px solid #dbdbdb; }
.guide_report_flow_query{ display: block; } 
.guide_report_flow_row_query{ display: flex; align-items: center; flex-wrap: wrap; gap: 8px; } 
.guide_report_query_label{ display: inline-block; min-width: 112px; color: #555; font-size: 1.5rem; font-weight: 600; line-height: 1.35; word-break: keep-all; }
.guide_example_box_stack{ margin-top: 25px; } 
.guide_example_stack{ display: flex; flex-direction: column; gap: 28px; } 
.guide_example_body_stack{ padding: 40px 100px; } 
.guide_example_body_stack img{ width: 100%; max-width: 760px; margin: 0 auto; display: block; border: 1px solid #dbdbdb; }

/*신고*/
.decla_box{ padding:20px; border-radius:15px; background:#fcf3ec; margin-top:60px; }
.decla_text{ display:grid; grid-template-columns:30px 1fr; column-gap:10px; align-items:center; justify-self: center; font-size:1.6rem; color:#222; }
.decla_text::before{ content:""; width:30px; height:30px; background:url(../images/sub/icon_decla.png) no-repeat center / contain; }
.badge_status{ display:inline-flex; align-items:center; justify-content:center; width:80px; height:26px; font-size:13px; font-weight:500; border-radius:13px; border:1px solid; background:#fff; }
.badge_status.is_ing{ color:#2a4ea4; border-color:#2a4ea4; }
.badge_status.is_done{ color:#656565; border-color:#9d9d9d; }
/*신고_write*/
.decla_blue_box{ padding:30px; background:#f4f6fb; border-radius:15px; margin-top: 30px; margin-bottom: 30px; }
.decla_notice{ display:grid; grid-template-columns:24px 1fr; column-gap:15px; align-items:flex-start; }
.decla_notice + .decla_notice{ margin-top:22px; }
.decla_icon{ display:block; width:24px; margin-top:2px; }
.decla_icon img{ display:block; width:auto; height:auto; }
.decla_desc{ min-width:0; font-size:1.6rem; line-height:1.9; color:#555; word-break:keep-all; }
.decla_em{ font-style:normal; font-weight:700; }
.decla_table_wrap{ margin-top: 30px; }
.decla_table{ width: 100%; border-top: 2px solid #666; border-collapse: collapse; table-layout: fixed; }
.decla_table th,
.decla_table td{ border-bottom: 1px solid #dbdbdb; vertical-align: top; }
.decla_table th{ padding: 14px 16px; background: #f8f8f8; color: #333; font-size: 1.5rem; font-weight: 700; text-align: center; line-height: 1.5; }
.decla_table td{ padding: 10px 16px; background: #fff; }
.decla_table .required{ color: #ff0000; margin-left: 2px; }
.decla_input,
.decla_select,
.decla_textarea{ width: 100%; border: 1px solid #dbdbdb; background: #fff; color: #222; font-size: 1.5rem; font-family: inherit; box-sizing: border-box; border-radius: 5px;}
.decla_input,
.decla_select{ height: 38px; padding: 0 12px; }
.decla_select{ width: 90px; padding-right: 28px; background: #fff url("../images/sub/icon_select.png") no-repeat right 12px center; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.decla_textarea{ min-height: 140px; padding: 12px; resize: vertical; }
.decla_textarea_short{ min-height: 96px; }
.decla_file_box{ display:flex; align-items:center; gap:16px; min-height:48px; }
.decla_file_input{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; }
.decla_file_btn{ display: inline-flex; align-items: center; justify-content: center; min-width:94px; height:38px; padding:0 18px; border:1px solid #2a4ea4; border-radius:5px; background:#fff; color:#2a4ea4; font-size:1.5rem; font-weight:500; cursor:pointer; }
.decla_file_name{ color: #666; font-size: 1.4rem; line-height: 1.4; }
.decla_btn_box{ display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.decla_btn{ display: inline-flex; align-items: center; justify-content: center; min-width: 150px; height: 60px; padding: 0 24px; border-radius: 4px;  font-size: 1.6rem; font-weight: 500; }
.decla_btn_submit{ background: #2a4ea4; color: #fff; }
.decla_btn_list{ background: #4b505a; color: #fff; }
.decla_input:focus,
.decla_select:focus,
.decla_textarea:focus,
.decla_file_btn:focus,
.decla_btn:focus{ outline: 2px solid #2f4fa8; outline-offset: 2px; }

/* 임상생리검사 버튼 목록 */
.cpt_box{ margin-top:30px; }
.cpt_btn_list{ display:grid; grid-template-columns:repeat(6, 1fr); gap:0; list-style:none; border-top:1px solid #d3d3d3; border-left:1px solid #d3d3d3; }
.cpt_btn_list li{ display:contents; }
.cpt_btn{ display:flex; align-items:center; justify-content:flex-start; padding:15px 10px; background:#fafafa; border-right:1px solid #d3d3d3; border-bottom:1px solid #d3d3d3; font-size:1.7rem; color:#444; text-decoration:none; text-align:center; word-break:keep-all; transition:background-color .15s ease, color .15s ease; }
.cpt_btn:hover{ background:#eef1f9; color:#2a4ea4; }
.cpt_btn.is_active{ background:#2a4ea4; color:#fff; }
.cpt_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:-2px; z-index:1; position:relative; }
/* 임상생리검사 패널 */
.cpt_panels{ margin-top:30px; }
.cpt_panel{ display:none; }
.cpt_panel.is_active{ display:block; }
.cpt_panel:focus{ outline:none; }
.cpt_panel_inner{ padding:30px 0; }
.cpt_panel_tit{ margin-bottom:20px; font-size:3rem; font-weight:600; color:#001f65; line-height:1.4; word-break:keep-all; }
.cpt_panel_txt{ font-size:1.7rem; color:#444; line-height:1.9; word-break:keep-all; }
.cpt_panel_keyword{ font-weight:700; color:#2a4ea4; }
/* 임상생리검사 이미지 영역 */
.cpt_img_wrap{ display:flex; justify-content:center; gap:40px; margin-top:40px; padding:30px; background:#f5f7fb; flex-wrap:wrap; }
.cpt_img_item{ display:inline-flex; flex-direction:column; align-items:center; }
.cpt_img_box{ display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #dddddd; padding:15px; width:300px; height:200px; overflow:hidden; flex-shrink:0; box-sizing:border-box; }
.cpt_img_box img{ display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.cpt_img_caption{ display:block; margin-top:10px; text-align:center; font-size:1.6rem; color:#28354f; line-height:1.4; }
/* 임상생리검사 주의사항 */
.cpt_notice_box{ margin-top:50px; }
.cpt_notice_list{ list-style:none; display:flex; flex-direction:column; gap:14px; }
.cpt_notice_item{ display:flex; align-items:center; gap:10px; }
.cpt_notice_num{ display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:26px; border-radius:13px; background:#d9e3f6; font-size:1.7rem; font-weight:700; color:#2a4ea4; line-height:1; }
.cpt_notice_txt{ font-size:1.7rem; color:#444; line-height:1.6; word-break:keep-all; }
/*조직도 및 임원진*/
.org_zone{margin-top: 50px;}
.org_bb_box{background-color: #f5f7fb; padding:50px; border-radius:20px; overflow:hidden;}
.org_bb_box img{ display:block; max-width:100%; height:auto; }
.org_member_box{ margin-top:50px; }
.org_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:30px; }
.org_table{ width:100%; border-top:2px solid #222222; border-collapse:collapse; }
.org_table thead th{ padding:15px 10px; background:#f6f6f6; border:1px solid #dbdbdb; border-top:0; border-bottom:0; color:#202738; font-size:1.7rem; font-weight:600; text-align:center; }
.org_table tbody td{ padding:15px 10px; background:#fff; border:1px solid #dbdbdb; font-size:1.6rem; color:#444444; text-align:center; }

/* sub04_03 가입안내 */
.join_guide{ display:flex; align-items:center; background:#f5f7fb; border-radius:20px; padding:50px; margin-top: 50px; }
.join_guide_icon{ flex-shrink:0; }
.join_guide_icon img{ display:block; }
.join_guide_text{ margin-left:30px; }
.join_guide_tit{ font-size:2.6rem; color:#111; line-height:1.4; }
.join_guide_tit strong{ color:#2a4ea4; font-weight:700; }
.join_guide_desc{ margin-top:20px; font-size:1.8rem; color:#444; line-height:1.6; }
.join_guide_link{ color:#2a4ea4; font-weight:700; text-decoration:none; padding-bottom:3px; border-bottom:1px solid #2a4ea4; }
.join_benefit{ margin-top:60px; }
.join_benefit_list{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin-top:20px; }
.join_benefit_card{ display:flex; flex-direction:column; align-items:center; border:1px solid #e1e1e1; border-radius:15px; background:#fff; padding:30px; height:100%; }
.join_benefit_icon{ display:flex; align-items:flex-end; min-height:80px; }
.join_benefit_icon img{ display:block; }
.join_benefit_name{ margin-top:40px; font-size:1.8rem; color:#333; font-weight:600; text-align:center; line-height:1.5; word-break:keep-all; }
.join_duty{ margin-top:60px; }
.join_duty .cpt_notice_list{ margin-top:20px; }
.join_class{ margin-top:60px; }
.join_class_list{ display:grid; grid-template-columns:repeat(3, 1fr); gap:30px; margin-top:20px; }
.join_class_card{ display:flex; flex-direction:column; height:100%; }
.join_class_head{ display:flex; align-items:center; justify-content:center; height:50px; border-top-left-radius:15px; border-top-right-radius:15px; color:#fff; font-size:2rem; font-weight:700; }
.join_class_head_guest{ background:#8991a0; }
.join_class_head_associate{ background:#6b8ee2; }
.join_class_head_regular{ background:#2a4ea4; }
.join_class_body{ flex:1; display:flex; align-items:center; justify-content:center; padding:30px; background:#fff; border:1px solid #e1e1e1; border-top:0; border-bottom-left-radius:15px; border-bottom-right-radius:15px; box-shadow:0 4px 12px rgba(0,0,0,0.06); }
.join_class_body p{ font-size:1.7rem; color:#444; line-height:1.4; text-align:center; word-break:keep-all; }

/* sub04_04 관련단체 바로가기 */
.related_section{ margin-top:50px; }
.related_section + .related_section{ margin-top:60px; }
.related_list{ display:flex; flex-wrap:wrap; gap:30px; margin-top:20px; }
.related_item{ width:calc((100% - 60px) / 3); }
.related_card{ display:flex; flex-direction:column; width:100%; height:203px; background:#fff; border:1px solid #e1e1e1; border-radius:15px; padding:30px; text-decoration:none; transition:box-shadow 0.2s; box-sizing:border-box; }
.related_card:hover{ box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.related_card:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.related_card_logo{ flex:1; display:flex; align-items:center; justify-content:center; min-height:120px; }
.related_card_logo img{ display:block; max-width:100%; height:auto; }
.related_card_url{ display:flex; align-items:center; justify-content:center; margin-top:auto; font-size:1.6rem; color:#7f7f7f; }
.related_card_outlink{ display:inline-block; margin-left:3px; vertical-align:middle; }

/* sub04_05 회칙 */
.a4_box{padding:50px 40px; margin-top:60px; box-sizing: border-box; border:1px solid #e1e1e1; border-radius: 15px; background-color: #f9f9f9; position: relative; margin-left:auto; margin-right:auto; line-height:1.8; font-size:1.5rem; color:#333; max-height:700px; overflow-y:auto;}
.a4_box .bylaws_title{font-size:2.4rem; font-weight:700; text-align:center; margin-bottom:40px; color:#111; letter-spacing:2px;}
.a4_box .bylaws_chapter{font-size:2rem; font-weight:700; text-align:center; margin:40px 0 20px; color:#111; letter-spacing:4px;}
.a4_box .bylaws_article{margin-bottom:16px;}
.a4_box .bylaws_article strong{font-weight:700; color:#111;}
.a4_box .bylaws_article p{margin:4px 0 4px 0;}
@counter-style circled-num{system:fixed 1; symbols:"\2460" "\2461" "\2462" "\2463" "\2464" "\2465" "\2466" "\2467" "\2468" "\2469" "\246A" "\246B" "\246C" "\246D" "\246E" "\246F" "\2470" "\2471" "\2472" "\2473"; suffix:" ";}
.a4_box .bylaws_list{list-style:none; padding-left:24px; margin:6px 0; counter-reset:circle-num 0;}
.a4_box .bylaws_list[data-start="2"]{counter-reset:circle-num 1;}
.a4_box .bylaws_list[data-start="3"]{counter-reset:circle-num 2;}
.a4_box .bylaws_list[data-start="4"]{counter-reset:circle-num 3;}
.a4_box .bylaws_list[data-start="5"]{counter-reset:circle-num 4;}
.a4_box .bylaws_list[data-start="6"]{counter-reset:circle-num 5;}
.a4_box .bylaws_list[data-start="7"]{counter-reset:circle-num 6;}
.a4_box .bylaws_list[data-start="8"]{counter-reset:circle-num 7;}
.a4_box .bylaws_list[data-start="9"]{counter-reset:circle-num 8;}
.a4_box .bylaws_list[data-start="10"]{counter-reset:circle-num 9;}
.a4_box .bylaws_list li{position:relative; margin-bottom:2px; counter-increment:circle-num;}
.a4_box .bylaws_list li::before{content:counter(circle-num, circled-num); position:absolute; left:-20px;}
.a4_box .bylaws_numlist{list-style:none; padding-left:15px; margin:6px 0; counter-reset:num-list;}
.a4_box .bylaws_numlist li{position:relative; padding-left:4px; margin-bottom:2px; counter-increment:num-list;}
.a4_box .bylaws_numlist li::before{content:counter(num-list) ". "; position:absolute; left:-15px;}
.a4_box .bylaws_text_list{list-style:none; margin:6px 0; counter-reset:none;}
.a4_box .bylaws_text_list li{margin-bottom:2px; counter-increment:none;}
.a4_box .bylaws_text_list li::before{content:none;}
.a4_box .bylaws_history{display:flex; flex-wrap:wrap; border:1px solid #ccc; padding:12px 16px; margin-bottom:30px; font-size:1.5rem; color:#555; line-height:1.8;}
.a4_box .bylaws_history span{width:33.333%; box-sizing:border-box; white-space:nowrap; text-align: center;}
.a4_box .bylaws_table{width:100%; border-top:2px solid #222; border-collapse:collapse; margin-top:20px;}
.a4_box .bylaws_table th,
.a4_box .bylaws_table td{border:1px solid #dbdbdb; padding:10px 8px; text-align:center; font-size:1.4rem;}
.a4_box .bylaws_table th{background:#f6f6f6; color:#202738; font-weight:500;}
.a4_box .bylaws_table td{color:#444;}


/* =========================
   태블릿
========================= */
@media (max-width:1024px){
   .sub_layout_inner{ gap:16px; } 
   .lnb{ width:200px; flex:0 0 200px; } 
   .lnb_tit{ font-size:2.4rem; } 
   .sub_page_tit{ font-size:3rem; } 
   /* 인사말 */
   .greet_box{margin-top: 40px;}
   .greet_message{ font-size:2rem; } 
   .greet_sign strong{ font-size:2.4rem; }
   /*연혁*/
   .history_tab_box{ margin-top:40px; } 
   .history_tab_btn{ min-width:140px; height:46px; padding:0 16px; font-size:1.5rem; } 
   .history_tab_panels{ margin-top:40px; } 
   .history_year_group{ gap:34px; } 
   .history_year_group + .history_year_group{ margin-top:40px; padding-top:40px; } 
   .history_year{ flex:0 0 64px; font-size:2.5rem; } 
   .history_year_cols{ gap:24px 26px; } 
   .history_year_list li{ gap:12px; } 
   .history_date{ flex:0 0 40px; font-size:1.5rem; }
   .history_text{ font-size:1.4rem; line-height:1.6; }
   .history_box + .history_box{ margin-top:28px; }
   .history_timeline .history_year{ font-size:2.5rem; }
   .history_timeline .history_year::before{ top:3px; width:44px; height:18px; background-size:44px 18px; }
   .history_list{ margin-top:12px; padding-left:20px; }
   .history_item{ gap:10px; }
   .history_timeline .history_date{ min-width:50px; font-size:1.55rem; }
   .history_txt{ font-size:1.4rem; line-height:1.6; }
   /*전직회장단*/
   .presidency_box{ margin-top:40px; } 
   .presidency_table th, 
   .presidency_table td{ padding:14px 8px; font-size:1.5rem; }
   /*찾아오시는 길*/
   .direct_box{ margin-top:40px; } 
   .direct_map_box{ margin-top:24px; } 
   .direct_info_box{ margin-top:36px; } 
   .direct_info_list{ padding:0 10px; row-gap:20px; column-gap:20px; } 
   .direct_info_item{ width:calc((100% - 20px) / 2); }
   .direct_info_label{ min-width:40px; margin-right:14px; font-size:1.8rem; } 
   .direct_info_text{ font-size:1.5rem; }
   /*자원봉사단*/
   .volunteer_box{ margin-top:40px; } 
   .volunteer_section + .volunteer_section{ margin-top:42px; } 
   .volunteer_text_box{ margin-top:24px; } 
   .volunteer_text_box p{ font-size:1.55rem; line-height:1.85; } 
   .volunteer_text_box p + p{ margin-top:18px; } 
   .volunteer_table_box{ margin-top:24px; } 
   .volunteer_table_note{ margin-bottom:10px; font-size:1.6rem; } 
   .volunteer_table th, 
   .volunteer_table td{ padding:14px 16px; } 
   .volunteer_table th{ width:145px; }
   /*ASCPi*/
   .ascpi_box{ margin-top:40px; } 
   .ascpi_section + .ascpi_section{ margin-top:42px; } 
   .ascpi_text_box{ margin-top:24px; } 
   .ascpi_text_box p{ font-size:1.55rem; line-height:1.85; }
   
   .cpt_btn_list{ grid-template-columns:repeat(4, 1fr); }
   .cpt_btn{ font-size:1.6rem; padding:14px 8px; }
   .cpt_panel_tit{ font-size:2.6rem; }
   .cpt_panel_txt{ font-size:1.6rem; }
   .cpt_notice_box{ margin-top:40px; }
   .cpt_notice_txt{ font-size:1.6rem; }
   .org_table thead th{ font-size:1.6rem; }
   .org_table tbody td{ font-size:1.5rem; }
   .org_bb_box{ padding:30px; }
   .join_guide{ padding:40px 30px; }
   .join_benefit{ margin-top:50px; }
   .join_benefit_card{ padding:24px; }
   .join_duty{ margin-top:50px; }
   .join_class{ margin-top:50px; }
   .join_class_list{ gap:20px; }
   .join_class_body{ padding:24px; }
   .related_section + .related_section{ margin-top:50px; }
   .related_list{ gap:20px; }
   .related_card{ padding:24px; }
   /* 회칙 */
   .a4_box{ padding:40px 30px; margin-top:40px; }
   .a4_box .bylaws_title{ font-size:2.2rem; margin-bottom:30px; }
   .a4_box .bylaws_chapter{ font-size:1.6rem; margin:30px 0 16px; }
   /* 구인등록 테이블 */
   .job_write_table colgroup{ display:none; }
   .job_write_table th,
   .job_write_table td{ padding:12px 14px; font-size:1.4rem; }
   .job_write_table .job_input,
   .job_write_table .job_select{ height:38px; font-size:1.4rem; }
   .job_write_table .job_textarea{ font-size:1.4rem; }
}





/* =========================
  모바일 (768)
========================= */
@media (max-width:768px){
   .lnb,
   .sub_content{ margin-top:0; }
   .lnb{ display: none; }
   .lnb_tit{ height:100px; font-size:2.2rem; border-radius:12px; }
   .lnb_list{ border-radius:12px; }
   .sub_content_inner{ padding:20px 0; border-radius:0; }
   .sub_page_tit{ font-size:2.6rem; padding-bottom:20px; }
   /* 인사말 */
   .greet_box{ margin-top:30px; font-size:1.5rem; }
   .greet_message_box{ padding:20px; min-height:auto; }
   .greet_message{ font-size:1.8rem; }
   .greet_text_box p{ margin-top:20px; }
   .greet_sign{ margin-top:35px; font-size:1.6rem; }
   .greet_sign strong{ font-size:2.2rem; }
   /*연혁*/
   .history_tab_box{ margin-top:30px; } 
   .history_tab_list{ gap:8px 0; border-bottom:0; } 
   .history_tab_btn{ min-width:auto; height:44px; padding:0 16px; margin-bottom:0; border-left:1px solid #d3d3d3; border-radius:8px; font-size:1.45rem; } 
   .history_tab_btn.is_active{ border-bottom-color:#d3d3d3; } 
   .history_tab_panels{ margin-top:26px; } 
   .history_year_group{ flex-direction:column; gap:18px; } 
   .history_year_group + .history_year_group{ margin-top:32px; padding-top:32px; } 
   .history_year{ flex:0 0 auto; font-size:2.2rem; line-height:1.2; } 
   .history_year_cols{ grid-template-columns:1fr; gap:20px; width:100%; } 
   .history_year_list li{ gap:12px; font-size:1.4rem; line-height:1.6; } 
   .history_year_list li + li{ margin-top:8px; } 
   .history_date{ flex:0 0 42px; font-size:1.45rem; } 
   .history_text{ font-size:1.4rem; line-height:1.6; } 
   .history_empty{ padding:32px 0; font-size:1.4rem; }
   .history_box + .history_box{ margin-top:28px; }
   .history_timeline .history_year{ font-size:2.2rem; padding-left:42px; }
   .history_timeline .history_year::before{ left:-2px; top:2px; width:36px; height:15px; background-size:36px 15px; }
   .history_timeline .history_date{ min-width:46px; font-size:1.45rem; }
   .history_txt{ font-size:1.35rem; line-height:1.58; }
   /*글쓰기영역*/
   .write_table, .write_table tbody, .write_table tr, .write_table th, .write_table td{ display:revert; width:auto; }
   .write_table tr{ margin-top:0; border:0; border-radius:0; overflow:visible; }
   .write_table th{ width:auto; border:1px solid #dbdbdb; background:#f6f6f6; padding:12px 14px; font-size:1.4rem; }
   .write_table td{ border:1px solid #dbdbdb; padding:12px 14px; font-size:1.4rem; }
   .write_btn_box{ margin-top:24px; gap:8px; }
   .write_btn{ width:auto; min-width:100px; height:42px; padding:0 16px; font-size:1.4rem; }
   /*전직회장단*/
   .presidency_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:6px; }
   .presidency_wrap::-webkit-scrollbar{ height:8px; }
   .presidency_wrap::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:10px; }
   .presidency_wrap::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:10px; }
   .presidency_table{ min-width:760px; }
   .presidency_table th,
   .presidency_table td{ padding:13px 8px; font-size:1.4rem; white-space:nowrap; }
   /*찾아오시는 길*/
   .direct_box{ margin-top:30px; } 
   .direct_map_box{ margin-top:20px; } 
   .direct_info_box{ margin-top:28px; } 
   .direct_info_list{ padding:0; row-gap:18px; } 
   .direct_info_item{ width:100%; min-height:46px; } 
   .direct_info_icon{ width:46px; height:46px; margin-right:12px; flex:0 0 46px; background-size:20px auto; } 
   .direct_info_text_box{ flex-wrap:wrap; align-items:center; row-gap:4px; } 
   .direct_info_label{ min-width:50px; margin-right:12px; font-size:1.7rem; } 
   .direct_info_text{ font-size:1.45rem; line-height:1.5; }
   /*자원봉사단*/
   .volunteer_box{ margin-top:30px; } 
   .volunteer_section + .volunteer_section{ margin-top:34px; } 
   .volunteer_text_box{ margin-top:20px; } 
   .volunteer_text_box p{ font-size:1.45rem; line-height:1.8; } 
   .volunteer_text_box p + p{ margin-top:16px; } 
   .volunteer_table_box{ margin-top:20px; } 
   .volunteer_table_note{ margin-bottom:10px; font-size:1.5rem; line-height:1.45; } 
   .volunteer_table_scroll{ overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; padding-bottom:6px; } 
   .volunteer_table_scroll:focus{ outline:2px solid #2a4ea4; outline-offset:2px; } 
   .volunteer_table_scroll::-webkit-scrollbar{ height:8px; } 
   .volunteer_table_scroll::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:999px; } 
   .volunteer_table_scroll::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:999px; } 
   .volunteer_table{ min-width:640px; } 
   .volunteer_table th, 
   .volunteer_table td{ padding:13px 14px; font-size:1.4rem; } 
   .volunteer_table th{ width:130px; }
   /*ASCPi*/
   .ascpi_box{ margin-top:30px; } 
   .ascpi_section + .ascpi_section{ margin-top:34px; } 
   .ascpi_text_box{ margin-top:20px; } 
   .ascpi_text_box p{ font-size:1.45rem; line-height:1.8; }
   /*게시판 뷰*/
   .board_view_body img,
   .board_view_con img,
   .view_body img {max-width: 100% !important;height: auto !important;}
   
   .cpt_btn_list{ grid-template-columns:repeat(3, 1fr); }
   .cpt_btn{ font-size:1.55rem; padding:13px 8px; }
   .cpt_panel_inner{ padding:24px 0; }
   .cpt_panel_tit{ font-size:2.2rem; margin-bottom:16px; }
   .cpt_panel_txt{ font-size:1.55rem; }
   .cpt_img_wrap{ gap:20px; padding:20px; margin-top:30px; }
   .cpt_img_item{ flex-direction:column; align-items:center; }
   .cpt_img_box{ width:240px; height:160px; }
   .cpt_img_caption{ padding-left:0; margin-top:8px; text-align:center; font-size:1.5rem; }
   .cpt_notice_box{ margin-top:34px; }
   .cpt_notice_list{ gap:12px; }
   .cpt_notice_txt{ font-size:1.55rem; }
   .org_table thead th{ font-size:1.5rem; }
   .org_table tbody td{ font-size:1.4rem; }
   .org_bb_box{ padding:20px; border-radius:14px; }
   .join_guide{ flex-direction:column; text-align:center; padding:30px 20px; }
   .join_guide_icon img{ width:60px; height:auto; }
   .join_guide_text{ margin-left:0; margin-top:20px; }
   .join_guide_tit{ font-size:2.2rem; }
   .join_guide_desc{ font-size:1.6rem; }
   .join_benefit{ margin-top:40px; }
   .join_benefit_list{ grid-template-columns:repeat(2, 1fr); }
   .join_benefit_card{ padding:24px; }
   .join_benefit_name{ margin-top:30px; font-size:1.6rem; }
   .join_duty{ margin-top:40px; }
   .join_class{ margin-top:40px; }
   .join_class_list{ grid-template-columns:1fr; gap:20px; }
   .join_class_head{ height:46px; font-size:1.8rem; }
   .join_class_body{ padding:24px; }
   .join_class_body p{ font-size:1.5rem; }
   .related_section + .related_section{ margin-top:40px; }
   .related_list{ gap:20px; }
   .related_item{ width:calc((100% - 20px) / 2); }
   .related_card{ height:auto; padding:24px; }
   .related_card_logo{ min-height:100px; }
   .related_card_url{ font-size:1.5rem; }
   /* 회칙 */
   .a4_box{ padding:30px 20px; margin-top:30px; max-height:500px; font-size:1.4rem; }
   .a4_box .bylaws_title{ font-size:2rem; margin-bottom:24px; }
   .a4_box .bylaws_chapter{ font-size:1.5rem; margin:28px 0 14px; letter-spacing:2px; }
   .a4_box .bylaws_history{ font-size:1.3rem; }
   .a4_box .bylaws_history span{ width:50%; }
   .a4_box .bylaws_table th,
   .a4_box .bylaws_table td{ padding:8px 6px; font-size:1.3rem; }
   /* 구인등록 테이블 */
   .job_write_table,
   .job_write_table tbody,
   .job_write_table tr,
   .job_write_table th,
   .job_write_table td{ display:block; width:100%; }
   .job_write_table colgroup{ display:none; }
   .job_write_table tr{ border-bottom:1px solid #dbdbdb; }
   .job_write_table th{ border-right:0; border-bottom:0; padding:10px 14px 4px; text-align:left; }
   .job_write_table td{ border-right:0; border-bottom:0; padding:4px 14px 10px; }
   .job_write_table td[colspan]{ border-bottom:0; }
   .job_write_table .job_input,
   .job_write_table .job_select{ width:100% !important; height:40px; font-size:1.4rem; }
   .job_write_table .job_textarea{ width:100% !important; font-size:1.4rem; }
   .job_write_table input[type="date"]{ width:100% !important; }
   .job_write_table label br{ display:none; }
   .job_tit{ flex-direction:column; align-items:flex-start; gap:10px; }
}


/* =========================
   모바일 (480 )
========================= */
@media (max-width:480px){
   .sub_content_inner{ padding:15px 0; } 
   .sub_page_tit{ font-size:2.2rem; }
   /* 인사말 */
   .greet_message{ font-size:1.6rem; line-height:1.4; } 
   .greet_box{ font-size:1.4rem; } 
   .greet_sign{ font-size:1.4rem; } 
   .greet_sign strong{ font-size:2rem; }
   /*연혁*/
   .history_tab_box{ margin-top:24px; } 
   .history_tab_list{ gap:6px; } 
   .history_tab_btn{ height:40px; padding:0 14px; font-size:1.35rem; } 
   .history_tab_panels{ margin-top:22px; } 
   .history_year_group{ gap:14px; } 
   .history_year_group + .history_year_group{ margin-top:26px; padding-top:26px; } 
   .history_year{ font-size:2rem; } 
   .history_year_cols{ gap:16px; } 
   .history_year_list li{ gap:10px; } 
   .history_date{ flex:0 0 38px; font-size:1.35rem; } 
   .history_text{ font-size:1.3rem; line-height:1.55; } 
   .history_empty{ padding:28px 0; font-size:1.3rem; }
   .history_timeline .history_year{ font-size:2rem; }
   .history_timeline .history_date{ font-size:1.35rem; }
   .history_txt{ font-size:1.3rem; line-height:1.55; }
   /*글쓰기 영역*/
   .write_table, .write_table tbody, .write_table tr, .write_table th, .write_table td{ display:block; width:100%; }
   .write_table tr{ border-bottom:1px solid #dbdbdb; }
   .write_table th{ border:0; background:#f8f8f8; text-align:left; padding:10px 14px 4px; font-size:1.4rem; }
   .write_table td{ border:0; padding:4px 14px 10px; font-size:1.4rem; }
   .write_btn_box{ flex-direction:row; flex-wrap:nowrap; justify-content:center; gap:8px; margin-top:20px; }
   .write_btn{ flex:0 1 auto; width:auto; min-width:90px; height:40px; padding:0 12px; font-size:1.3rem; }
   /*전직회장단*/
   .presidency_table{ min-width:720px; }
   .presidency_table th,
   .presidency_table td{ padding:12px 8px; font-size:1.35rem; }
   /*찾아오시는 길*/
   .direct_box{ margin-top:24px; } 
   .direct_map_box{ margin-top:18px; } 
   .direct_info_box{ margin-top:24px; } 
   .direct_info_list{ row-gap:16px; } 
   .direct_info_item{ align-items:flex-start; } 
   .direct_info_icon{ width:42px; height:42px; margin-right:10px; flex:0 0 42px; background-size:18px auto; } 
   .direct_info_text_box{ display:block; padding-top:2px; } 
   .direct_info_label{ display:block; min-width:0; margin-right:0; margin-bottom:4px; font-size:1.6rem; line-height:1.3; } 
   .direct_info_text{ display:block; font-size:1.35rem; line-height:1.55; }
   /*자원봉사단*/
   .volunteer_box{ margin-top:24px; } 
   .volunteer_section + .volunteer_section{ margin-top:28px; } 
   .volunteer_text_box{ margin-top:18px; } 
   .volunteer_text_box p{ font-size:1.35rem; line-height:1.75; } 
   .volunteer_text_box p + p{ margin-top:14px; } 
   .volunteer_table_note{ font-size:1.4rem; } 
   .volunteer_table{ min-width:600px; } 
   .volunteer_table th, 
   .volunteer_table td{ padding:12px 12px; font-size:1.35rem; } 
   .volunteer_table th{ width:120px; }
   /*ASCPi*/
   .ascpi_box{ margin-top:24px; } 
   .ascpi_section + .ascpi_section{ margin-top:28px; } 
   .ascpi_text_box{ margin-top:18px; } 
   .ascpi_text_box p{ font-size:1.35rem; line-height:1.75; }
   
   .cpt_btn_list{ grid-template-columns:repeat(2, 1fr); }
   .cpt_btn{ font-size:1.45rem; padding:12px 8px; }
   .cpt_panel_inner{ padding:20px 0; }
   .cpt_panel_tit{ font-size:2rem; margin-bottom:14px; }
   .cpt_panel_txt{ font-size:1.45rem; line-height:1.8; }
   .cpt_img_wrap{ flex-direction:column; align-items:center; gap:16px; padding:16px; margin-top:24px; }
   .cpt_img_item{ width:100%; max-width:300px; flex-direction:column; align-items:center; }
   .cpt_img_box{ width:100%; height:180px; }
   .cpt_img_caption{ font-size:1.4rem; }
   .cpt_notice_box{ margin-top:28px; }
   .cpt_notice_list{ gap:10px; }
   .cpt_notice_num{ width:36px; height:24px; font-size:1.5rem; }
   .cpt_notice_txt{ font-size:1.45rem; }
   .org_table thead th{ font-size:1.4rem; padding:12px 8px; }
   .org_table tbody td{ font-size:1.3rem; padding:12px 8px; }
   .org_bb_box{ padding:14px; border-radius:10px; }
   .join_guide{ padding:25px 15px; border-radius:14px; }
   .join_guide_icon img{ width:50px; }
   .join_guide_tit{ font-size:2rem; }
   .join_guide_desc{ font-size:1.5rem; }
   .join_benefit{ margin-top:30px; }
   .join_benefit_list{ grid-template-columns:1fr; gap:14px; }
   .join_benefit_card{ padding:20px; border-radius:12px; }
   .join_benefit_icon{ min-height:60px; }
   .join_benefit_name{ margin-top:24px; font-size:1.5rem; }
   .join_duty{ margin-top:30px; }
   .join_class{ margin-top:30px; }
   .join_class_list{ gap:14px; }
   .join_class_head{ height:42px; font-size:1.6rem; border-top-left-radius:12px; border-top-right-radius:12px; }
   .join_class_body{ padding:20px; border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
   .join_class_body p{ font-size:1.4rem; }
   .related_section{ margin-top:40px; }
   .related_section + .related_section{ margin-top:30px; }
   .related_list{ gap:14px; }
   .related_item{ width:100%; }
   .related_card{ height:auto; padding:20px; border-radius:12px; }
   .related_card_logo{ min-height:80px; }
   .related_card_url{ font-size:1.4rem; padding-top:16px; margin-top:16px; }
   /* 회칙 */
   .a4_box{ padding:24px 16px; margin-top:24px; max-height:450px; font-size:1.3rem; border-radius:10px; }
   .a4_box .bylaws_title{ font-size:1.8rem; margin-bottom:20px; letter-spacing:1px; }
   .a4_box .bylaws_chapter{ font-size:1.4rem; margin:24px 0 12px; letter-spacing:1px; }
   .a4_box .bylaws_article strong{ font-size:1.3rem; }
   .a4_box .bylaws_history{ font-size:1.2rem; padding:10px 12px; }
   .a4_box .bylaws_history span{ width:100%; text-align:left; }
   .a4_box .bylaws_table th,
   .a4_box .bylaws_table td{ padding:8px 4px; font-size:1.2rem; }
   /* 구인등록 테이블 */
   .job_write_table th{ padding:8px 12px 2px; font-size:1.3rem; }
   .job_write_table td{ padding:2px 12px 8px; }
   .job_write_table .job_input,
   .job_write_table .job_select{ height:38px; font-size:1.3rem; }
   .job_write_table .job_textarea{ height:100px !important; font-size:1.3rem; }
   .job_write_table .job_select{ width:100% !important; margin-bottom:6px; }
}

/* 반응형 */
@media (max-width:1024px){
   .sub_visual{
       height:110px;
   }

   .sub_visual_head{
       padding-top:18px;
   }
}

@media (max-width:768px){
   .sub_visual{ height:auto; }
   .sub_visual_head{ justify-content:flex-start; align-items:center; padding:16px 0; }
   .sub_breadcrumb{ gap:6px; font-size:1.3rem; }
   .sub_breadcrumb_home{ width:14px; height:14px; flex-basis:14px; } 
   .sub_breadcrumb_home::before{ width:14px; height:14px; } 
   .sub_breadcrumb_sep{ width:8px; height:8px; flex-basis:8px; }
}

@media (max-width:480px){
   .sub_visual_head{
       padding:14px 0;
   }

   .sub_breadcrumb{
       font-size:1.2rem;
       line-height:1.4;
   }
}