
.page_ready{margin-top:50px;}

.location{padding-top:50px;}
.location h3{font-size:24px;}
.location .map_link{display: flex;gap:20px;margin: 2.5rem 0;}
.location .map_link a{display: inline-flex;align-items: center;gap:10px;font-weight: 700;font-size: 15px;border: 1px solid #ddd;padding: 0.7em 1.7em;border-radius: 10em;transition: 0.3s ease-in-out;}
.location .map_link a:hover{color:#fff;background:#373847;border-color:#373847;}


.location_wr{display:flex;flex-flow:row nowrap;justify-content: space-between;margin-top:50px;}
.location_info{width:48%;padding:20px 0;border-top:1px solid #333;}
.location_info h3{margin-bottom:20px;}
.location_info p{display:flex;flex-flow:row nowrap;align-items: center;gap:20px;padding:6px 0;font-size:16px;}
.location_info p strong{font-size:20px;}
.location_info p img{width:18px;}
.location_info p .location_tt{font-weight:bold;}
.location_info small{font-size:14px;color:#777;}



/* --- 서브페이지 공통 스타일 --- */
.sub_wrap { font-family: 'Noto Sans KR', sans-serif; line-height: 1.6; color: #333; padding: 40px 16px 0; }
.sub_title { font-size: 28px; font-weight: 700; color: #111; margin-bottom: 30px; position: relative; padding-bottom: 15px; }
.sub_title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 50px; height: 4px; background: #2e7d32; } /* 기관 성격에 맞는 그린 톤 */

.sub_sec { margin-bottom: 80px; }
.sub_sec:last-child{margin-bottom:0;}
.sub_sec_ttl { font-size: 20px; font-weight: 600; color: #222; margin-bottom: 20px; display: flex; align-items: center; gap: 8px; }
.sub_sec_ttl::before { content: ''; display: inline-block; width: 4px; height: 16px; background: #81c784; border-radius: 2px; }
.sub_sec p{font-size:16px;}
.sub_sec p.ceo_name{margin-top: 30px;font-size: 18px;font-weight: 600;text-align: right;}


/* 1. 개요 상자 */
.cert_intro_box { background: #f8f9fa; border-left: 4px solid #2e7d32; padding: 25px; border-radius: 0 8px 8px 0; font-size: 16px; margin-bottom: 30px; word-break: keep-all; }

/* 2. 테이블 스타일 (반응형 터치 스크롤 포함) */
.table_responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 20px; border-top: 2px solid #2e7d32; }
.cert_table { width: 100%; /*min-width: 600px; */border-collapse: collapse; text-align: left; font-size: 15px; }
.cert_table th { width:160px; text-align:center; color: #111; font-weight: 600; padding: 15px 10px; background: #f1f3f5; border-bottom: 1px solid #dee2e6;}
.cert_table td { padding: 15px 20px; border-bottom: 1px solid #dee2e6; color: #495057; }
.cert_content_flex {display: flex;flex-flow:column nowrap;gap: 30px;align-items: flex-start;margin-bottom: 20px;}
.cert_img_box {display:flex;flex-flow:row wrap;justify-content:flex-start;gap:10px;width:100%;}
.cert_img_box  > div{display:flex;flex-flow:column nowrap;align-items:center;width:calc(14% - 10px);}
.cert_img_box img {width: 100%;height: auto;display: block;object-fit: cover;}

.cert_content_flex .table_responsive {flex: 1;margin-bottom: 0;}

/* 3. 8단계 절차 프로세스 (그리드 반응형) */
.process_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; position: relative; }
.process_card { background: #fff; border: 1px solid #e9ecef; border-radius: 8px; padding: 20px 15px; text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: transform 0.2s; }
.process_card:hover { transform: translateY(-3px); border-color: #2e7d32; }
.process_num { font-size: 12px; font-weight: 700; color: #2e7d32; text-transform: uppercase; margin-bottom: 5px; letter-spacing: 1px; }
.process_name { font-size: 16px; font-weight: 600; color: #111; margin-bottom: 8px; }
.process_desc { font-size: 13px; color: #666; line-height: 1.4; word-break: keep-all; }

/* 4. 링크 및 다운로드 버튼 */
.btn_download_group { display: flex; flex-flow:row wrap; gap: 10px; margin-top: 15px; }
.btn_down { flex: 1 1 calc(33.3333% - 10px);display:flex; flex-flow:row nowrap;align-items: center;gap:10px;padding: 10px 20px; background: #fff; border: 1px solid #ced4da; border-radius: 4px; font-size: 14px; color: #495057; text-decoration: none; transition: all 0.2s; }
.btn_down:hover { background: #e9ecef; color: #111; border-color: #adb5bd;}
.btn_down strong{min-width:max-content;padding-right:10px;border-right:1px solid #555;}

/* --- 미디어 쿼리 (반응형 태블릿/모바일) --- */
@media (max-width: 991px) {
  .location .map_link{flex-direction: column;}
  .location .map_link a{width:max-content;}
  .location_wr{flex-direction: column;gap:40px;}
  .location_info{width:100%;}
  .cert_content_flex {flex-direction: column;gap: 20px;}
  .cert_img_box > div{width:calc(25% - 10px);}
  .btn_down{flex:1 1 100%;}
  .process_grid { grid-template-columns: repeat(2, 1fr); } /* 4열에서 2열로 변경 */
}
@media(max-width:768px){
  .cert_table th{width:140px;}
}

@media (max-width: 576px) {
  .sub_wrap { padding: 25px 16px 0; }
  .sub_title { font-size: 22px; }
  .sub_sec_ttl { font-size: 18px; }
  .cert_intro_box { padding: 20px; font-size: 15px; }
  .process_grid { grid-template-columns: 1fr; } /* 모바일은 무조건 1열 세로 정렬 */
  .btn_down { width: 100%; } /* 모바일에서 버튼 꽉 차게 */
}