/*서브css*/
/* ============================================================
   회원약관 / 개인정보처리방침 (sub09_01, sub09_02 퍼블 동등 이식)
   ============================================================ */
.container09_01{}
.container09_02{}
.terms_wrap{ margin-top:50px; }
.terms_chapter{ font-size:2.8rem; font-weight:700; color:#28344f; margin-bottom:30px; }
.terms_article{ margin-bottom:40px; }
.terms_article_tit{ font-size:1.9rem; font-weight:600; color:#222; margin-bottom:14px; }
.terms_txt{ font-size:1.7rem; font-weight:200; color:#444; line-height:1.8; }
@counter-style circled-num { system:fixed; symbols:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩; suffix:" "; }
.terms_list_circle{ list-style:none; padding:0; margin:0; counter-reset:circle-num; }
.terms_list_circle > li{ position:relative; padding-left:2.4rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:circle-num; }
.terms_list_circle > li::before{ content:counter(circle-num, circled-num); position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
@counter-style korean-ga { system:fixed; symbols:"가" "나" "다" "라" "마" "바" "사" "아" "자" "차"; suffix:" "; }
.terms_list_ga{ list-style:none; padding:0; margin:0; counter-reset:ga-num; }
.terms_list_ga > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:ga-num; }
.terms_list_ga > li::before{ content:counter(ga-num, korean-ga) "."; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_rp{ list-style:none; padding:0; margin:0; counter-reset:rp-num; }
.terms_list_rp > li{ position:relative; padding-left:2.4rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:rp-num; }
.terms_list_rp > li::before{ content:counter(rp-num) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_paren_ga{ list-style:none; padding:0; margin:0; counter-reset:paren-ga-num; }
.terms_list_paren_ga > li{ position:relative; padding-left:3rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:paren-ga-num; }
.terms_list_paren_ga > li::before{ content:"(" counter(paren-ga-num, korean-ga) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_paren{ list-style:none; padding:0; margin:0; counter-reset:paren-num; }
.terms_list_paren > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:paren-num; }
.terms_list_paren > li::before{ content:"(" counter(paren-num) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_num{ list-style:none; padding:0; margin:10px 0 0 0; counter-reset:num-list; }
.terms_list_num > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:8px; counter-increment:num-list; }
.terms_list_num > li::before{ content:counter(num-list) "."; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }

/* nav_content (breadcrumb) */
.nav_content{ border-bottom: 1px solid #e6e6e6; background: #f7f8fa; }
.nav_content_inner{ height: 46px; display: flex; align-items: center; }
.bread{ display: inline-flex; align-items: center; gap: 10px; font-size: 1.5rem; color: #666;}
.bread_home{ width: 16px; height: 16px; display: inline-block; position: relative; background: url(../images/common/icon_home.png)no-repeat;}
.bread_sep{ color: #999; font-size: 2.2rem; line-height: 1; transform: translateY(-1px); }
.bread_link{ color: #666; }
.bread_link:hover{ text-decoration: underline; }
.bread_current{ color: #666; }

/* ================================
   sub layout
================================ */
.sub_layout{padding: 40px 0 80px;}
.sub_layout_inner{display: flex; align-items: flex-start; gap: 70px;}

/* ================================
   LNB
================================ */
.lnb_area{ width: 230px;  overflow: hidden; background: #fff; }
.lnb_head{ background: #0e2b6f; position: relative; overflow: hidden; border-radius: 15px; padding: 22px 18px; min-height: 100px; display: inline-flex; width: 100%; align-items: center; justify-content: center; }
.lnb_head::before{ content:""; position:absolute; inset: 0; background: url("../images/sub/sub_lnb.png") 0 0 / cover no-repeat; opacity: .25; pointer-events: none; }
.lnb_tit{ display: block; text-align: center; color: #fff; font-size: 2.9rem; font-weight: 700; line-height: 1.2;   position: relative; z-index: 1;}
.lnb_body{padding: 6px 0;}
.lnb_link_depth1,
.lnb_item{ border-top: 1px solid #cfd2d7; }
.lnb_body > .lnb_item:first-child{border-top: 0;}
.lnb_body > .lnb_link_depth1:first-child{border-top: 0;}
.lnb_body > .lnb_link_depth1:last-child{border-bottom: 1px solid #cfd2d7;}
.lnb_item{ display: flex; align-items: center; justify-content: space-between; }
.lnb_link{ display: block; padding: 20px 10px; font-size: 1.8rem; font-weight: 600; color: #333; width: 100%; }
.lnb_toggle{ flex: 0 0 44px; height: 44px; position: relative; }
.lnb_toggle::before{ content:""; position:absolute; left:50%; top:50%; width: 10px; height: 10px; border-right: 2px solid #888; border-bottom: 2px solid #888; transform: translate(-50%,-60%) rotate(45deg); }
.lnb_link.is_active{ color: #1b5fd3; position: relative;  padding-left: 15px;}
.lnb_link.is_active::before{ content:""; position:absolute; left: 2px; top: 48%; width:5px; height: 5px; background:#1b5fd3; border-radius: 50%; transform: translateY(-50%); }
.lnb_item.is_open{ position:relative; }
.lnb_item.is_open::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:#1b5fd3; }
.lnb_link.link_go::after{ content:""; display:inline-block; width: 14px; height: 13px; background: url(../images/common/icon_link.png) no-repeat; vertical-align: middle; margin-left: 6px; opacity: .9; }
/* GNB(상단메뉴) 새창 링크 아이콘 — LNB 동일 패턴 (1뎁스 gnb_link, 2뎁스 gnb_dep2_box, 3뎁스 gnb_depth3_link) */
.gnb_link.link_go::after,
.gnb_dep2_box.link_go .gnb_dep2_name::after,
.gnb_depth3_link.link_go::after{ content:""; display:inline-block; width: 14px; height: 13px; background: url(../images/common/icon_link.png) no-repeat; vertical-align: middle; margin-left: 6px; opacity: .9; }

/* hover/focus */
.lnb_link:hover{text-decoration: underline;}
.lnb_link:focus-visible{outline-offset: 2px;}

/* 우측 컨텐츠 자리 */
.sub_content_area{flex: 1; min-width: 0;}
/* ===== LNB depth2 ===== */
.lnb_sub{ margin: 0; padding: 10px 16px 12px; list-style: none; background: #f7f8fa; border-top: 1px solid #cfd2d7;  }
.lnb_sub_item + .lnb_sub_item{ margin-top: 8px; }
.lnb_sub_link{ position: relative; display: block; padding: 4px 0 4px 14px; font-size: 1.6rem; font-weight: 500; color: #555; }
.lnb_sub_link::before{ content:""; position: absolute; left: 5px; top: 12px; width: 2px; height: 2px; border-radius: 50%; background: #444444; }
.lnb_sub_link:hover{ text-decoration: underline; }
.lnb_sub_link:focus-visible{ outline-offset: 2px; }
.lnb_item.is_open .lnb_toggle::before{ transform: translate(-50%,-40%) rotate(-135deg); }
.lnb_item.is_open .lnb_toggle::before{ border-color:#1b5fd3; }
.lnb_sub_link.is_active{ color: #1b5fd3; font-weight: 600; text-decoration: underline 1px solid #1b5fd3;}
.lnb_sub_link.is_active::before{ background: #1b5fd3; }

/* ================================
   sub_content_area
================================ */
.sub_content_head{ display:flex; align-items:flex-start; justify-content: space-between; gap: 16px; padding: 0 0 35px 0; border-bottom: 1px solid #c6c6c6; }
.sub_page_tit{ font-size: 3.7rem; font-weight: 700; line-height: 1.15; color:#333; }
.sub_fontsize{ display:flex; align-items:center; gap: 10px; margin-top: 6px; white-space: nowrap; }
.sub_fontsize_label{ font-size: 1.6rem; color:#666; }
.sub_fontsize_ctrl{ display:flex; align-items:center; border: 1px solid #e2e2e2; border-radius: 6px; overflow:hidden; background:#fff; }
.btn_font_minus,
.btn_font_plus{ width: 30px; height: 28px; display:flex; align-items:center; justify-content:center; background:#f2f2f2; box-sizing: border-box; }
.btn_font_minus:hover,
.btn_font_plus:hover{ background:#e9eaee; }
.btn_font_minus:focus-visible,
.btn_font_plus:focus-visible{ outline-offset: -2px; }
.btn_font_minus img{ display:block; width: 10px; height: 2px; }
.btn_font_plus img{ display:block; width: 10px; height: 10px; }
.font_state{ min-width: 52px; height: 28px; display:flex; align-items:center; justify-content:center; padding: 0 10px; border-left: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2; font-size: 1.5rem; color:#333; font-weight: 600; }


/* ================================
   공통
================================ */
.convey_h3{ position:relative; padding-left:27px; font-size:2.8rem; font-weight:700; color:#28344f; }
.convey_h3::before{ content:""; position:absolute; left:0; top:50%; width:20px; height:20px; background:url("../images/sub/icon_h3.png") no-repeat center; background-size:contain; transform:translateY(-50%); }

/* ================================
   카드뉴스
================================ */
.card_box{padding: 30px 0; border-top: 1px solid #111111; border-bottom: 1px solid #dbdbdb ;}
.card_news_list{ display:flex; flex-wrap:wrap; gap:60px 35px;   position:relative;}
.card_news_list::before{ content:""; position:absolute; left:0; right:0; top:500px; height:1px; background:#dbdbdb; }
.card_news_item{ width:calc((100% - 70px) / 3); }
.card_news_link{ display:block; max-height: 420px; width: 310px;}
.card_news_thumb{ display:block; position:relative; overflow:hidden; border-radius:20px; background:#f3f3f3;}
.card_news_thumb_empty{ background:#efefef; height: 420px;} 
.card_news_img{ display:block; width:100%; height:100%; object-fit:cover; }
.card_news_info{ display:block; padding:12px 4px 0; }
.card_news_tit{ display:block; font-size:1.7rem; font-weight:500; color:#222; word-break:keep-all; }
.card_news_date{ display:block; margin-top:8px; font-size:1.6rem; color:#555555; }
.card_news_link:hover .card_news_tit{ color:#1b5fd3; text-decoration:underline; text-underline-offset:3px; }
.card_news_link:focus-visible{ outline:2px solid #1b5fd3; outline-offset:4px; border-radius:12px; }


/* ================================
   영상자료
================================ */
.video_box{ padding: 30px 0; border-top: 1px solid #111111; border-bottom: 1px solid #dbdbdb; }
.video_list{ display: flex; flex-wrap: wrap; gap: 30px 28px; position: relative; }
.video_item{ width: calc((100% - 56px) / 3); }
.video_link{ display: block; width: 100%; }
.video_thumb{ display: block; position: relative; overflow: hidden; width: 100%; border-radius: 20px; background: #e9edf5; aspect-ratio: 310 / 175; }
.video_thumb_empty{ background: #eef2f7; }
.video_img{ display: block; width: 100%; height: 100%; object-fit: cover; }
.video_play{ position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; border: 3px solid rgba(255,255,255,0.9); border-radius: 50%; background: rgba(0,0,0,0.12); transform: translate(-50%, -50%); box-sizing: border-box; }
.video_play::before{ content: ""; position: absolute; left: 50%; top: 50%; margin-left: 3px; transform: translate(-50%, -50%); width: 0; height: 0; border-top: 13px solid transparent; border-bottom: 13px solid transparent; border-left: 19px solid #ffffff; }
.video_info{ display: block; padding: 14px 6px 0; }
.video_tit{ display: block; font-size: 1.6rem; font-weight: 500; line-height: 1.45; color: #222; word-break: keep-all; } 
.video_date{ display: block; margin-top: 8px; font-size: 1.5rem; color: #666666; }
.video_link:hover .video_tit,
.video_link:focus-visible .video_tit{ color: #1b5fd3; text-decoration: underline; text-underline-offset: 3px; }
.video_item:nth-child(n+4){ padding-top: 30px;}
.video_item:nth-child(4){ position: relative; }
.video_item:nth-child(4)::before{ content: ""; position: absolute; left: 0; top: 0; width: calc(300% + 56px); height: 1px; background: #dbdbdb; }
.video_link:hover .video_thumb::after,
.video_link:focus-visible .video_thumb::after{ content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.08); }
.video_link:focus-visible{ outline: 2px solid #1b5fd3; outline-offset: 4px; border-radius: 12px; }

/* ================================
   검사실 인증자료
================================ */
.container02_01_02{}
.cert_aco{ border-top: 1px solid #111111; margin-top: 30px;}
.cert_aco_item{ border-bottom: 1px solid #dbdbdb; }
/* 2026-06-29: CKEditor 가 <a> 안 <span> 자식을 만나면 <a> 를 3분할 (텍스트 / 아이콘 / &nbsp;) 하므로
   <p> 자체를 flex container 로 만들어 시각적 정상 정렬. cert_aco_tit 가진 a 만 클릭 영역 유지. */
.cert_aco_item > p{ display: flex; align-items: center; gap: 16px; }
.cert_aco_item > p > a.cert_aco_btn{ display: inline-flex; align-items: center; padding: 0; }
.cert_aco_item > p > a.cert_aco_btn:first-child{ flex: 1; padding: 18px 0 18px 20px; }
.cert_aco_item > p > .cert_aco_icon{ margin-left: auto; margin-right: 20px; }
.cert_aco_item > p > a.cert_aco_btn:not(:first-child){ display: none; }   /* 빈/분리된 a 숨김 */
.cert_aco_icon > a, .cert_aco_head_mark > a{ display: none !important; }   /* span 안 들어간 빈 a 숨김 → 박스 모델 정상화 */

.cert_aco_unit > p{ display: flex; align-items: center; gap: 12px; background: #ffffff; border-radius: 5px; box-shadow: none; transition: background-color .2s ease, box-shadow .2s ease; }
.cert_aco_unit > p > a.cert_aco_head{ display: inline-flex; align-items: center; padding: 0; background: transparent; box-shadow: none; }
.cert_aco_unit > p > a.cert_aco_head:first-child{ flex: 1; padding: 9px 0 9px 20px; }
.cert_aco_unit > p > .cert_aco_head_mark{ margin-left: auto; margin-right: 20px; }
.cert_aco_unit > p > a.cert_aco_head:not(:first-child){ display: none; }

/* is_open 상태 색상 — 형제 셀렉터로 안전 적용 (:has 미지원 환경 호환) */
.cert_aco_unit > p > a.cert_aco_head.is_open ~ .cert_aco_head_mark::before,
.cert_aco_unit > p > a.cert_aco_head.is_open ~ .cert_aco_head_mark::after{ background: #ffffff; }
.cert_aco_unit > p > a.cert_aco_head.is_open ~ .cert_aco_head_mark::after{ opacity: 0; }
/* 부모 <p> 배경 — is_open 첫 a 가진 경우 (parent has child 는 :has 필요하므로 JS 측에서 처리) */
.cert_aco_unit > p:has(> a.cert_aco_head.is_open){ background: #4a81d4; box-shadow: 0 3px 6px #d0d3d8; border-radius: 5px 5px 0 0; }
.cert_aco_unit > p:has(> a.cert_aco_head.is_open) .cert_aco_head_tit{ color: #ffffff; }

.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.9rem; 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; margin-left: auto; }
.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.7rem; 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; margin-left: auto; }
.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.5rem; line-height: 1.35; color: #444; word-break: break-all; transition: border-color .2s ease, color .2s ease, background-color .2s ease; box-sizing: border-box; }
/* 2026-06-29: 파일 1개만 있을 때는 전체 너비로 한 줄 표시 */
.cert_file_link:only-child{ width: 100%; }
.cert_file_link:hover{ color: #2a4ea4; border-color: #b8c8ea; background: #ffffff; }
.cert_file_link:focus-visible{ outline: 2px solid #2a4ea4; outline-offset: 2px;}
/* ================================
   검진기관평가
================================ */
.container02_01_03{}

/* ================================
   통계 탭
================================ */
.container02_05_01{ padding-top: 30px; }
.stats_tabs{ display: flex; align-items: stretch; gap: 0; margin-bottom: 42px; }
.stats_tab{ display: inline-flex; align-items: center; justify-content: center; width: 250px; min-height: 60px; padding: 0 20px; border: 1px solid #d8d8d8; border-left-width: 0; background: #f7f8fa; color: #555555; font-size: 1.7rem; font-weight: 500; line-height: 1.3; text-align: center; border-radius: 0; cursor: pointer; word-break: keep-all; }
.stats_tab:first-child{ border-left-width: 1px; border-radius: 10px 0 0 10px; }
.stats_tab:last-child{ border-radius:0 10px 10px 0; }
.stats_tab.is_active,
.stats_tab[aria-selected="true"]{ background: #2a4ea4; border-color: #2a4ea4; color: #ffffff; position: relative; z-index: 1; }
.stats_tab:hover{ color: #2a4ea4; }
.stats_tab.is_active:hover,
.stats_tab[aria-selected="true"]:hover{ color: #ffffff; }
.stats_tab:focus-visible{ outline: 2px solid #111111; outline-offset: 2px;}
.stats_panel[hidden]{ display: none; }
.stats_table_wrap{ overflow-x:auto; } 
.stats_table{ width:100%; border-collapse:collapse; border-top:1px solid #2a4ea4; font-size:1.6rem;  min-width:900px;}
.stats_table th, 
.stats_table td{ border:1px solid #dbdbdb; padding:14px 16px; text-align:center; vertical-align:middle; } 
.stats_table thead th{ background:#f2f5fb; color:#202738; font-weight:600; } 
.stats_table tbody td{ background:#ffffff; color:#444444; } 
.stats_table tbody td:first-child, 
.stats_table tbody td:nth-child(2){padding-left:20px; } 

/* ================================
   관련링크
================================ */
.link_box{ margin-top:60px; }
.link_box + .link_box{ margin-top:60px; }
.link_box .rel_link{ display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.link_box .rel_link > li{ width:calc((100% - 30px) / 4); }
.link_box .rel_link > li a{ position:relative; display:flex; align-items:center; min-height:48px; padding:10px 34px 10px 14px; border:1px solid #d0d0d0; border-radius:5px; background:#fff; font-size:1.6rem; color:#555; }
.link_box .rel_link > li a::after{ content:""; position:absolute; right:12px; top:50%; width:14px; height:13px; background:url("../images/sub/icon_link.png") no-repeat center; background-size:contain; transform:translateY(-50%); }
.link_box .rel_link > li a:hover{ border-color:#bfc9da; color:#2a4ea4; }
.link_box .rel_link > li a:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }

/* ================================
   회원가입 안내(정회원 자격)
================================ */
.join_info{ }
.join_info_item{ display:flex; align-items:flex-start; gap:52px; padding:38px 0 34px; border-bottom:1px dashed #cfcfcf; }
.join_info_item:last-child{border-bottom: 0;}
.join_info_icon{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:110px; height:110px; border-radius:50%; background:#f3f3f3; }
.join_info_icon img{ display:block; width:auto; height:auto; }
.join_info_cont{ flex:1; min-width:0; padding-top:10px; }
.join_info_title{ color:#24385b; font-size:2.2rem; font-weight:700; }
.join_info_text{ margin-top:18px; color:#555; font-size:1.7rem; line-height:1.8; word-break:keep-all; }
.join_fee_list{ display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:18px; }
.join_fee_item{ flex:0 0 15%; font-size:1.6rem; color:#555; line-height:1.8; }
.join_note_box{ position:relative; margin-top:40px; padding:40px; background:#f4f6fb; border-radius:20px; overflow:visible; }
.join_note_box::before{ content:""; position:absolute; left:22px; right:22px; top:-6px; height:12px; background: radial-gradient(circle, #ffffff 0 3px, #d8ddea 3px 5px, transparent 5px) left top / 53px 12px repeat-x; pointer-events:none; z-index:2; }
.join_note_box::after{ content:""; position:absolute; left:0; right:0; top:0; height:18px; border-top-left-radius:20px; border-top-right-radius:20px; box-shadow:inset 0 1px 0 #dbe1ee; pointer-events:none; }
.join_note_inner{ }
.join_rule{ color:#555; }
.join_rule_item + .join_rule_item{ margin-top:35px; }
.join_rule_title{ color:#333; font-size:1.8rem; font-weight:700; }
.join_rule_text{ margin-top:8px; font-size:1.6rem; word-break:keep-all; }
.join_rule_list,
.join_rule_sub_list{ margin:8px 0 0; padding:0; list-style:none; }
.join_rule_list > li,
.join_rule_sub_list > li{ position:relative; color:#555; font-size:1.6rem; line-height:1.9; word-break:keep-all; }
.join_rule_list > li{ padding-left:1.4em; }
.join_rule_list > li::before{ content:"①"; position:absolute; left:0; top:0; font-weight:600; color:#555; }
.join_rule_list > li:nth-child(2)::before{content:"②";}
.join_rule_list > li:nth-child(3)::before{content:"③";}
.join_rule_list > li:nth-child(4)::before{content:"④";}
.join_rule_list > li:nth-child(5)::before{content:"⑤";}
.join_rule_list > li:nth-child(6)::before{content:"⑥";}
.join_rule_list > li:nth-child(7)::before{content:"⑦";}
.join_rule_list > li:nth-child(8)::before{content:"⑧";}
.join_rule_list > li:nth-child(9)::before{content:"⑨";}
.join_rule_list > li:nth-child(10)::before{content:"⑩";}
.join_rule_list > li + li{ margin-top:4px; }
.join_rule_sub_list{ margin-top:6px; }
.join_rule_sub_list > li{ padding-left:15px; }
.join_rule_sub_list > li::before{ content:"1."; position:absolute; left:0; top:0; color:#555; font-weight:500; }
.join_rule_sub_list > li:nth-child(2)::before{content:"2.";}
.join_rule_sub_list > li:nth-child(3)::before{content:"3.";}
.join_rule_sub_list > li:nth-child(4)::before{content:"4.";}
.join_rule_sub_list > li:nth-child(5)::before{content:"5.";}
.join_rule_sub_list > li + li{ margin-top:2px; }
.join_btn_area{ display:flex; justify-content:center; gap:20px; margin-top:40px; }
.join_btn{ display:flex; align-items:center; justify-content:center; min-width:200px; height:60px; padding:0 28px; font-size:1.6rem; font-weight:600; border-radius:7px; text-decoration:none; transition:all .2s ease; }
.join_btn_pay{ background:#2a4ea4; color:#fff; }
.join_btn_pay:hover,
.join_btn_pay:focus{ background:#2f4687; }
.join_btn_apply{ background:#4b505a; color:#fff; }
.join_btn_apply:hover,
.join_btn_apply:focus{ background:#444851; }

/* ================================
   자주하는 질문
================================ */
.faq_aco{ margin-top: 30px; border-top: 1px solid #111111; }
.faq_aco_item{ border-bottom: 1px solid #dbdbdb; }
.container03_02 .board_panel:not([hidden]) + .board_panel:not([hidden]) .faq_aco{
   margin-top: 0;
   border-top: 0;
 }
.faq_aco_btn{ position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 76px; padding: 20px; color: #333; text-decoration: none; }
.faq_aco_q{ display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; }
.faq_ico{ display: block; flex-shrink: 0; width: 27px; height: 27px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.faq_ico_q{ background-image: url("../images/sub/ico_que.png"); }
.faq_ico_a{ background-image: url("../images/sub/ico_ans.png"); }
.faq_aco_q_text{ display: block; min-width: 0; color: #444; font-size: 1.8rem; font-weight: 700; line-height: 1.5; word-break: keep-all; }

.faq_aco_arrow{ position: absolute; right: 4px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); }
.faq_aco_arrow::before{ content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-right: 2px solid #8c8c8c; border-bottom: 2px solid #8c8c8c; transform: translate(-50%, -70%) rotate(45deg); transition: transform .2s ease, border-color .2s ease; }
.faq_aco_btn.is_open .faq_aco_arrow::before{ border-color: #2a4ea4; transform: translate(-50%, -30%) rotate(-135deg); }
.faq_aco_btn.is_open .faq_aco_q_text{ color: #2a4ea4; }
.faq_aco_btn:focus-visible{ outline: 2px solid #2a4ea4; outline-offset: -2px; }
.faq_aco_panel{ display: none; background: #f8f8f8; }
.faq_aco_answer{ display: flex; align-items: flex-start; gap: 14px; padding:35px 20px; min-height: 160px; }
.faq_aco_a_head{ flex-shrink: 0; padding-top: 2px; }
.faq_aco_a_cont{ flex: 1; min-width: 0; }
.faq_aco_a_cont p{ color: #444444; font-size: 1.6rem; line-height: 1.9; word-break: keep-all; }
.faq_aco_a_cont p + p{ margin-top: 2px; }
/* hover */
.faq_aco_btn:hover .faq_aco_q_text{ color: #2a4ea4; }

/* ================================
   1:1문의게시판
================================ */
.container03_04{}
.container03_04 .board_tabs_list{max-width: 500px;}

/* ================================
   무면허의료행위 신고
================================ */
/*안내*/
.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 100px; 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.5rem; 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 158px; width:158px; } 
.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.5rem; 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:1.6rem; 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.7rem; color:#222; }
.decla_text::before{ content:""; width:30px; height:30px; background:url(../images/sub/icon_decla.png) no-repeat center / contain; }
/*신고_write*/
.decla_blue_box{ padding:30px; background:#f4f6fb; border-radius:15px; margin-top: 60px; }
.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.7rem; 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.7rem; font-weight: 700; text-align: center; line-height: 1.5; }
.decla_table td{ padding: 10px 16px; background: #fff; font-size: 1.5rem; }
.decla_table label{ display: inline-block; color: #333; cursor: pointer; }
.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: 12px;}
.decla_file_btn{ display: inline-flex; align-items: center; justify-content: center; min-width: 94px; height: 38px; padding: 0 12px; border: 1px solid #2a4ea4; color: #3b5cab; font-size: 1.5rem; border-radius: 5px; font-weight: 400;}
.decla_file_name{ color: #666; font-size: 1.5rem; 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; }
/*문의_write*/
.board_open_box{ display:flex; align-items:center; gap:34px; min-height:38px; }
.board_radio_label{ position:relative; display:inline-flex; align-items:center; gap:10px; cursor:pointer; vertical-align:middle; }
.board_radio{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.board_radio_mark{ position:relative; display: inline-block; flex-shrink:0; width:22px; height:22px; border:2px solid #cdcdcd; border-radius:50%; background:#fff; box-sizing:border-box; }
.board_radio_mark::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:12px; border-radius:50%; background:#2a4ea4; transform:translate(-50%, -50%) scale(0); }
.board_radio:checked + .board_radio_mark{ border-color:#2a4ea4; }
.board_radio:checked + .board_radio_mark::after{ transform:translate(-50%, -50%) scale(1); }
.board_radio:focus-visible + .board_radio_mark{ outline:2px solid #2a4ea4; outline-offset:2px; }
.board_radio_txt{ display:inline-block; font-size:1.5rem; line-height:1; color:#555; vertical-align:middle; }

/* ================================
   협회장 인사말
================================ */
.container04_01{}
.container04_04_01 .org_section{ margin-top: 40px; }
.container04_04_01 .org_img_box{ margin-top: 20px; background: #f8f8f8; padding: 40px; box-sizing: border-box; }
.container04_04_01 .org_img_box img{ display: block; width: 100%; height: auto; }
.hello_box{ margin-top: 30px; position: relative; overflow: hidden; border-radius: 20px; background: #eff3fa url("../images/sub/hello_bg.jpg") no-repeat right top / cover; }
.hello_inner{ position: relative; display: flex; align-items: flex-end; min-height: 360px; padding: 35px; box-sizing: border-box; }
.hello_text{ position: relative; z-index: 2; flex: 1; min-width: 0; max-width: 63%; }
.hello_title{ color: #001d60; font-size: 2.2rem; font-weight: 500; line-height: 1.65; word-break: keep-all; }
.hello_desc{ margin-top: 18px; }
.hello_desc p{ color: #555; font-size: 1.6rem; line-height: 1.7; word-break: keep-all; }
.hello_desc p + p{ margin-top: 1px; }
.hello_photo{ position: absolute; right: 20px; bottom: 0; z-index: 1; width: min(31%, 290px); pointer-events: none; } 
.hello_photo_img{ display: block; width: 100%; height: auto; }
.speech_box{ padding:40px; }
.speech_desc{ color: #555; font-size: 1.6rem; line-height: 1.95; word-break: keep-all; }
.speech_desc + .speech_desc{ margin-top: 30px; }
.speech_right{ margin-top: 54px; text-align: right; }
.speech_subtit{ color: #222; font-size: 1.7rem; font-weight: 400; text-align: right; word-break: keep-all; }
.speech_name{ margin-top: 15px; color: #222; font-size: 3.2rem; font-family:'Noto Serif KR'; letter-spacing:2.5px; text-align: right;}

/* ================================
   협회연혁
================================ */
.history_tabs{ display:inline-flex; align-items:stretch; gap:0; margin:60px 0; border:1px solid #d8d8d8; border-radius:12px; background:#f3f4f6; }
.history_tab{ position:relative; display:flex; align-items:center; justify-content:center; width:200px; flex:0 0 200px; min-height:60px; padding:0 20px; border:0; background:transparent; color:#666; font-size:1.6rem; font-weight:500; line-height:1.3; text-align:center; border-radius:10px; cursor:pointer; word-break:keep-all; }
.history_tab_txt{ display:block; position:relative; z-index:1; }
.history_tab + .history_tab::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:32px; background:#d7d7d7; transform:translateY(-50%); }
.history_tab.is_active, .history_tab[aria-selected="true"]{ background:#2f53a6; color:#fff; }
.history_tab.is_active::before,
.history_tab[aria-selected="true"]::before,
.history_tab.is_active + .history_tab::before,
.history_tab[aria-selected="true"] + .history_tab::before{ display:none; }
.history_tab:hover{ color:#2a4ea4; }
.history_tab.is_active:hover,
.history_tab[aria-selected="true"]:hover{ color:#fff; }
.history_tab:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.history_timeline{ position:relative; padding:0 0 10px 0; }
.history_center_line{ position:absolute; left:8px; top:0; bottom:0; width:2px; background:#d9d9d9; transform:none; }
.history_cols{ display:block; position:relative; }
.history_col{ width:100%; box-sizing:border-box; }
.history_col_left,
.history_col_right{ padding:0 0 0 15px; text-align:left; }
.history_box + .history_box{ margin-top:40px; }
.history_year{ 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_col_left .history_year,
.history_col_right .history_year{ padding-left:50px; padding-right:0; }
.history_col_left .history_year::before,
.history_col_right .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_col_left .history_item,
.history_col_right .history_item{ justify-content:flex-start; }
.history_col_left .history_date,
.history_col_right .history_date{ order:1; min-width:58px; text-align:left; }
.history_col_left .history_txt,
.history_col_right .history_txt{ order:2; text-align:left; }
.history_date{ flex:0 0 auto; color:#555; font-size:1.8rem; font-weight:700; line-height:1.7; white-space:nowrap; letter-spacing:-0.01em; }
.history_txt{ color:#555; font-size:1.6rem; line-height:1.7; word-break:keep-all;}
/* ================================
   역대회장
================================ */
.president_list{ display:flex; flex-wrap:wrap; gap:35px; margin-top:60px; }
.president_card{ width:calc((100% - 70px) / 3); min-height:350px; padding:30px; border:1px solid #e0dddd; border-radius:20px; background:#fafafa; box-shadow:0 4px 14px rgba(0,0,0,0.05); text-align:center; box-sizing:border-box; } 
.president_photo_box{ position:relative; display:flex; align-items:center; justify-content:center; width:210px; height:200px; margin:0 auto; } 
.president_photo{ position:relative; z-index:1; display:block; width:auto; height:auto; max-width:100%; } 
.president_info{ margin-top:20px; } 
.president_name{ color:#222; font-size:2.4rem; font-weight:700; line-height:1.25; } 
.president_term_group{ display:flex; align-items:flex-start; justify-content:center; gap:8px; margin-top:15px; } 
.president_term_item{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; } 
.president_badge{ display:inline-flex; align-items:center; justify-content:center; width:80px; height:30px; padding:0 7px; border-radius:15px; background:#e4e8f0; color:#222; font-size:1.5rem; line-height:1; box-sizing:border-box; font-weight: 500;} 
.president_term{ margin-top:10px; color:#555; font-size:1.5rem; line-height:1.45; text-align:center; word-break:keep-all; letter-spacing:-0.02em; }
/* ================================
   협회 60년사
================================ */
.pdf_wrap{margin-top: 60px;}
.pdf_btn{ display:flex; align-items:center; justify-content:space-between; width:220px; height:50px;  padding:0 18px; border-radius:7px; background:#2a4ea4; transition:background-color .2s ease; }
.pdf_zone{margin-top: 30px; display: flex; justify-content: space-between;}
.pdf_box{width:700px; height:auto;}
.pdf_box img{object-fit: fill; width: 100%; height: 100%;}
.pagenavi{max-width: 300px;}
.pagenavi>ul{}
.pagenavi p{background: #0e519a;color: #fff;font-size: 17px;padding: 15px 20px;box-sizing: border-box;}
.pagenavi>ul>li{color: #fff;padding: 15px 20px;}
.pagenavi>ul>li.fullpdf{background:#0f4f99;color:#fff;padding:15px 20px;border-right:0;border-left:0;border-bottom:0;}
.pagenavi>ul>li.fullpdf a{color:#fff;}
.pagenavi>ul>li.viewer{background:#b2bac3;color:#fff; padding:15px 20px; border-bottom: 0;}
.pagenavi>ul>li.viewer a{color:#fff;}
.pagenavi>ul>li{border-bottom: 1px solid #ddd;padding: 10px 20px;border-right: 1px solid #ddd;border-left: 1px solid #ddd;}
.pagenavi>ul>li a{font-size: 17px;cursor:pointer;color: #474a4e;}

/* ================================
   정관 및 규정
================================ */
/*정관*/
.aoi_box{margin-top: 60px;}
/*규정*/
.provision_box{margin-top: 60px;}
.prov_card_box{ margin-top:30px; } 
.prov_card_list{ display:flex; flex-wrap:wrap; gap:30px; } 
.prov_card_item{ width:calc((100% - 60px) / 3); } 
.prov_card{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; height: 100%; min-height:305px; padding:45px; border:1px solid #e1e5ee; border-radius:15px; background:#f4f6fb; text-align:center; } 
.prov_card_icon{ display:flex; align-items:center; justify-content:center; min-height:80px; }
.prov_card_icon img{ display:block; width:auto; height:auto; max-width:none; } 
.prov_card_tit{ display:flex; align-items:center; justify-content:center; min-height:58px; margin-top:50px; color:#333; font-size:1.8rem; font-weight:700; line-height:1.45; word-break:keep-all; text-align:center; } 
.prov_card_btn{ display:inline-flex; align-items:center; justify-content:space-between; width:220px; height:50px; margin-top:50px; border-radius:7px; background:#2a4ea4; text-align:center; padding:0 30px;} 
.prov_card_btn_txt{ color:#fff; font-size:1.6rem; font-weight:600; line-height:1; } 
.prov_card_btn_ico{ display:flex; align-items:center; justify-content:center; width:14px; height:14px; flex-shrink:0; } 
.prov_card_btn_ico img{ display:block; width:14px; height:14px; } 
.prov_card_btn:hover{ background:#24479a; } 
.prov_card_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }
/*회훈 및 상징*/
.motto_box{margin-top: 60px;}
.motto_box ~ .motto_box{margin-top: 50px;}
.motto_list{ display:flex; flex-wrap:wrap; gap:30px; margin-top:30px; padding:0; list-style:none; justify-content:center; }
.motto_item{ flex:0 0 auto; }
.motto_img_wrap{ position:relative; display:inline-block; }
.motto_img_wrap img{ display:block; filter:drop-shadow(0 8px 10px rgba(0,0,0,0.25)); }
.motto_text_wrap{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.motto_hanja{ font-family:'Noto Sans KR', sans-serif; font-size:3.6rem; font-weight:700; color:#fff; line-height:1.2; }
.motto_kor{ margin-top:20px; font-size:2.2rem; font-weight:600; color:#fff; line-height:1.2; }
.motto_logo_card{ display:flex; border:1px solid #e3e3e3; border-radius:20px; overflow:hidden; margin-top:30px; min-height: 265px; }
.motto_logo_left{ width:400px; flex-shrink:0; background:#fff; display:flex; align-items:center; justify-content:center; padding:30px; }
.motto_logo_left img{ display:block; max-width:100%; height:auto; }
.motto_logo_right{ flex:1; padding:30px 50px; background:#f5f5f5; display:flex; align-items:center; }
.motto_logo_desc{ font-size:1.7rem; font-weight:200; color:#444; line-height:1.9; }
/* 오방색 */
.ob_gulim{ font-family:'Gulim', sans-serif; }
.ob_noto{ font-family:'Noto Sans KR', sans-serif; }
.ob_intro{ margin-top:20px; font-size:1.7rem; font-weight:200; color:#444; line-height:1.6; word-break:keep-all; }
.ob_grid{ display:flex; margin-top:24px; }
.ob_col{ flex:1; min-width:0; }
.ob_col:first-child{ margin-left:0; }
.ob_swatch{ height:150px; width:100%; position:relative; }
.ob_hwang{ background:#fdd000; }
.ob_cheong{ background:#005bac; }
.ob_baek{ background:#ffffff; border-top:1px solid #e3e3e3; border-bottom:1px solid #e3e3e3; }
.ob_jeok{ background:#e50011; }
.ob_heuk{ background:#000000; }
.ob_swatch_lbl{ position:absolute; top:12px; right:14px; font-size:1.8rem; font-weight:700; line-height:1.3; text-align:right; }
.ob_dark{ color:#000; }
.ob_light{ color:#fff; }
.ob_info{ padding:16px 12px 20px; }
.ob_name{ font-size:1.5rem; color:#333; line-height:1.5; }
.ob_kor{ font-size:1.8rem; font-weight:700; color:#333; font-style:normal; }
.ob_hanja{ font-size:1.6rem; font-weight:700; color:#333; }
.ob_body{ margin-top:8px; font-size:1.5rem; color:#555; line-height:1.7; word-break:keep-all; }

/* ================================
   조직
================================ */
/*이사회*/
.council_list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; margin-top: 60px;}
.council_item{ display:flex; height:175px; border:1px solid #e5e9f2; border-radius:8px; overflow:hidden; }
.council_left{ position:relative; flex:0 0 290px; width:290px; background:#f4f6fb; padding:20px; }
.council_tit{ font-size:2.4rem; color:#222; font-weight:700; line-height:1.35; word-break:keep-all; }
.council_img_wrap{ position:absolute; right:20px; bottom:20px; }
.council_img_wrap img{ display:block; max-width:110px; height:auto; }
.council_right{ flex:1; background:#fff; padding:20px 40px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.council_right .dot_list > li{ font-size:1.6rem; color:#444; line-height:1.8; }
.council_right .dot_list > li::before{top:13px;}
.council_right .dot_list > li ~ li{ margin-top:6px; }
.council_txt{ font-size:1.6rem; color:#444; line-height:1.8; word-break:keep-all; }
.council_box{ margin-top:60px; }
.council_table td{ text-align:center;  }
.council_tip{font-size:1.7rem; color:#444; font-weight: 200; margin-top: 15px;}

/* ================================
   오시는 길
================================ */
.direct_map_img{ display:inline-block; border:1px solid #cecece; line-height:0; }
.direct_map_img img{ display:block; max-width:100%; height:auto; }
.direct_map_box{ margin-top:40px; }
.direct_item{ display:flex; align-items:flex-start; gap:30px; }
.direct_item + .direct_item{ margin-top:30px; }
.direct_icon{ flex:0 0 80px; width:80px; height:80px; display:flex; align-items:center; justify-content:center; background:#f0f4f8; border-radius:20px; }
.direct_icon img{ display:block; }
.direct_info{ flex:1; min-width:0; padding-top:10px; }
.direct_tit{ display:block; font-size:2rem; font-weight:600; color:#222; margin-bottom:10px; }
.direct_desc{ font-size:1.7rem; color:#444; font-weight:200; line-height:1.7; word-break:keep-all; }
.direct_badge_row{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; }
.direct_badge{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 45px; width:45px; height:25px; border-radius:12px; font-size:1.3rem; font-weight:600; }
.direct_badge_bus{ background:rgba(42,78,164,0.2); color:#002887; }
.direct_badge_office{ background:rgba(42,140,164,0.2); color:#004f62; }
.direct_badge_txt{ font-size:1.7rem; color:#444; font-weight:200; }
.direct_office_box{ margin-top:14px; background:#f4f4f4; border-radius:15px; padding:20px; margin-top: 30px;}
.direct_office_list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 30px; }
.direct_office_list li{ flex:0 0 auto; font-size:1.5rem; color:#444; font-weight:200; line-height:1.7; }
.direct_print_wrap{ margin-top:20px; text-align:center; }
.direct_print_btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; width:240px; height:60px; background:#2a4ea4; border-radius:8px; color:#fff; font-size:1.8rem; font-weight:500; text-decoration:none; }
.direct_print_btn:hover{ background:#1e3d88; }
.direct_print_btn img{ display:block; }

/*시도임상병리사회*/
.sido_wrap{margin-top: 60px;}
.sido_list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
.sido_card{ min-height:220px; background:rgba(244,246,251,0.5); border-radius:15px; border:1px solid #e1e5ee; padding:30px; box-sizing:border-box; }
.sido_tit{ display:block; font-size:2rem; font-weight:600; color:#222; line-height:1.4; word-break:keep-all; text-align: center;}
.sido_info{ margin-top:25px; display:flex; flex-direction:column; gap:10px; justify-content: center; }
.sido_info_row{ display:flex; align-items:flex-start; gap:10px; }
.sido_ico{ flex:0 0 auto; margin-top:2px; }
.sido_info_row span{ font-size:1.6rem; color:#444; line-height:1.6; word-break:keep-all; }

/* ================================
   임상병리사
================================ */
/*윤리강령*/
.coe_box{ margin-top:60px; padding:14px; background:#f1f1f1; }
.coe_inner{ padding:20px; background:#ffffff; border:1px solid #e5e5e5; }
.coe_head_box{ position:relative; padding:22px; background:#ffffff; }
.coe_head_inner{ position:relative; z-index:1; min-height:380px; padding:50px 70px; background:url("../images/sub/coe_bg.jpg") no-repeat center top / cover; text-align:center; }
.coe_head_mark{ width:196px; height:26px; margin:20px auto; background:url("../images/sub/coe_leaf.png") no-repeat center / contain; }
.coe_title::after{ content:""; display:block; width:1px; height:30px; margin:20px auto 0; background:#000000; }
.coe_title{ color:#222; font-size:4rem; font-weight:500; line-height:1.2;  font-family:'Noto Serif KR'; font-weight: 700; }
.coe_desc{ margin-top:30px; color:#444; font-size:1.8rem; line-height:1.8; word-break:keep-all; }
.coe_list{ padding:0 50px; margin-top:22px; }
.coe_item{ display:flex; align-items:flex-start; padding:22px 12px; border-bottom:1px dashed #bbbbbb; }
.coe_num{ flex:0 0 54px; color:#0d3184; font-size:1.7rem; font-weight:700; line-height:1.8; }
.coe_text{ flex:1; color:#555; font-size:1.65rem; line-height:1.8; word-break:keep-all; }

/*임상병리사 소개*/
.clinical_lab_intro{ margin-top:60px; }
.lab_intro_box{ display:flex; flex-direction:column; gap:50px; }
.lab_intro_row{ display:flex; align-items:flex-start; justify-content:space-between; gap:50px; }
.lab_intro_text_box{ flex:1; min-width:0; }
.lab_intro_img_box{ flex:0 0 420px; width:420px; }
.lab_intro_img{ display:block; width:100%; height:auto; border-radius:15px; }
.lab_intro_tit{ color:#12468c; font-size:2.2rem; font-weight:700; line-height:1.35; }
.lab_intro_desc{ margin-top:18px; } 
.lab_intro_desc p{ color:#444; font-size:1.55rem; line-height:1.9; word-break:keep-all; } 
.lab_intro_desc p + p{ margin-top:14px; }

/*임상검사*/
.clt_wrap{ width:100%; margin-top: 60px;} 
.clt_table{ width:100%; border-collapse:collapse; table-layout:fixed; border-top:2px solid #2a4ea4; border-left:1px solid #dbdbdb; font-size:1.5rem; } 
.clt_table th, 
.clt_table td{ border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; vertical-align:middle; word-break:keep-all; } 
.clt_table thead th{ padding:14px 16px; background:#f2f5fb; color:#202738; font-size:1.5rem; font-weight:600; text-align:center; line-height:1.4; } 
.clt_table tbody th, 
.clt_table tbody td{ background:#fff; } 
.clt_table tbody td{ padding:14px 16px; color:#555; font-size:1.45rem; line-height:1.75; } 
.clt_table tbody td p{ color:#555;} 
.clt_table tbody td p + p{ margin-top:4px; } 
.clt_table tbody td:first-child{ text-align:center; } 
.clt_table tbody td[rowspan], 
.clt_table tbody td[rowspan] + td{ vertical-align:middle; } 
.clt_table tbody tr > td:nth-child(2),
.clt_table tbody tr > td:nth-child(3){ text-align:left; }

/*진출분야*/
.container05_01_04{ }
.foe_wrap{ position:relative; overflow:hidden; padding:50px; border-radius:20px; background:#dcedff; min-height: 990px; margin-top:60px; }
.foe_wrap::after{ content:""; position:absolute; right:0; bottom:0; width:452px; height:271px; background:url("../images/sub/foe_bg.png") no-repeat right bottom / contain; pointer-events:none; z-index:1; }
.foe_head{ position:relative; z-index:2; text-align:center; }
.foe_tit{ color:#222; font-family: 'YeogiOttaeJalnanGothic'; font-size:4.8rem; line-height:1.2; letter-spacing:-0.02em;}
.foe_tit span{color:#0b328b;}
.foe_desc{ margin:25px auto 0; color:#333; font-size:1.8rem; word-break:keep-all; }
.foe_body{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:50px;}
.foe_card{ display:flex; flex-direction:column; justify-content:space-between; min-height:96px; padding:30px; border-radius:15px; background:#fff; box-shadow:0 4px 10px rgba(79, 108, 166, 0.16); }
.foe_card_title{ margin-bottom:8px; color:#2d4488; font-family: 'YeogiOttaeJalnanGothic'; font-size:2.2rem; word-break:keep-all; }
.foe_card_cont{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.foe_list{ flex:1; min-width:0; }
.foe_list li{ position:relative; padding-left:12px; color:#333; font-size:1.8rem; line-height:1.75; word-break:keep-all; font-weight: 600;}
.foe_list li + li{ margin-top:1px; }
.foe_list li::before{ content:""; position:absolute; left:0; top:13px; width:5px; height:5px; border-radius:50%; background:#7a91d2; }
.foe_icon{ flex:0 0 92px; display:flex; align-items:flex-end; justify-content:center; min-height:58px; }
.foe_icon img{ display:block; max-width:100%; height:auto; }
.foe_card_wide{ grid-column:1 / 2; width:auto; max-width:none; }
.foe_card:focus-within{ outline:2px solid #2a4ea4; outline-offset:3px; }

/*배출대학*/
.college_box {margin-top: 60px;}
.college_box + .college_box{ margin-top:30px; }
.college_wrap{ margin-top:25px; }
.college_table{ width:100%; border-collapse:collapse; table-layout:fixed; border-top:1px solid #2a4ea4; border-left:1px solid #dbdbdb; font-size:1.5rem; }
.college_table th,
.college_table td{ border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; padding:18px 16px; text-align:center; vertical-align:middle; word-break:keep-all; }
.college_table thead th{ background:#f2f5fb; color:#202738; font-size:1.45rem; font-weight:700; line-height:1.4;}
.college_table tbody td{ background:#fff; color:#444; font-size:1.45rem; line-height:1.45; }
.college_table tbody tr:hover td{ background:#fafcff; }
.college_wrap:focus-within{ outline:2px solid #2a4ea4; outline-offset:4px; }

/* ================================
   전문임상병리사제도
================================ */
.sclts_box{ margin-top: 60px; }
.sclts_intro{ position: relative; }
.sclts_intro_inner{ position: relative; min-height: 300px; padding-top: 18px; padding-left: 10px; }
.sclts_intro_thumb{ position: absolute; left: 0; top: 0; z-index: 2; width: 420px; height: 420px; border-radius: 20px; overflow: hidden; } 
.sclts_intro_img{ display: block; width: 100%; height: 100%; object-fit: cover; }
.sclts_intro_panel{ min-height: 400px; margin:70px 0 0 90px; padding: 34px 34px 34px 350px; border-radius: 15px; background: #edf1f4; }
.sclts_intro_tit{ color: #12468c; font-size: 2.2rem; font-weight: 600; }
.sclts_intro_desc{ margin-top: 25px; }
.sclts_intro_desc p{ color: #555; font-size: 1.5rem; line-height: 1.95; word-break: keep-all; }
.sclts_intro_desc p + p{ margin-top: 30px; }
/* ================================
   관련법률
================================ */
/*면허신고제*/
.license_report{margin-top: 60px;}
.license_box ~ .license_box{margin-top: 60px;}
.license_text{margin:20px 0; color:#444444;}
.license_report_box{ margin-top:20px; padding:30px; border-radius:15px; background:#f9f9f9; border:1px solid #e1e1e1;}
.license_report_title{ display:block; font-size:1.6rem; font-weight:600; color:#202738; margin-bottom:10px; }
.license_report_sub_title{ font-size:1.5rem; font-weight:500; color:#202738; margin-bottom:15px; }
.license_report_list{ color:#555; line-height:1.6; }
.license_report_list li + li{ margin-top:8px; }
.license_report_list .is_highlight{ color:#2a4ea4; }
.license_report_list .is_highlight::before{color:#2a4ea4;}
.license_head{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.license_head .convey_h3{ flex:0 1 auto; }
.license_badge{ display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:40px; padding:0 18px; border:1px dashed #95a8df; border-radius:10px; background:#eef3ff; color:#2a4ea4; font-size:1.6rem; font-weight:600; line-height:1; white-space:nowrap; }
.license_head + .license_text{ margin-top:20px; }
.license_step_box{ margin-top:25px; padding:30px; border:1px solid #e1e1e1; border-radius:15px; }
.license_step_list{ display:flex; align-items:stretch; justify-content:space-between; gap:30px; }
.license_step_item{ position:relative; flex:1 1 0; min-width:0; }
.license_step_item:not(:last-child)::after{ content:""; position:absolute; right:-25px; top:50%; width:21px; height:18px; background:url("../images/sub/icon_next_level.png") no-repeat center; background-size:15px auto; transform:translateY(-50%); }
.license_step_card{ height:100%; min-height:250px; padding:25px; border-radius:15px; background:#eef2f7; text-align:center; }
.license_step_icon{ display:flex; align-items:center; justify-content:center; height:75px; margin-bottom:30px; }
.license_step_icon img{ display:block; width:auto; height:auto; max-width:100%; max-height:75px; }
.license_step_num{ color:#2a4ea4; font-size:1.6rem; font-weight:700; line-height:1; }
.license_step_text{ margin-top:14px; color:#333; font-size:1.4rem; line-height:1.5; word-break:keep-all; font-weight: 500; }
.license_condition_desc{ color:#444; font-size:1.5rem; line-height:1.8; word-break:keep-all; }
.license_condition_desc strong{ font-weight:700; color:#333; }
.license_condition_desc2{ margin-top:10px; color:#555; font-size:1.3rem; line-height:1.75; word-break:keep-all; padding-left: 15px;}
.license_condition_list{ margin-top:10px; }
.license_condition_list > li{ color:#555; font-size:1.5rem; line-height:1.8; padding-left:15px; }
.license_condition_list > li + li{ margin-top:2px; }
.license_condition_list > li::before{ content:"→"; display:block; position:absolute; left:0; top:0; width:auto; height:auto; background:none; border-radius:0; color:#666; font-size:1.3rem; line-height:1.75; }
.license_condition_list > li:last-child{ text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.license_condition_mark{ color:#ef4b4b;}
.license_condition_note{ color:#ef4b4b; font-size:1.3rem; line-height:1.75; }
.license_penalty_flow{ margin-top:20px; padding:30px; border:1px solid #e1e1e1; border-radius:15px; }
.license_penalty_list{ display:flex; align-items:center; justify-content:space-between; gap:30px; }
.license_penalty_item{ position:relative; flex:1; }
.license_penalty_item:not(:last-child)::after{ content:""; position:absolute; right:-25px; top:50%; width:21px; height:18px; background:url('../images/sub/icon_next_level.png') no-repeat center/contain; transform:translateY(-50%); }
.license_penalty_card{ height:100%; min-height:200px;  background:#eef2f7; border-radius:15px; padding:30px 20px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.license_penalty_icon{ margin-bottom:12px; }
.license_penalty_icon img{width: 100%; height:auto; }
.license_penalty_text{ font-size:1.3rem; color:#222; line-height:1.6; word-break:keep-all; }
.license_recover_text{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.license_recover_desc{ color:#555; font-size:1.6rem; line-height:1.6; }
.license_recover_text .license_badge{ flex:0 0 auto; } 
.license_recover_text .license_badge_long{ min-width:auto; padding:0 20px; }
.start_2 > li:nth-child(1)::before{content:"②";}
.start_2 > li:nth-child(2)::before{content:"③";}
.start_2 > li:nth-child(3)::before{content:"④";}
.start_3 > li:nth-child(1)::before{content:"③";}
.start_3 > li:nth-child(2)::before{content:"④";}
.start_3 > li:nth-child(3)::before{content:"⑤";}
/* 면허신고 하단 버튼 */
.license_btn_box{ display:flex; justify-content:center; gap:20px; margin-top:30px; }
.license_btn{ display:flex; align-items:center; justify-content:space-between; height:60px; padding:0 28px; border-radius:7px; font-size:1.6rem; font-weight:600; text-decoration:none; transition:all .2s ease; box-sizing:border-box; gap:20px; }
.license_btn_txt{ color:#fff; }
.license_btn_ico{ display:flex; align-items:center; justify-content:center; width:17px; height:15px; flex-shrink:0; }
.license_btn_ico img{ display:block; width:17px; height:15px; }
.license_btn_primary{ background:#2a4ea4; }
.license_btn_primary:hover,
.license_btn_primary:focus-visible{ background:#24479a; }
.license_btn_gray{ background:#4b505a; }
.license_btn_gray:hover,
.license_btn_gray:focus-visible{ background:#3f444d; }
.license_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }

/*의료기사 등에 관한 법률*/
.aomt_box{ margin-top: 60px; }

/* ================================
   취업지원센터 검색
================================ */
.function_search{ margin-top: 30px; }
.function_search_form fieldset{ border: 0; margin: 0; padding: 0; }
.function_search_box{ padding: 18px 24px 20px; border: 1px solid #9cb2e4; border-radius: 15px; background: #f4f6fb; }
.function_search_row{ display: flex; align-items: flex-start; gap: 20px; }
.function_search_row + .function_search_row{ margin-top: 20px; }
.function_search_label{ flex: 0 0 70px; padding-top: 5px; color: #333; font-size: 1.6rem; font-weight: 600; line-height: 1.4; }
.function_search_cont{ flex: 1; min-width: 0; }
.function_search_chip_box{ display: flex; flex-wrap: wrap; gap: 6px; }
.function_search_chip{ position: relative; display: inline-flex; cursor: pointer; }
.function_search_chip_input{ position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.function_search_chip_txt{ display: inline-flex; align-items: center; justify-content: center; min-width: 85px; height: 35px; padding: 0 14px; border: 1px solid #bbbbbb; border-radius: 4px; background: #f8f8f8; color: #333; font-size: 1.3rem; font-weight: 500; line-height: 1; transition: all .2s ease; box-sizing: border-box; }
.function_search_chip_input:checked + .function_search_chip_txt{ border-color: #2a4ea4; background: #2a4ea4; color: #fff;}
.function_search_chip_input:focus-visible + .function_search_chip_txt{ outline: 2px solid #111; outline-offset: 2px; }
.function_search_check_box,
.function_search_radio_box{ display: flex; flex-wrap: wrap; gap: 18px; min-height: 26px; padding-top: 4px; }
.function_search_check,
.function_search_radio{ position: relative; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.function_search_check_input,
.function_search_radio_input{ position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.function_search_check_mark{ position: relative; width: 16px; height: 16px; border: 1px solid #bbbbbb; border-radius: 3px; background: #fff; flex-shrink: 0; }
.function_search_check_mark::after{ content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); opacity: 0; }
.function_search_check_input:checked + .function_search_check_mark{ border-color: #2a4ea4; background: #2a4ea4; }
.function_search_check_input:checked + .function_search_check_mark::after{ opacity: 1; }
.function_search_check_input:focus-visible + .function_search_check_mark{ outline: 2px solid #111; outline-offset: 2px; }
.function_search_check_txt,
.function_search_radio_txt{ color: #555; font-size: 1.5rem; line-height: 1.4; }
.function_search_check_input:checked ~ .function_search_check_txt,
.function_search_radio_input:checked ~ .function_search_radio_txt{ color: #2a4ea4; font-weight: 600; }
.function_search_radio_mark{ position: relative; width: 16px; height: 16px; border: 1px solid #9c9c9c; border-radius: 50%; background: #fff; flex-shrink: 0; }
.function_search_radio_mark::after{ content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: #2a4ea4; transform: translate(-50%, -50%) scale(0); }
.function_search_radio_input:checked + .function_search_radio_mark{ border-color: #2a4ea4; }
.function_search_radio_input:checked + .function_search_radio_mark::after{ transform: translate(-50%, -50%) scale(1); }
.function_search_radio_input:focus-visible + .function_search_radio_mark{ outline: 2px solid #111; outline-offset: 2px; }
.function_search_keyword{ display: flex; align-items: center; gap:5px; max-width: 540px; }
.function_search_select{ width: 160px; height: 45px; padding: 0 34px 0 12px; border: 1px solid #d3d3d3; border-radius: 5px; background: #fff url("../images/sub/icon_select.png") no-repeat right 12px center; color: #333; font-size: 1.4rem; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.function_search_input{ flex: 1; min-width: 0; height: 45px; padding: 0 14px; border: 1px solid #d3d3d3; border-radius: 5px; background: #fff; color: #333; font-size: 1.4rem;}
.function_search_select:focus,
.function_search_input:focus{ outline: 2px solid #2a4ea4; outline-offset: 2px; position: relative; z-index: 1; }
.function_search_btn_box{ display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.function_search_btn{ display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 130px; height: 40px; padding: 0 14px; border: 1px solid #c4c4c4; border-radius: 6px; background: #fff; color: #333; font-size: 1.5rem; font-weight: 500; }
.function_search_btn_txt{ display: inline-block; line-height: 1; }
.function_search_btn_ico{ display: inline-block; width: 15px; height: 15px; background-repeat: no-repeat; background-position: center; background-size: contain; flex-shrink: 0; }
.function_search_btn_ico_reset{ background-image: url("../images/sub/icon_reset.png"); }
.function_search_btn_ico_submit{ background-image: url("../images/sub/icon_fuc_search.png"); }
.function_search_btn_reset{ background: #fff; color: #333; }
.function_search_btn_submit{ border-color: #2a4ea4; background: #2a4ea4; color: #fff; }
.function_search_btn:hover{ text-decoration: none; }
.function_search_btn_reset:hover,
.function_search_btn_reset:focus-visible{ background: #f5f5f5; }
.function_search_btn_submit:hover,
.function_search_btn_submit:focus-visible{ background: #24479a; }
.function_search_btn:focus-visible{ outline: 2px solid #111; outline-offset: 2px; }

/* ================================
   구인업체정보
================================ */
.function_box{ margin-top: 60px; }
.function_box ~ .function_box{ margin-top: 60px; }
.function_company_box{ margin-top: 24px; padding:30px; border: 1px solid #8596c0; border-radius: 15px; background: #f4f6fb; }
.function_company_head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;}
.function_company_tit{ color: #333; font-size: 2rem; font-weight: 700; line-height: 1.4;}
.function_company_state{ display: inline-flex; align-items: center; justify-content: center; min-width: 60px; height: 26px; padding: 0 5px; border: 1px solid #2a4ea4; border-radius: 999px; background: #fff; color: #2a4ea4; font-size: 1.4rem; font-weight: 600; line-height: 1; flex-shrink: 0; }
.function_company_info{ margin-top: 18px; }
.function_company_row{ display: flex; align-items: flex-start; gap: 18px; }
.function_company_row + .function_company_row{ margin-top: 10px; }
.function_company_label{ position: relative; flex: 0 0 60px; color: #333; font-size: 1.6rem; font-weight: 600; line-height: 1.6; padding-left: 10px; } .function_company_label::before{ content: ""; position: absolute; left: 0; top: 11px; width: 3px; height: 3px; border-radius: 50%; background: #333; } 
.function_company_text{ flex: 1; min-width: 0; color: #555; font-size: 1.6rem; line-height: 1.6; word-break: keep-all; } 
.function_company_link{ position: relative; display: inline-block; flex: 1; min-width: 0; padding-right: 18px; color: #555; font-size: 1.6rem; line-height: 1.6; word-break: break-all; } 
.function_company_link::after{ content: ""; display: inline-block; width: 14px; height: 13px; margin-left: 6px; background: url("../images/common/icon_link.png") no-repeat center; background-size: contain; vertical-align: middle; } 
.function_company_link:hover{ color: #2a4ea4; text-decoration: underline; text-underline-offset: 3px; } 
.function_company_link:focus-visible{ outline: 2px solid #111; outline-offset: 2px; border-radius: 2px; }
.function_txt_box{padding:30px; border:1px solid #dbdbdb; border-top:1px solid #2a4ea4; margin-top: 20px;}
.function_txt_box p{font-size: 1.5rem; color:#444444;}
.function_txt_box p + p {margin-top: 7px;}

/*구직정보*/
.job_box{margin-top: 60px;}
.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{ margin-top:20px; } 
.job_info_table th, 
.job_info_table td{ padding:14px 18px; font-size:1.45rem; line-height:1.6; } 
.job_info_table th{ background:#f2f5fb; 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; }
.job_btn_list{ display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; padding:0 20px; border-radius:7px; background:#4b505a; color:#fff; font-size:1.6rem; font-weight:500; line-height:1; text-decoration:none; transition:background-color .2s ease; box-sizing:border-box; }
.job_btn_list:hover{ background:#3f444d; } 
.job_btn_list:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
/*구직정보_write*/
/* 구직정보 write */
.job_write_table{ margin-top:20px; } 
.job_write_table th, 
.job_write_table td{ padding:14px 12px; font-size:1.45rem; line-height:1.6; vertical-align:middle; } 
.job_write_table th{ background:#f2f5fb; color:#333; font-weight:600; text-align:center; } 
.job_write_table td{ background:#fff; color:#555; } 
.job_write_table .job_req{ display:inline-block; margin-left:3px; color:#ff3b30; font-weight:700; vertical-align:middle; } 
.job_form_input, 
.job_form_select, 
.job_form_textarea{ width:100%; border:1px solid #d8d8d8; border-radius:5px; background:#fff; color:#333; font-size:1.4rem; font-family:inherit; box-sizing:border-box; } .job_form_input, 
.job_form_select{ height:40px; padding:0 14px; } 
.job_form_select{ max-width:200px; padding-right:36px; background:#fff url("../images/sub/icon_select.png") no-repeat right 12px center; appearance:none; -webkit-appearance:none; -moz-appearance:none; } 
.job_form_input_short{ max-width:200px; }
.job_write_table tr.job_write_line th,
.job_write_table tr.job_write_line td{ border-top:2px solid #222222; }
.job_form_textarea{ min-height:60px; padding:12px 14px; resize:vertical; } 
.job_form_textarea_lg{ min-height:130px; } 

.job_inline_field{ display:flex; align-items:center; gap:8px; } 
.job_inline_field .job_form_input{ max-width:200px; flex:0 0 200px; } 
.job_inline_text{ color:#555; font-size:1.4rem; line-height:1.4; white-space:nowrap; } 
.job_form_input::placeholder, .job_form_textarea::placeholder{ color:#9a9a9a; } 
.job_form_input:focus, .job_form_select:focus, 
.job_form_textarea:focus{ outline:2px solid #2a4ea4; outline-offset:2px; position:relative; z-index:1; } 
.job_write_btn_box{ display:flex; justify-content:center; gap:10px; margin-top:50px; } 
.job_write_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:60px; padding:0 15px; border-radius:7px; color:#fff; font-size:1.6rem; font-weight:500; text-decoration:none; transition:background-color .2s ease; } 
.job_write_btn_submit{ background:#2a4ea4; } 
.job_write_btn_submit:hover{ background:#24479a; } 
.job_write_btn_cancel{ background:#4b505a; } 
.job_write_btn_cancel:hover{ background:#3f444d; } 
.job_write_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.job_write_table tr.job_write_line th{background-color: #f8f8f8;}
.job_write_table tr.job_write_start th,
.job_write_table tr.job_write_start ~ tr th{ background:#f8f8f8; }
/*첨부파일*/
.job_file_box{ padding:2px 0; }
.job_file_top{ display:flex; align-items:center; gap:12px; } 
.job_file_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; } 
.job_file_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:94px; height:40px; padding:0 12px; border:1px solid #2a4ea4; border-radius:5px; background:#fff; color:#3b5cab; font-size:1.3rem; font-weight:500; line-height:1; text-decoration:none; cursor:pointer; } 
.job_file_btn:hover{ background:#f5f8ff; } 
.job_file_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; } 
.job_file_note{ color:#666; font-size:1.3rem; line-height:1.4; } 
.job_file_list{ margin-top:10px; } 
.job_file_item{ display:flex; align-items:center; gap:10px; } 
.job_file_item + .job_file_item{ margin-top:6px; } 
.job_file_link{ display:inline-flex; align-items:center; min-width:0; color:#555; font-size:1.3rem; line-height:1.4; text-decoration:none; } 
.job_file_link:hover .job_file_name{ color:#2a4ea4; text-decoration:underline; text-underline-offset:2px; } 
.job_file_link:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; border-radius:2px; } 
.job_file_icon{ flex:0 0 16px; width:16px; height:20px; margin-right:6px; background:url("../images/sub/ico_pdf.png") no-repeat center; background-size:contain; } 
.job_file_icon.is_hwp{ background-image:url("../images/sub/ico_hwp.png"); }
.job_file_name{ display:block; min-width:0; word-break:break-all; } 
.job_file_del{ position:relative; flex:0 0 16px; width:16px; height:16px; border:1px solid #c8c8c8; border-radius:50%; background:#fff; } 
.job_file_del::before, 
.job_file_del::after{ content:""; position:absolute; left:50%; top:50%; width:8px; height:1px; background:#888; } 
.job_file_del::before{ transform:translate(-50%, -50%) rotate(45deg); } 
.job_file_del::after{ transform:translate(-50%, -50%) rotate(-45deg); } 
.job_file_del:hover{ border-color:#999; background:#f7f7f7; } 
.job_file_del:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }

/*로그인*/
.container07_01{}
.login_box{ max-width:740px; margin:50px auto 0;background:#fff; }
.login_inner{ max-width:560px; margin:0 auto; }
.login_desc{ padding-bottom:50px; border-bottom:1px solid #333; color:#333; font-size:1.8rem;  text-align:center; word-break:keep-all; }
.login_form_box{ margin-top:50px; }
.login_form_row{ display:flex; align-items:center; gap:20px; }
.login_form_row + .login_form_row{ margin-top:14px; }
.login_label{ flex:0 0 110px; color:#222; font-size:1.5rem; font-weight:500; line-height:1.4; }
.login_field{ flex:1; min-width:0; }
.login_input{ width:100%; height:50px; padding:0 18px; border:1px solid #d2d2d2; border-radius:5px; background:#fff; color:#333; font-size:1.4rem; }
.login_input::placeholder{ color:#9a9a9a; }
.login_input:focus{ outline:2px solid #2a4ea4; outline-offset:2px; background:#fff; }
.login_option_row{ display:flex; align-items:center; justify-content:space-between; margin-top:30px; padding-left:130px; }
.login_check_label{ position:relative; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.login_check_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }
.login_check_mark{ position:relative; width:22px; height:22px; border:1px solid #2a4ea4; border-radius:5px; background:#fff; flex-shrink:0; }
.login_check_mark::after{ content:""; position:absolute; left:6px; top:2px; width:7px; height:12px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); opacity:0; }
.login_check_input:checked + .login_check_mark{ background:#2a4ea4; }
.login_check_input:checked + .login_check_mark::after{ opacity:1; }
.login_check_input:focus-visible + .login_check_mark{ outline:2px solid #111; outline-offset:2px; }
.login_check_txt{ color:#2a4ea4; font-size:1.5rem; font-weight:500; line-height:1.4; }
.login_error_text{ color:#ff0000; font-size:1.4rem; text-align:right; word-break:keep-all; }
.login_btn_box{ margin-top:50px; }
.login_btn{ display:flex; align-items:center; justify-content:center; width:100%; height:60px; border-radius:10px; font-size:1.8rem; font-weight:700; text-decoration:none; transition:all .2s ease; }
.login_btn + .login_btn{ margin-top:15px; }
.login_btn_submit{ border:1px solid #2a4ea4; background:#2a4ea4; color:#fff; }
.login_btn_submit:hover,
.login_btn_submit:focus-visible{ background:#24479a; }
.login_btn_join{ border:2px solid #2a4ea4; background:#fff; color:#2a4ea4; }
.login_btn_join:hover,
.login_btn_join:focus-visible{ background:#f5f8ff; }
.login_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.login_link_box{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:30px; }
.login_link{ color:#222; font-size:1.4rem; line-height:1.4; }
.login_link:hover, 
.login_link:focus-visible{ text-decoration:underline; text-underline-offset:3px; }
.login_link_bar{ width:1px; height:12px; background:#222222; }

/*회원가입*/
.member_box{ margin-top:60px; }
.member_step_box{ margin-bottom:60px; }
.member_step_list{ display:flex; justify-content:space-between; align-items:flex-start; }
.member_step_item{ position:relative; flex:1 1 0; text-align:center; }
.member_step_item::before{ content:""; position:absolute; top:35px; left:-50%; width:100%; height:1px; z-index:0; background-image:repeating-linear-gradient( to right, #cfcfcf 0 4px, transparent 4px 8px ); background-repeat:repeat-x; }
.member_step_item:first-child::before{ display:none; }
.member_step_item.is_active::after{ content:""; position:absolute; top:35px; left:50%; width:50%; height:1px; z-index:1; background-color:#fff; background-image:repeating-linear-gradient( to right, #2a4ea4 0 4px, transparent 4px 8px ); background-repeat:repeat-x; }
.member_step_item:last-child.is_active::after{ left:0; width:50%; }
.member_step_circle{ position:relative; z-index:2; width:70px; height:70px; margin:0 auto; border-radius:50%; background:#cfcfcf; display:flex; align-items:center; justify-content:center; }
.member_step_circle img{ display:block; width:auto; height:auto; max-width:none; max-height:none;}
.member_step_item.is_active .member_step_circle{ background:#2a4ea4; }
.member_step_txt{ position:relative; z-index:2; margin-top:12px; }
.member_step_txt .step{ display:block; color:#8b8b8b; font-size:1.3rem;  line-height:1.2; }
.member_step_txt .tit{ display:block; margin-top:4px; color:#555; font-size:1.5rem; font-weight:600; line-height:1.35; word-break:keep-all; }
.member_step_item.is_active .step,
.member_step_item.is_active .tit{ color:#2a4ea4; }
/* 회원가입 완료 */
.last_step_box{ text-align:center; padding:60px 0 80px; }
.last_step_img{ display:block; margin:0 auto; max-width:100%; }
.last_step_msg{ margin-top:28px; font-size:2.4rem; color:#000; line-height:1.65; word-break:keep-all; }
.last_step_name{ font-size:2.6rem; color:#000; font-weight:700; }
.last_step_btns{ display:flex; justify-content:center; align-items:center; gap:16px; margin-top:80px; }
.last_step_btn{ display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; color:#fff; font-size:1.8rem; font-weight:600; text-decoration:none; transition:opacity .15s ease; }
.last_step_btn:hover{ opacity:.85; }
.last_step_btn:focus-visible{ opacity:.85; outline:2px solid #111; outline-offset:3px; }
.last_step_btn_login{ background:#2a4ea4; }
.last_step_btn_confirm{ background:#4b505a; }
.member_join_box{ margin-top:90px; }
.member_join_head{ text-align:center; }
.member_join_tit{ color:#333; font-size:3rem; font-weight:700; line-height:1.35; word-break:keep-all; }
.member_join_desc{ margin-top:22px; color:#444444; font-size:1.5rem; line-height:1.7; word-break:keep-all; }
.member_join_card_box{ margin-top:50px; }
.member_join_card_list{ display:flex; flex-wrap:wrap; gap:25px; }
.member_join_card_item{ width:calc((100% - 50px) / 3); }
.member_join_card{ height:100%; min-height:420px; padding:50px 40px; border:1px solid #e1e5ee; border-radius:15px; background:#f4f6fb; text-align:center; }
.member_join_icon{ display:flex; align-items:center; justify-content:center; min-height:92px; }
.member_join_icon img{ display:block; width:auto; height:auto; max-width:none; max-height:none; } 
.member_join_card_tit{ margin-top:28px; color:#222; font-size:2.2rem; font-weight:700; line-height:1.3; }
.member_join_card_txt{ margin-top:20px; min-height:52px; color:#666; font-size:1.6rem; line-height:1.6; word-break:keep-all; }
.member_join_btn{ display:flex; align-items:center; justify-content:space-between; width:100%; max-width:220px; height:50px; margin:56px auto 0; padding:0 20px 0 24px; border-radius:7px; background:#2a4ea4; text-align:center; transition:background-color .2s ease; }
.member_join_btn_txt{ color:#fff; font-size:1.6rem; font-weight:600; line-height:1; }
.member_join_btn_ico{ display:flex; align-items:center; justify-content:center; width:14px; height:18px; flex-shrink:0; }
.member_join_btn_ico img{ display:block; width:14px; height:18px; } 
.member_join_btn:hover{ background:#24479a; } 
.member_join_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }
/* 회원가입 - 약관동의 */
.agree_box{ }
.agree_desc{ color:#333; font-size:2.4rem; font-weight:700; text-align:center; word-break:keep-all; }
.agree_all_box{ margin-top:50px; padding:20px; border-radius:15px; background:#f4f6fb; text-align:center; border:1px solid #e1e5ee; }
.agree_section{ margin-top:50px; }
.agree_scroll_box{ margin-top:18px; padding:10px; border:1px solid #dfdfdf; border-radius:8px; background:#f8f8f8; }
.agree_scroll_inner{ height:120px; padding:20px; overflow-y:auto; color:#666; }
.agree_scroll_inner::-webkit-scrollbar{ width:6px; }
.agree_scroll_inner::-webkit-scrollbar-thumb{ background:#7d7d7d; border-radius:10px; }
.agree_scroll_inner::-webkit-scrollbar-track{ background:transparent; }
.agree_scroll_inner p{ color:#666; font-size:1.4rem; line-height:1.8; word-break:keep-all; }
.agree_scroll_inner p + p{ margin-top:6px; }
.agree_item_check{ margin-top:14px; }
.agree_check_label{ position:relative; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.agree_check_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }
.agree_check_mark{ position:relative; flex:0 0 22px; width:22px; height:22px; border:1px solid #7c7c7c; border-radius:5px; background:#fff; }
.agree_check_mark::after{ content:""; position:absolute; left:6px; top:2px; width:7px; height:12px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); opacity:0; }
.agree_check_input:checked + .agree_check_mark{ border-color:#2a4ea4; background:#2a4ea4; }
.agree_check_input:checked + .agree_check_mark::after{ opacity:1; }
.agree_check_input:focus-visible + .agree_check_mark{ outline:2px solid #111; outline-offset:2px; }
.agree_check_txt{ color:#222; font-size:1.6rem; line-height:1.5; word-break:keep-all; }
.agree_btn_box{ display:flex; justify-content:center; margin-top:50px; }
.agree_btn_next{ display:inline-flex; align-items:center; justify-content:center; min-width:110px; height:50px; padding:0 24px; border-radius:7px; background:#2a4ea4; color:#fff; font-size:1.6rem; font-weight:600; text-decoration:none; transition:background-color .2s ease; }
.agree_btn_next:hover{ background:#24479a; } 
.agree_btn_next:focus-visible{ outline:2px solid #111; outline-offset:3px; }
/* 회원가입 - 본인인증 */
.certi_box{ margin-top:60px; }
.certi_desc{ color:#333; font-size:2.6rem; font-weight:700; line-height:1.4; text-align:center; word-break:keep-all; }
.certi_card_box{ margin-top:50px; }
.certi_card_list{ display:flex; flex-wrap:wrap; gap:20px; }
.certi_card_item{ width:calc((100% - 20px) / 2); }
.certi_card{ padding:50px 40px; border:1px solid #e1e5ee; border-radius:15px; background:#f4f6fb; text-align:center; }
.certi_icon_box{ display:flex; justify-content:center; }
.certi_icon_circle{ display:flex; align-items:center; justify-content:center; width:150px; height:150px; border-radius:50%; background:#fff; }
.certi_icon_circle img{ display:block; width:auto; height:auto; max-width:none; max-height:none; }
.certi_card_tit{ margin-top:30px; color:#222; font-size:2.4rem; font-weight:600; line-height:1.3; }
.certi_card_txt{ margin-top:15px; min-height:60px; color:#444; font-size:1.6rem; line-height:1.7; word-break:keep-all; }
.certi_btn{ display:flex; align-items:center; justify-content:space-between; width:220px; height:50px; margin:20px auto 0; padding:0 18px; border-radius:7px; background:#2a4ea4; transition:background-color .2s ease; }
.certi_btn:hover{ background:#24479a; }
.certi_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }
.certi_btn_txt{ color:#fff; font-size:1.6rem; font-weight:600; line-height:1; }
.certi_btn_ico{ display:flex; align-items:center; justify-content:center; width:18px; height:18px; flex-shrink:0; }
.certi_btn_ico img{ display:block; width:auto; height:auto; max-width:none; max-height:none; }


/* 회원가입 - 회원정보입력 (sub07_02_04) */
.member_info_section{ margin-top:0; }
/* 2026-06-20: 두 번째 이후 섹션 — 위 표와 타이틀 사이 간격 확보 */
.member_info_section + .member_info_section{ margin-top:50px; }
.member_info_section_head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.member_info_req_note{ font-size:1.35rem; color:#666; }
/* info_table 폼용 패딩 오버라이드 */
.member_info_table th,
.member_info_table td{ padding:12px 16px; }
.member_info_table th{ white-space:nowrap; font-size:1.4rem; }
/* 중복검사 버튼 (검정) */
.member_dup_btn{ height:38px; padding:0 18px; background:#222222; border:none; border-radius:5px; color:#fff; font-size:1.4rem; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .15s ease; }
.member_dup_btn:hover{ background:#111; }
.member_dup_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 비밀번호 입력 + 힌트 그룹 */
.member_pw_group{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.member_pw_input{ width:200px; flex-shrink:0; }
.member_hint{ font-size:1.35rem; color:#555; line-height:1.55; word-break:keep-all; }
/* 전화번호 구분자 */
.member_phone_sep{ font-size:1.4rem; color:#555; line-height:1; }
/* 주소 설명 텍스트 */
.member_addr_desc{ font-size:1.35rem; color:#555; line-height:1.55; margin-bottom:8px; word-break:keep-all; }

/* 회원가입 - 학력정보 (sub07_02_04) */
.edu_info_section{ margin-top:60px; }
.edu_info_section_head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:16px; }
.edu_info_head_left{ display:flex; align-items:center; gap:16px; flex:1; min-width:0; }
.edu_info_head_desc{ font-size:1.4rem; color:#555; line-height:1.5; word-break:keep-all; }
/* info_table 폼용 패딩 */
.edu_info_table th,
.edu_info_table td{ padding:12px 16px; }
.edu_info_table th{ white-space:nowrap; font-size:1.4rem; }
/* 학교·전공 입력 필드 크기 축소 (한 줄 유지) */
.edu_info_table .pc_input{ width:120px; }
/* 전공 + 졸업여부 인라인 그룹 */
.edu_major_group{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
/* 학교/전공 검색 입력 + 버튼 그룹 (회원가입 학력정보 4행) */
.edu_search_group{ display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.edu_search_group .pc_input{ flex:1; min-width:0; width:auto; background:#fff; }
.edu_search_btn{ flex-shrink:0; height:36px; padding:0 16px; border:0; border-radius:4px; background:#4b505a; color:#fff; font-size:1.3rem; font-weight:500; cursor:pointer; line-height:1; }
.edu_search_btn:hover{ background:#3a3f48; }
/* 확인 버튼 */
.edu_info_btn_box{ margin-top:50px; text-align:center; }
.edu_info_submit_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:60px; padding:0 30px; border:none; border-radius:7px; background:#2a4ea4; color:#fff; font-size:1.8rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .2s ease; }
.edu_info_submit_btn:hover{ background:#24479a; }
.edu_info_submit_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }

/* ================================
   아이디찾기
================================ */
.find_tab{max-width: 500px;}
/* 아이디찾기 인증 선택 */
.id_found_box{ margin:60px auto 0; max-width: 720px;}
.id_tit_zone{margin:0 auto;}
.id_fit_tit{ display:flex; align-items:baseline; justify-content:center; gap:0; font-size:2.4rem; font-weight:700; color:#333; text-align:center; line-height:1.3; letter-spacing:-0.03em; }
.id_fit_tit_point{ flex:0 0 auto; color:#ff3b22; font-size:inherit; font-weight:700; line-height:inherit; letter-spacing:inherit; }
.id_fit_tit_txt{ flex:0 0 auto; color:#333; font-size:inherit; font-weight:700; line-height:inherit; letter-spacing:inherit; }
.id_fit_subtit{font-size: 1.6rem; color:#444; margin-top: 10px; text-align: center;}
.id_found_list{ display:flex; flex-wrap:wrap; gap:20px; margin-top: 50px;}
.id_found_item{ width:calc((100% - 20px) / 2); }
.id_found_label{ display:block; cursor:pointer; }
.id_found_radio{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }
.id_found_card{ position:relative; display:flex; flex-direction:column; align-items:center; padding:20px; border:1px solid #d9d9d9; border-radius:20px; background:#f4f6fb; text-align:center; transition:border-color .2s ease, box-shadow .2s ease; }
.id_found_check_circle{ position:absolute; left:28px; top:28px; width:30px; height:30px; border:1px solid #bbbbbb; border-radius:50%; background:#fff; }
.id_found_check_circle::after{ content:""; position:absolute; left:50%; top:50%; width:9px; height:13px; border-right:3px solid #2a4ea4; border-bottom:3px solid #2a4ea4; transform:translate(-50%, -58%) rotate(45deg) scale(0); transform-origin:center; transition:transform .2s ease; }
.id_found_icon_circle{ display:flex; align-items:center; justify-content:center; width:100px; height:100px; margin-top:12px; border-radius:50%; background:#fff; }
.id_found_icon_circle img{ display:block; width:auto; height:auto; max-width:none; max-height:none; }
.id_found_tit{ margin-top:26px; color:#222; font-size:2.2rem; font-weight:700; line-height:1.35; }
.id_found_radio:checked + .id_found_card{ border:2px solid #2a4ea4; }
.id_found_radio:checked + .id_found_card .id_found_check_circle{ border-color:#2a4ea4; }
.id_found_radio:checked + .id_found_card .id_found_check_circle::after{ transform:translate(-50%, -58%) rotate(45deg) scale(1); }
.id_found_radio:checked + .id_found_card .id_found_tit{ color:#2a4ea4; }
.id_found_radio:focus-visible + .id_found_card{ outline:2px solid #111; outline-offset:3px;}
.id_fit_btn_box{ margin-top:40px; text-align:center; }
.id_fit_btn{ display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; background:#2a4ea4; color:#fff; font-size:1.6rem; font-weight:500; text-decoration:none; transition:background .2s ease; }
.id_fit_btn:hover,
.id_fit_btn:focus-visible{ background:#1f3c82; }
.id_auth_box{ margin-top:50px; }
.id_auth_inner{ padding:50px; border-radius:20px; background:#f5f5f5; }
.id_auth_title{ color:#333; font-size:2rem; font-weight:700; line-height:1.35; text-align:center; }
.id_auth_desc{ margin-top:10px; color:#555; font-size:1.5rem; line-height:1.6; text-align:center; word-break:keep-all; border-bottom: 1px solid #333; padding-bottom: 30px;}
.id_auth_form{ max-width:500px; margin:0 auto; padding:30px 50px; }
.id_auth_row{ display:flex; align-items:center; gap:18px; }
.id_auth_row + .id_auth_row{ margin-top:8px; }
.id_auth_label{ flex:0 0 90px; color:#555; font-size:1.6rem; font-weight:600; line-height:1.4; text-align:left; }
.id_auth_field{ flex:1; min-width:0; }
.id_auth_field_btn{ display:flex; align-items:center; gap:8px; }
.id_auth_input{ width:100%; height:45px; padding:0 14px; border:1px solid #d8d8d8; border-radius:5px; background:#fff; color:#333; font-size:1.4rem; }
.id_auth_input::placeholder{ color:#a0a0a0; }
.id_auth_input:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
.id_auth_btn{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 110px; height:45px; padding:0 14px; border-radius:5px; background:#4b505a; color:#fff; font-size:1.4rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.id_auth_btn:hover,
.id_auth_btn:focus-visible{ background:#3f444d; }
.id_auth_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.id_auth_box[hidden]{ display:none; }

body.is_spam_popup_open{ overflow:hidden; }
.spam_popup{ position:fixed; left:0; top:0; width:100%; height:100%; z-index:1000; } 
.spam_popup[hidden]{ display:none; } 
.spam_popup_dim{ position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.65); } 
.spam_popup_dialog{ position:absolute; left:50%; top:50%; width:1030px; max-width:calc(100vw - 40px); max-height:calc(100vh - 40px); transform:translate(-50%, -50%); background:#f6f6f6; border-radius:24px; overflow:visible; } 
.spam_popup_inner{ position:relative; padding:50px; } 
.spam_popup_close{ position:absolute; right: 20px; top: 20px; width:50px; height:50px; border-radius:50%; background:rgba(0,0,0,0.7) url("../images/sub/popup_close.png") no-repeat center; z-index:2; } 
.spam_popup_title{ display:inline-block; padding-bottom:6px; border-bottom:2px solid #222; color:#222; font-size:3.2rem; font-weight:700; line-height:1.25; } 
.spam_popup_title .is_point{ color:#ff2a1f; font-weight:700; } 
.spam_popup_title_desc{ margin-top:26px; color:#555; font-size:1.8rem; font-weight:600; line-height:1.5; word-break:keep-all; } 
.spam_popup_title_desc .is_point{ color:#ff2a1f; font-weight:700; } 
.spam_popup_head{ position:relative; padding-top:10px; } 
.spam_popup_head_inner{ position:relative; min-height:120px; } 
.spam_popup_title_box{ position:absolute; left:50%; top:0; transform:translateX(-50%); text-align:center; width:100%; max-width:700px; } /* 이미지 오른쪽 고정 */ .spam_popup_head_img{ position:absolute; right:0; top:0; width:145px; } 
.spam_popup_head_img{ flex:0 0 145px; width:145px; margin-top:-4px; } 
.spam_popup_head_img img{ display:block; width:100%; height:auto; } 
.spam_popup_body{ } 
.spam_popup_intro{ text-align:center; } 
.spam_popup_intro p{ color:#555; font-size:1.6rem; line-height:1.8; word-break:keep-all; } 
.spam_popup_intro p + p{ margin-top:2px; } 
.spam_popup_method{ margin-top:56px; } 
.spam_popup_method_tit{ display:inline-block; position:relative; left:50%; transform:translateX(-50%); padding-bottom:6px; border-bottom:2px solid #222; color:#222; font-size:2.4rem; font-weight:700; line-height:1.3; text-align:center; } 
.spam_telecom_list{ display:flex; gap:16px; margin-top:34px; } 
.spam_telecom_item{ flex:1 1 0; min-width:0; padding:26px 20px 20px; border:1px solid #dedede; border-radius:16px; background:#fff; text-align:center; } 
.spam_telecom_logo{ display:flex; align-items:center; justify-content:center; height:82px; } 
.spam_telecom_logo img{ display:block; max-width:100%; height:auto; } 
.spam_telecom_btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; height:48px; margin-top:16px; padding:0 18px 0 20px; border-radius:6px; background:#2f56b3; } 
.spam_telecom_btn_txt{ color:#fff; font-size:1.4rem; font-weight:500; line-height:1; } 
.spam_telecom_btn_ico{ display:block; flex:0 0 15px; width:15px; height:15px; background:url("../images/sub/icon_spam_link.png") no-repeat center; background-size:contain; filter:brightness(0) invert(1); } 
.spam_telecom_btn:hover, 
.spam_telecom_btn:focus-visible{ background:#24479a; } 
.spam_telecom_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; } 
.spam_popup_note{ margin-top:16px; color:#666; font-size:1.4rem; line-height:1.6; text-align:center; word-break:keep-all; } 
.spam_popup_check_box{ margin-top:34px; padding:24px 20px; border:1px solid #dddddd; border-radius:14px; background:#fff; } 
.spam_popup_check_label{ display:flex; align-items:center; justify-content:center; gap:14px; cursor:pointer; } 
.spam_popup_check_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; } 
.spam_popup_check_mark{ display:inline-block; position:relative; flex:0 0 24px; width:24px; height:24px; border:1px solid #9f9f9f; border-radius:4px; background:#fff; vertical-align:middle; }
.spam_popup_check_mark::after{ content:""; position:absolute; left:7px; top:3px; width:6px; height:11px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); opacity:0; } 
.spam_popup_check_input:checked + .spam_popup_check_text .spam_popup_check_mark{ border-color:#2a4ea4; background:#2a4ea4; }
.spam_popup_check_input:checked + .spam_popup_check_text .spam_popup_check_mark::after{ opacity:1; }
.spam_popup_check_input:focus-visible + .spam_popup_check_text .spam_popup_check_mark{ outline:2px solid #111; outline-offset:2px; }
.spam_popup_check_text{ display:flex; align-items:center; gap:50px; flex-wrap:wrap; } 
.spam_popup_check_text_default{ color:#444; font-size:1.6rem; font-weight:600; line-height:1.5; } 
.spam_popup_check_text_point{ color:#ff3b22; font-size:1.6rem; font-weight:700; line-height:1.5; } 
.spam_popup_btn_box{ margin-top:20px; text-align:center; } 
.spam_popup_btn{ display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; background:#2a4ea4; color:#fff; font-size:1.6rem; font-weight:500; text-decoration:none; transition:background .2s ease; } 
.spam_popup_btn:hover, 
.spam_popup_btn:focus-visible{ background:#1f3c82; } 
.spam_popup_btn:focus-visible{ outline:2px solid #111; outline-offset:3px; }

/* ================================
   마이페이지
================================ */
/* 상단 버튼 영역 */
.container08_01_top{ display:flex; justify-content:flex-end; margin-top:60px; }
.container08_01_btn_box{ display:flex; gap:5px; }
/* 공통 버튼 */
.mypage_btn{ display:flex; align-items:center; justify-content:space-between; gap:7px; height:50px; padding:0 20px; border-radius:7px; font-size:1.6rem; text-decoration:none; box-sizing:border-box; color:#222222; }
/* 텍스트 */
.mypage_btn_text{ white-space:nowrap; padding-top: 5px;}
/* 아이콘 */
.mypage_btn_icon img{ width:16px; height:16px; }
/* 왼쪽 (정회원혜택안내) */
.mypage_btn_primary{ background:#007485; color:#fff; }
/* 오른쪽 (신한카드) */
.mypage_btn_outline{ background:#fff; border:1px solid #949494; color:#222; }
/* 신한카드 로고 */
.mypage_btn_logo img{ height:33px; display:block; }
/* 회원정보 헤더 영역 */
.container08_01_head{display:flex; justify-content:space-between; align-items:center; margin:50px 0 10px; } 
/* 내정보출력 버튼 */ 
.btn_myinfo_print{ display:flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid #2f5fd0; border-radius:4px; font-size:13px; color:#2f5fd0; text-decoration:none; background:#fff; } 
.btn_myinfo_print img{ width:10px; height:14px; }
.mypage_license_notice{ display:flex; align-items:center; justify-content:flex-start; gap:20px; padding:14px 0 0; }
.mypage_license_notice_text{ flex:0 0 auto; color:#ff1d00; font-size:1.5rem; font-weight:500; line-height:1.6; word-break:keep-all; }
.mypage_license_notice_btn{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:220px; height:36px; padding:0 14px; border-radius:5px; background:#222222; text-decoration:none; }
.mypage_license_notice_btn_text{ color:#ffffff; font-size:1.3rem; font-weight:500; line-height:1; white-space:nowrap; }
.mypage_license_notice_btn_icon{ display:flex; align-items:center; justify-content:center; flex:0 0 17px; width:17px; height:15px; }
.mypage_license_notice_btn_icon img{ display:block; width:17px; height:15px; }
.mypage_license_notice_btn:hover, 
.mypage_license_notice_btn:focus-visible{ background:#111111; }
.mypage_license_notice_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.license_zone{ margin-top:40px; }
.license_wrap{ margin-top:20px; border-top:1px solid #2a4ea4; border-bottom:1px solid #dbdbdb; border-left:1px solid #dbdbdb; border-right:1px solid #dbdbdb; overflow:hidden; background:#fff; }
.license_info_box{ background:#f4f6fb; padding:20px 24px; border-bottom:1px solid #e1e4ea; }
.license_info_list{ list-style:none; margin:0; padding:0;}
.license_info_list li{ position:relative; padding-left:12px; font-size:15px; color:#444; line-height:1.6; word-break:keep-all; }
.license_info_list li + li{ margin-top:6px; }
.license_info_list li::before{ content:"·"; position:absolute; left:0; top:0; color:#444; }
.license_info_list strong{ font-weight:600; color:#222; }
.license_calc_box{ padding:30px; background:#fff; }
.license_calc_form{ display:flex; align-items:flex-end; gap:50px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid #ccc; }
.license_calc_field{ flex:1; min-width:220px; }
.license_calc_label{ display:block; margin-bottom:6px; font-size:1.4rem; color:#333; font-weight:500; }
.license_calc_select{ width:100%; height:44px; padding:0 12px; border:1px solid #d9dce3; border-radius:4px; font-size:14px; color:#333; background:#fff; }
.license_calc_btn{ display:inline-flex; align-items:center; justify-content:center; height:45px; padding:0 18px; background:#2a4ea4; color:#fff; border-radius:7px; text-decoration:none; font-size:1.5rem; font-weight:500; white-space:nowrap; min-width: 180px; }
.license_calc_btn:hover{ background:#24457a; }
.license_calc_result{ display:flex; align-items:center; margin-top:20px; min-height:84px; border:1px solid #fbcaca; border-radius:5px; background:#fff4f4; overflow:hidden;     position:relative;}
.license_calc_result_label{ flex:0 0 260px; display:flex; align-items:center; min-height:84px; padding:0 30px; color:#222222; font-size:1.5rem; line-height:1.5; font-weight: 600; word-break:keep-all; }
.license_calc_result_score{ flex:1 1 auto; min-width:0; display:flex; align-items:center; justify-content:flex-start; gap:10px; min-height:84px; padding:0 24px; color:#444444; }
.license_calc_result_score strong{ flex:0 0 auto; color:#d11717; font-size:2.8rem; font-weight:700; line-height:1; margin-right:10px; }
.license_calc_result_score::before{ content:""; position:absolute; left:230px; top:50%; transform:translateY(-50%); width:1px; height:50px; background:#fbcaca; }
.license_calc_notice{ margin-top:30px; }
.license_calc_notice_text{ font-size:1.5rem; color:#c70000; line-height:1.5; position: relative;}
.license_calc_notice_text::before{content: ''; display: inline-block; width: 31px; height: 30px; background: url(../images/sub/icon_decla.png)no-repeat; vertical-align: middle;}
.license_calc_link_box{ margin-top:10px; padding-left: 30px;}
.license_calc_link_row{ font-size:1.5rem; color:#333; }
.license_calc_link_label{ margin-right:6px; }
.license_calc_link{ color:#003670; text-decoration:underline; word-break:break-all; }
.license_calc_note_row{ margin-top:15px; display:flex; flex-wrap:wrap; gap:10px; font-size:1.4rem; color:#666; vertical-align: middle;}
.license_calc_note{ margin:0; padding-top: 3px;}
.license_calc_path{ color:#333333; font-size: 1.4rem; background-color: #f1f1f1; padding:3px 15px; border-radius: 12px; }
.fee_status_box{ margin-top:60px; }
.fee_status_head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.fee_status_head .convey_h3{ flex:0 0 auto; }
.fee_status_desc{ padding-top:3px; color:#2a4ea4; font-size:1.4rem; line-height:1.4; }
.fee_status_more{ margin-left:auto; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:72px; height:30px; padding:0 10px; border:1px solid #2a4ea4; border-radius:5px; background:#fff; }
.fee_status_more_text{ color:#2a4ea4; font-size:1.3rem; font-weight:500; line-height:1; }
.fee_status_more_icon{ color:#2a4ea4; font-size:1.8rem; font-weight:700; line-height:1; margin-top:-1px; }
.fee_status_more:hover,
.fee_status_more:focus-visible{ background:#f5f8ff; }
.fee_status_more:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.fee_status_table_wrap{ margin-top:0; }
.fee_status_table{ table-layout:fixed; }
.fee_status_table thead th,
.fee_status_table tbody td{ text-align:center; }
.fee_status_table thead th{ padding:14px 10px; font-size:1.45rem; }
.fee_status_table tbody td{ padding:14px 10px; font-size:1.45rem; line-height:1.4; }
.fee_status_text{ color:#555; font-weight:500; }
.fee_status_text_wait{ color:#ff0000; font-weight:700; }
.fee_status_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:70px; height:26px; padding:0 10px; border-radius:5px; font-size:1.3rem; font-weight:600; line-height:1; text-decoration:none; }
.fee_status_btn_pay{ background:#ff3c00; color:#fff; }
.fee_status_btn_pay:hover,
.fee_status_btn_pay:focus-visible{ background:#eb5e16; }
.fee_status_btn_receipt{ border:1px solid #008957; background:#fff; color:#008957; }
.fee_status_btn_receipt:hover,
.fee_status_btn_receipt:focus-visible{ background:#f3fffa; }
.fee_status_btn_receipt2{ border:1px solid #2a4ea4; background:#fff; color:#2a4ea4; }
.fee_status_btn_receipt2::before{content: ''; display: inline-block; width: 10px; height: 13px; background: url(../images/sub/ico_mypage_file.png)no-repeat; margin-right: 5px;}
.fee_status_btn_receipt2:hover,
.fee_status_btn_receipt2:focus-visible{ background:#f3fffa; }
.fee_status_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.mypage_edu_history{ margin-top:60px; } 
.mypage_edu_section + .mypage_edu_section{ margin-top:55px; } 
.mypage_edu_head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; } 
.mypage_edu_head .convey_h3{ flex:0 0 auto; } 
.mypage_edu_desc{ padding-top:4px; color:#666; font-size:1.4rem; line-height:1.4; } 
.mypage_edu_table_wrap{ margin-top:0; } 
.mypage_edu_table_wrap .info_table{ table-layout:fixed; }
.mypage_edu_table_wrap .info_table th,
.mypage_edu_table_wrap .info_table td{ padding:14px 10px; font-size:1.45rem; line-height:1.45; text-align:center; }
.mypage_edu_table_wrap .info_table thead th{ font-weight:600; } 
.mypage_edu_table_wrap .info_table tbody th{ background:#fff; color:#444; font-weight:600; } .mypage_edu_year_table tbody th{ background:#fff; }
.edu_note_box{display: flex; justify-content: center; align-items: center;}
.mypage_edu_year_note{margin-right: 3px; color:#2a4ea4; font-size:1.2rem; }
.mypage_edu_year_bote{margin-left: 3px; color:#009345; font-size:1.2rem; }
.mypage_edu_mark{ display:inline-flex; align-items:center; justify-content:center; min-width:18px; min-height:18px; font-size:1.4rem; font-weight:700; }
.edu_flex{display:flex ;}
.mypage_edu_mark.is_bad{ color:#ef2b2a; }
.mypage_edu_mark.is_good{ color:#1aa36f; }
.mypage_edu_mark.is_grn{ color:#009345; }
.mypage_edu_mark.is_mix{ color:#2a4ea4; font-size:1.3rem; }
.mypage_edu_help{ margin-top:14px; }
.mypage_edu_help li{ position:relative; padding-left:10px; color:#555; font-size:1.35rem; line-height:1.65; word-break:keep-all; }
/*
.mypage_edu_course_table td:nth-child(2),
.mypage_edu_complete_table td:nth-child(5),
.mypage_edu_offline_table td:nth-child(5),
.mypage_edu_cancel_table td:last-child{ text-align:left; }
*/
.mypage_edu_course_table td,
.mypage_edu_complete_table td,
.mypage_edu_offline_table td,
.mypage_edu_cancel_table td{ color:#555; }
/* ================================
   결제내역 
================================ */
.container08_02{ margin-top: 60px; }
.container08_02 .board_tabs{ margin-top: 0; }
.container08_02 .board_tabs_list{ display: flex; align-items: stretch; border: 1px solid #d9d9d9; border-radius: 10px; overflow: hidden; background: #f5f5f5; padding: 0; gap: 0; list-style: none; margin: 0; }
.container08_02 .board_tabs_item{ flex: 1 1 0; display: flex; }
.container08_02 .board_tab{ -webkit-appearance: none; appearance: none; border: none; margin: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 0 8px; font-family: inherit; font-size: 1.5rem; font-weight: 600; color: #555; background: transparent; cursor: pointer; position: relative; line-height: 1.3; word-break: keep-all; text-align: center; transition: color 0.15s; }
.container08_02 .board_tabs_item + .board_tabs_item .board_tab::before{ content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 20px; background: #d0d0d0; transform: translateY(-50%); }
.container08_02 .board_tab.is_active,
.container08_02 .board_tab[aria-selected="true"]{ background: #2a4ea4; color: #fff; border-radius: 10px; }
.container08_02 .board_tabs_item + .board_tabs_item .board_tab.is_active::before,
.container08_02 .board_tabs_item + .board_tabs_item .board_tab[aria-selected="true"]::before{ opacity: 0; }
.container08_02 .board_tab:hover{ color: #2a4ea4; text-decoration: underline; text-underline-offset: 3px; }
.container08_02 .board_tab.is_active:hover,
.container08_02 .board_tab[aria-selected="true"]:hover{ color: #fff; text-decoration: none; }
.container08_02 .board_tab:focus-visible{ outline: 2px solid #111; outline-offset: -2px; }
.pay_filter{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 0; }
.pay_filter_total{ font-size: 1.4rem; color: #555; white-space: nowrap; }
.pay_filter_total strong{ font-weight: 700; color: #222; }
.pay_filter_selects{ display: flex; align-items: center; gap: 8px; }
.pay_select{ width: 140px; height: 42px; padding: 0 10px; border: 1px solid #dcdcdc; border-radius: 5px; font-size: 1.4rem; background: #fff; box-sizing: border-box; }
.pay_table_wrap{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pay_table_wrap::-webkit-scrollbar{ height: 6px; }
.pay_table_wrap::-webkit-scrollbar-thumb{ background: #c7ceda; border-radius: 999px; }
.pay_table_wrap::-webkit-scrollbar-track{ background: #eef2f7; border-radius: 999px; }
.pay_table{ width: 100%; min-width: 820px; border-collapse: collapse; table-layout: fixed; border-top: 2px solid #2a4ea4; border-left: 1px solid #dbdbdb; font-size: 1.4rem; }
.pay_table th,
.pay_table td{ border-right: 1px solid #dbdbdb; border-bottom: 1px solid #dbdbdb; vertical-align: middle; word-break: keep-all; }
.pay_table thead th{ padding: 14px 10px; background: #f2f5fb; color: #202738; font-weight: 600; text-align: center; line-height: 1.4; }
.pay_table tbody td{ padding: 14px 10px; color: #444; line-height: 1.5; }
.pay_table .tx_center{ text-align: center; }
.pay_table .tx_left{ text-align: left; }
.pay_cat{ font-size: 1.4rem; font-weight: 600; word-break: keep-all; color:#f84000; }
/*
.pay_cat_fee{ color: #1a2e78; }
.pay_cat_offline{ color: #f84000; }
.pay_cat_online{ color: #0069c8; }
.pay_cat_cyber{ color: #c02020; }
*/
.pay_status_ok{ color: #1b5fd3; font-weight: 600; }
.pay_refund_wait{ color: #007150; font-weight: 600; }
.pay_refund_done{ font-weight: 600; }
.pay_receipt_btns{ display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; row-gap: 4px; }
.pay_receipt_btn{ display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 8px; border-radius: 5px; font-size: 1.15rem; font-weight: 600; white-space: nowrap; line-height: 1; text-decoration: none; }
.pay_receipt_btn_green{ border: 1px solid #008957; background: #fff; color: #008957; }
.pay_receipt_btn_green:hover,
.pay_receipt_btn_green:focus-visible{ background: #f0fff8; }
.pay_receipt_btn_card{ border: 1px solid #0090eb; background: #0090eb; color: #fff; }
.pay_receipt_btn_card:hover,
.pay_receipt_btn_card:focus-visible{ background: #007bcc; border-color: #007bcc; }
.pay_receipt_btn:focus-visible{ outline: 2px solid #111; outline-offset: 2px; }
.pay_empty{ padding: 60px 0; text-align: center; font-size: 1.5rem; color: #888; }

/* 협회비 납부 안내 */
.fee_guide_head{ display:flex; justify-content:space-between; align-items:center; padding:20px 0 10px; }
.fee_guide_table_wrap{ margin-top:0; }
.fee_guide_table{ table-layout:fixed; }
.fee_guide_table td.fee_guide_notice{ color:#ff1d00; font-weight:500; }
.fee_pay_cards{ margin-top:20px; display:flex; flex-direction:column; gap:12px; }
.fee_pay_card{ border:1px solid #e1e5ee; border-radius:10px; background:#f4f6fb; overflow:hidden; }
.fee_pay_card_inner{ display:flex; align-items:flex-start; gap:40px; padding:30px 40px; }
.fee_pay_card_icon{ flex:0 0 auto; }
.fee_pay_card_icon img{height:auto; display:block; }
.fee_pay_card_body{ flex:1; min-width:0; }
.fee_pay_card_title{ display:block; font-size:1.65rem; font-weight:700; color:#222; margin-bottom:8px; }
.fee_pay_card_desc{ font-size:1.4rem; color:#555; line-height:1.6; }
.fee_pay_card_desc + .fee_pay_card_desc{ margin-top:4px; }
.fee_pay_card_btn{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:150px; height:46px; padding:0 20px; border-radius:7px; background:#102e72; color:#fff; font-size:1.5rem; font-weight:600; text-decoration:none; white-space:nowrap; }
.fee_pay_card_btn img{ width:14px; height:14px; }
.fee_pay_card_btn:hover,
.fee_pay_card_btn:focus-visible{ background:#1e3c8c; }
.fee_pay_card_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 협회비 정기납부 현황 */
.fee_regular_status_box{ margin-top:40px; }
.fee_regular_table_wrap{ margin-top:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.fee_regular_table{ table-layout:fixed; min-width:700px; }
.fee_regular_table thead th,
.fee_regular_table tbody td{ text-align:center; }
.fee_regular_table .fee_regular_dealnum{ word-break:break-all; }
/* 협회비 납부 현황 (패널 내) */
.fee_guide_status_box{ margin-top:40px; }
.fee_guide_status_head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.fee_guide_status_head .convey_h3{ flex:0 0 auto; }
.fee_guide_status_desc{ padding-top:3px; color:#555; font-size:1.4rem; line-height:1.4; }

/* ================================
   협회비 정기납부 안내 페이지 (pay01)
================================ */
.container08_02_pay01{ margin-top:60px; }
/* 납부 안내 섹션 */
.fee_pay01_notice{ }
.fee_pay01_notice_head{ margin-bottom:12px; }
.fee_pay01_notice_table{ table-layout:fixed; }
/* 신청 카드 */
.fee_apply_card{ margin-top:30px; background:#fcf3ec; border-radius:15px; }
.fee_apply_card_inner{ display:flex; align-items:center; gap:24px; padding:30px 36px; }
.fee_apply_card_icon{ flex:0 0 auto; }
.fee_apply_card_icon img{ display:block; height:auto; }
.fee_apply_card_title{ flex:1; font-size:2rem; font-weight:700; color:#222; }
.fee_apply_card_btn{ display:inline-flex; align-items:center; padding:0 28px; height:50px; background:#d23622; border-radius:7px; color:#fff; font-size:1.6rem; font-weight:600; text-decoration:none; transition:background .2s ease; white-space:nowrap; min-width: 150px; justify-content: center; align-items: center;}
.fee_apply_card_btn:hover,
.fee_apply_card_btn:focus-visible{ background:#b82d1c; }
.fee_apply_card_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.fee_apply_card_btn img{ display:block; height:auto; }

/* ================================
   협회비 정기납부 페이지 (pay02)
================================ */
.container08_02_pay02{ margin-top:60px; }
/* ================================
   협회비 연회비 납부 회원정보 페이지
================================ */
.container08_02_pay06{ margin-top:60px; }
.fee_regular_guide_box{ background:#f4f6fb; border:1px solid #e1e5ee; border-radius:15px; padding:30px; }
.fee_regular_guide_list{ display:flex; flex-direction:column; gap:10px; list-style:none; margin:0; padding:0; }
.fee_regular_guide_item{ display:flex; align-items:flex-start; gap:12px; font-size:1.5rem; color:#444; line-height:1.6; word-break:keep-all; }
.fee_regular_guide_item::before{ content:""; flex:0 0 5px; width:5px; height:5px; margin-top:9px; border-radius:50%; background:#2a4ea4; }
.fee_regular_guide_item a{ color:#2a4ea4; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.fee_regular_guide_item a:hover{ color:#1a3c8c; }
.fee_regular_guide_item strong{ font-weight:700; color:#222; }
.fee_regular_section{ margin-top:50px; }
.fee_regular_section_head{ margin-bottom:12px; }
.fee_regular_btn_box{ display:flex; justify-content:center; gap:10px; margin-top:50px; flex-wrap:wrap; }
.fee_regular_btn{ display:inline-flex; align-items:center; justify-content:center; height:52px; padding:0 30px; border:none; border-radius:7px; font-size:1.6rem; font-weight:600; color:#fff; cursor:pointer; font-family:inherit; text-decoration:none; transition:background .2s ease; white-space:nowrap; min-width: 150px;}
.fee_regular_btn_gray{ background:#4b505a; }
.fee_regular_btn_gray:hover,
.fee_regular_btn_gray:focus-visible{ background:#3f444d; }
.fee_regular_btn_blue{ background:#2a4ea4; }
.fee_regular_btn_blue:hover,
.fee_regular_btn_blue:focus-visible{ background:#1e3c8c; }
.fee_regular_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }

/* ================================
   협회비 정기납부 상세정보 페이지
================================ */
.container08_02_pay03{ margin-top:60px; }
.fee_pay03_section{ }
.fee_pay03_section_head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fee_pay03_section_head .convey_h3{ flex:0 0 auto; }
.fee_pay03_total{ font-size:1.5rem; color:#555; padding-top:2px; }
.fee_pay03_total strong{ font-weight:700; color:#222; }
.fee_pay03_table{ min-width:640px; }
.fee_pay03_chk_label{ display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.fee_pay03_chk{ width:18px; height:18px; accent-color:#2a4ea4; cursor:pointer; }
.fee_pay03_chk:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_pay03_btn{ min-width:150px; height:60px !important; font-size:1.6rem; }

.container08_02_pay07{ margin-top:60px; }
.fee_pay07_member_head{ margin-bottom:12px; }
.fee_pay07_notice_table{ table-layout:fixed; }
.fee_pay07_search_area{ display:flex; align-items:center; gap:0; margin-bottom:12px; }
.fee_pay07_search_input{ flex:0 0 300px; width:300px; height:44px; padding:0 14px; border:1px solid #ccc; border-right:0; border-radius:5px 0 0 5px; font-size:1.45rem; color:#333; font-family:inherit; box-sizing:border-box; }
.fee_pay07_search_input::placeholder{ color:#aaa; }
.fee_pay07_search_input:focus{ outline:2px solid #333; outline-offset:-1px; border-color:#333; }
.fee_pay07_search_btn{ flex:0 0 auto; height:44px; padding:0 24px; background:#333333; color:#fff; border:none; border-radius:0 5px 5px 0; font-size:1.45rem; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .2s ease; }
.fee_pay07_search_btn:hover,
.fee_pay07_search_btn:focus-visible{ background:#222; }
.fee_pay07_search_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.fee_pay07_notice_list{ margin-top:0; }
.fee_pay07_notice_list > li{ font-size:1.4rem; color:#555; line-height:1.6; }
.fee_pay07_section{ margin-top:40px; }
.fee_pay07_section_head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fee_pay07_section_head .convey_h3{ flex:0 0 auto; }
.fee_pay07_total{ font-size:1.5rem; color:#555; padding-top:2px; }
.fee_pay07_total strong{ font-weight:700; color:#222; }
.fee_pay07_table_wrap{ }
.fee_pay07_table{ min-width:640px; }
.fee_pay07_chk_label{ display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.fee_pay07_chk{ width:18px; height:18px; accent-color:#2a4ea4; cursor:pointer; }
.fee_pay07_chk:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_pay07_btn{ min-width:150px; height:60px !important; font-size:1.6rem; }

/* ================================
   협회비 연회비 납부 결제방법 페이지 (pay08)
================================ */
.container08_02_pay08{ margin-top:60px; }
/* 결제회원 목록 섹션 */
.fee_pay08_section_head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fee_pay08_section_head .convey_h3{ flex:0 0 auto; }
.fee_pay08_total{ font-size:1.5rem; color:#555; padding-top:2px; }
.fee_pay08_total strong{ font-weight:700; color:#222; }
.fee_pay08_table{ min-width:580px; }
/* 결제방법선택 */
.fee_pay08_method_section{ margin-top:40px; }
.fee_pay08_method_head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fee_pay08_method_head .convey_h3{ flex:0 0 auto; }
/* 가로 라디오 옵션 */
.fee_pay08_method_options{ display:flex; flex-direction:row; overflow:hidden; border-top:1px solid #2a4ea4; border-left:1px solid #dbdbdb; }
.fee_pay08_radio_label{ flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:16px 22px; cursor:pointer; background:#f2f5fb; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; transition:background .15s; }
.fee_pay08_radio_label:hover{ background:#e8edf7; }
.fee_pay08_radio{ width:18px; height:18px; accent-color:#2a4ea4; cursor:pointer; flex:0 0 auto; }
.fee_pay08_radio:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_pay08_radio_txt{ font-size:1.5rem; color:#333; line-height:1; }
/* 버튼 */
.fee_pay08_btn{ min-width:150px; height:60px !important; font-size:1.6rem; }

/* ================================
   협회비 정기납부 결제방법 페이지 (pay04)
================================ */
.container08_02_pay04{ margin-top:60px; }
/* 섹션 공통 헤더 */
.fee_pay04_section_head,
.fee_pay04_method_head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fee_pay04_section_head .convey_h3,
.fee_pay04_method_head .convey_h3{ flex:0 0 auto; }
.fee_pay04_total{ font-size:1.5rem; color:#555; padding-top:2px; }
.fee_pay04_total strong{ font-weight:700; color:#222; }
.fee_pay04_table{ min-width:580px; }
.fee_pay04_method_section{ margin-top:40px; }
.fee_pay04_method_options{ display:flex; flex-direction:column; gap:0; overflow:hidden; }
.fee_pay04_radio_label{ display:flex; align-items:center; justify-content:center; gap:10px; padding:16px 22px; cursor:pointer; background:#f2f5fb; border-top:1px solid #2a4ea4; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; border-left:1px solid #dbdbdb; transition:background .15s; }
.fee_pay04_radio_label:hover{ background:#e8edf7; }
.fee_pay04_radio{ width:18px; height:18px; accent-color:#2a4ea4; cursor:pointer; flex:0 0 auto; }
.fee_pay04_radio:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_pay04_radio_txt{ font-size:1.5rem; color:#333; line-height:1; }
/* 안내 박스 - border 없음 */
.fee_pay04_guide_box{ display:flex; align-items:center; justify-content: center;  gap:18px; padding:20px 4px; background:#fff; }
.fee_pay04_guide_icon{ flex:0 0 auto; }
.fee_pay04_guide_icon img{ display:block; height:auto; }
.fee_pay04_guide_cont{ display:flex; flex-direction:column; gap:5px; }
.fee_pay04_guide_txt{ font-size:1.4rem; color:#555; line-height:1.6; word-break:keep-all; }
.fee_pay04_guide_alert{ color:#d23622; font-weight:600; }
/* 총결제금액 */
.fee_pay04_total_box{ display:flex; align-items:center; justify-content:center; gap:14px; padding:22px 30px; background:#f3f3f3; border-top:2px solid #484848; border-bottom:1px solid #484848; }
.fee_pay04_total_label{ font-size:1.6rem; font-weight:600; color:#222; white-space:nowrap; }
.fee_pay04_total_price{ font-size:1.8rem; font-weight:700; color:#222; }
.fee_pay04_total_price em{ font-style:normal; color:#2a4ea4; }

/* ================================
   협회비 연회비 납부 페이지 (pay05)
================================ */
.container08_02_pay05{ margin-top:60px; }
/* 납부 안내 섹션 */
.fee_pay05_notice_head{ margin-bottom:12px; }
/* 납부 현황 섹션 */
.fee_pay05_status_box{ margin-top:40px; }
.fee_pay05_status_head{ display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.fee_pay05_status_head .convey_h3{ flex:0 0 auto; }
.fee_pay05_status_desc{ padding-top:3px; color:#555; font-size:1.4rem; line-height:1.4; }
.fee_pay05_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ================================
   보수교육 면제 신청 안내 (sub08_05_01)
================================ */
.container08_05_01{ margin-top:40px; }
/* 메인 탭 (container08_02 board_tabs 패턴 재사용) */
.edu_exempt_main_tabs{ margin-bottom:30px; }
.edu_exempt_main_tabs .board_tabs_list{ display:flex; align-items:stretch; border:1px solid #d9d9d9; border-radius:10px; overflow:hidden; background:#f5f5f5; padding:0; gap:0; list-style:none; margin:0; max-width:500px; }
.edu_exempt_main_tabs .board_tabs_item{ flex:1 1 0; display:flex; }
.edu_exempt_main_tabs .board_tab{ -webkit-appearance:none; appearance:none; border:none; margin:0; box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; padding:0 8px; font-family:inherit; font-size:1.6rem; font-weight:700; color:#555; background:transparent; cursor:pointer; position:relative; line-height:1.3; word-break:keep-all; text-align:center; transition:color .15s; }
.edu_exempt_main_tabs .board_tabs_item + .board_tabs_item .board_tab::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:20px; background:#d0d0d0; transform:translateY(-50%); }
.edu_exempt_main_tabs .board_tab.is_active,
.edu_exempt_main_tabs .board_tab[aria-selected="true"]{ background:#2a4ea4; color:#fff; border-radius:10px; }
.edu_exempt_main_tabs .board_tabs_item + .board_tabs_item .board_tab.is_active::before,
.edu_exempt_main_tabs .board_tabs_item + .board_tabs_item .board_tab[aria-selected="true"]::before{ opacity:0; }
.edu_exempt_main_tabs .board_tab:hover{ color:#2a4ea4; }
.edu_exempt_main_tabs .board_tab.is_active:hover,
.edu_exempt_main_tabs .board_tab[aria-selected="true"]:hover{ color:#fff; }
.edu_exempt_main_tabs .board_tab:focus-visible{ outline:2px solid #111; outline-offset:-2px; }
/* 신청 배너 */
.edu_exempt_banner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; background:#fcf3ec; border:1px solid #f9eadf; border-radius:15px; margin-bottom:36px; }
.edu_exempt_banner_left{ display:flex; align-items:center; gap:12px; }
.edu_exempt_banner_icon{ display:block; height:36px; width:auto; }
.edu_exempt_banner_txt{ font-size:1.7rem; font-weight:700; color:#28344f; }
.edu_exempt_banner_right{ display:flex; align-items:center; gap:10px; }
.edu_exempt_apply_btn{ display:inline-flex; align-items:center; gap:7px; height:42px; padding:0 20px; background:#e64e24; color:#fff; border-radius:7px; font-size:1.5rem; font-weight:700; text-decoration:none; transition:background .15s; white-space:nowrap; }
.edu_exempt_apply_btn img{ display:block; height:16px; width:auto; }
.edu_exempt_apply_btn:hover{ background:#c8401b; }
.edu_exempt_apply_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.edu_exempt_detail_link{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #c0c8de; border-radius:7px; background:#fff; transition:background .15s; }
.edu_exempt_detail_link img{ display:block; height:20px; width:auto; }
.edu_exempt_detail_link:hover{ background:#e8edf7; }
.edu_exempt_detail_link:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
/* 중앙 타이틀 */
.edu_exempt_title_block{ text-align:center; padding:36px 20px 40px; }
.edu_exempt_title_sub{ display:flex; align-items:center; justify-content:center; gap:10px; font-size:3rem; color:#222222; line-height:1.5; word-break:keep-all; }
.edu_exempt_quote{ display:inline-block; height:22px; width:auto; vertical-align:middle; flex:0 0 auto; }
.edu_exempt_title_main{ display:block; margin-top:12px; font-size:3rem; font-weight:700; color:#222; line-height:1.3; }
/* 섹션 공통 */
.edu_exempt_section{ margin-top:50px; }
.edu_exempt_desc{ margin:10px 0 18px; font-size:1.45rem; color:#555; line-height:1.6; word-break:keep-all; }
/* 연도별 서브탭 */
.edu_exempt_subtabs{ display:flex; align-items:flex-end; gap:2px; margin-bottom:0; }
.edu_exempt_subtab{ -webkit-appearance:none; appearance:none; margin:0; width:180px; height:44px; padding:0 10px; font-family:inherit; font-size:1.45rem; font-weight:600; color:#666; background:#f7f7f7; border:1px solid #d1d1d1; border-bottom:none; border-radius:7px 7px 0 0; cursor:pointer; white-space:nowrap; transition:background .15s, color .15s; text-align:center; }
.edu_exempt_subtab.is_active,
.edu_exempt_subtab[aria-selected="true"]{ background:#333333; color:#fff; border-color:#333333; }
.edu_exempt_subtab:hover:not(.is_active){ background:#e8e8e8; color:#333; }
.edu_exempt_subtab:focus-visible{ outline:2px solid #111; outline-offset:-2px; }
/* 서브탭 패널 */
.edu_exempt_subtab_panel{ margin-top:0; border-top:1px solid #333333; padding:20px 0;}
.edu_exempt_subtab_panel[hidden]{ display:none;} 
/* 기준표 레이블 */
.edu_exempt_table_label{ font-size:1.5rem; font-weight:700; color:#333; margin-bottom:12px; }
/* 기준표 테이블 */
.edu_exempt_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.edu_exempt_table_wrap::-webkit-scrollbar{ height:6px; }
.edu_exempt_table_wrap::-webkit-scrollbar-thumb{ background:#c7ceda; border-radius:999px; }
.edu_exempt_table_wrap::-webkit-scrollbar-track{ background:#eef2f7; border-radius:999px; }
.edu_exempt_table{ width:100%; min-width:560px; border-collapse:collapse; border-left:1px solid #dbdbdb; font-size:1.4rem; }
.edu_exempt_table th,
.edu_exempt_table td{ border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; padding:12px 14px; vertical-align:middle; word-break:keep-all; line-height:1.55; }
.edu_exempt_table_caption_row{ background:#2a4ea4; color:#fff; font-size:1.5rem; font-weight:700; text-align:center; padding:14px; }
.edu_exempt_table thead tr:nth-child(2) th,
.edu_exempt_table thead tr:only-child th{ background:#f2f5fb; color:#202738; font-weight:600; text-align:center; }
.edu_exempt_table.edu_exempt_table_no_caption{ border-top:2px solid #2a4ea4; }
.edu_exempt_table tbody{ background:#fff; }
.edu_exempt_table .edu_exempt_group_th{ text-align:center; font-size:1.45rem; }
.edu_exempt_table tbody th:not(.edu_exempt_group_th){color:#333; text-align:left; }
.edu_exempt_table tbody td{ color:#444; text-align:left; }
.edu_exempt_red{ color:#e03020; font-weight:600; }
/* 안내 목록 */
.edu_exempt_note_list{ margin-top:14px; }
.edu_exempt_note_list li{ font-size:1.4rem; color:#555; line-height:1.65; word-break:keep-all; }
/* 신청 방법 스텝 */
.edu_exempt_steps{ list-style:none; padding:0; margin-top:20px; display:flex; flex-direction:column; gap:14px; }
.edu_exempt_step{ display:flex; align-items:stretch; gap:0; border:none; border-radius:0; overflow:visible; padding:0; }
.edu_exempt_step_num{ flex:0 0 60px; width:60px; display:flex; align-items:center; justify-content:center; background:#8ea4da; color:#fff; font-size:2rem; font-weight:700; border-radius:15px 0 0 15px; line-height:1; min-height:60px; }
.edu_exempt_step_cont{ flex:1; display:flex; align-items:center; padding:14px 20px; background:#f4f6fb; border:1px solid #e1e5ee; border-left:none; border-radius:0 15px 15px 0; }
.edu_exempt_step_txt{ font-size:1.5rem; color:#333; line-height:1.65; word-break:keep-all; }
/* 건강보험 환급방법 */
.edu_exempt_health_box{ margin-top:30px; display: flex; gap:40px;}
.edu_exempt_health_head{ display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; }
.edu_exempt_health_icon{ display:block; height:28px; width:auto; }
.edu_exempt_health_tit{ font-size:1.6rem; font-weight:700; color:#d42711; }
.edu_exempt_health_list{ display:flex; flex-direction:column; gap:6px; list-style:decimal; padding-left:20px; }
.edu_exempt_health_list li{ font-size:1.4rem; color:#555; line-height:1.65; word-break:keep-all; }

/* ================================
   연도별 보수교육 이수확인서 (sub08_04_03)
================================ */
.container08_04_03{ margin-top:60px; }
.mypage_edu_year_cert_wrap .info_table{ min-width:500px; }

/* ================================
   금년도 보수교육 이수확인서 (sub08_04_02)
================================ */
.container08_04_02{ margin-top:60px; }
.mypage_edu_online_table_wrap .info_table,
.mypage_edu_offline2_table_wrap .info_table,
.mypage_edu_external_table_wrap .info_table{ min-width:560px; }

/* ================================
   이수 시간 확인 (sub08_04_01)
================================ */
.container08_04_01{ margin-top:60px; }
/* 검색 바 */
.edu_search_bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px;}
.edu_search_total{ font-size:1.5rem; color:#444; white-space:nowrap; }
.edu_search_total strong{ font-weight:700; color:#222; }
.edu_search_form{ display:flex; align-items:center; gap:12px; }
.edu_search_label{ font-size:1.45rem; font-weight:600; color:#333; white-space:nowrap; }
.edu_search_input_wrap{ display:flex; align-items:center; gap:0; }
.edu_search_input{ flex:0 0 280px; width:280px; height:45px; padding:0 14px; border:1px solid #ccc; border-right:0; border-radius:5px 0 0 5px; font-size:1.45rem; color:#333; font-family:inherit; box-sizing:border-box; background:#fff; }
.edu_search_input::placeholder{ color:#aaa; }
.edu_search_input:focus{ outline:2px solid #333; outline-offset:-1px; border-color:#333; }
.edu_search_btn{ flex:0 0 auto; height:45px; padding:0 24px; background:#333333; color:#fff; border:none; border-radius:0 5px 5px 0; font-size:1.45rem; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .2s ease; }
.edu_search_btn:hover,
.edu_search_btn:focus-visible{ background:#222; }
.edu_search_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 테이블 */
.edu_ebs_table{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ebs_table{ min-width:620px; }

/* ================================
   장바구니 (sub08_03)
================================ */
.container08_03{ margin-top:60px; }
/* 상단 헤더: 체크박스 + 총 건수 */
.cart_table_head{ display:flex; align-items:center; gap:10px; margin-bottom:20px; padding-left: 20px;  }
.cart_chk_label{ display:inline-flex; align-items:center; cursor:pointer; }
.cart_chk{ width:18px; height:18px; accent-color:#2a4ea4; cursor:pointer; flex:0 0 auto; }
.cart_chk:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.cart_total_count{ font-size:1.4rem; color:#555; }
.cart_total_count strong{ font-weight:700; color:#222; }
/* 테이블 */
.cart_table_wrap{ }
.cart_table{ min-width:720px; }
.cart_course_name{ font-size:1.5rem; font-weight:600; color:#222; word-break:keep-all; line-height:1.45; }
.cart_course_meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:2px 16px; margin-top:7px; list-style:none; padding:0; }
.cart_course_meta li{ font-size:1.35rem; color:#666; }
.cart_course_meta strong{ font-weight:600; color:#444; }
.cart_period_apply{ font-size:1.4rem; color:#444; line-height:1.55; word-break:keep-all; }
.cart_period_edu_link{ display:inline-block; margin-top:4px; font-size:1.35rem; color:#2a4ea4; }
.cart_period_edu_link:hover{ color:#1b5fd3; }
.cart_period_edu_link:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; border-radius:2px; }
.cart_price_list{ list-style:none; padding:0; display:flex; flex-direction:column; align-items:center; gap:5px; }
.cart_price_label{ font-size:1.5rem; color:#666; }
.cart_price_val{ font-size:1.5rem;  color:#666; }
/* 하단 버튼 영역 */
.cart_btn_box{ display:flex; align-items:center; justify-content:space-between; margin-top:20px; }
.cart_btn_del{ border:none; }
.cart_btn_pay{ padding:0 36px; font-size:1.55rem; }

/* ================================
   협회비 영수증 팝업
================================ */
body.is_receipt_popup_open{ overflow:hidden; }
.receipt_popup{ position:fixed; left:0; top:0; width:100%; height:100%; z-index:1100; }
.receipt_popup[hidden]{ display:none; }
.receipt_popup_dim{ position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.65); }
.receipt_popup_dialog{ position:absolute; left:50%; top:50%; width:auto; max-width:calc(100vw - 40px); max-height:calc(100vh - 40px); transform:translate(-50%, -50%); background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 8px 40px rgba(0,0,0,0.25); }
.receipt_popup_inner{ position:relative; padding:60px 40px 20px; overflow-y:auto; max-height:calc(100vh - 40px); box-sizing:border-box; }
.receipt_popup_close{ position:absolute; right:12px; top:12px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:none; border-radius:50%; background:rgba(0,0,0,0.7); cursor:pointer; z-index:2; padding:0; }
.receipt_popup_close img{ width:16px; height:16px; display:block; }
.receipt_popup_close:hover{ background:rgba(0,0,0,0.88); }
.receipt_popup_close:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.receipt_popup_img{ display:block; max-width:100%; height:auto; }
.receipt_popup_btn_box{ margin-top:10px; text-align:center; }
.receipt_popup_print_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:140px; height:50px; padding:0 28px; border:none; border-radius:7px; background:#2a4ea4; color:#fff; font-size:1.6rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .2s ease; }
.receipt_popup_print_btn:hover{ background:#1e3c8c; }
.receipt_popup_print_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; background:#1e3c8c; }
/* =====================================================
   팝업 공통
===================================================== */
.popup_dim { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 9000; } 
.popup_dim.is_open { display: flex; align-items: center; justify-content: center; }
.popup_wrap { position: relative; background: #fff; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; max-height: 90vh; width: 90vw; }
.popup_head { padding: 24px 28px 20px; flex-shrink: 0; }
.popup_tit { font-size: 2.2rem; font-weight: 700; color: #111; text-align: center; margin: 0; }
.popup_close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border: none; background: rgba(0,0,0,0.7); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; transition: background .2s; }
.popup_close:hover { background: rgba(0,0,0,0.88); }
.popup_close:focus { outline: 2px solid #1a4fa0; outline-offset: 2px; }
.popup_close::before,
.popup_close::after { content: ''; position: absolute; width: 16px; height: 2px; background: #fff; border-radius: 2px; }
.popup_close::before { transform: rotate(45deg); }
.popup_close::after  { transform: rotate(-45deg); }
.popup_body { padding: 24px 28px; overflow-y: auto; flex: 1; }
.popup_footer { padding: 16px 28px 24px; text-align: center; flex-shrink: 0; }
.popup_btn_close { display: inline-flex; align-items: center; justify-content: center; min-width: 120px; height: 48px; padding: 0 28px; background: #333; color: #fff; font-size: 1.6rem; font-weight: 600; border: none; border-radius: 4px; cursor: pointer; }
.popup_btn_close:focus { outline: 2px solid #1a4fa0; outline-offset: 2px; }
#popWorkplace .popup_wrap { max-width: 1080px; }
.popup_search_bar { display: flex; flex-wrap: wrap; gap: 5px; padding:20px 50px; background: #f3f3f3; border:1px solid #e1e1e1; border-radius: 15px; align-items: center; margin-bottom: 20px; }
.popup_search_bar .pp_select { height: 40px; padding: 0 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 1.4rem; background: #fff; cursor: pointer; min-width: 105px; }
.popup_search_bar .pp_select:focus { outline: 2px solid #1a4fa0; outline-offset: 1px; }
.popup_search_bar .pp_input {flex: 1; background-color: #fff; min-width: 160px; min-height: 40px; padding: 0 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 1.4rem; }
.popup_search_bar .pp_input:focus { outline: 2px solid #1a4fa0; outline-offset: 1px; }
.pp_btn_search { height: 40px; padding: 0 20px; background: #333333; min-width: 80px; color: #fff; font-size: 1.4rem; font-weight: 600; border: none; border-radius: 4px; cursor: pointer; white-space: nowrap; }
.pp_btn_search:focus { outline: 2px solid #f90; outline-offset: 2px; }
/* 결과 테이블 */
.popup_result_table_wrap { overflow-x: auto; }
.popup_result_table { width: 100%; border-collapse: collapse; font-size: 1.4rem; border-top: 2px solid #2a4ea4; }
.popup_result_table thead th { background: #f2f5fb; border: 1px solid #ddd; color:#202738; padding: 10px 8px; text-align: center; font-weight: 600; white-space: nowrap; }
.popup_result_table tbody td { border: 1px solid #ddd; padding: 10px 8px; text-align: center; vertical-align: middle; }

.popup_result_table tbody tr:hover { background: #eef2fb; }
.popup_result_table .pp_td_addr { text-align: left; }

#popDept .popup_wrap,
#popMedCode .popup_wrap { max-width: 600px; }
.popup_search_row { display: flex; gap: 8px; margin-bottom: 16px; } 
.popup_search_row .pp_input { flex: 1; min-height: 44px; padding: 0 14px; border: 1px solid #ccc; border-radius: 4px; font-size: 1.5rem; }
.popup_search_row .pp_input::placeholder { color: #aaa; }
.popup_search_row .pp_input:focus { outline: 2px solid #1a4fa0; outline-offset: 1px; }
.popup_search_row .pp_btn_search { height: 44px; }
.popup_list_wrap { border: 1px solid #ddd; border-radius: 4px; max-height: 320px; overflow-y: auto; }
.popup_list { list-style: none; margin: 0; padding: 0; }
.popup_list li:last-child { border-bottom: none; }
.popup_list li a { display: block; padding: 7px 12px; font-size: 1.5rem; color: #222; text-decoration: none; transition: background .15s; }
.popup_list li a:hover { background: #eef2fb; color: #1a4fa0; }
.popup_list li a:focus { outline: 2px solid #1a4fa0; outline-offset: -2px; background: #eef2fb; }

/* 인쇄 — receipt_popup 전용. body.receipt_print 클래스가 있을 때만 동작.
   2026-06-29: 기존 룰이 모든 페이지 인쇄에 적용되어 일반 페이지 인쇄가 빈 화면이 되는 문제 수정.
   향후 receipt_popup 사용 시 JS 에서 body.classList.add('receipt_print') 호출 필요. */
@media print{
   body.receipt_print > *:not(.receipt_popup){ display:none !important; }
   body.receipt_print .receipt_popup{ position:static !important; width:auto !important; height:auto !important; z-index:auto !important; }
   body.receipt_print .receipt_popup_dim{ display:none !important; }
   body.receipt_print .receipt_popup_dialog{ position:static !important; transform:none !important; width:auto !important; max-width:none !important; max-height:none !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important; }
   body.receipt_print .receipt_popup_inner{ padding:0 !important; overflow:visible !important; max-height:none !important; }
   body.receipt_print .receipt_popup_close,
   body.receipt_print .receipt_popup_btn_box{ display:none !important; }
   body.receipt_print .receipt_popup_img{ max-width:100% !important; }
}


/* ================================
   협회비 면제신청 팝업 (sub08_05_02)
================================ */
body.is_fee_exempt_popup_open{ overflow:hidden; }
.fee_exempt_popup{ position:fixed; left:0; top:0; width:100%; height:100%; z-index:1200; }
.fee_exempt_popup[hidden]{ display:none; }
.fee_exempt_popup_dim{ position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.6); }
.fee_exempt_popup_dialog{ position:absolute; left:50%; top:50%; width:900px; max-width:calc(100vw - 32px); max-height:calc(100vh - 40px); transform:translate(-50%,-50%); background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 8px 40px rgba(0,0,0,0.22); display:flex; flex-direction:column; }
.fee_exempt_popup_lg .fee_exempt_popup_dialog{ width:900px; }
.fee_exempt_popup_inner{ padding:40px; overflow-y:auto; max-height:calc(100vh - 40px); box-sizing:border-box; }
.fee_exempt_popup_close{ position:absolute; right:14px; top:14px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:none; border-radius:50%; background:rgba(0,0,0,0.65); cursor:pointer; z-index:2; padding:0; transition:background .15s; }
.fee_exempt_popup_close img{ width:14px; height:14px; display:block; }
.fee_exempt_popup_close:hover{ background:rgba(0,0,0,0.88); }
.fee_exempt_popup_close:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
/* 팝업1 - 아이콘·타이틀 */
.fee_exempt_popup_icon{ text-align:center; margin-bottom:16px; }
.fee_exempt_popup_icon img{ height:72px; width:auto; }
.fee_exempt_popup_title{ text-align:center; font-size:2rem; font-weight:700; color:#222; line-height:1.35; margin-bottom:20px; }
.fee_exempt_popup_title_sub{ display:block; font-size:1.6rem; font-weight:600; color:#444; margin-top:4px; }
/* 본문 */
.fee_exempt_popup_desc{ font-size:1.4rem; color:#555; line-height:1.75; word-break:keep-all; margin-bottom:18px; padding:0 20px;}
.fee_exempt_popup_dl{ margin-bottom:14px; display:flex; flex-direction:column; gap:10px; padding:0 20px;}
.fee_exempt_popup_dl_item dt{ font-size:1.45rem; color:#333; margin-bottom:4px; }
.fee_exempt_popup_dl_item dd{ font-size:1.4rem; color:#555; line-height:1.7; word-break:keep-all; padding-left:8px; }
.fee_agree_role{background:#f3f3f3; padding:25px 0; border-radius:15px; border:1px solid #e1e1e1; }
.fee_exempt_popup_notice{ font-size:1.4rem; color:#333; font-weight:600; text-align: center;}
/* 동의 라디오 */
.fee_exempt_agree_box{ display:flex; align-items:center; justify-content:center; gap:24px; margin-top:20px;}
.fee_exempt_agree_label{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.fee_exempt_agree_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.fee_exempt_agree_mark{ position:relative; flex:0 0 18px; width:18px; height:18px; border:2px solid #bbb; border-radius:50%; background:#fff; transition:border-color .15s; }
.fee_exempt_agree_mark::after{ content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; border-radius:50%; background:#2a4ea4; transform:translate(-50%,-50%) scale(0); transition:transform .15s; }
.fee_exempt_agree_input:checked + .fee_exempt_agree_mark{ border-color:#2a4ea4; }
.fee_exempt_agree_input:checked + .fee_exempt_agree_mark::after{ transform:translate(-50%,-50%) scale(1); }
.fee_exempt_agree_input:focus-visible + .fee_exempt_agree_mark{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_exempt_agree_txt{ font-size:1.45rem; color:#333; line-height:1; }
/* 팝업 버튼 */
.fee_exempt_popup_btn_box{ display:flex; align-items:center; justify-content:center; gap:10px; margin-top:24px; }
.fee_exempt_popup_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:120px; height:48px; padding:0 24px; border:none; border-radius:7px; font-size:1.55rem; font-weight:700; cursor:pointer; font-family:inherit; transition:background .15s; }
.fee_exempt_popup_btn_cancel{ background:#4b505a; color:#fff; }
.fee_exempt_popup_btn_cancel:hover{ background:#363b44; }
.fee_exempt_popup_btn_cancel:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.fee_exempt_popup_btn_confirm{ background:#2a4ea4; color:#fff; }
.fee_exempt_popup_btn_confirm:hover{ background:#1e3c8c; }
.fee_exempt_popup_btn_confirm:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 팝업2 - 폼 섹션 */
.fee_exempt_form_section + .fee_exempt_form_section{ margin-top:28px; }
.fee_exempt_form_h2{ display:flex; align-items:center; gap:6px; font-size:1.7rem; font-weight:700; color:#222; margin-bottom:14px; }
.fee_exempt_form_head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.fee_exempt_form_head .fee_exempt_form_h2{ margin-bottom:0; }
.fee_exempt_form_req_note{ font-size:1.35rem; color:#e03020; font-weight:600; }
.fee_exempt_req{ color:#e03020; font-weight:700; margin-left:2px; }
/* 팝업2 - 테이블 내 폼 요소 */
.fee_exempt_popup_table_wrap{ margin-top:0; }
.fee_exempt_form_select{ height:38px; padding:0 30px 0 10px; border:1px solid #ccc; border-radius:5px; background:#fff url("../images/sub/icon_select.png") no-repeat right 10px center; appearance:none; -webkit-appearance:none; font-size:1.4rem; color:#333; font-family:inherit; cursor:pointer; min-width:160px; }
.fee_exempt_form_select:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
/* 신청사유 라디오 */
.fee_exempt_radio_group{ display:flex; flex-direction:column; gap:10px; }
.fee_exempt_radio_label{ display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.fee_exempt_radio_input{ position:absolute; left:0; top:0; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.fee_exempt_radio_mark{ position:relative; flex:0 0 17px; width:17px; height:17px; margin-top:2px; border:2px solid #bbb; border-radius:50%; background:#fff; transition:border-color .15s; }
.fee_exempt_radio_mark::after{ content:""; position:absolute; left:50%; top:50%; width:8px; height:8px; border-radius:50%; background:#2a4ea4; transform:translate(-50%,-50%) scale(0); transition:transform .15s; }
.fee_exempt_radio_input:checked + .fee_exempt_radio_mark{ border-color:#2a4ea4; }
.fee_exempt_radio_input:checked + .fee_exempt_radio_mark::after{ transform:translate(-50%,-50%) scale(1); }
.fee_exempt_radio_input:focus-visible + .fee_exempt_radio_mark{ outline:2px solid #2a4ea4; outline-offset:2px; }
.fee_exempt_radio_txt{ font-size:1.4rem; color:#333; line-height:1.55; word-break:keep-all; }
.fee_exempt_radio_label_etc{ flex-wrap:wrap; align-items:center; }
.fee_exempt_etc_input{ margin-left:4px; flex:1; min-width:100px; height:32px; padding:0 10px; border:1px solid #ccc; border-radius:4px; font-size:1.4rem; font-family:inherit; color:#333; background:#fff; }
.fee_exempt_etc_input:disabled{ background:#f5f5f5; cursor:not-allowed; }
.fee_exempt_etc_input:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
/* 파일 첨부 */
.fee_exempt_file_wrap{ display:flex; align-items:center; gap:10px; }
.fee_exempt_file_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:80px; height:34px; padding:0 14px; border:1px solid #2a4ea4; border-radius:5px; color:#2a4ea4; font-size:1.4rem; cursor:pointer; white-space:nowrap; transition:background .15s; }
.fee_exempt_file_btn:hover{ background:#eef2fb; }
.fee_exempt_file_name{ font-size:1.35rem; color:#888; }

/* ================================
   신청결과 확인 (sub08_05_02)
================================ */
.container08_05_02{ margin-top:60px; }
/* 검색바 */
.exempt_result_search_bar{ margin-bottom:20px; padding:0;}
.exempt_result_search_form fieldset{ border:0; margin:0; padding:0; display:flex; align-items:center; gap:8px; }
.exempt_result_select{ height:45px; min-width:240px; padding:0 30px 0 12px; border:1px solid #ccc; border-radius:5px; background:#fff url("../images/sub/icon_select.png") no-repeat right 10px center; appearance:none; -webkit-appearance:none; -moz-appearance:none; font-size:1.45rem; color:#333; font-family:inherit; cursor:pointer; }
.exempt_result_select:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
.container08_05_02 .edu_search_btn{ border-radius:5px;}
.container08_05_02 .exempt_result_select:nth-of-type(1){min-width: 160px;}
/* -------------------------------------------------------*/
/* 받은 쪽지함 (myMessage)                                  */
/* -------------------------------------------------------*/
.container_my_message{ margin-top:60px; }
.my_message_search_select{ height:45px; min-width:140px; padding:0 30px 0 12px; border:1px solid #ccc; border-radius:5px; background:#fff url("../images/sub/icon_select.png") no-repeat right 10px center; appearance:none; -webkit-appearance:none; -moz-appearance:none; font-size:1.45rem; color:#333; font-family:inherit; cursor:pointer; }
.my_message_search_select:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
.my_message_search_date{ height:45px; padding:0 12px; border:1px solid #ccc; border-radius:5px; font-size:1.45rem; color:#333; font-family:inherit; background:#fff; }
.my_message_search_date:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
.my_message_search_sep{ font-size:1.4rem; color:#666; }
.my_message_btn_box{ display:flex; justify-content:flex-end; margin-top:15px; gap:8px; }
.my_message_btn_del{ display:inline-flex; align-items:center; justify-content:center; height:45px; padding:0 22px; background:#4b505a; color:#fff; border:none; border-radius:5px; font-size:1.45rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .2s ease; }
.my_message_btn_del:hover, .my_message_btn_del:focus-visible{ background:#3f444d; }
.my_message_btn_del:focus-visible{ outline:2px solid #111; outline-offset:2px; }
tr.msg_unread td{ background:#fff8f8; }
tr.msg_unread td a{ font-weight:700; color:#222; }
@media (max-width: 1024px){
   .my_message_search_select{ min-width:0; flex:1 1 30%; font-size:1.4rem; }
   .my_message_search_date{ flex:1 1 40%; font-size:1.4rem; }
}
@media (max-width: 768px){
   .container_my_message{ margin-top:30px; }
   .my_message_search_select,
   .my_message_search_date{ width:100%; min-width:0; flex:1 1 100%; }
   .my_message_btn_box{ justify-content:stretch; }
   .my_message_btn_del{ flex:1 1 auto; }
}

/* 테이블 */
.exempt_result_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.exempt_result_table_wrap::-webkit-scrollbar{ height:6px; }
.exempt_result_table_wrap::-webkit-scrollbar-thumb{ background:#c7ceda; border-radius:999px; }
.exempt_result_table_wrap::-webkit-scrollbar-track{ background:#eef2f7; border-radius:999px; }
.exempt_result_table{ min-width:640px; }
.exempt_result_table thead th,
.exempt_result_table tbody td{ text-align:center; }
/* 하단 버튼 */
.exempt_result_btn_box{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:40px; }
.exempt_result_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:56px; padding:0 28px; border-radius:8px; font-size:1.6rem; font-weight:700; text-decoration:none; transition:background .15s; }
.exempt_result_btn_fee{ background:#007485; color:#fff; }
.exempt_result_btn_fee:hover{ background:#005e6b; }
.exempt_result_btn_fee:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.exempt_result_btn_edu{ background:#2a4ea4; color:#fff; }
.exempt_result_btn_edu:hover{ background:#1e3c8c; }
.exempt_result_btn_edu:focus-visible{ outline:2px solid #111; outline-offset:2px; }

/* ================================
   통합검색 - 검색 박스
================================ */
.srch_box{ background:#f4f6fb; padding:50px; border-radius:10px; margin-top:30px; }
.srch_box_row{ display:flex; align-items:center; justify-content:center; }
.srch_input{ width:520px; height:55px; border:2px solid #2a4ea4; border-radius:10px; padding:0 20px; font-size:1.8rem; color:#333; outline:none; background:#fff; box-sizing:border-box; }
.srch_input::placeholder{ color:#aaa; font-size:1.8rem; }
.srch_input:focus{ border-color:#1a3d8f; }
.srch_btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; width:110px; height:55px; background:#2a4ea4; border-radius:10px; font-size:2rem; color:#fff; font-weight:600; margin-left:10px; transition:background 0.2s; flex-shrink:0; }
.srch_btn:hover{ background:#1a3d8f; }
.srch_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.srch_btn img{ display:block; width:18px; height:18px; }
.srch_period_btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; width:140px; height:55px; background:#fff; border:1px solid #2a4ea4; border-radius:10px; font-size:2rem; color:#2a4ea4; font-weight:600; margin-left:10px; transition:background 0.2s; flex-shrink:0; }
.srch_period_btn:hover{ background:#f0f4ff; }
.srch_period_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.srch_period_btn img{ display:block; width:18px; height:18px; }
.srch_divider{ border:none; border-top:1px solid #d5d5d5; margin:30px 0; }
.srch_filter_row{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; justify-content: center;}
.srch_filter_label{ font-size:1.8rem; color:#222; font-weight:600; white-space:nowrap; }
.srch_badge_list{ display:flex; align-items:center; gap:5px; margin-left:5px; }
.srch_badge{ display:inline-flex; align-items:center; justify-content:center; width:86px; height:37px; background:#fff; border:1px solid #bbb; border-radius:5px; font-size:1.5rem; color:#444; transition:background 0.2s, color 0.2s, border-color 0.2s; }
.srch_badge:hover{ background:#f0f4ff; }
.srch_badge.is_active{ background:#2a4ea4; border-color:#2a4ea4; color:#fff; }
.srch_date_wrap{ display:flex; align-items:center; gap:8px; margin-left:20px; }
.srch_date_btn{ display:inline-flex; align-items:center; justify-content:space-between; width:126px; height:37px; background:#fff; border:1px solid #bbb; border-radius:5px; padding:0 10px; font-size:1.5rem; color:#444; cursor:pointer; gap:6px; box-sizing:border-box; }
.srch_date_btn:hover{ border-color:#2a4ea4; }
.srch_date_btn:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; }
.srch_date_txt{ font-size:1.5rem; color:#444; }
.srch_date_btn img{ display:block; width:16px; height:16px; flex-shrink:0; }
.srch_date_sep{ font-size:1.5rem; color:#444; }
/* 통합검색 - 기간 직접입력 (input type=date) */
.srch_date_input{ display:inline-flex; align-items:center; height:37px; background:#fff; border:1px solid #bbb; border-radius:5px; padding:0 10px; font-size:1.5rem; color:#444; box-sizing:border-box; }
.srch_date_input:focus-visible{ outline:2px solid #2a4ea4; outline-offset:2px; border-color:#2a4ea4; }
.srch_date_apply_btn{ display:inline-flex; align-items:center; justify-content:center; height:37px; padding:0 14px; background:#2a4ea4; color:#fff; border:none; border-radius:5px; font-size:1.5rem; font-weight:600; cursor:pointer; margin-left:6px; }
.srch_date_apply_btn:hover{ background:#1c3878; }
/* 기간검색 토글 버튼 활성 상태 */
.srch_period_btn.is_active{ background:#2a4ea4; color:#fff; }
.srch_period_btn.is_active:hover{ background:#1c3878; }
/* 캘린더 패널 */
.srch_cal_panel{ position:absolute; z-index:500; background:#fff; border:1px solid #ddd; border-radius:10px; box-shadow:0 4px 20px rgba(0,0,0,0.15); padding:16px; width:260px; }
.srch_cal_header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.srch_cal_title{ font-size:1.5rem; font-weight:700; color:#222; }
.srch_cal_nav{ background:none; border:none; cursor:pointer; font-size:2.2rem; color:#444; padding:0 6px; line-height:1; }
.srch_cal_nav:hover{ color:#2a4ea4; }
.srch_cal_weekdays{ display:grid; grid-template-columns:repeat(7,1fr); text-align:center; margin-bottom:4px; }
.srch_cal_weekdays span{ font-size:1.3rem; color:#888; padding:4px 0; }
.srch_cal_grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.srch_cal_day{ width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#333; background:none; border:none; border-radius:50%; cursor:pointer; }
.srch_cal_day:hover{ background:#f0f4ff; color:#2a4ea4; }
.srch_cal_day.is_today{ font-weight:700; color:#2a4ea4; }
.srch_cal_day.is_selected{ background:#2a4ea4; color:#fff; }
.srch_cal_blank{ cursor:default !important; pointer-events:none; background:none !important; }

/* ================================
   통합검색 - 탭
================================ */
.srch_tabs_wrap{ margin-top:50px; }
/* 1단 탭 */
.srch_tab1_list{ display:flex; align-items:center; gap:10px; }
.srch_tab1_btn{ flex:1; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:6px; height:60px; padding:0 10px; background:#fff; border:1px solid #d5d5d5; border-radius:10px; font-size:2rem; color:#555555; font-weight:500; cursor:pointer; transition:background 0.2s, color 0.2s, border-color 0.2s; white-space:nowrap; }
.srch_tab1_btn:hover{ border-color:#0e2b6f; color:#0e2b6f; }
.srch_tab1_btn.is_active{ background:#0e2b6f; border-color:#0e2b6f; color:#fff; font-weight:700; }
.srch_tab1_btn.is_active .srch_tab1_count{ color:#fff; }
.srch_tab1_btn:focus-visible{ outline:2px solid #0e2b6f; outline-offset:2px; }
.srch_tab1_count{ font-size:1.8rem; color:#2a4ea4; }
/* 2단 탭 */
.srch_tab2_list{ display:flex; align-items:center; justify-content:center; gap:0; border-bottom:1px solid #555555; margin-top:40px; }
.srch_tab2_btn{ display:inline-flex; align-items:center; gap:2px; height:44px; padding:0 20px; background:none; border:none; border-bottom:3px solid transparent; font-size:1.5rem; color:#888; font-weight:500; cursor:pointer; transition:color 0.2s, border-color 0.2s; white-space:nowrap; margin-bottom:-1px; }
.srch_tab2_btn:hover{ color:#0e2b6f; }
.srch_tab2_btn.is_active{ color:#0e2b6f; font-weight:700; border-bottom-color:#0e2b6f; }
.srch_tab2_btn:focus-visible{ outline:2px solid #0e2b6f; outline-offset:-2px; }
.srch_tab2_count{ font-size:1.5rem; }

/* ================================
   통합검색 - 결과 목록
================================ */
.srch_result_wrap{ margin-top:30px; }
.srch_result_section{ padding:30px 0; }
.srch_result_head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.srch_result_tit{ font-size:2rem; font-weight:700; color:#222; }
.srch_result_count{ font-size:2rem; font-weight:700; color:#222; }
.srch_more_btn{ display:inline-flex; align-items:center; gap:4px; font-size:1.5rem; color:#2a4ea4; font-weight:500; white-space:nowrap; border:1px solid #2a4ea4; border-radius: 5px; padding:5px 10px;}
.srch_more_btn img{ display:block; width:14px; height:14px; }
.srch_more_btn:hover{ text-decoration:underline; }
.srch_result_divider{ border:none; border-top:1px solid #d5d5d5; }
/* 메뉴 결과 */
.srch_menu_list{ display:flex; flex-direction:column; gap:0; }
.srch_menu_item{ border-top:1px solid #f0f0f0; }
.srch_menu_item:first-child{ border-top:none; }
.srch_menu_link{ display:block; padding:12px 0; font-size:1.5rem; color:#444; }
.srch_menu_link:hover{ color:#2a4ea4; }
.srch_menu_path{ font-size:1.5rem; color:#555; }
/* 웹페이지 결과 */
.srch_page_list{ display:flex; flex-direction:column; }
.srch_page_item{ border-top:1px solid #f0f0f0; }
.srch_page_item:first-child{ border-top:none; }
.srch_page_link{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:16px 0; }
.srch_page_link:hover .srch_page_title{ color:#2a4ea4; text-decoration:underline; }
.srch_page_info{ flex:1; min-width:0; }
.srch_page_title{ font-size:1.6rem; font-weight:600; color:#222; margin-bottom:6px; line-height:1.4; }
.srch_page_desc{ font-size:1.4rem; color:#666; line-height:1.6; overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; }
.srch_page_date{ font-size:1.4rem; color:#999; white-space:nowrap; flex-shrink:0; margin-top:2px; }
/* 키워드 하이라이트 */
.srch_keyword{ color:#e03030; font-style:normal; font-weight:700; background:none; }


/* ================================
   초록/발표 접수 현황 (container08_08_01)
================================ */
.container08_08_01{ margin-top: 40px; }
/* 탭 */
.abstract_tabs{ margin-bottom: 30px; }
.abstract_tabs .board_tabs_list{ display:flex; align-items:stretch; border:1px solid #d9d9d9; border-radius:10px; overflow:hidden; background:#f5f5f5; padding:0; gap:0; list-style:none; margin:0; max-width:400px; }
.abstract_tabs .board_tabs_item{ flex:1 1 0; display:flex; }
.abstract_tabs .board_tab{ -webkit-appearance:none; appearance:none; border:none; margin:0; box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; padding:0 8px; font-family:inherit; font-size:1.6rem; font-weight:700; color:#555; background:transparent; cursor:pointer; position:relative; line-height:1.3; word-break:keep-all; text-align:center; transition:color .15s; }
.abstract_tabs .board_tabs_item + .board_tabs_item .board_tab::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:20px; background:#d0d0d0; transform:translateY(-50%); }
.abstract_tabs .board_tab.is_active,
.abstract_tabs .board_tab[aria-selected="true"]{ background:#2a4ea4; color:#fff; border-radius:10px; }
.abstract_tabs .board_tabs_item + .board_tabs_item .board_tab.is_active::before,
.abstract_tabs .board_tabs_item + .board_tabs_item .board_tab[aria-selected="true"]::before{ opacity:0; }
.abstract_tabs .board_tab:hover{ color:#2a4ea4; }
.abstract_tabs .board_tab.is_active:hover,
.abstract_tabs .board_tab[aria-selected="true"]:hover{ color:#fff; }
.abstract_tabs .board_tab:focus-visible{ outline:2px solid #111; outline-offset:-2px; }
/* 섹션 */
.abstract_section_head{ margin-bottom:16px; }
/* 총건수 + 필터 */
.abstract_filter{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; }
.abstract_total{ font-size:1.5rem; color:#555; }
.abstract_total strong{ font-weight:700; color:#222; }
.abstract_filter_select{ height:40px; padding:0 10px; border:1px solid #dcdcdc; border-radius:5px; font-size:1.4rem; background:#fff; min-width:100px; box-sizing:border-box; }
/* 테이블 */
.abstract_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.abstract_table{ min-width:780px; }
.abstract_table td{ text-align:center; }
.abstract_title_td{ text-align:left !important; }
/* 상태 뱃지 */
.abstract_status{ display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:20px; font-size:1.4rem; font-weight:600; line-height:1.2; white-space:nowrap; }
.abstract_status_ok{ color:#1b5fd3;  }
.abstract_status_wait{ color:#888888;  }
.abstract_status_reject{ color:#d63226; }
.abstract_reject_icon{ width:16px; height:16px; flex:0 0 16px; display:block; }
/* 말풍선 tooltip */
.abstract_status_wrap{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.abstract_status_reject{ cursor:default; }
.abstract_tooltip{ position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%); width:240px; padding:12px 14px; background:#fff; border:1px solid #ff0000; border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.12); pointer-events:none; visibility:hidden; opacity:0; transition:opacity .15s ease, visibility .15s ease; z-index:100; text-align:left; }
.abstract_tooltip::before{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:9px solid transparent; border-top-color:#ff0000; }
.abstract_tooltip::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:-1px; border:8px solid transparent; border-top-color:#ff0000; }
.abstract_status_wrap:hover .abstract_tooltip,
.abstract_status_wrap:focus-within .abstract_tooltip{ visibility:visible; opacity:1; pointer-events:auto; }
.abstract_tooltip_tit{ display:block; font-size:1.35rem; font-weight:700; color:#333; margin-bottom:6px; }
.abstract_tooltip_desc{ font-size:1.3rem; color:#555; line-height:1.6; word-break:keep-all; margin:0; }
/* 수정 버튼 */
.abstract_edit_btn{ -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 14px; background:#2a4ea4; border:1px solid #2a4ea4; border-radius:5px; color:#fff; font-size:1.3rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .15s ease; white-space:nowrap; }
.abstract_edit_btn:hover,
.abstract_edit_btn:focus-visible{ background:#1e3c8c; border-color:#1e3c8c; }
.abstract_edit_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 빈 데이터 */
.abstract_empty{ text-align:center !important; padding:50px 0 !important; color:#888; font-size:1.5rem; }

/* ================================
   개인정보변경 본인확인 (container08_10_01)
================================ */
.container08_10_01{ margin-top:40px; }
/* 안내 박스 */
.personal_check_notice{ display:flex; align-items:flex-start; justify-content: center; gap:20px; padding:20px 24px;}
.personal_check_notice_icon{ flex:0 0 auto; width:auto; display:block; }
.personal_check_notice_list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.personal_check_notice_list li{ position:relative; padding-left:14px; font-size:1.4rem; color:#444444; line-height:1.65; word-break:keep-all; }
.personal_check_notice_list li::before{ content:"·"; position:absolute; left:0; top:0; font-weight:700; color:#666; }
/* 폼 */
.personal_check_form{ }
/* 카드 */
.personal_check_card{ margin-top:28px; padding:36px 40px; background:#f4f6fb; border-radius:20px; }
/* 행 */
.personal_check_row{ display:flex; align-items:center; gap:15px; padding:10px 0; justify-content: center;}
.personal_check_label{ flex:0 0 82px; font-size:1.55rem; font-weight:700; color:#333; }
.personal_check_val{ font-size:1.55rem; color:#555; min-width: 240px; }
.personal_check_input{height:46px; padding:0 14px; border:1px solid #d0d0d0; border-radius:5px; font-size:1.5rem; color:#333; font-family:inherit; background:#fff; box-sizing:border-box; min-width: 240px; }
.personal_check_input::placeholder{ color:#aaa; }
.personal_check_input:focus{ outline:2px solid #2a4ea4; outline-offset:-1px; border-color:#2a4ea4; }
/* 버튼 */
.personal_check_btn_box{ display:flex; justify-content:center; margin-top:36px; }
.personal_check_btn{ -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:60px; padding:0 30px; background:#2a4ea4; border:none; border-radius:8px; color:#fff; font-size:1.6rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .15s ease; }
.personal_check_btn:hover,
.personal_check_btn:focus-visible{ background:#1e3c8c; }
.personal_check_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }

/* ===================================================
   개인정보변경 폼 (container08_10_01_change)
   =================================================== */
.container08_10_01_change{ margin-top:40px; }
.personal_change_form{ }
.personal_change_section{ margin-bottom:44px; }
.personal_change_section_head{ display:flex; justify-content: space-between; margin-bottom: 20px;}
.personal_change_section_head .convey_h3{ }
.personal_change_section_desc{ font-size:1.45rem; color:#666; line-height:1.65; word-break:keep-all; margin:0 0 4px; }
.personal_change_req_note{ font-size:1.35rem; color:#666; margin:4px 0 0; }
.personal_head_wrap{display:flex; gap:10px; align-items: center;} 
.req{ color:#d63226; font-style:normal; }
/* 테이블 */
.personal_change_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.personal_change_table{ width:100%; border-top:2px solid #2a4ea4; border-collapse:collapse; }
.personal_change_table th{ background:#f2f5fb; color:#333; font-size:1.45rem; font-weight:700; padding:10px 16px; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb; text-align:left; vertical-align:middle; word-break:keep-all; line-height:1.6; white-space:nowrap; }
.personal_change_table td{ font-size:1.45rem; color:#444; padding:8px 14px; border-bottom:1px solid #dbdbdb; vertical-align:middle; }
/* 입력 요소 */
.pc_input{ height:38px; padding:0 12px; border:1px solid #ccc; border-radius:5px; font-size:1.4rem; color:#333; font-family:inherit; background:#fff; box-sizing:border-box; }
.pc_input:focus{ outline:2px solid #2a4ea4; outline-offset:-1px; border-color:#2a4ea4; }
.pc_input::placeholder{ color:#aaa; }
.pc_input_full{ width:100%; }
.pc_input_half{ width:50%; }
.pc_phone01{width:110px;}
.pc_input_post{ width:130px; }
.pc_input_email{ width:180px; }
.pc_input_lg{ width:240px; }
/* 셀렉트 */
.pc_flex{display: flex; align-items: center; gap:10px;}
.pc_select{ height:38px; padding:0 8px; border:1px solid #ccc; border-radius:5px; font-size:1.4rem; color:#333; font-family:inherit; background:#fff; cursor:pointer; }
.pc_select:focus{ outline:2px solid #2a4ea4; outline-offset:-1px; border-color:#2a4ea4; }
.pc_select_lg{ min-width:400px; }
/* 그룹 */
.pc_input_role{display: flex; gap:10px; margin-top: 10px;}
.pc_input_group{ display:flex; align-items:center; gap:5px; flex-wrap:nowrap; }
.pc_email_group{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pc_email_at{ font-size:1.4rem; color:#555; font-weight:600; }
/* 회색 버튼 (검색/우편번호) */
.pc_btn_gray{ height:38px; padding:0 15px; background:#333333; border-radius:5px; color:#fff; font-size:1.4rem; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .15s ease; min-width: 80px;}
.pc_btn_gray:hover, .pc_btn_gray:focus-visible{ background:#333; border-color:#333; }
.pc_btn_gray:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* 안내 텍스트 */
.pc_note{ font-size:1.3rem; color:#888; margin:0; line-height:1.5; white-space:nowrap; }
.pc_notice_td{ font-size:1.35rem; color:#666; background:#fafafa; padding:10px 14px !important; }
.pc_text_val{ font-size:1.45rem; color:#444; }
/* 라디오 */
.pc_radio_group{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.pc_radio_label{ display:inline-flex; align-items:center; gap:5px; font-size:1.4rem; color:#333; cursor:pointer; }
.pc_radio{ width:16px; height:16px; accent-color:#2a4ea4; cursor:pointer; flex:0 0 16px; }
/* 수신매체 */
.pc_receive_wrap{display:flex;align-items: flex-start;gap:15px;flex-wrap:wrap;flex-direction: column;}
.pc_receive_group{ display:flex; align-items:center; gap:10px; }
.pc_receive_label{ font-size:1.4rem; font-weight:700; color:#333; white-space:nowrap; min-width: 90px;; }
/* 근무처 */
.pc_work_desc{ font-size:1.4rem; color:#444; margin:4px 0; line-height:1.55; word-break:keep-all; }
.pc_work_detail{ margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.pc_work_detail_row{ display:flex; align-items:center; gap:10px; }
.pc_work_detail_label{ font-size:1.4rem; color:#444; white-space:nowrap; min-width:96px; }
.pc_work_detail_input{ min-width:300px; }
/* 근무형태 */
.pc_work_type_wrap{ display:flex; flex-direction:column; gap:10px; }
.pc_radio_subgroup{ display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.pc_work_sublabel{ font-size:1.4rem; font-weight:700; color:#555; white-space:nowrap; border-right:1px solid #ccc; min-width:60px;}
/* 제출 버튼 */
.personal_change_btn_box{ display:flex; justify-content:center; margin-top:44px; }
.personal_change_submit_btn{ -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:56px; padding:0 40px; background:#2a4ea4; border:none; border-radius:8px; color:#fff; font-size:1.6rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .15s ease; }
.personal_change_submit_btn:hover, .personal_change_submit_btn:focus-visible{ background:#1e3c8c; }
.personal_change_submit_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
/* ===================================================
   비밀번호 변경
=================================================== */
.container08_11{margin-top: 40px;}
.pw_change_box{padding:40px 30px; background-color: #f4f6fb; border-radius: 20px; margin-top: 20px;}
.pw_check_row{display: flex; gap:30px; justify-content: center; align-items: center;}
.pw_check_row ~ .pw_check_row{margin-top: 15px;}
.pw_chage_label{font-size: 1.6rem; color:#333333;}
.pw_input_role{border:1px solid #d2d2d2; background-color: #fff; height: 50px; border-radius: 5px; min-width: 300px;;}

/* ===================================================
   회원탈퇴 (container08_12)
=================================================== */
.container08_12{ margin-top:40px; }
.withdraw_form{}
.withdraw_box{ padding:40px 30px; background:#f4f6fb; border-radius:20px; margin-top:20px; }
.withdraw_row{ display:flex; align-items:center; gap:24px; }
.withdraw_row ~ .withdraw_row{ margin-top:16px; }
.withdraw_label{ flex:0 0 90px; font-size:1.6rem; color:#333; font-weight:500; text-align:right; }
.withdraw_input{ min-height:50px; border:1px solid #d2d2d2; border-radius:5px; background:#fff; padding:0 14px; font-size:1.5rem; font-family:inherit; box-sizing:border-box; }
.withdraw_input:focus{ outline:2px solid #1a4fa0; outline-offset:1px; }
.withdraw_input_full{ flex:1; width:100%; }
.withdraw_pw_wrap{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.withdraw_pw_wrap .withdraw_input{ width:220px; }
.withdraw_pw_msg{ font-size:1.4rem; color:#e03030; font-weight:500; line-height:1.5; }
.withdraw_pw_msg_ico{ font-weight:700; }
.withdraw_btn_box{ display:flex; justify-content:center; gap:12px; margin-top:36px; }
.withdraw_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:150px; height:60px; padding:0 32px; border:none; border-radius:7px; font-size:1.6rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .15s; }
.withdraw_btn_cancel{ background:#4b505a; color:#fff; }
.withdraw_btn_cancel:hover{ background:#363b44; }
.withdraw_btn_cancel:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.withdraw_btn_confirm{ background:#2a4ea4; color:#fff; }
.withdraw_btn_confirm:hover{ background:#1e3c8c; }
.withdraw_btn_confirm:focus-visible{ outline:2px solid #111; outline-offset:2px; }


/* =========================================
   반응형
========================================= */
@media (max-width: 1280px){
   /*카드뉴스*/
   .card_news_list{ gap: 50px 24px; } 
   .card_news_item{ width: calc((100% - 48px) / 3); } 
   .card_news_link{ width: 100%; max-height: none; } 
   .card_news_thumb{ border-radius: 18px; } 
   .card_news_list::before{ display: none;}
   /*영상자료*/
   .video_list{ gap: 28px 22px; }
   .video_item{ width: calc((100% - 44px) / 3); }
   .video_item:nth-child(4)::before{ width: calc(300% + 44px); }
   .video_thumb{ border-radius: 18px; }
   .video_play{ width: 64px; height: 64px; }
   .video_play::before{ border-top-width: 12px; border-bottom-width: 12px; border-left-width: 18px; }
   /*관련링크*/
   .cert_file_link{ width: calc((100% - 20px) / 3); }
   /*협회장인사말*/
   .hello_inner{ min-height: 340px; padding: 24px 26px 0 30px; }
   .hello_text{ max-width: 64%; padding-bottom: 24px; } 
   .hello_title{ font-size: 1.8rem; line-height: 1.6; } 
   .hello_desc{ margin-top: 16px; } 
   .hello_desc p{ font-size: 1.45rem; line-height: 1.65; } 
   .hello_photo{ right: 16px; width: min(31%, 270px); }
   .speech_box{ padding: 34px 28px 0; } 
   .speech_desc{ font-size: 1.5rem; line-height: 1.9; } 
   .speech_desc + .speech_desc{ margin-top: 24px; } 
   .speech_right{ margin-top: 46px; } 
   .speech_subtit{ font-size: 1.6rem; } 
   .speech_name{ font-size: 3rem; }
   /*협회연혁*/
   .history_tab{ width:180px; flex:0 0 180px; font-size:1.5rem; }
   .history_year{ font-size:2.8rem; }
   .history_date{ min-width:52px; font-size:1.65rem; }
   .history_txt{ font-size:1.45rem; line-height:1.65; }
   /*역대회장*/
   .president_list{ gap:28px 24px; margin-top:50px; } 
   .president_card{ width:calc((100% - 48px) / 3); min-height:330px; padding:26px 20px 30px; } 
   .president_photo_box{ width:190px; height:182px; } 
   .president_name{ font-size:2.2rem; } 
   .president_term_group{ gap:6px; } 
   .president_badge{ width:74px; height:28px; font-size:1.4rem; } 
   .president_term{ font-size:1.4rem; line-height:1.4; }
   /*규정*/
   .prov_card_list{ gap:24px; }
   .prov_card_item{ width:calc((100% - 48px) / 3); }
   .prov_card{ padding:40px 28px; min-height:290px; } 
   .prov_card_tit{ margin-top:42px; min-height:54px; font-size:1.7rem; line-height:1.4; } 
   .prov_card_btn{ width:210px; margin-top:42px; padding:0 26px; }
   /*윤리강령*/
   .coe_box{ margin-top:50px; padding:12px; } 
   .coe_inner{ padding:18px; } 
   .coe_head_box{ padding:18px; } 
   .coe_head_inner{ min-height:340px; padding:42px 48px; background-position:center top; background-size:100% 100%; } 
   .coe_head_mark{ width:176px; height:24px; margin:16px auto; } 
   .coe_title{ font-size:3.4rem; } 
   .coe_title::after{ height:28px; margin-top:18px; } 
   .coe_desc{ margin-top:24px; font-size:1.7rem; line-height:1.75; } 
   .coe_list{ padding:0 32px; margin-top:20px; } 
   .coe_item{ padding:20px 10px; } 
   .coe_num{ flex:0 0 50px; font-size:1.6rem; } 
   .coe_text{ font-size:1.55rem; line-height:1.75; }
   /*임상병리사 소개*/
   .clinical_lab_intro{ margin-top:50px; } 
   .lab_intro_box{ gap:42px; } 
   .lab_intro_row{ gap:36px; } 
   .lab_intro_img_box{ flex:0 0 360px; width:360px; } 
   .lab_intro_tit{ font-size:2rem; } 
   .lab_intro_desc{ margin-top:16px; } 
   .lab_intro_desc p{ font-size:1.48rem; line-height:1.8; } 
   .lab_intro_desc p + p{ margin-top:12px; }
   /* 임상검사 */
   .clt_wrap{ margin-top:50px; } 
   .clt_table{ font-size:1.4rem; }
   .clt_table colgroup col:nth-child(1){ width:140px !important; } 
   .clt_table colgroup col:nth-child(2){ width:210px !important; } 
   .clt_table thead th{ padding:13px 14px; font-size:1.45rem; } 
   .clt_table tbody td{ padding:13px 14px; font-size:1.4rem; line-height:1.7; }
   /*진출분야*/
   .foe_wrap{ padding:45px 36px 300px; min-height:auto; } 
   .foe_wrap::after{ width:400px; height:240px; } 
   .foe_tit{ font-size:4.2rem; } 
   .foe_desc{ margin-top:20px; font-size:1.7rem; line-height:1.7; } 
   .foe_body{ margin-top:40px; gap:18px; } 
   .foe_card{ padding:26px 24px; } 
   .foe_card_title{ font-size:2rem; } 
   .foe_list li{ font-size:1.65rem; line-height:1.7; } 
   .foe_list li::before{ top:12px; } 
   .foe_icon{ flex:0 0 82px; }
   /*전문임상병리사제도*/
   .sclts_box{ margin-top: 50px; } 
   .sclts_intro_inner{ min-height: 340px; padding-top: 16px; padding-left: 8px; } 
   .sclts_intro_thumb{ width: 360px; height: 360px; border-radius: 18px; } 
   .sclts_intro_panel{ min-height: 330px; margin: 56px 0 0 72px; padding: 30px 28px 30px 300px; border-radius: 18px; } 
   .sclts_intro_tit{ font-size: 2rem; } 
   .sclts_intro_desc{ margin-top: 20px; } 
   .sclts_intro_desc p{ font-size: 1.45rem; line-height: 1.85; } 
   .sclts_intro_desc p + p{ margin-top: 22px; }
   /*안내*/
   .guide_box,
   .guide_box ~ .guide_box{ margin-top: 50px; }
   .grey_box{ padding: 24px; }
   .grey_box_tit{ font-size: 1.85rem; }
   .grey_box_subtit{ font-size: 1.75rem; }
   .grey_box_desc{ margin-top: 24px; font-size: 1.5rem; line-height: 1.8; } 
   .guide_role_box, 
   .guide_role_box_type02, 
   .guide_report_box, 
   .guide_example_box{ padding: 24px; } 
   .guide_role_flow{ gap: 10px; } 
   .guide_role_card{ height: 220px; padding: 24px 12px 20px; } 
   .guide_role_icon{ height: 76px; margin-bottom: 22px; } 
   .guide_role_name{ font-size: 1.65rem; } 
   .guide_role_desc{ font-size: 1.4rem; } 
   .guide_role_head_type02 .guide_role_head_item{ width: 380px; } 
   .guide_role_flow_type02 .guide_role_item{ flex: 0 0 146px; width: 146px; } 
   .guide_role_card_type02{ height: 220px; padding: 24px 10px 18px; } 
   .guide_role_name_type02{ font-size: 1.6rem; } 
   .guide_role_desc_type02{ font-size: 1.4rem; } 
   .guide_role_arrow_type02{ flex: 0 0 28px; width: 28px; } 
   .guide_report_card{ gap: 18px; padding: 14px 22px; } 
   .guide_report_head{ flex: 0 0 220px; width: 220px; gap: 14px; padding-right: 18px; } 
   .guide_report_symbol{ flex: 0 0 56px; width: 56px; } 
   .guide_report_symbol_logo{ flex-basis: 76px; width: 76px; } 
   .guide_report_step_tit{ font-size: 1.6rem; } 
   .guide_report_pill, 
   .guide_report_query_label{ font-size: 1.4rem; } 
   .guide_example_list{ gap: 20px; } 
   .guide_example_head{ font-size: 1.7rem; padding: 15px 10px; } 
   .guide_example_body{ padding: 22px 36px; } 
   .guide_example_body_single, 
   .guide_example_body_stack{ padding: 30px 60px; } 
   .guide_example_note{ margin-top: 22px; } 
   .guide_example_note li{ font-size: 1.45rem; } 
   .guide_example_stack{ gap: 22px; }
   /*구인정보*/
   .function_search_box{ padding: 18px 20px 20px; } 
   .function_search_row{ gap: 16px; } 
   .function_search_row + .function_search_row{ margin-top: 16px; } 
   .function_search_label{ flex: 0 0 64px; font-size: 1.5rem; } 
   .function_search_chip_txt{ min-width: 78px; height: 34px; padding: 0 12px; } 
   .function_search_keyword{ max-width: 500px; }
}
@media (max-width: 1200px){
      /*마이페이지*/
   .container08_01_top{ margin-top:40px; } 
   .container08_01_head{ margin-top:40px; } 
   .license_calc_form{ gap:20px; } 
   .license_calc_field{ min-width:0; } 
   .mypage_edu_history{ margin-top:50px; } 
   .mypage_edu_section + .mypage_edu_section{ margin-top:45px; } 
   .mypage_edu_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; } 
   .mypage_edu_table_wrap .info_table{ min-width:900px; } 
   .mypage_edu_year_table{ min-width:980px !important; } 
   .mypage_edu_need_table{ min-width:760px !important; }
   .mypage_edu_course_table,
   .mypage_edu_complete_table,
   .mypage_edu_offline_table,
   .mypage_edu_cancel_table{ min-width:900px !important; }
}

@media (max-width: 1024px){
   .sub_layout{ padding: 24px 0 60px; } 
   .sub_layout_inner{ display: block; }
   .lnb_area{ display: none; }
   .sub_content_area{ width: 100%; flex: none; min-width: 0; }
   .sub_content_head{ padding-bottom: 28px; }
   /*카드뉴스*/
   .card_box{ padding: 24px 0; }
   .card_news_list{ gap: 42px 20px; }
   .card_news_item{ width: calc((100% - 20px) / 2); }
   .card_news_link{ width: 100%; }
   .card_news_thumb,
   .card_news_thumb_empty{ height: auto; aspect-ratio: 310 / 420; }
   /*영상자료*/
   .video_box{ padding: 24px 0; } 
   .video_list{ gap: 28px 18px; } 
   .video_item{ width: calc((100% - 18px) / 2); } 
   .video_item:nth-child(n+4){ padding-top: 0; } 
   .video_item:nth-child(4)::before{ display: none; } 
   .video_item:nth-child(n+3){ padding-top: 28px; } 
   .video_item:nth-child(3){ position: relative; } 
   .video_item:nth-child(3)::before{ content: ""; position: absolute; left: 0; top: 0; width: calc(200% + 18px); height: 1px; background: #dbdbdb; } 
   .video_thumb{ border-radius: 17px; aspect-ratio: 310 / 182; } 
   .video_info{ padding: 12px 4px 0; }
   /*관련링크*/
   .link_box .rel_link li{ width:calc((100% - 20px) / 3); }
   /*안내*/
   .guide_btn_wrap{ padding: 22px 30px; }
   .guide_btn_inner{ gap: 24px; }
   .guide_btn_detail{ font-size: 1.5rem; }
   .guide_btn_links{ gap: 8px; }
   .guide_btn_link{ padding: 12px 16px; }
   .guide_btn_link_txt{ font-size: 1.5rem; }
   .guide_box,
   .guide_box ~ .guide_box{ margin-top: 40px; } 
   .guide_tit{ margin: 16px 0; font-size: 1.6rem; } 
   .grey_box{ margin-top: 20px; padding: 22px 18px; } 
   .grey_box_inner{ max-height: 300px; padding-right: 6px; } 
   .grey_box_tit{ font-size: 1.75rem; } 
   .grey_box_subtit{ margin-top: 4px; font-size: 1.65rem; } 
   .grey_box_desc{ margin-top: 20px; font-size: 1.45rem; line-height: 1.75; } 
   .guide_role_box, 
   .guide_role_box_type02, 
   .guide_report_box, 
   .guide_example_box{ margin-top: 20px; padding: 20px 18px; } 
   .guide_role_head{ gap: 16px; margin-bottom: 18px; } 
   .guide_role_head_item{ width: calc((100% - 16px) / 2); font-size: 1.5rem; } 
   .guide_role_flow{ gap: 8px; } 
   .guide_role_card{ height: 200px; padding: 20px 10px 16px; border-radius: 14px; } 
   .guide_role_icon{ height: 66px; margin-bottom: 18px; } 
   .guide_role_name{ font-size: 1.5rem; line-height: 1.4; } 
   .guide_role_desc{ margin-top: 10px; font-size: 1.3rem; line-height: 1.55; } 
   .guide_role_arrow img{ width: 16px; } 
   .guide_role_head_type02 .guide_role_head_item{ width: 320px; height: 42px; line-height: 40px; border-radius: 12px; } 
   .guide_role_flow_type02{ overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 8px; } 
   .guide_role_flow_type02::-webkit-scrollbar{ height: 8px; } 
   .guide_role_flow_type02::-webkit-scrollbar-thumb{ background: #c7ceda; border-radius: 999px; } 
   .guide_role_flow_type02::-webkit-scrollbar-track{ background: #eef2f7; border-radius: 999px; } 
   .guide_role_flow_type02 .guide_role_item{ flex: 0 0 150px; width: 150px; } 
   .guide_role_card_type02{ height: 210px; } 
   .guide_report_card{ align-items: flex-start; gap: 16px; padding: 18px; } 
   .guide_report_head{ flex: 0 0 200px; width: 200px; min-height: 58px; gap: 12px; padding-right: 16px; } 
   .guide_report_symbol{ flex: 0 0 52px; width: 52px; } 
   .guide_report_symbol_logo{ flex-basis: 70px; width: 70px; } 
   .guide_report_step_num{ font-size: 1.4rem; } 
   .guide_report_step_tit{ font-size: 1.5rem; } 
   .guide_report_flow{ gap: 6px; } 
   .guide_report_flow_row{ gap: 6px; } 
   .guide_report_pill{ min-height: 32px; padding: 0 14px; font-size: 1.35rem; } 
   .guide_report_pill_short{ min-width: 64px; } 
   .guide_report_query_label{ min-width: 98px; font-size: 1.35rem; } 
   .guide_example_box{ margin-top: 30px; border-radius: 18px; } 
   .guide_example_list{ flex-direction: column; gap: 18px; } 
   .guide_example_item{ border-radius: 14px; } 
   .guide_example_head{ font-size: 1.6rem; padding: 14px 10px; } 
   .guide_example_body{ padding: 20px 24px; } 
   .guide_example_body_single, 
   .guide_example_body_stack{ padding: 24px 28px; } 
   .guide_example_note{ margin-top: 20px; } 
   .guide_example_note li{ font-size: 1.4rem; line-height: 1.65; } 
   .guide_example_stack{ gap: 18px; }
   /*1:1문의게시판*/
   .container03_04 .board_tabs_item{flex:auto;}
   /*회원안내*/
   .join_info_item{ gap:32px; padding:32px 0; } 
   .join_info_icon{ width:96px; height:96px; } 
   .join_info_cont{ padding-top:6px; } 
   .join_info_title{ font-size:2rem; } 
   .join_info_text{ margin-top:14px; font-size:1.6rem; line-height:1.75; }
   .join_fee_list{ margin-top:14px; gap:8px 0; }
   .join_fee_item{ flex:0 0 20%; font-size:1.5rem; line-height:1.7; }
   /*협회장인사말*/
   .hello_inner{ min-height: 320px; padding: 22px 22px 0 26px; } 
   .hello_text{ max-width: 65%; padding-bottom: 22px; } 
   .hello_title{ font-size: 1.7rem; line-height: 1.55; } 
   .hello_desc{ margin-top: 14px; } 
   .hello_desc p{ font-size: 1.4rem; line-height: 1.6; } 
   .hello_photo{ right: 10px; width: min(32%, 240px); }
   .speech_box{ padding: 30px 8px 0 0; } 
   .speech_desc{ font-size: 1.45rem; line-height: 1.85; } 
   .speech_desc + .speech_desc{ margin-top: 22px; } 
   .speech_right{ margin-top: 40px; } 
   .speech_subtit{ font-size: 1.5rem; } 
   .speech_name{ margin-top: 12px; font-size: 2.8rem; letter-spacing: 2px; }
   /*협회연혁*/
   .history_tabs{ display:flex; width:100%; margin:40px 0 34px; } 
   .history_tab{ width:auto; flex:1 1 0; min-width:0; min-height:56px; padding:0 12px; font-size:1.45rem; } 
   .history_tab + .history_tab::before{ height:26px; } 
   .history_box + .history_box{ margin-top:28px; }
   .history_year{ font-size:2.5rem; }
   .history_col_left .history_year::before,
   .history_col_right .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_col_left .history_date,
   .history_col_right .history_date{ min-width:50px; }
   .history_date{ font-size:1.55rem; }
   .history_txt{ font-size:1.4rem; line-height:1.6; }
   /*역대회장*/
   .president_list{ gap:22px 18px; margin-top:40px; } 
   .president_card{ width:calc((100% - 18px) / 2); min-height:320px; padding:24px 18px 28px; border-radius:18px; } 
   .president_photo_box{ width:180px; height:172px; } 
   .president_info{ margin-top:18px; } 
   .president_name{ font-size:2.1rem; } 
   .president_term_group{ gap:8px; margin-top:14px; } 
   .president_term_item{ min-width:0; } 
   .president_badge{ width:72px; height:28px; padding:0 6px; font-size:1.4rem; } 
   .president_term{ margin-top:9px; font-size:1.35rem; line-height:1.4; }
   /*규정*/
   .prov_card_box{ margin-top:24px; } 
   .prov_card_list{ gap:20px 18px; } 
   .prov_card_item{ width:calc((100% - 18px) / 2); } 
   .prov_card{ padding:38px 24px; min-height:280px; } 
   .prov_card_tit{ margin-top:38px; min-height:50px; font-size:1.65rem; } 
   .prov_card_btn{ width:200px; height:48px; margin-top:38px; padding:0 24px; }
   .prov_card_btn_txt{ font-size:1.5rem; }
   /*윤리강령*/
   .coe_box{ margin-top:40px; padding:10px; } 
   .coe_inner{ padding:16px; } 
   .coe_head_box{ padding:14px; } 
   .coe_head_inner{ min-height:300px; padding:34px 28px; background-position:center top; background-size:100% 100%; } 
   .coe_head_mark{ width:156px; height:22px; margin:12px auto 14px; } 
   .coe_title{ font-size:2.9rem; line-height:1.25; } 
   .coe_title::after{ height:26px; margin-top:16px; } 
   .coe_desc{ margin-top:20px; font-size:1.55rem; line-height:1.7; } 
   .coe_desc br{ display:none; } 
   .coe_list{ padding:0 18px; margin-top:18px; } 
   .coe_item{ padding:18px 8px; } 
   .coe_num{ flex:0 0 46px; font-size:1.5rem; line-height:1.7; } 
   .coe_text{ font-size:1.46rem; line-height:1.7; }
   /*임상병리사 소개*/
   .clinical_lab_intro{ margin-top:40px; } 
   .lab_intro_box{ gap:36px; } 
   .lab_intro_row{ gap:28px; } 
   .lab_intro_img_box{ flex:0 0 320px; width:320px; } 
   .lab_intro_tit{ font-size:1.85rem; line-height:1.35; } 
   .lab_intro_desc{ margin-top:14px; } 
   .lab_intro_desc p{ font-size:1.42rem; line-height:1.75; } 
   .lab_intro_desc p + p{ margin-top:10px; }
   /* 임상검사 */
   .clt_wrap{ margin-top:40px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:6px; } 
   .clt_table{ min-width:900px; } 
   .clt_wrap::-webkit-scrollbar{ height:8px; } 
   .clt_wrap::-webkit-scrollbar-thumb{ background:#c7ceda; border-radius:999px; } 
   .clt_wrap::-webkit-scrollbar-track{ background:#eef2f7; border-radius:999px; }
   /*진출분야*/
   .foe_wrap{ margin-top:40px; padding:42px 28px 280px; border-radius:18px; } 
   .foe_wrap::after{ right:10px; width:360px; height:215px; background-size:contain; } 
   .foe_tit{ font-size:3.8rem; } 
   .foe_desc{ margin-top:18px; font-size:1.6rem; } 
   .foe_desc br{ display:none; } 
   .foe_body{ gap:16px; margin-top:34px; } 
   .foe_card{ padding:24px 22px; border-radius:14px; } 
   .foe_card_title{ font-size:1.9rem; } 
   .foe_card_cont{ gap:12px; } 
   .foe_list li{ font-size:1.55rem; line-height:1.65; } 
   .foe_list li::before{ top:11px; } 
   .foe_icon{ flex:0 0 76px; min-height:52px; }
   /*면허신고제*/
   .license_report{ margin-top:50px; } 
   .license_box ~ .license_box{ margin-top:50px; } 
   .license_text{ margin:16px 0 0; font-size:1.5rem; line-height:1.75; } 
   .license_head{ gap:12px; align-items:flex-start; } 
   .license_head .convey_h3{ width:100%; } 
   .license_badge{ min-width:auto; height:38px; padding:0 16px; font-size:1.45rem; white-space:normal; line-height:1.3; } 
   .license_report_box{ margin-top:18px; padding:24px 20px; border-radius:14px; } 
   .license_report_title{ font-size:1.55rem; margin-bottom:8px; } 
   .license_report_sub_title{ font-size:1.45rem; margin-bottom:12px; } 
   .license_report_list > li{ font-size:1.5rem; line-height:1.75; } 
   .license_step_box{ margin-top:20px; padding:20px 18px; } 
   .license_step_list{ flex-wrap:wrap; gap:16px 28px; } 
   .license_step_item{ flex:0 0 calc((100% - 28px) / 2); } 
   .license_step_item:nth-child(2n)::after{ display:none; } 
   .license_step_item:not(:last-child)::after{ right:-24px; width:18px; height:16px; background-size:13px auto; } 
   .license_step_item:last-child{ flex:0 0 100%; } 
   .license_step_card{ min-height:210px; padding:22px 16px 20px; } 
   .license_step_icon{ height:68px; margin-bottom:22px; } 
   .license_step_icon img{ max-height:68px; } 
   .license_step_text{ font-size:1.35rem; line-height:1.55; } 
   .license_condition_desc{ font-size:1.45rem; line-height:1.75; } 
   .license_condition_list > li{ font-size:1.45rem; line-height:1.75; } 
   .license_condition_desc2, 
   .license_condition_note{ font-size:1.25rem; line-height:1.7; } 
   .license_penalty_flow{ margin-top:18px; padding:20px 18px; } 
   .license_penalty_list{ gap:24px; align-items:stretch; } 
   .license_penalty_item:not(:last-child)::after{ right:-22px; width:18px; height:16px; } 
   .license_penalty_card{ min-height:180px; padding:24px 16px; } 
   .license_penalty_icon img{ max-width:76px; width:auto; } 
   .license_penalty_text{ font-size:1.25rem; line-height:1.55; } 
   .license_recover_text{ margin-top:16px; gap:8px; align-items:flex-start; } 
   .license_recover_desc{ font-size:1.5rem; line-height:1.7; } 
   .license_recover_text .license_badge{ height:auto; min-height:38px; padding:8px 16px; } 
   .license_recover_text .license_badge_long{ width:auto; max-width:100%; padding:8px 16px; } 
   .license_btn_box{ gap:14px; margin-top:24px; } 
   .license_btn{ flex:1 1 0; min-width:0; padding:0 20px; font-size:1.45rem; gap:14px; }
   .license_btn_txt{ word-break:keep-all; }
   /*배출대학*/
   .college_box{ margin-top: 40px; } 
   .college_wrap{ margin-top: 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; } 
   .college_wrap::-webkit-scrollbar{ height: 8px; } 
   .college_wrap::-webkit-scrollbar-thumb{ background: #c7ceda; border-radius: 999px; } 
   .college_wrap::-webkit-scrollbar-track{ background: #eef2f7; border-radius: 999px; } 
   .college_table{ min-width: 900px; }
   .college_table th, .college_table td{ padding: 14px 12px; font-size: 1.4rem; } 
   .college_table thead th{ font-size: 1.4rem; }
   /*전문임상병리사제도*/
   .sclts_box{ margin-top: 40px; } 
   .sclts_intro_inner{ min-height: 0; padding-top: 14px; padding-left: 0; } 
   .sclts_intro_thumb{ width: 300px; height: 300px; border-radius: 16px; } 
   .sclts_intro_panel{ min-height: 0; margin: 44px 0 0 52px; padding: 28px 24px 28px 270px; border-radius: 16px; } 
   .sclts_intro_tit{ font-size: 1.9rem; line-height: 1.35; } 
   .sclts_intro_desc{ margin-top: 18px; } 
   .sclts_intro_desc p{ font-size: 1.42rem; line-height: 1.8; } 
   .sclts_intro_desc p + p{ margin-top: 18px; }
   /*구인정보*/
   .function_search{ margin-top: 24px; } 
   .function_search_box{ padding: 18px 16px; border-radius: 14px; } 
   .function_search_row{ display: block; } 
   .function_search_row + .function_search_row{ margin-top: 18px; } 
   .function_search_label{ display: block; flex: none; padding-top: 0; margin-bottom: 10px; font-size: 1.5rem; } 
   .function_search_cont{ width: 100%; }
   .function_search_chip_box{ gap: 8px 6px; } 
   .function_search_chip_txt{ min-width: 74px; height: 34px; padding: 0 10px; font-size: 1.25rem; } 
   .function_search_check_box, 
   .function_search_radio_box{ gap: 14px 16px; padding-top: 0; } 
   .function_search_check_txt, 
   .function_search_radio_txt{ font-size: 1.4rem; } 
   .function_search_keyword{ max-width: 100%; } 
   .function_search_select{ width: 140px; height: 42px; font-size: 1.35rem; } 
   .function_search_input{ height: 42px; font-size: 1.35rem; } 
   .function_search_btn_box{ margin-top: 18px; } .function_search_btn{ min-width: 120px; height: 38px; font-size: 1.4rem; }
   /*구직정보_write*/
   .job_tit_left{ gap:16px; align-items:flex-start; } 
   .job_tit_left p{ font-size:1.5rem; line-height:1.45; } 
   .job_write_table th, 
   .job_write_table td{ padding:13px 10px; font-size:1.4rem; } 
   .job_form_input, 
   .job_form_select{ height:38px; font-size:1.35rem; } 
   .job_form_select, .job_form_input_short, 
   .job_inline_field .job_form_input{ max-width:170px; } 
   .job_inline_field .job_form_input{ flex:0 0 170px; } 
   .job_form_textarea{ min-height:56px; font-size:1.35rem; } 
   .job_form_textarea_lg{ min-height:120px; } 
   .job_write_btn_box{ margin-top:40px; } 
   .job_write_btn{ min-width:140px; height:56px; font-size:1.5rem; }
   /*로그인*/
   .login_box{ margin-top:40px; } 
   .login_inner{ max-width:100%; } 
   .login_desc{ padding-bottom:40px; font-size:1.7rem; line-height:1.7; } 
   .login_form_box{ margin-top:40px; } 
   .login_option_row{ gap:14px; margin-top:24px; padding-left:130px; } 
   .login_btn_box{ margin-top:40px; } 
   .login_btn{ height:56px; font-size:1.7rem; }
   /*회원가입*/
   .member_box{ margin-top:40px; } 
   .member_step_box{ margin-bottom:50px; } 
   .member_step_circle{ width:62px; height:62px; } 
   .member_step_item::before, 
   .member_step_item.is_active::after{ top:31px; } 
   .member_step_txt{ margin-top:10px; } 
   .member_step_txt .step{ font-size:1.2rem; } 
   .member_step_txt .tit{ font-size:1.4rem; } 
   .member_join_box{ margin-top:70px; } 
   .member_join_tit{ font-size:2.5rem; line-height:1.35; } 
   .member_join_desc{ margin-top:16px; font-size:1.45rem; line-height:1.65; } 
   .member_join_card_box{ margin-top:36px; } 
   .member_join_card_list{ gap:18px; } 
   .member_join_card_item{ width:calc((100% - 36px) / 3); } 
   .member_join_card{ min-height:380px; padding:38px 24px 28px; } 
   .member_join_icon{ min-height:78px; } 
   .member_join_icon img{ transform:scale(.92); transform-origin:center center; } 
   .member_join_card_tit{ margin-top:22px; font-size:2rem; } 
   .member_join_card_txt{ margin-top:16px; min-height:48px; font-size:1.45rem; line-height:1.55; } 
   .member_join_btn{ max-width:200px; height:46px; margin-top:40px; padding:0 18px 0 20px; } 
   .member_join_btn_txt{ font-size:1.45rem; }
   /*회원가입-본인인증*/
   .certi_box{ margin-top:50px; } 
   .certi_desc{ font-size:2.2rem; line-height:1.45; } 
   .certi_card_box{ margin-top:36px; } 
   .certi_card_list{ gap:16px; } 
   .certi_card_item{ width:calc((100% - 16px) / 2); } 
   .certi_card{ padding:38px 24px 30px; } 
   .certi_icon_circle{ width:130px; height:130px; } 
   .certi_icon_circle img{ transform:scale(.9); transform-origin:center center; } 
   .certi_card_tit{ margin-top:24px; font-size:2.1rem; } 
   .certi_card_txt{ margin-top:14px; min-height:56px; font-size:1.45rem; line-height:1.65; } 
   .certi_btn{ width:200px; height:46px; margin-top:18px; padding:0 16px 0 18px; } 
   .certi_btn_txt{ font-size:1.45rem; }
   /*회원가입-회원정보입력*/
   .member_info_table th{ padding:10px 12px; font-size:1.35rem; }
   .member_info_table td{ padding:10px 12px; }
   .member_dup_btn{ height:36px; padding:0 14px; font-size:1.35rem; }
   .member_pw_input{ width:170px; }
   .member_hint{ font-size:1.3rem; }
   .member_addr_desc{ font-size:1.3rem; }
   /*회원가입-학력정보*/
   .edu_info_section{ margin-top:30px; }
   .edu_info_head_desc{ font-size:1.35rem; }
   .edu_info_table th{ padding:10px 12px; font-size:1.35rem; }
   .edu_info_table td{ padding:10px 12px; }
   .edu_info_btn_box{ margin-top:40px; }
   .edu_info_submit_btn{ min-width:130px; height:56px; font-size:1.65rem; }
   /* 아이디찾기 인증 선택 */
   .id_found_box{ max-width:680px; margin-top:46px; } 
   .id_fit_tit{ font-size:2.2rem; line-height:1.35; } 
   .id_fit_subtit{ margin-top:12px; font-size:1.5rem; line-height:1.65; word-break:keep-all; } 
   .id_found_list{ gap:16px; margin-top:36px; } 
   .id_found_item{ width:calc((100% - 16px) / 2); } 
   .id_found_card{ min-height:230px; padding:22px 18px 26px; border-radius:18px; } 
   .id_found_check_circle{ left:20px; top:20px; width:28px; height:28px; } 
   .id_found_check_circle::after{ width:8px; height:12px; border-right:3px solid #2a4ea4; border-bottom:3px solid #2a4ea4; } 
   .id_found_icon_circle{ width:92px; height:92px; margin-top:10px; } 
   .id_found_icon_circle img{ transform:scale(.9); transform-origin:center center; } 
   .id_found_tit{ margin-top:22px; font-size:1.95rem; line-height:1.35; } 
   .id_fit_btn_box{ margin-top:34px; } 
   .id_fit_btn{ width:140px; height:54px; font-size:1.5rem; }
   .id_auth_box{ margin-top:36px; } 
   .id_auth_inner{ padding:40px 32px; border-radius:18px; } 
   .id_auth_title{ font-size:1.8rem; } 
   .id_auth_desc{ font-size:1.4rem; line-height:1.55; padding-bottom:24px; } 
   .id_auth_form{ max-width:100%; padding:26px 20px 0; } 
   .id_auth_row{ gap:14px; } 
   .id_auth_label{ flex:0 0 78px; font-size:1.5rem; } 
   .id_auth_input{ font-size:1.4rem; } 
   .id_auth_btn{ flex:0 0 104px; font-size:1.35rem; }
   /*팝업*/
   .spam_popup_dialog{ width:calc(100vw - 32px); max-width:none; max-height:calc(100vh - 32px); border-radius:20px; } 
   .spam_popup_inner{ padding:38px 24px 30px; max-height:calc(100vh - 32px); overflow-y:auto; } 
   .spam_popup_close{ right:12px; top:12px; width:44px; height:44px; background-size:16px 16px; } 
   .spam_popup_head{ padding-top:0; } 
   .spam_popup_head_inner{ min-height:auto; padding-top:0; } 
   .spam_popup_title_box{ position:static; left:auto; top:auto; transform:none; width:100%; max-width:none; padding-right:0; } 
   .spam_popup_head_img{ position:static; width:110px; margin:20px auto 0; } 
   .spam_popup_title{ font-size:2.6rem; line-height:1.3; } 
   .spam_popup_title_desc{ margin-top:18px; font-size:1.6rem; line-height:1.6; } 
   .spam_popup_intro{ margin-top:20px; } 
   .spam_popup_intro p{ font-size:1.5rem; line-height:1.7; } 
   .spam_popup_method{ margin-top:34px; } 
   .spam_popup_method_tit{ font-size:2rem; line-height:1.4; } 
   .spam_telecom_list{ flex-direction:column; gap:12px; margin-top:24px; } 
   .spam_telecom_item{ padding:20px 16px 16px; border-radius:14px; } 
   .spam_telecom_logo{ height:68px; } 
   .spam_telecom_btn{ height:44px; margin-top:14px; padding:0 16px; } 
   .spam_telecom_btn_txt{ font-size:1.35rem; } 
   .spam_popup_note{ margin-top:14px; font-size:1.35rem; line-height:1.6; } 
   .spam_popup_check_box{ margin-top:24px; padding:18px 16px; border-radius:12px; } 
   .spam_popup_check_label{ display:block; } 
   .spam_popup_check_text{ gap:20px; justify-content:center; } 
   .spam_popup_check_text_default, 
   .spam_popup_check_text_point{ font-size:1.5rem; } 
   .spam_popup_btn_box{ margin-top:24px; } 
   .spam_popup_btn{ width:140px; height:54px; font-size:1.5rem; }
      /*마이페이지*/
   .container08_01_top{ justify-content:flex-start; } 
   .container08_01_btn_box{ width:100%; flex-wrap:wrap; gap:10px; } 
   .mypage_btn{ flex:1 1 calc(50% - 5px); min-width:0; } 
   .container08_01_head{ align-items:flex-start; gap:14px; } 
   .mypage_license_notice{ align-items:flex-start; flex-direction:column; gap:12px; } 
   .mypage_license_notice_btn{ min-width:0; } 
   .license_calc_box{ padding:24px 20px; } 
   .license_calc_form{ display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; padding-bottom:24px; } 
   .license_calc_btn{ width:100%; min-width:0; grid-column:1 / -1; } 
   .license_calc_result{ min-height:0; flex-direction:column; align-items:stretch; } 
   .license_calc_result_label{ flex:none; min-height:0; padding:18px 20px 10px; text-align:left; } 
   .license_calc_result_score{ min-height:0; padding:8px 20px 18px; } 
   .license_calc_result_score::before{ display:none; } 
   .license_calc_notice{ margin-top:24px; } 
   .license_calc_link_box{ padding-left:0; } 
   .license_calc_note_row{ align-items:flex-start; flex-direction:column; gap:8px; } 
   .fee_status_head, 
   .mypage_edu_head{ align-items:flex-start; flex-wrap:wrap; gap:8px 10px; } 
   .fee_status_more{ margin-left:0; } 
   .fee_status_table_wrap, 
   .mypage_edu_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; } 
   .fee_status_table{ min-width:760px; } 
   .mypage_edu_help{ margin-top:12px; }
   /*결제내역*/
   .container08_02{ margin-top: 40px; }
   .container08_02 .board_tabs_list{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; flex-wrap: nowrap; }
   .container08_02 .board_tabs_list::-webkit-scrollbar{ height: 0; }
   .container08_02 .board_tabs_item{ flex: 0 0 auto; }
   .container08_02 .board_tab{ height: 48px; padding: 0 16px; white-space: nowrap; min-height: 48px; }
   /*협회비 납부 안내 패널*/
   .fee_guide_status_box,
   .fee_regular_status_box{ margin-top:30px; }
   .fee_pay_cards{ margin-top:14px; }
   /*협회비 정기납부 안내 페이지 (pay01)*/
   .container08_02_pay01{ margin-top:40px; }
   .fee_apply_card_inner{ gap:18px; padding:24px 28px; }
   .fee_apply_card_title{ font-size:1.8rem; }
   .fee_apply_card_btn{ height:46px; padding:0 22px; font-size:1.5rem; }
   /*협회비 정기납부 페이지 (pay02)*/
   .container08_02_pay02{ margin-top:40px; }
   /*협회비 연회비 납부 회원정보 페이지 (pay06)*/
   .container08_02_pay06{ margin-top:40px; }
   .fee_regular_section{ margin-top:40px; }
   .fee_regular_btn_box{ margin-top:40px; }
   /*협회비 정기납부 상세정보 페이지 (pay03)*/
   .container08_02_pay03{ margin-top:40px; }
   .fee_pay03_table{ min-width:540px; }
   .fee_pay03_btn{ min-width:130px; height:56px !important; font-size:1.55rem; }
   /*협회비 연회비 납부 회원목록 페이지 (pay07)*/
   .container08_02_pay07{ margin-top:40px; }
   .fee_pay07_table{ min-width:540px; }
   .fee_pay07_section{ margin-top:30px; }
   .fee_pay07_btn{ min-width:130px; height:56px !important; font-size:1.55rem; }
   /*협회비 연회비 납부 결제방법 페이지 (pay08)*/
   .container08_02_pay08{ margin-top:40px; }
   .fee_pay08_method_section{ margin-top:30px; }
   .fee_pay08_table{ min-width:480px; }
   .fee_pay08_radio_label{ padding:14px 16px; }
   .fee_pay08_radio_txt{ font-size:1.45rem; }
   .fee_pay08_btn{ min-width:130px; height:56px !important; font-size:1.55rem; }
   /*협회비 정기납부 결제방법 페이지 (pay04)*/
   .container08_02_pay04{ margin-top:40px; }
   .fee_pay04_method_section{ margin-top:30px; }
   .fee_pay04_table{ min-width:480px; }
   .fee_pay04_total_box{ padding:18px 24px; gap:10px; }
   .fee_pay04_total_label{ font-size:1.5rem; }
   .fee_pay04_total_price{ font-size:1.65rem; }
   /*협회비 연회비 납부 페이지 (pay05)*/
   .container08_02_pay05{ margin-top:40px; }
   .fee_pay05_status_box{ margin-top:30px; }
   .fee_pay05_status_desc{ font-size:1.3rem; }
   /*보수교육 면제 신청 안내*/
   .container08_05_01{ margin-top:30px; }
   /*신청결과 확인*/
   .container08_05_02{ margin-top:40px; }
   .exempt_result_select{ min-width:100px; font-size:1.4rem; }
   .edu_exempt_main_tabs .board_tab{ min-height:48px; font-size:1.5rem; }
   .edu_exempt_title_sub{ font-size:2.2rem; }
   .edu_exempt_title_main{ font-size:2.2rem; }
   .edu_exempt_subtab{ width:140px; font-size:1.35rem; }
   .edu_exempt_subtab_panel{ padding:16px; }
   /*연도별 보수교육 이수확인서*/
   .container08_04_03{ margin-top:40px; }
   /*금년도 보수교육 이수확인서*/
   .container08_04_02{ margin-top:40px; }
   /*이수 시간 확인*/
   .container08_04_01{ margin-top:40px; }
   .edu_search_bar{ padding:14px 16px; gap:12px; }
   .edu_search_input{ flex:0 0 240px; width:240px; }
   /*장바구니*/
   .container08_03{ margin-top:40px; }
   .cart_table{ min-width:600px; }
   .cart_btn_pay{ padding:0 28px; font-size:1.5rem; }
   .srch_box{ padding:36px 30px; }
   .srch_input{ width:100%; max-width:400px; }
   .srch_tab1_btn{ font-size:1.8rem; height:56px; } 
   .srch_tab1_count{ font-size:1.6rem; } 
}

@media (max-width: 768px){
   .sub_page_tit{font-size: 2.8rem;}
   .sub_content_head{ flex-direction: column; align-items: flex-start; gap: 12px; padding-bottom: 24px; }
   .sub_fontsize{ margin-top: 0; }
   .convey_h3{font-size: 2rem;}
   /*카드뉴스*/
   .card_box{ padding: 20px 0; }
   .card_news_list{ gap: 32px 14px; } 
   .card_news_item{ width: calc((100% - 14px) / 2); } 
   .card_news_link{ width: 100%; max-height: none; } 
   .card_news_thumb, 
   .card_news_thumb_empty{ width: 100%; aspect-ratio: 310 / 420; border-radius: 16px; } 
   .card_news_info{ padding: 10px 2px 0; } 
   .card_news_tit{ font-size: 1.5rem; line-height: 1.45; } 
   .card_news_date{ margin-top: 6px; font-size: 1.4rem;}
   /*영상자료*/
   .video_box{ padding: 20px 0; } 
   .video_list{ gap: 24px 14px; } 
   .video_item{ width: calc((100% - 14px) / 2); } 
   .video_item:nth-child(3)::before{ width: calc(200% + 14px); } 
   .video_thumb{ border-radius: 16px; aspect-ratio: 300 / 176; } 
   .video_play{ width: 56px; height: 56px; border-width: 2px; } 
   .video_play::before{ border-top-width: 10px; border-bottom-width: 10px; border-left-width: 15px; } 
   .video_info{ padding: 10px 2px 0; } 
   .video_tit{ font-size: 1.5rem; line-height: 1.4; } 
   .video_date{ margin-top: 6px; font-size: 1.4rem; }
   /*검사실 인증자료*/
   .container02_01_02{ padding-top: 24px; } 
   .cert_aco_btn{ padding: 16px 10px; } 
   .cert_aco_tit{ padding-left: 20px; font-size: 1.7rem; } 
   .cert_aco_tit::before{ width: 11px; height: 13px; } 
   .cert_aco_panel{ padding-bottom: 18px; } 
   .cert_aco_inner{ padding: 24px 16px; } 
   .cert_aco_head_tit{ font-size: 1.5rem; } 
   .cert_aco_body{ padding: 16px; } 
   .cert_file_link{ width: calc((100% - 10px) / 2); font-size: 1.4rem; }
   .join_info_item{ gap:20px; padding:26px 0; } 
   .join_info_icon{ width:82px; height:82px; } 
   .join_info_icon img{ transform:scale(0.9); transform-origin:center center; } 
   .join_info_cont{ padding-top:2px; } .join_info_title{ font-size:1.85rem; } 
   .join_info_text{ margin-top:10px; font-size:1.5rem; line-height:1.7; } 
   .join_fee_list{ margin-top:10px; } 
   .join_fee_item{ flex:0 0 33.3333%; font-size:1.45rem; line-height:1.65; }
   .join_note_box{padding:20px;}
   .join_rule_item + .join_rule_item{ margin-top:24px; } 
   .join_rule_title{ font-size:1.7rem; } 
   .join_rule_text, 
   .join_rule_list > li, 
   .join_rule_sub_list > li{ font-size:1.5rem; line-height:1.8;}
   .join_btn_area{ gap:12px; }
   .join_btn{ min-width:160px; height:50px; font-size:1.5rem; }
   /*통계*/
   .stats_tabs{ display:flex; }
   .stats_tab{ width:auto; flex:1; min-width:0; font-size:1.5rem; padding:0 12px; flex:1 1 0;}
   /*관련링크*/
   .link_box .rel_link li{ width:calc((100% - 10px) / 2); }
   /*안내*/
   .guide_btn_wrap{ padding: 20px 18px; margin-top: 24px; }
   .guide_btn_inner{ flex-direction: column; align-items: stretch; gap: 16px; }
   .guide_btn_detail{ justify-content: center; width: 100%; padding: 0; font-size: 1.5rem; } 
   .guide_btn_links{ flex-direction: column; align-items: stretch; gap: 10px; width: 100%; }
   .guide_btn_link{ width: 100%; min-height: 52px; padding: 12px 16px; }
   .guide_btn_link_txt{ font-size: 1.5rem; }   
   .guide_box,
   .guide_box ~ .guide_box{ margin-top: 32px; }
   .guide_tit{ margin: 14px 0; font-size: 1.5rem; }
   .grey_box{ padding: 18px 16px; border-radius: 14px; }
   .grey_box_inner{ max-height: none; overflow: visible; padding-right: 0; }
   .grey_box_tit{ font-size: 1.65rem; line-height: 1.4; }
   .grey_box_subtit{ font-size: 1.5rem; line-height: 1.45; }
   .grey_box_desc{ margin-top: 16px; font-size: 1.4rem; line-height: 1.7; }
   .guide_role_box,
   .guide_role_box_type02,
   .guide_report_box,
   .guide_example_box{ padding: 16px; border-radius: 14px; }
   .guide_role_head{ display: block; margin-bottom: 14px; }
   .guide_role_head_item{ width: 100%; height: 38px; line-height: 36px; font-size: 1.4rem; }
   .guide_role_head_item + .guide_role_head_item{ margin-top: 8px; }
   .guide_role_flow{ flex-wrap: wrap; justify-content: center; gap: 12px 8px; }
   .guide_role_item{ flex: 0 0 calc(50% - 10px); }
   .guide_role_arrow{ flex: 0 0 100%; width: 100%; height: 20px; transform: rotate(90deg); }
   .guide_role_card{ height: auto; min-height: 180px; padding: 18px 10px 16px; }
   .guide_role_icon{ height: 58px; margin-bottom: 16px; }
   .guide_role_name{ font-size: 1.45rem; }
   .guide_role_desc{ font-size: 1.28rem; } 
   .guide_role_head_type02{ margin-bottom: 14px; } 
   .guide_role_head_type02 .guide_role_head_item{ width: 100%; max-width: none; height: 40px; line-height: 38px; } 
   .guide_role_flow_type02{ gap: 0; padding-bottom: 6px; } 
   .guide_role_flow_type02 .guide_role_item{ flex: 0 0 142px; width: 142px; } 
   .guide_role_card_type02{ min-height: 190px; height: auto; padding: 20px 10px 16px; } 
   .guide_role_name_type02{ font-size: 1.45rem; } 
   .guide_role_desc_type02{ font-size: 1.28rem; } 
   .guide_report_step + .guide_report_step{ margin-top: 10px; } 
   .guide_report_card{ flex-direction: column; align-items: stretch; gap: 14px; min-height: 0; padding: 16px; border-radius: 14px; } 
   .guide_report_head{ flex: none; width: 100%; min-height: 0; padding-right: 0; padding-bottom: 12px; border-right: 0; border-bottom: 1px solid #d7dce5; }          
   .guide_report_head_last{ padding-bottom: 0; border-bottom: 0; } 
   .guide_report_symbol{ flex: 0 0 48px; width: 48px; } 
   .guide_report_symbol_logo{ flex-basis: 66px; width: 66px; } 
   .guide_report_title_box{ flex: 1; } 
   .guide_report_step_num{ font-size: 1.3rem; } 
   .guide_report_step_tit{ margin-top: 4px; font-size: 1.45rem; }
   .guide_report_flow,
   .guide_report_flow_row,
   .guide_report_flow_row_query{ gap: 6px; }
   .guide_report_pill{ min-height: 30px; padding: 0 12px; font-size: 1.3rem; line-height: 1.3; }
   .guide_report_pill_short{ min-width: 58px; }
   .guide_report_pill_long{ padding: 0 14px; }
   .guide_report_query_label{ min-width: 100%; font-size: 1.3rem; margin-bottom: 2px; } 
   .guide_report_arrow{ width: 14px; } .guide_report_arrow img{ width: 10px; } 
   .guide_report_down{ height: 20px; margin: 2px 0; } 
   .guide_report_down img{ width: 12px; } 
   .guide_example_box{ margin-top: 24px; padding: 16px; } 
   .guide_example_head{ font-size: 1.5rem; padding: 13px 10px; } 
   .guide_example_body{ padding: 16px; } 
   .guide_example_body_single, 
   .guide_example_body_stack{ padding: 18px 16px; } 
   .guide_example_note{ margin-top: 16px; } 
   .guide_example_note li{ padding-left: 10px; font-size: 1.35rem; line-height: 1.6; }
   .guide_example_note li::before{ top: 9px; width: 3px; height: 3px; } 
   .guide_example_stack{ gap: 16px; }
   /*자주하는 질문*/
   .container03_02 .board_tabs_item{flex: auto;}
   .faq_aco{ margin-top: 24px; }
   .faq_aco_btn{ min-height: 68px;  gap: 14px; }
   .faq_ico{ width: 24px; height: 24px; }
   .faq_aco_q{ gap: 10px; }
   .faq_aco_q_text{ font-size: 1.6rem; line-height: 1.45; }
   .faq_aco_answer{ gap: 12px; min-height: auto; }
   .faq_aco_a_cont p{ font-size: 1.5rem; line-height: 1.8; }
   /*신고_write*/
   .decla_table,
   .decla_table tbody,
   .decla_table tr,
   .decla_table th,
   .decla_table td,
   .decla_select{ display: block; width: 100%; }
   .decla_table{ border-top: 2px solid #666; }
   .decla_table tr{ border-bottom: 1px solid #dbdbdb; }
   .decla_table th,
   .decla_table td{ border-bottom: 0; }
   .decla_table th{ padding: 12px 14px 8px; }
   .decla_table td{ padding:14px; }
   .decla_textarea{ min-height: 120px; }
   .decla_file_box{ flex-wrap: wrap; gap: 8px; }
   .decla_btn_box{ margin-top: 24px; }
   .decla_btn{ min-width: 100px; height: 42px; }
   /*협회장인사말*/
   .hello_box{ background-position: right top; }
   .hello_inner{ display: block; min-height: 0; padding: 24px 20px 0; } 
   .hello_text{ max-width: none; padding-bottom: 0; } 
   .hello_title{ font-size: 1.65rem; line-height: 1.55; } 
   .hello_desc{ margin-top: 14px; padding-bottom: 165px; } 
   .hello_desc p{ font-size: 1.4rem; line-height: 1.65; } 
   .hello_photo{ right: 8px; width: 180px; }
   .speech_box{ padding: 28px 0 0; } 
   .speech_desc{ font-size: 1.4rem; line-height: 1.8; } 
   .speech_desc + .speech_desc{ margin-top: 18px; } 
   .speech_right{ margin-top: 32px; } 
   .speech_subtit{ font-size: 1.4rem; line-height: 1.5; } 
   .speech_name{ margin-top: 10px; font-size: 2.5rem; letter-spacing: 1.6px; }
   /*연혁*/
   .history_tabs{ margin:30px 0 26px; }
   .history_tab{ min-height:52px; font-size:1.35rem; padding:0 8px; }
   .history_tab + .history_tab::before{ height:22px; }
   .history_box + .history_box{ margin-top:28px; }
   .history_year{ font-size:2.2rem; }
   .history_col_left .history_year,
   .history_col_right .history_year{ padding-left:42px; }
   .history_col_left .history_year::before,
   .history_col_right .history_year::before{ left:-2px; top:2px; width:36px; height:15px; background-size:36px 15px; }
   .history_date{ min-width:46px; font-size:1.45rem; }
   .history_txt{ font-size:1.35rem; line-height:1.58; }
   /*역대회장*/
   .president_list{ gap:16px; margin-top:32px; } 
   .president_photo_box{ width:170px; height:162px; } 
   .president_info{ margin-top:16px; } 
   .president_name{ font-size:2rem; } 
   .president_term_group{ flex-wrap:wrap; gap:10px 8px; margin-top:13px; } 
   .president_term_item{ width:72px; } 
   .president_badge{ width:72px; height:28px; font-size:1.35rem; } 
   .president_term{ margin-top:8px; font-size:1.3rem; line-height:1.38; }
   /*규정*/
   .prov_card_list{ gap:16px; } 
   .prov_card_item{ width:100%; } 
   .prov_card{ padding:34px 20px; min-height:auto; } 
   .prov_card_tit{ margin-top:32px; min-height:0; font-size:1.6rem; line-height:1.4; } 
   .prov_card_btn{ width:220px; height:48px; margin-top:32px; padding:0 28px; } 
   .prov_card_btn_txt{ font-size:1.5rem; }
   /*윤리강령*/
   .coe_box{ margin-top:32px; padding:8px; } 
   .coe_inner{ padding:12px; } 
   .coe_head_box{ padding:12px; } 
   .coe_head_inner{ min-height:250px; padding:28px 18px 24px; background-position:center top; background-size:100% 100%; } 
   .coe_head_mark{ width:136px; height:20px; margin:8px auto 12px; } 
   .coe_title{ font-size:2.35rem; line-height:1.3; } 
   .coe_title::after{ height:22px; margin-top:14px; } 
   .coe_desc{ margin-top:16px; font-size:1.4rem; line-height:1.65; } 
   .coe_list{ padding:0; margin-top:16px; } 
   .coe_item{ display:block; padding:16px 4px; } 
   .coe_num{ display:block; flex:none; font-size:1.38rem; line-height:1.5; } 
   .coe_text{ margin-top:6px; font-size:1.36rem; line-height:1.65; }
   /*임상병리사 소개*/
   .clinical_lab_intro{ margin-top:32px; } 
   .lab_intro_box{ gap:30px; } 
   .lab_intro_row{ display:block; } 
   .lab_intro_row + .lab_intro_row{ margin-top:30px; } 
   .lab_intro_img_box{ width:100%; max-width:420px; margin:0 auto 18px; } 
   .lab_intro_row .lab_intro_text_box + .lab_intro_img_box{ margin:18px auto 0; } 
   .lab_intro_tit{ font-size:1.75rem; } 
   .lab_intro_desc{ margin-top:12px; } 
   .lab_intro_desc p{ font-size:1.38rem; line-height:1.7; } 
   .lab_intro_desc p + p{ margin-top:9px; }
   /* 임상검사 */
   .clt_wrap{ margin-top:32px; padding-bottom:8px; } 
   .clt_table{ min-width:820px; } 
   .clt_table thead th{ padding:12px 12px; font-size:1.35rem; line-height:1.35; } 
   .clt_table tbody td{ padding:12px 12px; font-size:1.32rem; line-height:1.65; } 
   .clt_table tbody td p + p{ margin-top:3px; }
   /*진출분야*/
   .foe_wrap{ padding:36px 22px 240px; border-radius:16px; } 
   .foe_wrap::after{ right:50%; bottom:8px; width:320px; height:190px; transform:translateX(50%); background-position:center bottom; } 
   .foe_head{ text-align:center; } 
   .foe_tit{ font-size:3.2rem; line-height:1.28; } 
   .foe_tit span{ display:inline-block; } 
   .foe_desc{ margin-top:16px; font-size:1.5rem; line-height:1.7; } 
   .foe_body{ grid-template-columns:1fr; gap:14px; margin-top:28px; } 
   .foe_card, 
   .foe_card_wide{ grid-column:auto; } 
   .foe_card{ padding:22px 20px; } 
   .foe_card_title{ margin-bottom:10px; font-size:1.85rem; } 
   .foe_card_cont{ align-items:center; } 
   .foe_list li{ font-size:1.5rem; line-height:1.65; } 
   .foe_icon{ flex:0 0 72px; min-height:50px; } 
   .foe_icon img{ max-width:72px; }
   /*면허신고제*/
   .license_report{ margin-top:40px; } 
   .license_box ~ .license_box{ margin-top:40px; } 
   .license_head{ gap:10px; } 
   .license_badge{ display:inline-flex; width:auto; max-width:100%; min-height:34px; height:auto; padding:7px 14px; border-radius:8px; font-size:1.35rem; } 
   .license_report_box{ padding:18px 16px; border-radius:12px; } 
   .license_report_title{ font-size:1.45rem; } 
   .license_report_sub_title{ font-size:1.35rem; margin-bottom:10px; } 
   .license_report_list > li{ padding-left:18px; font-size:1.4rem; line-height:1.7; } 
   .license_step_box{ padding:18px 14px; border-radius:12px; } 
   .license_step_list{ display:block; } 
   .license_step_item{ flex:none; } 
   .license_step_item + .license_step_item{ margin-top:28px; } 
   .license_step_item:not(:last-child)::after{ left:50%; right:auto; top:auto; bottom:-20px; width:14px; height:14px; background:url("../images/sub/icon_next_level.png") no-repeat center; background-size:12px auto; transform:translateX(-50%) rotate(90deg); } 
   .license_step_card{ min-height:auto; padding:20px 14px 18px; border-radius:12px; } 
   .license_step_icon{ height:60px; margin-bottom:18px; } 
   .license_step_icon img{ max-height:60px; } 
   .license_step_num{ font-size:1.5rem; } 
   .license_step_text{ margin-top:10px; font-size:1.35rem; line-height:1.5; } 
   .license_condition_desc{ font-size:1.35rem; line-height:1.7; } 
   .license_condition_list{ margin-top:8px; } 
   .license_condition_list > li{ padding-left:14px; font-size:1.35rem; line-height:1.7; } 
   .license_condition_desc2{ margin-top:8px; padding-left:14px; } 
   .license_condition_desc2, 
   .license_condition_note{ font-size:1.2rem; line-height:1.65; } 
   .license_penalty_flow{ padding:18px 14px; border-radius:12px; } 
   .license_penalty_list{ display:block; } 
   .license_penalty_item + .license_penalty_item{ margin-top:28px; } 
   .license_penalty_item:not(:last-child)::after{ left:50%; right:auto; top:auto; bottom:-20px; width:14px; height:14px; transform:translateX(-50%) rotate(90deg); } 
   .license_penalty_card{ min-height:auto; padding:20px 14px 18px; border-radius:12px; } 
   .license_penalty_icon{ margin-bottom:10px; } 
   .license_penalty_icon img{ max-width:68px; } 
   .license_penalty_text{ font-size:1.3rem; line-height:1.55; } 
   .license_recover_text{ display:block; margin-top:14px; } 
   .license_recover_text .license_badge, 
   .license_recover_desc{ display:block; } 
   .license_recover_desc{ margin-top:8px; font-size:1.4rem; line-height:1.65; } 
   .license_recover_text .license_badge_long{ margin-top:8px; } 
   .license_btn_box{ flex-direction:column; gap:10px; margin-top:20px; } 
   .license_btn{ width:100%; height:56px; padding:0 16px; font-size:1.4rem; } 
   .license_btn_ico{ width:15px; height:13px; } 
   .license_btn_ico img{ width:15px; height:13px; }
   /*배출대학*/
   .college_box{ margin-top: 32px; } 
   .college_wrap{ margin-top: 16px; padding-bottom: 8px; } 
   .college_table{ min-width: 820px; } 
   .college_table th, 
   .college_table td{ padding: 12px 10px; font-size: 1.35rem; line-height: 1.5; } 
   .college_table thead th{ font-size: 1.3rem; line-height: 1.35; }
   /*전문임상병리사제도*/
   .sclts_box{ margin-top: 32px; } 
   .sclts_intro_inner{ padding-top: 0; } 
   .sclts_intro_thumb{ position: static; width: 100%; max-width: 420px; height: auto; aspect-ratio: 1 / 1; margin: 0 auto; border-radius: 16px; } 
   .sclts_intro_panel{ margin: -18px 0 0; padding: 34px 20px 22px; border-radius: 16px; } 
   .sclts_intro_tit{ font-size: 1.8rem; } 
   .sclts_intro_desc{ margin-top: 16px; } 
   .sclts_intro_desc p{ font-size: 1.38rem; line-height: 1.75; } 
   .sclts_intro_desc p + p{ margin-top: 16px; }
   /*구인정보*/
   .function_search_box{ padding: 16px 14px; border-radius: 12px; } 
   .function_search_row + .function_search_row{ margin-top: 16px; } 
   .function_search_label{ margin-bottom: 8px; font-size: 1.4rem; } 
   .function_search_chip_box{ gap: 6px; } 
   .function_search_chip{ flex: 0 0 calc((100% - 12px) / 3); } 
   .function_search_chip_txt{ width: 100%; min-width: 0; height: 36px; padding: 0 8px; font-size: 1.25rem; } 
   .function_search_check_box, 
   .function_search_radio_box{ gap: 12px 14px; } 
   .function_search_check, .function_search_radio{ gap: 6px; } 
   .function_search_check_txt, .function_search_radio_txt{ font-size: 1.35rem; } 
   .function_search_keyword{ display: block; } 
   .function_search_select{ width: 100%; height: 40px; margin-bottom: 8px; font-size: 1.3rem; } 
   .function_search_input{ width: 100%; height: 40px; font-size: 1.3rem; } 
   .function_search_btn_box{ gap: 8px; margin-top: 16px; } 
   .function_search_btn{ min-width: 110px; height: 38px; padding: 0 12px; font-size: 1.35rem; } 
   .function_search_btn_ico{ width: 14px; height: 14px; }
   .job_tit{display: block}
   .job_info_table tr.job_info_line th,
   .job_info_table tr.job_info_line td{ border-top:0; }
   /*구직정보 view*/
   .job_btn_box{ margin-top:32px; } 
   .job_btn_list{ width:140px; height:54px; font-size:1.5rem; }
   /*구직정보_write*/
   .job_box{ margin-top:40px; }
   .job_tit{ display:block; }
   .job_tit_left{ display:block; }
   .job_tit_left p{ margin-top:8px; font-size:1.4rem; }
   .job_tit_right{ margin-top:8px; text-align:right; }
   .job_write_table,
   .job_write_table colgroup,
   .job_write_table tbody,
   .job_write_table tr,
   .job_write_table th,
   .job_write_table td{ display:block; width:100%; }
   .job_write_table{ border-top:1px solid #2a4ea4; }
   .job_write_table tr{ border-bottom:1px solid #dbdbdb; }
   .job_write_table th,
   .job_write_table td{ border-right:0; border-bottom:0; text-align:left; }
   .job_write_table th{ padding:12px 14px 8px; background:#f2f5fb; font-size:1.4rem; line-height:1.45; }
   .job_write_table td{ padding:0 14px 14px; font-size:1.4rem; }
   .job_write_table tr.job_write_line th,
   .job_write_table tr.job_write_line td{ border-top:0; }
   .job_write_table tr.job_write_start th,
   .job_write_table tr.job_write_start ~ tr th{ background:#f8f8f8; }
   .job_inline_field{ display:block; }
   .job_inline_field .job_form_input{ width:100%; max-width:none; flex:none; }
   .job_inline_text{ display:block; margin-top:8px; white-space:normal; font-size:1.35rem; } 
   .job_form_select, 
   .job_form_input_short{ width:100%; max-width:none; } 
   .job_form_input, 
   .job_form_select{ height:40px; font-size:1.35rem; } 
   .job_form_textarea{ min-height:90px; font-size:1.35rem; } 
   .job_form_textarea_lg{ min-height:140px; } 
   .job_write_btn_box{ gap:8px; margin-top:28px; } 
   .job_write_btn{ min-width:120px; height:48px; font-size:1.45rem; }
   .job_file_top{ flex-wrap:wrap; gap:8px 10px; } 
   .job_file_note{ width:100%; }
   /*로그인*/
   .login_box{ margin-top:24px; } 
   .login_desc{ padding-bottom:28px; font-size:1.6rem; line-height:1.65; } 
   .login_form_box{ margin-top:30px; } 
   .login_form_row{ display:block; } 
   .login_form_row + .login_form_row{ margin-top:18px; } 
   .login_label{ display:block; margin-bottom:8px; font-size:1.45rem; } 
   .login_field{ width:100%; } 
   .login_input{ height:48px; padding:0 14px; font-size:1.35rem; } 
   .login_option_row{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-top:16px; padding-left:0; flex-wrap:wrap; } 
   .login_check_label{ gap:7px; } 
   .login_check_mark{ width:20px; height:20px; } 
   .login_check_mark::after{ left:5px; top:2px; width:6px; height:10px; } 
   .login_check_txt{ font-size:1.4rem; } 
   .login_error_text{ width:100%; font-size:1.3rem; text-align:left; } 
   .login_btn_box{ margin-top:32px; } 
   .login_btn{ height:54px; font-size:1.6rem; border-radius:8px; } 
   .login_btn + .login_btn{ margin-top:12px; } 
   .login_link_box{ gap:12px; margin-top:22px; } 
   .login_link{ font-size:1.35rem; }
   /*회원가입*/
   .member_step_box{ margin-bottom:36px; } 
   .member_step_list{ display:flex; flex-wrap:wrap; justify-content:center; gap:18px 10px; } 
   .member_step_item{ flex:0 0 calc((100% - 20px) / 3); width:calc((100% - 20px) / 3); display:block; text-align:center; } 
   .member_step_item::before, 
   .member_step_item.is_active::after{ display:none; } 
   .member_step_circle{ width:56px; height:56px; margin:0 auto; } 
   .member_step_circle img{ transform:scale(.86); transform-origin:center center; } 
   .member_step_txt{ margin-top:9px; } 
   .member_step_txt .step{ font-size:1.1rem; line-height:1.2; } 
   .member_step_txt .tit{ margin-top:3px; font-size:1.35rem; line-height:1.35; } 
   .member_step_item.is_active{ position:relative; }
   .member_step_item.is_active .member_step_circle{ box-shadow:0 0 0 4px rgba(42,78,164,0.10); }
   .last_step_box{ padding:44px 0 60px; }
   .last_step_msg{ font-size:2.2rem; margin-top:22px; }
   .last_step_name{ font-size:2.4rem; }
   .last_step_btns{ margin-top:60px; }
   .member_join_card_box{ margin-top:28px; } 
   .member_join_card_list{ gap:14px; } 
   .member_join_card_item{ width:100%; } 
   .member_join_card{ min-height:0; padding:30px 20px 24px; border-radius:14px; } 
   .member_join_icon{ min-height:68px; } 
   .member_join_icon img{ transform:scale(.85); transform-origin:center center; } 
   .member_join_card_tit{ margin-top:18px; font-size:1.9rem; } 
   .member_join_card_txt{ min-height:0; margin-top:12px; font-size:1.4rem; line-height:1.6; } 
   .member_join_btn{ max-width:220px; height:44px; margin-top:24px; padding:0 16px 0 18px; } 
   .member_join_btn_txt{ font-size:1.4rem; } 
   .member_join_btn_ico{ width:13px; height:16px; } 
   .member_join_btn_ico img{ width:13px; height:16px; }
   .agree_box{ margin-top:10px; } 
   .agree_desc{ font-size:2rem; line-height:1.45; } 
   .agree_all_box{ margin-top:28px; padding:16px 14px; border-radius:12px; } 
   .agree_section{ margin-top:34px; } 
   .agree_scroll_box{ margin-top:14px; padding:8px; } 
   .agree_scroll_inner{ height:112px; padding:14px; } 
   .agree_scroll_inner p{ font-size:1.35rem; line-height:1.7; } 
   .agree_item_check{ margin-top:12px; } 
   .agree_check_mark{ flex:0 0 20px; width:20px; height:20px; } 
   .agree_check_mark::after{ left:5px; top:2px; width:6px; height:10px; } 
   .agree_check_txt{ font-size:1.4rem; line-height:1.5; } 
   .agree_btn_box{ margin-top:40px; } 
   .agree_btn_next{ min-width:100px; height:46px; font-size:1.5rem; }
   /*회원가입 본인인증*/
   .certi_box{ margin-top:40px; } 
   .certi_desc{ font-size:1.85rem; line-height:1.5; } 
   .certi_card_box{ margin-top:28px; } 
   .certi_card_list{ gap:14px; } 
   .certi_card_item{ width:100%; } 
   .certi_card{ padding:30px 20px 24px; border-radius:14px; } 
   .certi_icon_circle{ width:110px; height:110px; } 
   .certi_icon_circle img{ transform:scale(.82); transform-origin:center center; } 
   .certi_card_tit{ margin-top:18px; font-size:1.9rem; } 
   .certi_card_txt{ min-height:0; margin-top:12px; font-size:1.35rem; line-height:1.6; } 
   .certi_btn{ width:190px; height:44px; margin-top:20px; padding:0 14px 0 16px; border-radius:6px; } 
   .certi_btn_txt{ font-size:1.35rem; } 
   .certi_btn_ico img{ transform:scale(.9); transform-origin:center center; }
   /*회원가입-회원정보입력*/
   .member_info_section_head{ flex-wrap:wrap; gap:8px; }
   .member_pw_group{ flex-direction:column; align-items:flex-start; gap:6px; }
   .member_pw_input{ width:100%; max-width:280px; }
   .member_dup_btn{ height:36px; font-size:1.35rem; }
   .member_addr_desc{ font-size:1.3rem; margin-bottom:6px; }
   /*회원가입-학력정보*/
   .edu_info_section{ margin-top:20px; }
   .edu_info_section_head{ flex-wrap:wrap; gap:8px; }
   .edu_info_head_left{ flex-direction:column; align-items:flex-start; gap:6px; }
   .edu_info_head_desc{ font-size:1.3rem; }
   .edu_major_group{ flex-direction:column; align-items:flex-start; gap:8px; }
   .edu_info_btn_box{ margin-top:32px; }
   .edu_info_submit_btn{ min-width:120px; height:52px; font-size:1.55rem; }
   /* 아이디찾기 인증 선택 */
   .id_found_box{ margin-top:34px; } 
   .id_tit_zone{ padding:0 8px; } 
   .id_fit_tit{ font-size:2rem; line-height:1.4; } 
   .id_fit_subtit{ margin-top:10px; font-size:1.4rem; line-height:1.6; } 
   .id_found_list{ gap:12px; margin-top:28px; } 
   .id_found_item{ width:calc((100% - 12px) / 2); } 
   .id_found_card{ min-height:200px; padding:18px 14px 22px; border-radius:16px; } 
   .id_found_check_circle{ left:16px; top:16px; width:24px; height:24px; } 
   .id_found_check_circle::after{ width:7px; height:10px; border-right:2px solid #2a4ea4; border-bottom:2px solid #2a4ea4; } 
   .id_found_icon_circle{ width:82px; height:82px; margin-top:8px; } 
   .id_found_icon_circle img{ transform:scale(.82); transform-origin:center center; } 
   .id_found_tit{ margin-top:18px; font-size:1.7rem; line-height:1.35; word-break:keep-all; } 
   .id_fit_btn_box{ margin-top:28px; } 
   .id_fit_btn{ width:130px; height:48px; font-size:1.4rem; border-radius:6px; }
   .id_auth_box{ margin-top:28px; } 
   .id_auth_inner{ padding:28px 20px; border-radius:16px; } 
   .id_auth_title{ font-size:1.7rem; line-height:1.4; } 
   .id_auth_desc{ margin-top:8px; padding-bottom:20px; font-size:1.35rem; line-height:1.6; } 
   .id_auth_form{ padding:24px 0 0; } .id_auth_row{ display:block; } 
   .id_auth_row + .id_auth_row{ margin-top:16px; } 
   .id_auth_label{ display:block; flex:none; margin-bottom:8px; font-size:1.4rem; } 
   .id_auth_field{ width:100%; } 
   .id_auth_field_btn{ display:flex; flex-direction:column; align-items:stretch; gap:8px; } 
   .id_auth_input{ height:44px; padding:0 12px; font-size:1.35rem; } 
   .id_auth_btn{ width:100%; flex:none; height:44px; font-size:1.35rem; }
   /*팝업*/
   .spam_popup_dialog{ width:calc(100vw - 20px); max-height:calc(100vh - 20px); border-radius:18px; } 
   .spam_popup_inner{ padding:26px 16px 22px; max-height:calc(100vh - 20px); } 
   .spam_popup_close{ right:10px; top:10px; width:40px; height:40px; background-size:14px 14px; } 
   .spam_popup_head_img{ width:90px; margin-top:16px; } 
   .spam_popup_title{ font-size:2.1rem; padding-bottom:4px; } 
   .spam_popup_title_desc{ margin-top:14px; font-size:1.45rem; } 
   .spam_popup_intro{ margin-top:16px; } 
   .spam_popup_intro p{ font-size:1.4rem; line-height:1.65; } 
   .spam_popup_method{ margin-top:28px; } 
   .spam_popup_method_tit{ font-size:1.75rem; padding-bottom:4px; } 
   .spam_telecom_list{ gap:10px; margin-top:20px; } 
   .spam_telecom_item{ padding:16px 12px 12px; } 
   .spam_telecom_logo{ height:56px; } 
   .spam_telecom_logo img{ max-height:34px; width:auto; } 
   .spam_telecom_btn{ height:40px; margin-top:12px; padding:0 14px; border-radius:5px; } 
   .spam_telecom_btn_txt{ font-size:1.25rem; } 
   .spam_telecom_btn_ico{ flex:0 0 13px; width:13px; height:13px; } 
   .spam_popup_note{ font-size:1.25rem; line-height:1.55; } 
   .spam_popup_check_box{ margin-top:20px; padding:16px 12px; } 
   .spam_popup_check_text{ display:block; text-align:center; } 
   .spam_left, 
   .spam_right{ display:flex; align-items:center; justify-content:center; } 
   .spam_right{ margin-top:8px; gap:8px; } 
   .spam_popup_check_text_default, 
   .spam_popup_check_text_point{ font-size:1.4rem; line-height:1.5; } 
   .spam_popup_check_mark{ width:22px; height:22px; flex:0 0 22px; } 
   .spam_popup_check_mark::after{ left:6px; top:2px; width:6px; height:10px; } 
   .spam_popup_btn_box{ margin-top:20px; } 
   .spam_popup_btn{ width:130px; height:50px; font-size:1.4rem; } 
   /*마이페이지*/
   .fee_status_table_wrap,
   .mypage_edu_table_wrap{ overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
   .fee_status_table_wrap .info_table,
   .fee_status_table_wrap .info_table colgroup,
   .fee_status_table_wrap .info_table thead,
   .fee_status_table_wrap .info_table tbody,
   .fee_status_table_wrap .info_table tr,
   .fee_status_table_wrap .info_table th,
   .fee_status_table_wrap .info_table td,
   .mypage_edu_table_wrap .info_table,
   .mypage_edu_table_wrap .info_table colgroup,
   .mypage_edu_table_wrap .info_table thead,
   .mypage_edu_table_wrap .info_table tbody,
   .mypage_edu_table_wrap .info_table tr,
   .mypage_edu_table_wrap .info_table th,
   .mypage_edu_table_wrap .info_table td{ width:auto; }
   .fee_status_table_wrap .info_table{ display:table; min-width:760px; table-layout:fixed; }
   .fee_status_table_wrap .info_table colgroup{ display:table-column-group; }
   .fee_status_table_wrap .info_table thead{ display:table-header-group; }
   .fee_status_table_wrap .info_table tbody{ display:table-row-group; }
   .fee_status_table_wrap .info_table tr{ display:table-row; }
   .fee_status_table_wrap .info_table th,
   .fee_status_table_wrap .info_table td{ display:table-cell; white-space:nowrap; }
   /* 협회비 정기납부 현황 테이블 */
   .fee_regular_table_wrap .info_table{ display:table; min-width:700px; table-layout:fixed; }
   .fee_regular_table_wrap .info_table colgroup{ display:table-column-group; }
   .fee_regular_table_wrap .info_table thead{ display:table-header-group; }
   .fee_regular_table_wrap .info_table tbody{ display:table-row-group; }
   .fee_regular_table_wrap .info_table tr{ display:table-row; }
   .fee_regular_table_wrap .info_table th,
   .fee_regular_table_wrap .info_table td{ display:table-cell; white-space:nowrap; } 
   .mypage_edu_table_wrap .info_table{ display:table; table-layout:fixed; } 
   .mypage_edu_table_wrap .info_table colgroup{ display:table-column-group; } 
   .mypage_edu_table_wrap .info_table thead{ display:table-header-group; } 
   .mypage_edu_table_wrap .info_table tbody{ display:table-row-group; } 
   .mypage_edu_table_wrap .info_table tr{ display:table-row; } 
   .mypage_edu_table_wrap .info_table th, 
   .mypage_edu_table_wrap .info_table td{ display:table-cell; white-space:nowrap; } 
   .mypage_edu_year_table{ min-width:980px; } 
   .mypage_edu_need_table{ min-width:760px; } 
   .mypage_edu_course_table{ min-width:760px; } 
   .mypage_edu_complete_table, 
   .mypage_edu_offline_table{ min-width:900px; } 
   .mypage_edu_cancel_table{ min-width:820px; }
   .container08_01_top{ margin-top:30px; } 
   .container08_01_btn_box{ flex-direction:column; gap:8px; } 
   .mypage_btn_logo img{ height:28px; } 
   .container08_01_head{ flex-direction:column; align-items:flex-start; gap:10px; margin:35px 0 10px; } 
   .btn_myinfo_print{ align-self:flex-end; } 
   .mypage_license_notice{ padding-top:12px; } 
   .mypage_license_notice_text{ font-size:1.4rem; line-height:1.6; } 
   .mypage_license_notice_btn{ width:100%; max-width:260px; min-width:0; height:40px; } 
   .license_zone{ margin-top:35px; } 
   .license_info_box{ padding:18px 16px; } 
   .license_info_list li{ font-size:1.4rem; line-height:1.6; } 
   .license_calc_box{ padding:20px 16px; } 
   .license_calc_form{ grid-template-columns:1fr; gap:14px; } 
   .license_calc_label{ margin-bottom:8px; font-size:1.35rem; line-height:1.45; } 
   .license_calc_select{ height:42px; font-size:1.4rem; } 
   .license_calc_btn{ height:42px; font-size:1.4rem; border-radius:6px; } 
   .license_calc_result{ margin-top:16px; } 
   .license_calc_result_label{ padding:16px 16px 8px; font-size:1.4rem; } 
   .license_calc_result_score{ gap:8px; flex-wrap:wrap; padding:4px 16px 16px; } 
   .license_calc_result_score strong{ font-size:2.4rem; margin-right:0; } 
   .license_calc_result_score span{ font-size:1.4rem; line-height:1.5; } 
   .license_calc_notice{ margin-top:18px; } 
   .license_calc_notice_text{ font-size:1.4rem; line-height:1.6; } 
   .license_calc_notice_text::before{ width:24px; height:24px; background-size:24px auto; } 
   .license_calc_link_row{ font-size:1.4rem; line-height:1.6; } 
   .license_calc_link{ font-size:1.4rem; } 
   .license_calc_note_row{ margin-top:10px; } 
   .license_calc_note, .license_calc_path{ font-size:1.3rem; line-height:1.5; } 
   .license_calc_path{ padding:6px 12px; border-radius:20px; } 
   .fee_status_box{ margin-top:45px; } 
   .fee_status_desc, .mypage_edu_desc{ width:100%; padding-top:0; font-size:1.3rem; }
   .fee_status_more{ min-width:68px; height:28px; padding:0 9px; } 
   .fee_status_more_text{ font-size:1.2rem; } 
   .fee_status_more_icon{ font-size:1.6rem; } 
   .fee_status_btn{ min-width:64px; height:24px; padding:0 8px; font-size:1.2rem; } 
   .mypage_edu_history{ margin-top:40px; } 
   .mypage_edu_section + .mypage_edu_section{ margin-top:40px; } 
   .mypage_edu_help li{ font-size:1.3rem; line-height:1.6; } 
   .mypage_edu_table_wrap .info_table th, 
   .mypage_edu_table_wrap .info_table td{ padding:10px 8px; font-size:1.35rem; line-height:1.4; }
   .mypage_edu_year_note, 
   .mypage_edu_year_bote{ font-size:1.1rem; } 
   .edu_flex{ justify-content:center; gap:2px; }
   /*결제내역*/
   .container08_02{ margin-top: 30px; }
   .pay_filter{ flex-wrap: wrap; gap: 10px; padding: 16px 0; }
   .pay_filter_selects{ width: 100%; justify-content: flex-end; }
   .pay_select{ width: 130px; height: 40px; font-size: 1.35rem; }
   /*협회비 납부 안내 패널*/
   .fee_guide_head{ align-items:flex-start; flex-wrap:wrap; gap:8px 10px; }
   .fee_guide_status_head{ align-items:flex-start; flex-wrap:wrap; gap:8px 10px; }
   .fee_pay_card_inner{ padding:20px; gap:16px; }
   .fee_pay_card_icon img{ width:54px; }
   .fee_pay_card_title{ font-size:1.55rem; }
   .fee_pay_card_btn{ min-width:100px; height:42px; padding:0 16px; font-size:1.4rem; }
   .fee_guide_status_box,
   .fee_regular_status_box{ margin-top:26px; }
   /*협회비 정기납부 안내 페이지 (pay01)*/
   .container08_02_pay01{ margin-top:30px; }
   .fee_apply_card_inner{ gap:14px; padding:20px 22px; }
   .fee_apply_card_title{ font-size:1.65rem; }
   .fee_apply_card_btn{ height:44px; padding:0 18px; font-size:1.45rem; gap:8px; }
   /*협회비 정기납부 상세정보 페이지 (pay03)*/
   .container08_02_pay03{ margin-top:30px; }
   .fee_pay03_section_head{ gap:8px; }
   .fee_pay03_total{ font-size:1.4rem; }
   .fee_pay03_btn{ min-width:120px; height:52px !important; font-size:1.5rem; }
   /*협회비 연회비 납부 회원목록 페이지 (pay07)*/
   .container08_02_pay07{ margin-top:30px; }
   .fee_pay07_search_input{ height:42px; font-size:1.4rem; }
   .fee_pay07_search_btn{ height:42px; padding:0 18px; font-size:1.4rem; }
   .fee_pay07_notice_list > li{ font-size:1.35rem; }
   .fee_pay07_section{ margin-top:26px; }
   .fee_pay07_section_head{ gap:8px; }
   .fee_pay07_total{ font-size:1.4rem; }
   .fee_pay07_btn{ min-width:120px; height:52px !important; font-size:1.5rem; }
   /*협회비 연회비 납부 결제방법 페이지 (pay08)*/
   .container08_02_pay08{ margin-top:30px; }
   .fee_pay08_method_section{ margin-top:26px; }
   .fee_pay08_method_options{ flex-direction:column; }
   .fee_pay08_radio_label{ padding:14px 18px; justify-content:flex-start; border-top:1px solid #2a4ea4; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; border-left:1px solid #dbdbdb; }
   .fee_pay08_radio_label:not(:first-of-type){ border-top:0; }
   .fee_pay08_radio_txt{ font-size:1.4rem; }
   .fee_pay08_btn{ min-width:120px; height:52px !important; font-size:1.5rem; }
   /*협회비 정기납부 결제방법 페이지 (pay04)*/
   .container08_02_pay04{ margin-top:30px; }
   .fee_pay04_method_section{ margin-top:26px; }
   .fee_pay04_guide_box{ gap:14px; padding:16px 18px; }
   .fee_pay04_guide_txt{ font-size:1.35rem; }
   .fee_pay04_total_box{ padding:16px 20px; margin-top:24px; }
   .fee_pay04_total_label{ font-size:1.45rem; }
   .fee_pay04_total_price{ font-size:1.6rem; }
   /*협회비 연회비 납부 페이지 (pay05)*/
   .container08_02_pay05{ margin-top:30px; }
   .fee_pay05_status_box{ margin-top:26px; }
   .fee_pay05_status_head{ gap:8px; }
   .fee_pay05_status_desc{ font-size:1.3rem; }
   /*협회비 정기납부 페이지 (pay02)*/
   .container08_02_pay02{ margin-top:30px; }
   /*협회비 연회비 납부 회원정보 페이지 (pay06)*/
   .container08_02_pay06{ margin-top:30px; }
   .fee_regular_guide_box{ padding:24px 20px; border-radius:12px; }
   .fee_regular_guide_item{ font-size:1.4rem; gap:10px; }
   .fee_regular_guide_item::before{ margin-top:8px; }
   .fee_regular_section{ margin-top:34px; }
   .fee_regular_btn_box{ margin-top:34px; gap:8px; }
   .fee_regular_btn{ height:48px; padding:0 24px; font-size:1.5rem; }
   /*보수교육 면제 신청 안내*/
   .container08_05_01{ margin-top:24px; }
   /*신청결과 확인*/
   .container08_05_02{ margin-top:30px; }
   .exempt_result_search_bar{ flex-direction:column; align-items:flex-start; gap:10px; }
   .exempt_result_search_form{ width:100%; }
   .exempt_result_search_form fieldset{ flex-direction:column; gap:8px; }
   .container08_05_02 .exempt_result_select,
   .container08_05_02 .exempt_result_select:nth-of-type(1){ min-width:0; width:100%; }
   .container08_05_02 .edu_search_btn{ width:100%; border-radius:5px; }
   .exempt_result_btn_box{ gap:10px; }
   .exempt_result_btn{ min-width:160px; height:50px; font-size:1.5rem; }
   /* info_table 블록 변환 리셋 → 가로 스크롤 유지 */
   .exempt_result_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
   /* 팝업 내 info_table 블록 변환 리셋 */
   .fee_exempt_popup_table_wrap .info_table{ display:table; width:100%; border-left:1px solid #dbdbdb; }
   .fee_exempt_popup_table_wrap .info_table colgroup{ display:table-column-group; width:auto; }
   .fee_exempt_popup_table_wrap .info_table thead{ display:table-header-group; width:auto; }
   .fee_exempt_popup_table_wrap .info_table tbody{ display:table-row-group; width:auto; }
   .fee_exempt_popup_table_wrap .info_table tr{ display:table-row; width:auto; border-bottom:none; }
   .fee_exempt_popup_table_wrap .info_table th,
   .fee_exempt_popup_table_wrap .info_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; }
   .fee_exempt_popup_table_wrap .info_table th{ padding:12px 10px; font-size:1.35rem; }
   .fee_exempt_popup_table_wrap .info_table td{ padding:12px 10px; font-size:1.35rem; }
   /* 팝업 반응형 768px */
   .fee_exempt_popup_dialog{ border-radius:16px; }
   .fee_exempt_popup_inner{ padding:40px 24px 28px; }
   .fee_exempt_popup_title{ font-size:1.8rem; }
   .fee_exempt_popup_icon img{ height:64px; }
   .fee_exempt_popup_desc{ padding:0 10px; font-size:1.35rem; }
   .fee_exempt_popup_dl{ padding:0 10px; }
   .fee_agree_role{ padding:20px 0; }
   .fee_exempt_agree_box{ gap:16px; flex-wrap:wrap; }
   .fee_exempt_form_h2{ font-size:1.55rem; }
   .fee_exempt_form_select{ min-width:0; width:100%; }
   .fee_exempt_popup_btn{ min-width:100px; height:44px; font-size:1.45rem; }
   .exempt_result_table_wrap .info_table{ display:table; width:100%; border-left:1px solid #dbdbdb; }
   .exempt_result_table_wrap .info_table colgroup{ display:table-column-group; width:auto; }
   .exempt_result_table_wrap .info_table thead{ display:table-header-group; width:auto; }
   .exempt_result_table_wrap .info_table tbody{ display:table-row-group; width:auto; }
   .exempt_result_table_wrap .info_table tr{ display:table-row; width:auto; border-bottom:none; }
   .exempt_result_table_wrap .info_table th,
   .exempt_result_table_wrap .info_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; text-align:center; }
   .exempt_result_table_wrap .info_table th{ padding:12px 10px; font-size:1.4rem; background:#f2f5fb; }
   .exempt_result_table_wrap .info_table td{ padding:12px 10px; font-size:1.4rem; }
   .edu_exempt_banner{ flex-direction:column; align-items:flex-start; gap:12px; padding:14px 18px; }
   .edu_exempt_banner_right{ width:100%; }
   .edu_exempt_apply_btn{ flex:1; justify-content:center; }
   .edu_exempt_title_block{ padding:24px 0 28px; }
   .edu_exempt_title_sub{ font-size:1.8rem; gap:6px; }
   .edu_exempt_title_main{ font-size:1.9rem; }
   .edu_exempt_section{ margin-top:36px; }
   .edu_exempt_subtabs{ flex-wrap:wrap; }
   .edu_exempt_subtab{ width:calc(50% - 1px); font-size:1.3rem; }
   .edu_exempt_subtab_panel{ padding:14px; }
   .edu_exempt_step_num{ font-size:1.7rem; width:50px; flex:0 0 50px; min-height:54px; }
   .edu_exempt_step_cont{ padding:12px 16px; }
   .edu_exempt_step_txt{ font-size:1.4rem; }
   /*연도별 보수교육 이수확인서*/
   .container08_04_03{ margin-top:30px; }
   .mypage_edu_year_cert_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
   .mypage_edu_year_cert_wrap .info_table{ display:table; min-width:500px; border-left:1px solid #dbdbdb; }
   .mypage_edu_year_cert_wrap .info_table colgroup{ display:table-column-group; }
   .mypage_edu_year_cert_wrap .info_table thead{ display:table-header-group; }
   .mypage_edu_year_cert_wrap .info_table tbody{ display:table-row-group; }
   .mypage_edu_year_cert_wrap .info_table tr{ display:table-row; border-bottom:0; }
   .mypage_edu_year_cert_wrap .info_table th,
   .mypage_edu_year_cert_wrap .info_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; text-align:center; }
   /*금년도 보수교육 이수확인서*/
   .container08_04_02{ margin-top:30px; }
   .mypage_edu_online_table_wrap,
   .mypage_edu_offline2_table_wrap,
   .mypage_edu_external_table_wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
   .mypage_edu_online_table_wrap .info_table,
   .mypage_edu_offline2_table_wrap .info_table,
   .mypage_edu_external_table_wrap .info_table{ display:table; min-width:560px; border-left:1px solid #dbdbdb; }
   .mypage_edu_online_table_wrap .info_table colgroup,
   .mypage_edu_offline2_table_wrap .info_table colgroup,
   .mypage_edu_external_table_wrap .info_table colgroup{ display:table-column-group; }
   .mypage_edu_online_table_wrap .info_table thead,
   .mypage_edu_offline2_table_wrap .info_table thead,
   .mypage_edu_external_table_wrap .info_table thead{ display:table-header-group; }
   .mypage_edu_online_table_wrap .info_table tbody,
   .mypage_edu_offline2_table_wrap .info_table tbody,
   .mypage_edu_external_table_wrap .info_table tbody{ display:table-row-group; }
   .mypage_edu_online_table_wrap .info_table tr,
   .mypage_edu_offline2_table_wrap .info_table tr,
   .mypage_edu_external_table_wrap .info_table tr{ display:table-row; border-bottom:0; }
   .mypage_edu_online_table_wrap .info_table th,
   .mypage_edu_offline2_table_wrap .info_table th,
   .mypage_edu_external_table_wrap .info_table th,
   .mypage_edu_online_table_wrap .info_table td,
   .mypage_edu_offline2_table_wrap .info_table td,
   .mypage_edu_external_table_wrap .info_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; text-align:center; }
   /*이수 시간 확인*/
   .container08_04_01{ margin-top:30px; }
   .edu_search_bar{ flex-direction:column; align-items:flex-start; gap:10px; padding:14px 16px; }
   .edu_search_input{ flex:0 0 220px; width:220px; }
   .edu_ebs_table{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
   .edu_ebs_table .info_table,
   .edu_ebs_table .info_table colgroup,
   .edu_ebs_table .info_table tbody,
   .edu_ebs_table .info_table tr,
   .edu_ebs_table .info_table th,
   .edu_ebs_table .info_table td{ display:revert; width:auto; }
   .edu_ebs_table .info_table{ display:table; min-width:620px; border-left:1px solid #dbdbdb; }
   .edu_ebs_table .info_table colgroup{ display:table-column-group; }
   .edu_ebs_table .info_table thead{ display:table-header-group; }
   .edu_ebs_table .info_table tbody{ display:table-row-group; }
   .edu_ebs_table .info_table tr{ display:table-row; border-bottom:0; }
   .edu_ebs_table .info_table th,
   .edu_ebs_table .info_table td{ display:table-cell; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; text-align:center; }
   /*장바구니*/
   .container08_03{ margin-top:30px; }
   .cart_table{ min-width:540px; }
   .cart_course_name{ font-size:1.4rem; }
   .cart_course_meta li{ font-size:1.3rem; }
   .cart_period_apply{ font-size:1.35rem; }
   .cart_period_edu_link{ font-size:1.3rem; }
   .cart_price_label{ font-size:1.3rem; }
   .cart_price_val{ font-size:1.4rem; }
   .cart_btn_pay{ padding:0 24px; font-size:1.45rem; }
   /*개인정보변경 본인확인*/
   .container08_10_01{ margin-top:30px; }
   .personal_check_notice{ gap:14px; padding:16px 18px; }
   .personal_check_notice_icon{ height:54px; }
   .personal_check_notice_list li{ font-size:1.4rem; }
   .personal_check_card{ padding:28px 26px; }
   .personal_check_label{ flex:0 0 76px; font-size:1.45rem; }
   .personal_check_val{ font-size:1.45rem; }
   .personal_check_input{ height:42px; font-size:1.4rem; }
   .personal_check_btn{ min-width:140px; height:48px; font-size:1.5rem; }
   /*개인정보변경 폼*/
   .container08_10_01_change{ margin-top:30px; }
   .personal_change_section{ margin-bottom:32px; }
   .personal_change_section_desc{ font-size:1.4rem; }
   .personal_change_table th,
   .personal_change_table td{ padding:9px 12px; font-size:1.4rem; }
   .pc_input{ height:36px; font-size:1.35rem; }
   .pc_input_email{ width:110px; }
   .pc_input_lg{ width:180px; }
   .pc_select{ font-size:1.35rem; height:36px; }
   .pc_select_lg{ min-width:150px; }
   .pc_btn_gray{ height:36px; padding:0 14px; font-size:1.3rem; }
   .pc_receive_wrap{ gap:16px; }
   .personal_change_btn_box{ margin-top:36px; }
   .personal_change_submit_btn{ min-width:160px; height:52px; font-size:1.5rem; }
   /*비밀번호변경*/
   .container08_11{ margin-top:30px; }
   .pw_change_box{ padding:28px 24px; border-radius:16px; }
   .pw_input_role{ min-width:0; width:100%; max-width:320px; }
   /*회원탈퇴*/
   .container08_12{ margin-top:30px; }
   .withdraw_box{ padding:28px 24px; border-radius:16px; }
   .withdraw_label{ font-size:1.5rem; }
   .withdraw_btn{ min-width:100px; height:48px; padding:0 24px; font-size:1.5rem; }
   /*초록/발표 접수 현황*/
   .container08_08_01{ margin-top:30px; }
   .abstract_tabs .board_tab{ min-height:48px; font-size:1.5rem; }
   .abstract_table_wrap .info_table{ display:table; min-width:780px; border-left:1px solid #dbdbdb; }
   .abstract_table_wrap .info_table colgroup{ display:table-column-group; width:auto; }
   .abstract_table_wrap .info_table thead{ display:table-header-group; width:auto; }
   .abstract_table_wrap .info_table tbody{ display:table-row-group; width:auto; }
   .abstract_table_wrap .info_table tr{ display:table-row; width:auto; border-bottom:none; }
   .abstract_table_wrap .info_table th,
   .abstract_table_wrap .info_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; text-align:center; }
   .abstract_table_wrap .info_table .abstract_title_td{ text-align:left; }
   .abstract_tooltip{ width:200px; }
   .abstract_table_wrap .abstract_status{ padding:3px 7px; font-size:1.3rem; gap:3px; }
   .abstract_table_wrap .abstract_reject_icon{ width:14px; height:14px; flex:0 0 14px; }
   .abstract_table_wrap .abstract_edit_btn{ height:26px; padding:0 10px; font-size:1.25rem; }
   /* 팝업 반응형 768px */
   .popup_body{ padding:16px; }
   .popup_head{ padding:18px 16px 14px; }
   .popup_footer{ padding:12px 16px 18px; }
   .popup_tit{ font-size:1.8rem; }
   .popup_search_bar{ padding:12px; }
   .popup_search_bar .pp_select{ font-size:1.3rem; }
   #popWorkplace .popup_wrap,
   #popDept .popup_wrap,
   #popMedCode .popup_wrap{ max-width:100%; }
   .srch_box{ padding:28px 20px; }
   .srch_box_row{ flex-wrap:wrap; gap:10px; }
   .srch_input{ width:100%; max-width:none; }
   .srch_btn{ margin-left:0; flex:1; }
   .srch_period_btn{ margin-left:0; flex:1; }
   .srch_divider{ margin:20px 0; }
   .srch_filter_row{ flex-wrap:wrap; gap:10px 0; }
   .srch_badge_list{ margin-left:8px; }
   .srch_date_wrap{ width:100%; margin-left:0; margin-top:6px; }
   .srch_tab1_list{ flex-wrap:wrap; } 
   .srch_tab1_btn{ flex:none; width:calc(33.333% - 7px); height:52px; font-size:1.6rem; } 
   .srch_tab1_count{ font-size:1.5rem; } 
   .srch_tab2_list{ justify-content:flex-start; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; flex-wrap:nowrap; } 
   .srch_tab2_list::-webkit-scrollbar{ display:none; } 
   .srch_tab2_btn{ padding:0 14px; font-size:1.4rem; flex-shrink:0; } 
   .srch_result_tit{ font-size:1.8rem; } 
   .srch_page_link{ flex-wrap:wrap; gap:6px; } 
   .srch_page_date{ width:100%; }
   .council_tip br{display: none;}
}


@media (max-width: 640px){
   /*카드뉴스*/
   .card_news_list{ gap: 28px 12px; }
   .card_news_item{ width: calc((100% - 12px) / 2); }
   .card_news_link{ width: 100%; }
   .card_news_thumb,
   .card_news_thumb_empty{ width: 100%; aspect-ratio: 300 / 405; border-radius: 15px; }
   .card_news_info{ padding: 10px 2px 0; }
   .card_news_tit{ font-size: 1.45rem; line-height: 1.4; word-break: keep-all; }
   .card_news_date{ margin-top: 6px; font-size: 1.35rem; }
   .btn_myinfo_print{ align-self:flex-start; } 
   .mypage_license_notice_btn{ max-width:none; } 
   .license_calc_result_score{ align-items:flex-start; flex-direction:column; } 
   .license_calc_result_score span{ word-break:keep-all; } 
   .fee_status_head .convey_h3,
   .mypage_edu_head .convey_h3{ font-size:2.4rem; line-height:1.25; }
   /*협회비 납부 안내 패널*/
   .fee_guide_head .convey_h3,
   .fee_guide_status_head .convey_h3{ font-size:2.4rem; line-height:1.25; }
   .fee_pay_card_inner{ padding:18px 16px; gap:12px; }
   .fee_pay_card_icon img{ width:48px; }
   .fee_pay_card_desc{ font-size:1.3rem; }
   /*팝업*/
   .receipt_popup_dialog{ border-radius:12px; }
   .receipt_popup_inner{ padding:36px 20px 26px; }
   .receipt_popup_print_btn{ min-width:120px; height:46px; font-size:1.5rem; }
   /* 협회비 면제 팝업 640px */
   .fee_exempt_popup_dialog{ border-radius:12px; }
   .fee_exempt_popup_inner{ padding:36px 18px 24px; }
   .fee_exempt_popup_title{ font-size:1.65rem; }
   .fee_exempt_popup_icon img{ height:56px; }
   .fee_exempt_popup_desc{ padding:0 8px; font-size:1.3rem; }
   .fee_exempt_popup_dl{ padding:0 8px; }
   .fee_exempt_popup_dl_item dt{ font-size:1.35rem; }
   .fee_exempt_popup_dl_item dd{ font-size:1.3rem; }
   .fee_agree_role{ padding:16px 0; }
   .fee_exempt_popup_notice{ font-size:1.3rem; }
   .fee_exempt_agree_txt{ font-size:1.35rem; }
   .fee_exempt_popup_btn{ height:42px; font-size:1.4rem; }
   .fee_exempt_radio_txt{ font-size:1.35rem; }
   .fee_exempt_file_name{ font-size:1.3rem; }
   /*초록/발표 접수 현황*/
   .abstract_tabs .board_tabs_list{ max-width:100%; }
   .abstract_tabs .board_tab{ min-height:46px; font-size:1.45rem; }
   .abstract_filter{ flex-wrap:wrap; gap:8px; padding:12px 0; }
   
}

@media (max-width:560px){
   .srch_box{ padding:24px 16px; }
   .srch_badge_list{ margin-left:0; margin-top:4px; flex-wrap:wrap; }
   .srch_badge{ width:70px; height:34px; }
   .srch_date_btn{ flex:1; width:auto; min-width:0; }
   .srch_tab1_btn{ width:calc(50% - 5px); height:48px; font-size:1.5rem; } 
   .srch_tab2_btn{ padding:0 10px; } 
   .srch_result_section{ padding:20px 0; } 
   .srch_page_title{ font-size:1.5rem; } 
   .srch_page_desc{ font-size:1.3rem; }
}

@media (max-width: 480px){
   .sub_layout{ padding: 20px 0 50px; }
   .sub_content_head{ gap: 10px; padding-bottom: 20px; }
   .sub_page_tit{ font-size: 2.4rem; }
   .sub_fontsize{ width: 100%; justify-content: flex-end; }
   /*카드뉴스*/
   .card_box{ padding: 16px 0; } 
   .card_news_list{ gap: 24px 0; }
   .card_news_item{ width: 100%; }
   .card_news_link{ width: 100%; max-width: 340px; margin: 0 auto; }
   .card_news_thumb,
   .card_news_thumb_empty{ width: 100%; aspect-ratio: 320 / 430; border-radius: 14px; }
   .card_news_info{ display: block; width: 100%; max-width: 340px; margin: 0 auto; padding: 10px 2px 0; }
   .card_news_item + .card_news_item{ margin-top: 0; padding-top: 24px; position: relative; }
   .card_news_item + .card_news_item::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: #dbdbdb; }
   .card_news_tit{ font-size: 1.4rem; line-height: 1.45; }
   .card_news_date{ font-size: 1.3rem; margin-top: 6px; }
   /*영상자료*/
   .video_list{ gap: 0; }
   .video_item{ width: 100%; }
   .video_item:nth-child(n+3){ padding-top: 0; }
   .video_item:nth-child(3)::before{ display: none; }
   .video_item + .video_item{ position: relative; margin-top: 24px; padding-top: 24px; }
   .video_item + .video_item::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: #dbdbdb; }
   .video_link{ max-width: 340px; margin: 0 auto; }
   .video_thumb{ aspect-ratio: 320 / 190; border-radius: 14px; }
   .video_info{ max-width: 340px; margin: 0 auto; padding: 10px 2px 0; }
   .video_tit{ font-size: 1.4rem; }
   .video_date{ font-size: 1.3rem; }
   /*검사실 인증자료*/
   .cert_aco_tit{ font-size: 1.6rem; } 
   .cert_aco_inner{ padding: 20px 12px; } 
   .cert_aco_head{ padding: 9px 12px; } 
   .cert_aco_head_tit{ font-size: 1.4rem; } 
   .cert_aco_body{ padding: 12px; } 
   .cert_file_list{ gap: 8px; } 
   .cert_file_link{ width: 100%; min-height: 28px; padding: 7px 10px; font-size: 1.4rem; }
   .join_info_item{ gap:12px; padding:18px 0; } 
   .join_info_icon{ width:72px; height:72px; } 
   .join_info_title{ font-size:1.7rem; line-height:1.35; } 
   .join_info_text{ font-size:1.4rem; line-height:1.6; } 
   .join_fee_list{ margin-top:8px; } 
   .join_fee_item{ flex:0 0 45%; font-size:1.35rem; line-height:1.55; }
   .join_rule_item + .join_rule_item{ margin-top:20px; } 
   .join_rule_title{ font-size:1.6rem; } 
   .join_rule_text, .join_rule_list > li, 
   .join_rule_sub_list > li{ font-size:1.4rem; line-height:1.75; } 
   .join_rule_list > li{ padding-left:1.3em; } 
   .join_rule_sub_list{ padding-left:.8em; }
   .join_btn_area{ flex-direction:column; align-items:center; }
   .join_btn{ width:100%; max-width:320px; height:50px; font-size:1.6rem; }
   /*관련링크*/
   .link_box .rel_link li{ width:100%; }
   /*자주하는 질문*/
   .faq_aco_btn{ min-height: 60px;}
   .faq_ico{ width: 22px; height: 22px; }
   .faq_aco_q{ align-items: flex-start; }
   .faq_aco_q_text{ font-size: 1.45rem; }
   .faq_aco_arrow{ width: 18px; height: 18px; right: 5px; }
   .faq_aco_arrow::before{ width: 8px; height: 8px; }
   .faq_aco_a_cont p{ font-size: 1.4rem;}
   /*신고_write*/
   .decla_table th{ font-size: 1.4rem; }
   .decla_input,
   .decla_select,
   .decla_textarea{ font-size: 1.4rem; }
   .decla_btn_box{ gap: 6px; }
   .decla_btn{ flex: 1 1 0; min-width: 0; }
   /*협회장인사말*/
   .hello_box{ margin-top: 20px;  background-position: 72% top; }
   .hello_inner{ padding: 20px 16px 0; }
   .hello_title{ font-size: 1.5rem; line-height: 1.5; }
   .hello_desc{ margin-top: 12px; padding-bottom: 132px; }
   .hello_desc p{ font-size: 1.3rem; line-height: 1.6; }
   .hello_photo{ right: 4px; width: 138px; }
   .speech_box{ padding-top: 24px; } 
   .speech_desc{ font-size: 1.3rem; line-height: 1.75; } 
   .speech_desc + .speech_desc{ margin-top: 16px; } 
   .speech_right{ margin-top: 26px; } 
   .speech_subtit{ font-size: 1.25rem; } 
   .speech_name{ margin-top: 8px; font-size: 2.2rem; letter-spacing: 1.2px; }
   /*역대회장*/
   .president_list{ margin-top:24px; gap:14px; } 
   .president_card{ padding:22px 14px 24px; border-radius:16px; width:100%; } 
   .president_photo_box{ width:156px; height:150px; } 
   .president_info{ margin-top:14px; } 
   .president_name{ font-size:1.85rem; line-height:1.2; } 
   .president_term_group{ gap:8px 6px; margin-top:12px; } 
   .president_term_item{ width:68px; } 
   .president_badge{ width:68px; height:26px; border-radius:13px; font-size:1.3rem; } 
   .president_term{ margin-top:7px; font-size:1.3rem; line-height:1.35; letter-spacing:-0.03em; }
   .president_term br{display: none;}
   /*규정*/
   .provision_box{ margin-top:24px; } 
   .prov_card_box{ margin-top:20px; } 
   .prov_card{ padding:28px 16px; border-radius:14px; } 
   .prov_card_tit{ margin-top:24px; font-size:1.5rem; } 
   .prov_card_btn{ width:100%; max-width:220px; height:46px; margin-top:24px; padding:0 22px; } 
   .prov_card_btn_txt{ font-size:1.4rem; }
   /*윤리강령*/
   .coe_box{ margin-top:24px; padding:6px; } 
   .coe_inner{ padding:10px; } 
   .coe_head_box{ padding:10px; } 
   .coe_head_inner{ min-height:210px; padding:22px 12px 20px; background-position:center top; background-size:100% 100%; } 
   .coe_head_mark{ width:116px; height:18px; margin:4px auto 10px; } 
   .coe_title{ font-size:1.9rem; line-height:1.35; } 
   .coe_title::after{ height:20px; margin-top:12px; } 
   .coe_desc{ margin-top:14px; font-size:1.26rem; line-height:1.6; } 
   .coe_item{ padding:14px 2px; } 
   .coe_num{ font-size:1.26rem; } 
   .coe_text{ margin-top:5px; font-size:1.24rem; line-height:1.6; }
   /*임상병리사 소개*/
   .clinical_lab_intro{ margin-top:24px; } 
   /* 임상검사 */
   .lab_intro_box{ gap:24px; } 
   .lab_intro_row + .lab_intro_row{ margin-top:24px; } 
   .lab_intro_img_box{ margin-bottom:14px; border-radius:14px; overflow:hidden; } 
   .lab_intro_row .lab_intro_text_box + .lab_intro_img_box{ margin-top:14px; } 
   .lab_intro_img{ border-radius:14px; } 
   .lab_intro_tit{ font-size:1.6rem; line-height:1.35; } 
   .lab_intro_desc{ margin-top:10px; } 
   .lab_intro_desc p{ font-size:1.3rem; line-height:1.65; } 
   .lab_intro_desc p + p{ margin-top:8px; }
   .clt_wrap{ margin-top:24px; } 
   .clt_table{ min-width:760px; } 
   .clt_table thead th{ padding:11px 10px; font-size:1.3rem; } 
   .clt_table tbody td{ padding:11px 10px; font-size:1.28rem; line-height:1.6; }
   /*진출분야*/
   .foe_wrap{ padding:30px 18px 190px; margin-top:30px; border-radius:14px; } 
   .foe_wrap::after{ width:250px; height:150px; bottom:10px; } 
   .foe_tit{ font-size:2.6rem; line-height:1.3; } 
   .foe_desc{ margin-top:14px; font-size:1.35rem; line-height:1.65; } 
   .foe_body{ gap:12px; margin-top:22px; } 
   .foe_card{ padding:18px 16px; border-radius:12px; } 
   .foe_card_title{ margin-bottom:10px; font-size:1.7rem; line-height:1.35; } 
   .foe_card_cont{ gap:10px; } 
   .foe_list li{ padding-left:11px; font-size:1.35rem; line-height:1.6; } 
   .foe_list li::before{ top:9px; width:4px; height:4px; } 
   .foe_icon{ flex:0 0 58px; min-height:42px; } 
   .foe_icon img{ max-width:58px; }
   /*배출대학*/
   .college_box{ margin-top: 24px; } 
   .college_wrap{ margin-top: 14px; }
   .college_table{ min-width: 760px; } 
   .college_table th, 
   .college_table td{ padding: 11px 8px; font-size: 1.28rem; } 
   .college_table thead th{ font-size: 1.25rem; }
   /*면허신고제*/
   .license_report{ margin-top:32px; }
   .license_box ~ .license_box{ margin-top:32px; }
   .license_text{ font-size:1.35rem; line-height:1.65; }
   .license_badge{ font-size:1.25rem; padding:6px 12px; }
   .license_report_box{ padding:16px 14px; }
   .license_report_list > li{ font-size:1.3rem; line-height:1.65; }
   .license_step_card,
   .license_penalty_card{ padding:18px 12px 16px; }
   .license_step_text,
   .license_penalty_text{ font-size:1.25rem; }
   .license_condition_desc,
   .license_condition_list > li{ font-size:1.3rem; line-height:1.65; }
   .license_condition_desc2,
   .license_condition_note{ font-size:1.15rem; }
   .license_recover_desc{ font-size:1.3rem; }
   .license_btn{ height:52px; padding:0 14px; font-size:1.3rem; }
   /*전문임상병리사제도*/
   .sclts_box{ margin-top: 24px; } 
   .sclts_intro_thumb{ border-radius: 14px; } 
   .sclts_intro_panel{ margin-top: -14px; padding: 28px 16px 18px; border-radius: 14px; } 
   .sclts_intro_tit{ font-size: 1.65rem; } 
   .sclts_intro_desc{ margin-top: 14px; } 
   .sclts_intro_desc p{ font-size: 1.3rem; line-height: 1.7; } 
   .sclts_intro_desc p + p{ margin-top: 14px; }
   .guide_box,
   .guide_box ~ .guide_box{ margin-top: 24px; } 
   .guide_tit{ font-size: 1.4rem; line-height: 1.5; } 
   .grey_box{ margin-top: 16px; padding: 16px 14px; } 
   .grey_box_tit{ font-size: 1.5rem; } 
   .grey_box_subtit{ font-size: 1.4rem; } 
   .grey_box_desc{ margin-top: 14px; font-size: 1.3rem; line-height: 1.65; } 
   .guide_role_box, 
   .guide_role_box_type02, 
   .guide_report_box, 
   .guide_example_box{ padding: 14px; border-radius: 12px; } 
   .guide_role_item{ flex: 0 0 100%; } 
   .guide_role_card{ min-height: 0; padding: 16px 10px 14px; } 
   .guide_role_icon{ height: 52px; margin-bottom: 14px; } 
   .guide_role_name, .guide_role_name_type02{ font-size: 1.4rem; } 
   .guide_role_desc, .guide_role_desc_type02{ font-size: 1.24rem; line-height: 1.5; } 
   .guide_role_flow_type02 .guide_role_item{ flex: 0 0 132px; width: 132px; } 
   .guide_report_card{ padding: 14px; } 
   .guide_report_symbol{ flex: 0 0 42px; width: 42px; } 
   .guide_report_symbol_logo{ flex-basis: 60px; width: 60px; } 
   .guide_report_step_tit{ font-size: 1.35rem; } 
   .guide_report_pill{ min-height: 28px; padding: 0 10px; font-size: 1.24rem; } 
   .guide_report_pill_short{ min-width: 54px; } 
   .guide_report_query_label{ font-size: 1.24rem; } 
   .guide_example_head{ font-size: 1.4rem; padding: 12px 8px; } 
   .guide_example_body, 
   .guide_example_body_single, 
   .guide_example_body_stack{ padding: 14px; } 
   .guide_example_note li{ font-size: 1.28rem; line-height: 1.55; }
   /*구인정보*/
   .function_search{ margin-top: 20px; } 
   .function_search_box{ padding: 14px 12px; border-radius: 10px; } 
   .function_search_label{ font-size: 1.35rem; } 
   .function_search_chip{ flex: 0 0 calc((100% - 6px) / 2); } 
   .function_search_chip_txt{ height: 34px; font-size: 1.2rem; } 
   .function_search_check_box, 
   .function_search_radio_box{ display: block; } 
   .function_search_check, 
   .function_search_radio{ display: inline-flex; margin-right: 14px; margin-bottom: 8px; } 
   .function_search_check_txt, 
   .function_search_radio_txt{ font-size: 1.3rem; } 
   .function_search_select, 
   .function_search_input{ height: 38px; font-size: 1.25rem; } 
   .function_search_btn_box{ flex-direction: column; align-items: center; } 
   .function_search_btn{ width: 100%; max-width: 220px; min-width: 0; height: 40px; font-size: 1.35rem; }
   /*구직정보 view*/
   .job_btn_box{ margin-top:24px; } 
   .job_btn_list{ width:100%; max-width:220px; height:50px; font-size:1.5rem; }
   /*구직정보 write*/
   .job_tit_left p{ font-size:1.3rem; line-height:1.6; word-break:keep-all; } 
   .job_tit_right span{ font-size:1.3rem; } 
   .job_write_table th{ padding:10px 12px 7px; font-size:1.35rem; }
   .job_write_table td{ padding:0 12px 12px; } 
   .job_form_input, .job_form_select, 
   .job_form_textarea{ font-size:1.3rem; } 
   .job_form_input, 
   .job_form_select{ height:38px; padding-left:12px; padding-right:12px; } 
   .job_form_select{ padding-right:34px; background-position:right 10px center; } 
   .job_form_textarea{ min-height:84px; padding:10px 12px; } 
   .job_form_textarea_lg{ min-height:120px; } 
   .job_write_btn_box{ margin-top:24px; } 
   .job_write_btn{ flex:1 1 0; min-width:0; max-width:140px; height:42px; padding:0 12px; font-size:1.4rem; }
   .job_file_btn{ min-width:88px; height:28px; font-size:1.25rem; } 
   .job_file_link, 
   .job_file_note{ font-size:1.25rem; }
   /*로그인*/
   .login_box{ margin-top:18px; } 
   .login_desc{ padding-bottom:22px; font-size:1.45rem; line-height:1.6; } 
   .login_form_box{ margin-top:24px; } 
   .login_label{ margin-bottom:6px; font-size:1.35rem; } 
   .login_input{ height:44px; padding:0 12px; font-size:1.3rem; border-radius:4px; } 
   .login_option_row{ gap:10px; margin-top:14px; } 
   .login_check_mark{ width:18px; height:18px; border-radius:4px; } 
   .login_check_mark::after{ left:4px; top:1px; width:5px; height:9px; } 
   .login_check_txt{ font-size:1.3rem; } 
   .login_error_text{ font-size:1.2rem; line-height:1.5; } 
   .login_btn_box{ margin-top:26px; } 
   .login_btn{ height:48px; font-size:1.5rem; border-radius:7px; } 
   .login_btn + .login_btn{ margin-top:10px; } 
   .login_link_box{ gap:10px; margin-top:18px; } 
   .login_link{ font-size:1.25rem; } 
   .login_link_bar{ height:10px; }
   /*회원가입*/
   .member_step_box{ margin-bottom:30px; } 
   .member_step_list{ gap:14px 8px; } 
   .member_step_item{ flex:0 0 calc((100% - 8px) / 2); width:calc((100% - 8px) / 2); } 
   .member_step_circle{ width:50px; height:50px; } 
   .member_step_circle img{ transform:scale(.76); transform-origin:center center; } 
   .member_step_txt{ margin-top:8px; } 
   .member_step_txt .step{ font-size:1rem; } 
   .member_step_txt .tit{ font-size:1.25rem; line-height:1.3; }
   .last_step_box{ padding:32px 0 48px; }
   .last_step_msg{ font-size:1.9rem; margin-top:18px; }
   .last_step_name{ font-size:2rem; }
   .last_step_btns{ margin-top:48px; gap:12px; }
   .last_step_btn{ width:130px; height:54px; font-size:1.6rem; }
   .member_join_card_box{ margin-top:22px; } 
   .member_join_card_list{ gap:12px; } 
   .member_join_card{ padding:24px 16px 20px; border-radius:12px; } 
   .member_join_icon{ min-height:60px; } 
   .member_join_icon img{ transform:scale(.76); transform-origin:center center; } 
   .member_join_card_tit{ margin-top:14px; font-size:1.7rem; } 
   .member_join_card_txt{ margin-top:10px; font-size:1.3rem; line-height:1.55; } 
   .member_join_btn{ max-width:100%; height:42px; margin-top:20px; padding:0 14px 0 16px; } 
   .member_join_btn_txt{ font-size:1.3rem; } 
   .member_join_btn_ico{ width:12px; height:14px; } 
   .member_join_btn_ico img{ width:12px; height:14px; }
   .agree_desc{ font-size:1.75rem; line-height:1.5; } 
   .agree_all_box{ margin-top:20px; padding:14px 10px; border-radius:10px; } 
   .agree_section{ margin-top:28px; } 
   .agree_scroll_box{ margin-top:12px; padding:6px; border-radius:6px; } 
   .agree_scroll_inner{ height:100px; padding:12px; } 
   .agree_scroll_inner p{ font-size:1.25rem; line-height:1.65; } 
   .agree_check_mark{ flex:0 0 18px; width:18px; height:18px; border-radius:4px; } 
   .agree_check_mark::after{ left:4px; top:1px; width:5px; height:9px; } 
   .agree_check_txt{ font-size:1.25rem; line-height:1.45; } 
   .agree_btn_box{ margin-top:32px; } 
   .agree_btn_next{ min-width:92px; height:42px; padding:0 20px; font-size:1.35rem; border-radius:6px; }
   /*회원가입-본인인증*/
   .certi_box{ margin-top:40px; }
   /*회원가입-회원정보입력*/
   .member_pw_input{ max-width:none; width:100%; }
   .member_info_table th{ padding:8px 12px 4px; font-size:1.3rem; }
   .member_info_table td{ padding:6px 12px 10px; font-size:1.3rem; }
   /*회원가입-학력정보*/
   .edu_info_table th{ padding:8px 12px 4px; font-size:1.3rem; }
   .edu_info_table td{ padding:6px 12px 10px; font-size:1.3rem; }
   .edu_info_btn_box{ margin-top:26px; }
   .edu_info_submit_btn{ min-width:0; width:100%; max-width:240px; height:50px; font-size:1.5rem; }
   .certi_desc{ font-size:1.85rem; line-height:1.5; }
   .certi_card_box{ margin-top:28px; }
   .certi_card_list{ gap:14px; } 
   .certi_card_item{ width:100%; } 
   .certi_card{ padding:30px 20px 24px; border-radius:14px; }
   .certi_icon_circle{ width:110px; height:110px; } 
   .certi_icon_circle img{ transform:scale(.82); transform-origin:center center; } 
   .certi_card_tit{ margin-top:18px; font-size:1.9rem; } 
   .certi_card_txt{ min-height:0; margin-top:12px; font-size:1.35rem; line-height:1.6; } 
   .certi_btn{ width:190px; height:44px; margin-top:20px; padding:0 14px 0 16px; border-radius:6px; } 
   .certi_btn_txt{ font-size:1.35rem; } 
   .certi_btn_ico img{ transform:scale(.9); transform-origin:center center; }
   /* 아이디찾기 인증 선택 */
   .id_found_box{ margin-top:28px; } 
   .id_tit_zone{ padding:0; } 
   .id_fit_tit{ font-size:1.8rem; line-height:1.45; flex-wrap:wrap; } 
   .id_fit_subtit{ margin-top:10px; font-size:1.3rem; line-height:1.6; } 
   .id_found_list{ display:block; margin-top:24px; } 
   .id_found_item{ width:100%; } 
   .id_found_item + .id_found_item{ margin-top:12px; } 
   .id_found_card{ min-height:0; padding:18px 14px 20px; border-radius:14px; } 
   .id_found_check_circle{ left:14px; top:14px; width:22px; height:22px; } 
   .id_found_check_circle::after{ width:6px; height:9px; border-right:2px solid #2a4ea4; border-bottom:2px solid #2a4ea4; } 
   .id_found_icon_circle{ width:74px; height:74px; margin-top:6px; } 
   .id_found_icon_circle img{ transform:scale(.74); transform-origin:center center; } 
   .id_found_tit{ margin-top:14px; font-size:1.5rem; } 
   .id_fit_btn_box{ margin-top:24px; } 
   .id_fit_btn{ width:120px; height:44px; font-size:1.3rem; }
   .id_auth_inner{ padding:24px 16px; border-radius:14px; } 
   .id_auth_title{ font-size:1.6rem; } 
   .id_auth_desc{ font-size:1.25rem; padding-bottom:18px; } 
   .id_auth_form{ padding-top:20px; } 
   .id_auth_label{ margin-bottom:6px; font-size:1.35rem; } 
   .id_auth_input, .id_auth_btn{ height:42px; font-size:1.3rem; } 
   .id_fit_btn_box{ margin-top:28px; } 
   .id_fit_btn{ width:130px; height:52px; font-size:1.5rem; }
   .spam_popup_inner{ padding:22px 14px 18px; } 
   .spam_popup_title{ font-size:1.9rem; } 
   .spam_popup_title_desc{ font-size:1.35rem; } 
   .spam_popup_intro p{ font-size:1.3rem; } 
   .spam_popup_method_tit{ font-size:1.6rem; } 
   .spam_telecom_btn_txt{ font-size:1.2rem; } 
   .spam_popup_note{ font-size:1.2rem; } 
   .spam_popup_check_text_default, 
   .spam_popup_check_text_point{ font-size:1.3rem; }
   /*마이페이지*/
   .container08_01_top{ margin-top:24px; } 
   .mypage_btn{ height:46px; padding:0 14px; font-size:1.4rem; gap:6px; } 
   .mypage_btn_logo img{ height:24px; }
   .mypage_btn_icon img{ width:14px; height:14px; } 
   .container08_01_head{ margin:28px 0 10px; } 
   .btn_myinfo_print{ padding:6px 10px; font-size:1.2rem; } 
   .mypage_license_notice_text{ font-size:1.35rem; } 
   .mypage_license_notice_btn{ height:38px; padding:0 12px; } 
   .mypage_license_notice_btn_text{ font-size:1.2rem; } 
   .license_info_box{ padding:16px 14px; } 
   .license_calc_box{ padding:18px 14px; } 
   .license_calc_label{ font-size:1.3rem; } 
   .license_calc_select, 
   .license_calc_btn{ height:40px; font-size:1.3rem; } 
   .license_calc_result_label{ padding:14px 14px 8px; font-size:1.35rem; } 
   .license_calc_result_score{ padding:2px 14px 14px; } 
   .license_calc_result_score strong{ font-size:2.2rem; } 
   .license_calc_result_score span{ font-size:1.3rem; } 
   .license_calc_notice_text, 
   .license_calc_link_row, 
   .license_calc_link{ font-size:1.3rem; } 
   .license_calc_note, 
   .license_calc_path{ font-size:1.2rem; } 
   .fee_status_box{ margin-top:40px; } 
   .fee_status_desc, 
   .mypage_edu_desc{ font-size:1.2rem; } 
   .mypage_edu_history{ margin-top:35px; } 
   .mypage_edu_section + .mypage_edu_section{ margin-top:35px; } 
   .mypage_edu_help li{ padding-left:9px; font-size:1.2rem; } 
   .fee_status_head .convey_h3,
   .mypage_edu_head .convey_h3{ font-size:2.2rem; padding-left:24px; }
   .fee_status_head .convey_h3::before,
   .mypage_edu_head .convey_h3::before{ width:18px; height:18px; }
   .mypage_edu_table_wrap .info_table th,
   .mypage_edu_table_wrap .info_table td{ font-size:1.3rem; }
   /**/
   .container08_02{ margin-top: 24px; }
   .pay_filter{ padding: 14px 0; }
   .pay_filter_selects{ gap: 6px; }
   .pay_select{ width: 140px; height: 40px; font-size: 1.35rem; }
   /*협회비 납부 안내 패널*/
   .fee_guide_head .convey_h3,
   .fee_guide_status_head .convey_h3{ font-size:2.2rem; padding-left:24px; }
   .fee_guide_head .convey_h3::before,
   .fee_guide_status_head .convey_h3::before{ width:18px; height:18px; }
   .fee_pay_card_inner{ flex-direction:column; align-items:flex-start; gap:12px; padding:16px; }
   .fee_pay_card_icon img{ width:46px; }
   .fee_pay_card_title{ font-size:1.5rem; margin-bottom:6px; }
   .fee_pay_card_desc{ font-size:1.25rem; }
   .fee_pay_card_btn{ width:100%; justify-content:center; min-width:0; height:42px; font-size:1.4rem; }
   .fee_guide_status_box,
   .fee_regular_status_box{ margin-top:22px; }
   /*협회비 정기납부 안내 페이지 (pay01)*/
   .container08_02_pay01{ margin-top:24px; }
   .fee_apply_card{ border-radius:12px; }
   .fee_apply_card_inner{ flex-direction:column; align-items:flex-start; gap:12px; padding:20px 18px; }
   .fee_apply_card_title{ font-size:1.6rem; }
   .fee_apply_card_btn{ width:100%; justify-content:center; height:48px; font-size:1.5rem; }
   /*협회비 정기납부 상세정보 페이지 (pay03)*/
   .container08_02_pay03{ margin-top:24px; }
   .fee_pay03_btn{ width:100%; height:52px !important; font-size:1.5rem; }
   /*협회비 연회비 납부 결제방법 페이지 (pay08)*/
   .container08_02_pay08{ margin-top:24px; }
   .fee_pay08_method_section{ margin-top:22px; }
   .fee_pay08_radio_label{ padding:12px 16px; }
   .fee_pay08_radio_txt{ font-size:1.35rem; }
   .fee_pay08_btn{ width:100%; height:52px !important; font-size:1.5rem; }
   /*협회비 정기납부 결제방법 페이지 (pay04)*/
   .container08_02_pay04{ margin-top:24px; }
   .fee_pay04_method_section{ margin-top:22px; }
   .fee_pay04_guide_box{ flex-direction:column; gap:12px; }
   .fee_pay04_guide_icon img{ max-width:48px; }
   .fee_pay04_guide_txt{ font-size:1.3rem; }
   .fee_pay04_total_box{ flex-direction:column; gap:6px; padding:16px; margin-top:20px; text-align:center; }
   .fee_pay04_total_price{ font-size:1.55rem; }
   /*협회비 연회비 납부 페이지 (pay05)*/
   .container08_02_pay05{ margin-top:24px; }
   .fee_pay05_status_box{ margin-top:22px; }
   .fee_pay05_status_head{ flex-direction:column; align-items:flex-start; gap:4px; }
   .fee_pay05_status_desc{ font-size:1.25rem; }
   /*협회비 정기납부 페이지 (pay02)*/
   .container08_02_pay02{ margin-top:24px; }
   /*협회비 연회비 납부 회원정보 페이지 (pay06)*/
   .container08_02_pay06{ margin-top:24px; }
   /*협회비 연회비 납부 회원목록 페이지 (pay07)*/
   .container08_02_pay07{ margin-top:24px; }
   .fee_pay07_search_area{ flex-wrap:wrap; }
   .fee_pay07_search_input{ height:40px; font-size:1.35rem; }
   .fee_pay07_search_btn{ height:40px; padding:0 16px; font-size:1.35rem; }
   .fee_pay07_notice_list > li{ font-size:1.3rem; }
   .fee_pay07_section{ margin-top:22px; }
   .fee_pay07_btn{ width:100%; height:52px !important; font-size:1.5rem; }
   .fee_regular_guide_box{ padding:20px 16px; border-radius:10px; }
   .fee_regular_guide_item{ font-size:1.35rem; gap:8px; }
   .fee_regular_section{ margin-top:28px; }
   .fee_regular_btn_box{ margin-top:28px; flex-direction:column; align-items:stretch; }
   .fee_regular_btn{ width:100%; height:50px; font-size:1.5rem; }
   /*보수교육 면제 신청 안내*/
   .container08_05_01{ margin-top:20px; }
   /*신청결과 확인*/
   .container08_05_02{ margin-top:20px; }
   .exempt_result_btn_box{ flex-direction:column; align-items:stretch; }
   .exempt_result_btn{ min-width:0; width:100%; height:48px; font-size:1.45rem; border-radius:6px; }
   /* 협회비 면제 팝업 480px */
   .fee_exempt_popup_dialog{ border-radius:10px; max-height:calc(100vh - 16px); max-width:calc(100vw - 16px); }
   .fee_exempt_popup_inner{ padding:30px 14px 20px; }
   .fee_exempt_popup_title{ font-size:1.55rem; margin-bottom:14px; }
   .fee_exempt_popup_icon{ margin-bottom:12px; }
   .fee_exempt_popup_icon img{ height:48px; }
   .fee_agree_role{ padding:14px 0; border-radius:10px; }
   .fee_exempt_agree_box{ flex-direction:column; align-items:flex-start; gap:12px; padding:0 16px; }
   .fee_exempt_popup_btn_box{ flex-direction:column; gap:8px; margin-top:20px; }
   .fee_exempt_popup_btn{ min-width:0; width:100%; height:46px; }
   .fee_exempt_form_head{ flex-direction:column; align-items:flex-start; gap:4px; }
   .edu_exempt_main_tabs{ margin-bottom:20px; }
   .edu_exempt_title_sub{ font-size:1.55rem; }
   .edu_exempt_title_main{ font-size:1.7rem; }
   .edu_exempt_quote{ height:16px; }
   .edu_exempt_subtab{ width:calc(50% - 1px); font-size:1.25rem; height:40px; }
   .edu_exempt_subtab_panel{ padding:12px; }
   .edu_exempt_step_num{ font-size:1.55rem; width:48px; flex:0 0 48px; min-height:50px; }
   .edu_exempt_step_txt{ font-size:1.35rem; }
   .edu_exempt_health_box{ padding:16px; }
   .edu_exempt_health_list li{ font-size:1.35rem; }
   /*연도별 보수교육 이수확인서*/
   .container08_04_03{ margin-top:24px; }
   /*금년도 보수교육 이수확인서*/
   .container08_04_02{ margin-top:24px; }
   /*이수 시간 확인*/
   .container08_04_01{ margin-top:24px; }
   .edu_search_bar{ padding:12px 14px; gap:8px; }
   .edu_search_input{ flex:0 0 180px; width:180px; font-size:1.4rem; }
   .edu_search_btn{ padding:0 18px; font-size:1.4rem; }
   .edu_search_label{ font-size:1.4rem; }
   /*장바구니*/
   .container08_03{ margin-top:24px; }
   .cart_table_head{ padding-bottom:12px; }
   .cart_chk_txt{ font-size:1.35rem; }
   .cart_total_count{ font-size:1.35rem; }
   .cart_btn_box{ flex-direction:column; align-items:stretch; gap:10px; margin-top:16px; }
   .cart_btn_del{ width:100%; }
   .cart_btn_pay{ width:100%; height:50px; font-size:1.5rem; text-align:center; }
   /*팝업*/
   .receipt_popup_dialog{ border-radius:10px; }
   .receipt_popup_inner{ padding:30px 14px 22px; }
   .receipt_popup_close{ right:10px; top:10px; width:38px; height:38px; }
   .receipt_popup_close img{ width:14px; height:14px; }
   .receipt_popup_print_btn{ width:100%; height:44px; font-size:1.4rem; }
   /*개인정보변경 본인확인*/
   .container08_10_01{ margin-top:24px; }
   .personal_check_notice{ flex-direction:column; align-items:flex-start; gap:10px; padding:14px 16px; border-radius:10px; }
   .personal_check_notice_icon{ height:46px; }
   .personal_check_notice_list li{ font-size:1.35rem; }
   .personal_check_card{ padding:22px 18px; border-radius:12px; }
   .personal_check_row{ flex-direction:column; align-items:flex-start; gap:8px; }
   .personal_check_label{ flex:none; font-size:1.4rem; }
   .personal_check_input{ width:100%; }
   .personal_check_btn_box{ margin-top:28px; }
   .personal_check_btn{ width:100%; max-width:220px; height:48px; font-size:1.5rem; }
   /*개인정보변경 폼*/
   .container08_10_01_change{ margin-top:20px; }
   .personal_change_section{ margin-bottom:24px; }
   .personal_change_section_desc{ font-size:1.35rem; }
   .personal_change_table{ min-width:0; width:100%; }
   .personal_change_table colgroup col[style]{ width:auto !important; }
   .personal_change_table th{ padding:8px 10px; font-size:1.3rem; white-space:normal; }
   .personal_change_table td{ padding:7px 10px; font-size:1.3rem; }
   .pc_input{ height:34px; font-size:1.3rem; }
   .pc_input_post{ width:90px; }
   .pc_input_email{ width:90px; }
   .pc_input_lg{ width:150px; }
   .pc_select{ height:34px; font-size:1.3rem; }
   .pc_select_lg{ min-width:0; width:100%; max-width:260px; }
   .pc_btn_gray{ height:34px; padding:0 10px; font-size:1.25rem; }
   .pc_radio_label{ font-size:1.3rem; }
   .pc_receive_wrap{ flex-direction:column; align-items:flex-start; gap:10px; }
   .pc_work_detail_label{ min-width:80px; font-size:1.3rem; }
   .personal_change_btn_box{ margin-top:28px; }
   .personal_change_submit_btn{ width:100%; max-width:260px; height:50px; font-size:1.5rem; }
   /*비밀번호변경*/
   .container08_11{ margin-top:20px; }
   .pw_change_box{ padding:20px 16px; border-radius:12px; }
   .pw_check_row{ flex-direction:column; align-items:flex-start; gap:8px; }
   .pw_check_row ~ .pw_check_row{ margin-top:12px; }
   .pw_chage_label{ font-size:1.4rem; }
   .pw_input_role{ min-width:0; width:100%; max-width:none; }
   /*회원탈퇴*/
   .container08_12{ margin-top:20px; }
   .withdraw_box{ padding:20px 16px; border-radius:12px; }
   .withdraw_row{ flex-direction:column; align-items:flex-start; gap:8px; }
   .withdraw_row ~ .withdraw_row{ margin-top:12px; }
   .withdraw_label{ flex:none; font-size:1.4rem; text-align:left; }
   .withdraw_input_full{ width:100%; }
   .withdraw_pw_wrap{ flex-direction:column; align-items:flex-start; gap:8px; }
   .withdraw_pw_wrap .withdraw_input{ width:100%; }
   .withdraw_pw_msg{ font-size:1.3rem; }
   .withdraw_btn_box{ margin-top:28px; gap:10px; }
   .withdraw_btn{ flex:1; min-width:0; height:46px; padding:0 16px; font-size:1.45rem; }
   /* 팝업 반응형 480px */
   .popup_search_bar{ flex-direction:column; }
   .popup_search_bar .pp_select,
   .popup_search_bar .pp_input,
   .popup_search_bar .pp_btn_search{ width:100%; }
   .popup_search_row{ flex-direction:column; }
   .popup_search_row .pp_btn_search{ width:100%; }
   /*초록/발표 접수 현황*/
   .container08_08_01{ margin-top:24px; }
   .abstract_filter_select{ width:100%; }
   .abstract_tooltip{ width:180px; }
   .abstract_tooltip_tit{ font-size:1.3rem; }
   .abstract_tooltip_desc{ font-size:1.2rem; }
}


/* ================================
   회원가입 반려 팝업 (jtm_popup)
================================ */
.jtm_popup_dim{ position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:9000; }
.jtm_popup_wrap{ position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; max-width:calc(100vw - 32px); background:#fff; border-radius:20px; padding:40px; box-sizing:border-box; z-index:9001; }
.jtm_popup_close{ position:absolute; top:-60px; right:0; width:50px; height:50px; background:rgba(0,0,0,0.7); border:1px solid #000; border-radius:50%; cursor:pointer; box-sizing:border-box; }
.jtm_popup_close::before,
.jtm_popup_close::after{ content:""; position:absolute; top:50%; left:50%; width:20px; height:2px; background:#fff; border-radius:1px; }
.jtm_popup_close::before{ transform:translate(-50%,-50%) rotate(45deg); }
.jtm_popup_close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.jtm_popup_inner{ display:flex; flex-direction:column; align-items:center; }
.jtm_popup_icon{ display:block; }
.jtm_popup_icon img{ display:block; }
.jtm_popup_tit{ margin-top:10px; font-size:3rem; font-weight:700; color:#222222; text-align:center; }
.jtm_popup_desc{ margin-top:15px; font-size:1.8rem; color:#444444; text-align:center; }
.jtm_popup_box{ margin-top:30px; width:100%; background:#f3f3f3; border-radius:15px; padding:30px; box-sizing:border-box; }
.jtm_popup_dl{ display:flex; flex-direction:column; gap:16px; }
.jtm_popup_row{ display:flex; align-items:center; gap:10px; font-size:1.7rem; }
.jtm_popup_dt{ position:relative; padding-left:10px; font-size:1.7rem; color:#222; white-space:nowrap; flex-shrink:0; }
.jtm_popup_dt::before{ content:""; position:absolute; left:0; top:50%; width:3px; height:3px; background:#222222; border-radius:50%; transform:translateY(-50%); }
.jtm_popup_dd{ font-size:1.7rem; }
.jtm_popup_dd_blue{ color:#2a4ea4; }
.jtm_popup_row_file{ align-items:flex-start; }
.jtm_popup_row_file .jtm_popup_dd{ flex:1; min-width:0; }
.jtm_file_wrap{ display:flex; flex-direction:column; gap:10px; }
.jtm_file_input_group{ display:flex; align-items:center; gap:5px; }
.jtm_file_text{ width:270px; height:38px; border:1px solid #cdcdcd; border-radius:5px; padding:0 12px; font-size:1.5rem; font-weight:200; color:#666666; box-sizing:border-box; background:#fff; outline:none; }
.jtm_file_btn{ display:inline-flex; align-items:center; justify-content:center; width:94px; height:38px; border:1px solid #3b5cab; border-radius:5px; font-size:1.6rem; color:#3b5cab; cursor:pointer; box-sizing:border-box; white-space:nowrap; flex-shrink:0; background-color: #fff;}
.jtm_file_btn:hover{ background:#3b5cab; color:#fff; }
.jtm_file_hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.jtm_file_name{ font-size:1.5rem; font-weight:200; color:#444; }
.jtm_popup_submit{ display:flex; align-items:center; justify-content:center; margin-top:30px; width:150px; height:50px; background:#2a4ea4; border-radius:7px; font-size:1.8rem; color:#fff; text-decoration:none; }
.jtm_popup_submit:hover{ background:#1f3d8a; }
.jtm_popup_notice{ display:flex; align-items:center; gap:6px; margin-top:30px; font-size:1.6rem; font-weight:200; color:#444444; text-align:center; }
.jtm_popup_notice_ico{ display:block; flex-shrink:0; }
/* 테스트 트리거 */
.btn_popup_jtm_open{ display:inline-block; padding:10px 20px; background:#2a4ea4; color:#fff; border-radius:6px; font-size:1.6rem; margin:20px 0; }



/* ================================
   jtm_popup 반응형
================================ */
@media (max-width:640px){
    .jtm_popup_wrap{ padding:30px 20px; }
    .jtm_popup_close{ top:-54px; width:44px; height:44px; }
    .jtm_popup_tit{ font-size:2.4rem; }
    .jtm_popup_desc{ font-size:1.6rem; }
    .jtm_popup_box{ padding:20px; }
    .jtm_popup_row{ flex-direction:column; align-items:flex-start; gap:8px; }
    .jtm_popup_row_file{ flex-direction:column; }
    .jtm_file_input_group{ flex-wrap:wrap; width:100%; }
    .jtm_file_text{ width:calc(100% - 99px); }
    .jtm_popup_notice{ font-size:1.4rem; flex-wrap:wrap; }
}
@media (max-width:400px){
    .jtm_file_text{ width:100%; }
    .jtm_file_btn{ width:100%; }
    .jtm_file_input_group{ gap:8px; }
}

/* 회훈 반응형 */
@media (max-width:820px){
    .motto_list{ flex-wrap:nowrap; }
    .motto_item{ flex:1 1 0; min-width:0; }
    .motto_img_wrap{ width:100%; }
    .motto_img_wrap img{ width:100%; height:auto; }
    .motto_hanja{ font-size:2.6rem; }
    .motto_kor{ font-size:1.6rem; margin-top:14px; }
    .motto_logo_card{ flex-direction:column; }
    .motto_logo_left{ width:100%; padding:30px; }
    .motto_logo_left img{ max-width:200px; }
    .motto_logo_right{ padding:24px 30px; }
    .motto_logo_desc{ font-size:1.6rem; }
    .ob_swatch{ height:120px; }
    .ob_swatch_lbl{ font-size:1.5rem; top:10px; right:10px; }
    .ob_kor{ font-size:1.6rem; }
    .ob_hanja{ font-size:1.4rem; }
    .ob_body{ font-size:1.4rem; }
    .ob_info{ padding:12px 8px 16px; }
}
@media (max-width:600px){
    .ob_grid{ flex-wrap:wrap; }
    .ob_col:first-child{margin-left: -1px;}
    .ob_col{ flex:0 0 calc(33.333% + 1px); margin-left:-1px; margin-top:-1px; }
    .ob_swatch{ height:100px; }
    .ob_swatch_lbl{ font-size:1.4rem; }
    .ob_kor{ font-size:1.5rem; }
    .ob_hanja{ font-size:1.3rem; }
    .ob_body{ font-size:1.3rem; }
}
@media (max-width:540px){
    .motto_list{ gap:14px; }
    .motto_hanja{ font-size:1.8rem; }
    .motto_kor{ font-size:1.2rem; margin-top:10px; }
    .motto_logo_right{ padding:20px 24px; }
    .motto_logo_desc{ font-size:1.5rem; }
}
@media (max-width:400px){
    .ob_col{ flex:0 0 calc(50% + 1px); }
    .ob_swatch{ height:90px; }
}
@media (max-width:380px){
    .motto_list{ gap:8px; }
    .motto_hanja{ font-size:1.4rem; }
    .motto_kor{ font-size:1rem; margin-top:6px; }
    .motto_logo_right{ padding:16px 20px; }
    .motto_logo_desc{ font-size:1.4rem; }
}

/* 이사회 반응형 */
@media (max-width:860px){
    .council_left{ flex:0 0 220px; width:220px; }
    .council_tit{ font-size:2rem; }
    .council_img_wrap img{ max-width:90px; }
}
@media (max-width:640px){
    .council_item{ flex-direction:column; height:auto; }
    .council_left{ flex:none; width:100%; height:110px; padding:20px; }
    .council_img_wrap img{ max-width:80px; }
    .council_right{ padding:20px; }
}
@media (max-width:480px){
    .council_tit{ font-size:1.8rem; }
    .council_right .dot_list > li,
    .council_txt{ font-size:1.5rem; }
}
@media (max-width:768px){
    .council_table_scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .council_table{ display:table; width:100%; min-width:700px; border-left:1px solid #dbdbdb; }
    .council_table colgroup{ display:table-column-group; }
    .council_table thead{ display:table-header-group; }
    .council_table tbody{ display:table-row-group; }
    .council_table tr{ display:table-row; border-bottom:0; }
    .council_table th,
    .council_table td{ display:table-cell; width:auto; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; padding:12px 10px; font-size:1.4rem; }
    .council_table th{ text-align:center; }
    .council_table td{ text-align:center; }
}

/* 오시는 길 반응형 */
@media (max-width:640px){
    .direct_item{ gap:20px; }
    .direct_icon{ flex:0 0 60px; width:60px; height:60px; border-radius:16px; }
    .direct_icon img{ max-width:36px; height:auto; }
    .direct_tit{ font-size:1.8rem; }
    .direct_desc{ font-size:1.5rem; }
    .direct_badge_txt{ font-size:1.5rem; }
    .direct_office_list{ gap:6px 20px; }
    .direct_office_list li{ flex:0 0 auto; }
}
@media (max-width:480px){
    .direct_item{display: block; }
    .direct_icon{ flex:0 0 52px; width:52px; height:52px; border-radius:14px; }
    .direct_tit{ font-size:1.6rem; }
    .direct_desc,
    .direct_badge_txt{ font-size:1.4rem; }
    .direct_office_list li{ font-size:1.4rem; }
    .direct_print_btn{ width:100%; max-width:240px; font-size:1.6rem; }
}

/* 시도임상병리사회 반응형 */
@media (max-width:1024px){
    .sido_list{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:640px){
    .sido_list{ grid-template-columns:1fr; gap:16px; }
    .sido_card{ min-height:auto; padding:24px; }
    .sido_tit{ font-size:1.8rem; }
    .sido_info_row span{ font-size:1.5rem; }
}
@media (max-width:480px){
    .sido_card{ padding:20px; }
    .sido_tit{ font-size:1.7rem; }
    .sido_info{ margin-top:18px; gap:8px; }
}

/* =============================================
   sub09_01 회원약관
   ============================================= */
.container09_01{}
.terms_wrap{ margin-top:50px; }
.terms_chapter{ font-size:2.8rem; font-weight:700; color:#28344f; margin-bottom:30px; }
.terms_article{ margin-bottom:40px; }
.terms_article_tit{ font-size:1.9rem; font-weight:600; color:#222; margin-bottom:14px; }
.terms_txt{ font-size:1.7rem; font-weight:200; color:#444; line-height:1.8; }
@counter-style circled-num { system:fixed; symbols:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩; suffix:" "; }
.terms_list_circle{ list-style:none; padding:0; margin:0; counter-reset:circle-num; }
.terms_list_circle > li{ position:relative; padding-left:2.4rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:circle-num; }
.terms_list_circle > li::before{ content:counter(circle-num, circled-num); position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
@counter-style korean-ga { system:fixed; symbols:"가" "나" "다" "라" "마" "바" "사" "아" "자" "차"; suffix:" "; }
.terms_list_ga{ list-style:none; padding:0; margin:0; counter-reset:ga-num; }
.terms_list_ga > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:ga-num; }
.terms_list_ga > li::before{ content:counter(ga-num, korean-ga) "."; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_rp{ list-style:none; padding:0; margin:0; counter-reset:rp-num; }
.terms_list_rp > li{ position:relative; padding-left:2.4rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:rp-num; }
.terms_list_rp > li::before{ content:counter(rp-num) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_paren_ga{ list-style:none; padding:0; margin:0; counter-reset:paren-ga-num; }
.terms_list_paren_ga > li{ position:relative; padding-left:3rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:paren-ga-num; }
.terms_list_paren_ga > li::before{ content:"(" counter(paren-ga-num, korean-ga) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_paren{ list-style:none; padding:0; margin:0; counter-reset:paren-num; }
.terms_list_paren > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:10px; counter-increment:paren-num; }
.terms_list_paren > li::before{ content:"(" counter(paren-num) ")"; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }
.terms_list_num{ list-style:none; padding:0; margin:10px 0 0 0; counter-reset:num-list; }
.terms_list_num > li{ position:relative; padding-left:2.8rem; font-size:1.7rem; color:#444; line-height:1.8; margin-bottom:8px; counter-increment:num-list; }
.terms_list_num > li::before{ content:counter(num-list) "."; position:absolute; left:0; top:0; font-size:1.7rem; color:#444; }


/* ================================
   sub01_04 info block
================================ */
.container01_04{ }
.info_block{ display:flex; align-items:stretch; gap:0; margin-top: 30px;}
.info_block:last-child{ margin-bottom:0; }
.info_block--type01{ background:#E7EAEF; }
.info_block--type02{ background:#F3F3F3; }
.info_block_img{ flex:0 0 430px; width:430px; }
.info_block_img img{ display:block; width:100%; height:100%; object-fit:cover; }
.info_block_txt{ flex:1; display:flex; align-items:center; padding:30px 40px; }
.info_list{ list-style:none; margin:0; padding:0; }
.info_list li{ position:relative; padding-left:14px; font-size:1.6rem; color:#333; line-height:1.8; }
.info_list li + li{ margin-top:6px; }
.info_list li::before{ content:"-"; position:absolute; left:0; top:0; }
.info_sub{ font-size:1.5rem; color:#555; }
.ipt_grey_box { background-color: #f8f8f8; padding: 50px 40px; margin-top: 50px; border-radius: 10px;}
.yotube_tit { color: #000; font-size: 2.8rem; background: url(../images/sub/bg_tit_bar.jpg) 7px bottom no-repeat; padding-bottom: 27px; margin-bottom: 30px; line-height: 32px; padding-left: 7px; font-weight: 400; }
.youtube_box { width: 100%; height: 100%; margin-top: 20px; }
.img_role_tit { margin: 5px 0 30px; font-size: 1.8rem; }
.img_role_box { width: 100%; height: 100%; margin-top: 20px; }
.img_role_box img { width: 100%; height: 100%; object-fit: cover; }

/* -------------------------------------------------------*/
/* 설문 참여 (survey) — 40e790b 복원 (2026-06-16)            */
/* -------------------------------------------------------*/
.container_survey_take{ margin:40px auto 0; max-width:900px; width:100%; }
.survey_meta{ padding:20px 24px; background:#f7f8fb; border:1px solid #e5e7ee; border-radius:8px; margin-bottom:24px; }
.survey_title{ font-size:1.9rem; font-weight:700; color:#222; margin:0 0 8px; }
.survey_period{ font-size:1.35rem; color:#555; margin:0 0 4px; }
.survey_anon_notice{ font-size:1.3rem; color:#c61b3d; margin:6px 0 0; font-weight:600; }
.survey_desc{ margin-top:10px; font-size:1.4rem; color:#444; line-height:1.6; }
.survey_ques_list{ list-style:none; padding:0; margin:0; }
.survey_ques_item{ padding:18px 20px; border:1px solid #ddd; border-radius:6px; margin-bottom:14px; background:#fff; }
.survey_ques_text{ font-size:1.5rem; font-weight:600; color:#222; margin:0 0 12px; line-height:1.5; }
.survey_ques_no{ display:inline-block; min-width:24px; color:#2a4ea4; }
.survey_required{ color:#c61b3d; margin-left:4px; }
.survey_item_list{ list-style:none; padding:0; margin:0; }
.survey_item{ padding:6px 0; }
.survey_item label{ display:flex; align-items:center; gap:8px; cursor:pointer; font-size:1.4rem; color:#333; }
.survey_item input[type="radio"], .survey_item input[type="checkbox"]{ width:18px; height:18px; flex-shrink:0; }
.survey_textarea{ width:100%; min-height:100px; padding:10px 12px; border:1px solid #ccc; border-radius:5px; font-size:1.4rem; font-family:inherit; line-height:1.5; resize:vertical; box-sizing:border-box; }
.survey_textarea:focus{ outline:2px solid #2a4ea4; outline-offset:2px; }
.survey_empty{ padding:30px 0; text-align:center; color:#888; font-size:1.4rem; }
.survey_btn_box{ display:flex; justify-content:center; gap:10px; margin-top:24px; }
.survey_btn{ display:inline-flex; align-items:center; justify-content:center; min-width:140px; height:52px; padding:0 24px; border:none; border-radius:6px; font-size:1.55rem; font-weight:600; cursor:pointer; font-family:inherit; text-decoration:none; transition:background .2s ease; }
.survey_btn_submit{ background:#2a4ea4; color:#fff; }
.survey_btn_submit:hover, .survey_btn_submit:focus-visible{ background:#1f3d83; }
.survey_btn_cancel{ background:#4b505a; color:#fff; }
.survey_btn_cancel:hover, .survey_btn_cancel:focus-visible{ background:#3f444d; }
.survey_btn:focus-visible{ outline:2px solid #111; outline-offset:2px; }
.container_survey_complete{ margin:60px auto 0; max-width:520px; width:100%; }
.survey_complete_box{ max-width:520px; margin:0 auto; padding:40px 30px; text-align:center; background:#fff; border:1px solid #e5e7ee; border-radius:10px; }
.survey_complete_icon{ font-size:4.4rem; color:#2a9d4e; margin:0 0 10px; }
.survey_complete_title{ font-size:2rem; font-weight:700; color:#222; margin:0 0 8px; }
.survey_complete_text{ font-size:1.4rem; color:#555; margin:0 0 20px; }
.sub_content_area_full{ max-width:1280px; margin:0 auto; }
@media (max-width: 768px){
   .container_survey_take{ margin-top:24px; }
   .survey_btn_box{ flex-direction:column; }
   .survey_btn{ width:100%; min-width:0; }
}

