/* --- Quality & Innovation 페이지 전용 (상단 비주얼·탭·컨텐츠 영역) --- */

/* 1. 상단 비주얼 (company_intro.css와 동일 구조) */
.sub_visual { position: relative; width: 100%; height: 998px; background: url('../img/sub_visual_bg.jpg') no-repeat center/cover; display: flex; align-items: center; padding-top: 226px; }
.sub_visual.quality_innovation_visual { background: url('../img/sub_visual_quality_innovation_bg.png') no-repeat center/cover; }
.visual_txt_area { width: 1600px; margin: 0 auto; color: #fff; font-family: 'Pretendard'; font-weight: 600; font-size: 20px; }
.visual_txt_area .text_wrapper, .visual_txt_area .text_box { border-left: 1px solid rgba(255, 255, 255, 0.3); padding-left: 50px; }
.visual_txt_area .sub_tit { color: #fff; font-size: 24px; font-weight: 600; font-family: 'Pretendard' !important; margin: 0; }
.visual_txt_area .main_tit { font-size: 70px; font-weight: 700; line-height: 1.2; margin: 40px 0; font-family: 'Poppins'; }
.visual_txt_area .sub_desc { font-size: 20px; font-weight: 600; color: #FFFFFF; font-family: 'Pretendard'; }
/* company_intro/product_info와 동일 컨셉: 탭은 콘텐츠 너비만, 스크롤은 래퍼에서 (블러/여백 이슈 방지) */
.product_tab_nav_wrap { display: inline-block; max-width: 100%; margin-top: 115px; border-radius: 100px; overflow: hidden; }
.product_tab_nav { display: inline-flex; width: max-content; background: rgba(255, 255, 255, 0.15); border-radius: 100px; margin-top: 0; }
.tab_btn { border: none; background: transparent; color: #FFFFFF; padding: 20px 30px; font-size: 22px; border-radius: 100px; cursor: pointer; transition: 0.3s; font-family: 'Poppins'; font-weight: 500; }
.tab_btn.on { background: #ff6b00; color: #fff; }
/* 모바일 전용 탭 드롭다운 (PC에서는 숨김) */
.product_tab_dropdown { display: none; }
/* 2. 상세 컨텐츠 (Company와 동일: 영역은 화면 꽉, 안에 .inner만 가운데 고정) */
.product_detail_content { position: relative; width: 100%; z-index: 10; box-sizing: border-box; }
.tab_panel { display: none; }
.tab_panel.active { display: block; animation: fadeIn 0.6s ease; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.tab_panel .inner { max-width: 1600px; width: 100%; margin: 0 auto; box-sizing: border-box; }
@media (max-width:1400px) {
  .visual_txt_area { max-width: 100%; padding-left: 0; padding-right: 0; box-sizing: border-box; }
}
/* 3. Quality & Innovation 인트로 섹션 */
.quality_innovation_intro { margin-top: 160px; }
.quality_innovation_intro_tit { font-size: 70px; font-weight: 700; color: #ff6b00; margin-bottom: 80px; padding: 0; }
.quality_innovation_intro_block { position: relative; width: 100%; border-radius: 12px; overflow: hidden; min-height: 585px; }
.quality_innovation_intro_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('../img/policy_ehs_section_img.png') no-repeat center/cover; z-index: 0; }
.quality_innovation_intro_inner { position: relative; z-index: 1; display: flex; align-items: center; padding: 80px 80px 80px 100px; min-height: 585px; box-sizing: border-box; }
.quality_innovation_intro_txt { max-width: 640px; }
.quality_innovation_intro_headline { font-size: 40px; font-weight: 700; color: #fff; line-height: 1.5; margin: 0 0 74px 0; }
.quality_innovation_intro_desc { font-size: 20px; font-weight: 500; color: #fff; line-height: 1.8; margin: 0; }
/* 4. 품질 방침 및 추진 목표 */
.quality_policy_section { margin-top: 120px; margin-bottom: 160px; }
.quality_policy_tit { font-size: 36px; font-weight: 700; color: #000; margin: 0 0 40px 0; padding: 0; }
.quality_policy_diagram { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-rows: auto auto auto; grid-template-areas: ". top ." "left center right" ". bottom ."; align-items: center; justify-items: center; margin: 0 135px 100px; position: relative; }
.diagram_oval { border: 2px solid #ff6b00; border-radius: 999px; padding: 30px 40px; font-size: 24px; font-weight: 700; color: #000; text-align: center; line-height: 1.25; width: max-content; max-width: 100%; white-space: nowrap; box-sizing: border-box; }
/* 테두리는 글자에 맞게, 늘어나는 방향은 중앙 원 반대쪽 */
.diagram_top { grid-area: top; align-self: end; }
.diagram_bottom { grid-area: bottom; align-self: start; }
/* 좌·우 타원만 시안대로 340*120 고정 */
.diagram_left { grid-area: left; justify-self: end; width: 340px; height: 120px; min-width: 340px; min-height: 120px; max-width: 340px; padding: 20px 24px; display: flex; align-items: center; justify-content: center; }
.diagram_right { grid-area: right; justify-self: start; width: 340px; height: 120px; min-width: 340px; min-height: 120px; max-width: 340px; padding: 20px 24px; display: flex; align-items: center; justify-content: center; }
.diagram_center { grid-area: center; flex-shrink: 0; position: relative; }
.diagram_center_img { display: block; width: 100%; height: 100%; object-fit: contain; position: relative; z-index: 1; }
/* PNG 위에 올리는 글씨 */
.diagram_center_txt { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; z-index: 2; pointer-events: none; }
.diagram_center_main { font-size: 30px; font-weight: 700; color: #fff; line-height: 1; display: block; }
.diagram_center_sub { font-size: 24px; font-weight: 400; color: #fff; line-height: 1; display: block; margin-top: 15px; }
/* 점선만 표시 (주황 원 이미지에 점 있음, 연결 느낌만) */
.diagram_line { position: absolute; z-index: 0; background: transparent; }
/* 점선: 중앙 원 ↔ 타원까지 이어지도록 길이 보정 */
.diagram_line_top { left: 50%; top: 0; width: 3px; height: 48px; margin-left: -1.5px; margin-top: -48px; border-left: 3px dotted #ff6b00; }
.diagram_line_bottom { left: 50%; bottom: 0; width: 3px; height: 48px; margin-left: -1.5px; margin-bottom: -48px; border-left: 3px dotted #ff6b00; }
.diagram_line_left { top: 50%; left: 0; width: 48px; height: 3px; margin-top: -1.5px; margin-left: -48px; border-top: 3px dotted #ff6b00; }
.diagram_line_right { top: 50%; right: 0; width: 48px; height: 3px; margin-top: -1.5px; margin-right: -48px; border-top: 3px dotted #ff6b00; }
.quality_policy_table { width: 100%; border-collapse: collapse; border: none; }
.quality_policy_table th, .quality_policy_table td { padding: 30px 30px; text-align: center; vertical-align: top; border: none; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; line-height: 1; }
.quality_policy_table th { background: #f5f5f5; font-weight: 700; color: #000; width: 20%; font-size: 20px; line-height: 1.3; vertical-align: middle; }
.quality_policy_table td { background: #fff; color: #000; font-weight: 400; text-align: left !important; font-size: 18px; vertical-align: middle; }
/* ========== 환경경영 방침 및 추진 목표 (3원 + 점선 타원 + 표) ========== */
.env_policy_section { margin-bottom: 160px; }
/* 첫 번째 탭 맨 마지막 섹션만 하단 여백 200px */
.env_policy_section.section_last { margin-bottom: 200px; }
.env_policy_tit { font-size: 36px; font-weight: 700; color: #000; margin: 0 0 40px 0; padding: 0; }
.env_policy_diagram { margin-bottom: 100px; text-align: center; }
/* 환경경영 다이어그램: PNG 위에 글자 오버레이 */
.env_diagram_wrap { position: relative; display: inline-block; max-width: 100%; margin: 0 auto; }
.env_diagram_wrap .env_diagram_img { display: block; max-width: 100%; height: auto; vertical-align: top; }
.env_diagram_txt { position: absolute; top: 50%; transform: translate(-50%, -50%); text-align: center; font-size: 26px; font-weight: 700; color: #000; line-height: 1.35; pointer-events: none; }
.env_diagram_txt_left { left: 20%; }
.env_diagram_txt_center { left: 50%; font-size: 26px; font-weight: 700; color: #fff; }
.env_diagram_txt_right { left: 80%; }
/* ========== Certificates 탭 (2번째 탭) ========== */
.certificates_section { margin-top: 160px; padding-bottom: 160px; }
/* 제목: 첫 번째 탭 주황 타이틀과 동일 (70px, 700, #ff6b00, Pretendard) */
.certificates_tit { font-size: 70px; font-weight: 700; color: #ff6b00; margin: 0 0 80px 0; padding: 0; text-align: left; }
.certificates_list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 70px; list-style: none; margin: 0; padding: 0; }
.certificates_item { display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; }
/* PNG 원본 그대로 사용(배경·라벨 없음) */
.certificates_icon_wrap { display: flex; align-items: center; justify-content: center; margin-bottom: 24px; flex-shrink: 0; }
.certificates_icon { max-width: 350px; max-height: 350px; width: auto; height: auto; object-fit: contain; display: block; }
.certificates_desc { font-size: 18px; line-height: 1.5; color: #000; margin: 0 0 30px 0; text-align: center; }
.certificates_btn { display: inline-flex; align-items: center; justify-content: center; min-width: 286px; padding: 20px 80px; background: #000; color: #fff; font-size: 20px; font-weight: 700; text-decoration: none; border-radius: 40px; transition: background 0.3s, color 0.3s; }
.certificates_btn:hover { background: #333; color: #fff; }
/* ========== Certificate 슬라이더 (전체 너비, 루프, active 상승, 양끝 디밍) ========== */
.certificate_slider_section { width: 100%; min-height: 1030px; background: url('../img/ct_slider_section_bg.png') no-repeat center/cover; margin-top: 0; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.certificate_slider_inner { width: 100%; box-sizing: border-box; }
.certificate_slider_viewport { overflow-x: hidden; overflow-y: visible; margin-bottom: 40px; padding-top: 75px; }
.certificate_slider_track { display: flex; gap: 50px; transition: transform 0.75s ease-out; will-change: transform; }
.certificate_slider_card { flex: 0 0 420px; min-height: 500px; border-radius: 16px; padding: 60px; box-sizing: border-box; background: #fff; border: 1px solid #e5e5e5; display: flex; flex-direction: column; transition: transform 0.6s ease, background 0.25s, border-color 0.25s, color 0.25s, opacity 0.25s, filter 0.25s; }
.certificate_slider_card.active { background: #ff6b00; border-color: #ff6b00; transform: translateY(-75px); z-index: 2; }
/* 양쪽 끝 카드 어둡게 */
.certificate_slider_card.dimmed { filter: brightness(0.6); }
.certificate_slider_card .certificate_slider_label { font-size: 18px; font-weight: 700; color: #ff6b00; margin-bottom: 10px; }
.certificate_slider_card.active .certificate_slider_label { color: #fff; }
.certificate_slider_card .certificate_slider_title { font-size: 30px; font-weight: 700; color: #000; line-height: 1; }
.certificate_slider_card.active .certificate_slider_title { color: #fff; }
.certificate_slider_card .certificate_slider_desc { font-size: 18px; line-height: 1.5; color: #000; font-weight: 500; margin: 0; margin-top: auto; }
.certificate_slider_card.active .certificate_slider_desc { color: #fff; }
/* 시안: 모든 카드 버튼 동일 — 흰 배경, 주황 테두리, 주황 글자 */
.certificate_slider_card .certificate_slider_dl { display: inline-flex; align-items: center; justify-content: center; min-width: 140px; padding: 26px 0; margin-top: 30px; font-size: 20px; font-weight: 600; text-decoration: none; border-radius: 60px; border: 2px solid #ff6b00; background: #fff; color: #ff6b00; transition: background 0.25s, color 0.25s, border-color 0.25s; }
.certificate_slider_card .certificate_slider_dl:hover { background: rgba(255, 107, 0, 0.08); }
.certificate_slider_card.active .certificate_slider_dl { background: #ff6b00; border-color: #fff; color: #fff; }
.certificate_slider_card.active .certificate_slider_dl:hover { background: #fff; border-color: #fff; color: #ff6b00; }
.certificate_slider_nav { display: flex; align-items: center; justify-content: center; gap: 40px; padding: 20px 30px; border-radius: 999px; width: max-content; margin: 0 auto; background: rgba(255, 255, 255, 0.4); }
.certificate_slider_nav .certificate_slider_btn { border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: opacity 0.2s ease; }
.certificate_slider_nav .certificate_slider_btn_icon { display: block; object-fit: contain; width: 80%; transition: opacity 0.2s ease; }
.certificate_slider_nav .certificate_slider_btn:hover .certificate_slider_btn_icon { opacity: 0.6; }
.certificate_slider_counter { font-size: 20px; color: #fff; gap: 10px; display: flex; align-items: center; justify-content: center; }
.certificate_slider_counter .counter-current { font-weight: 700; }
.certificate_slider_counter .counter-sep { font-weight: 400; }
.certificate_slider_counter .counter-total { font-weight: 400; opacity: 0.7; }
/* ========== R&D Achievements 탭 (3번째 탭) ========== */
.rd_achievements_section { margin-top: 0; /* padding-bottom: 260px; */
}
.rd_achievements_tit { font-size: 70px; font-weight: 700; color: #ff6b00; margin: 0 0 80px 0; padding: 0; text-align: left; }
.rd_oval_wrap { max-width: 900px; min-height: 546px; margin: 0 auto; background-color: #8a8a8a; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 999px; padding: 60px 80px; box-sizing: border-box; position: relative; display: flex; align-items: center; justify-content: center; }
.rd_oval_wrap::before { content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; border-radius: inherit; background: rgba(0, 0, 0, 0.3); pointer-events: none; }
.rd_oval_inner { text-align: center; position: relative; z-index: 1; }
.rd_oval_label { display: block; font-size: 18px; font-weight: 500; color: #fff; margin-bottom: 30px; }
.rd_oval_year { display: block; font-size: 60px; font-weight: 700; color: #fff; margin-bottom: 60px; line-height: 1; }
.rd_oval_desc { font-size: 24px; line-height: 1.4; color: #fff; margin: 0; }
.rd_timeline_connector { width: 0; height: 104px; margin: 0 auto; border-left: 3px dashed #ff6b00; position: relative; z-index: 10; }
/* ★ 수정: width 100% 고정 */
.rd_timeline_container { width: 100%; max-width: 100%; margin: 0 auto; height: 60px; position: relative; overflow: hidden; box-sizing: border-box; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 250px, black calc(100% - 250px), transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 250px, black calc(100% - 250px), transparent 100%); }
.rd_timeline_nav { position: relative; max-width: 1600px; margin: 0 auto; margin-top: -35px; }
.rd_timeline_bar_wrap { width: 100%; display: block; position: relative; z-index: 0; }
.rd_timeline_track { width: 100%; max-width: 1600px; height: 60px; background: #EEEEEE; border-radius: 30px; position: relative; overflow: visible; margin: 0 auto; }
/* ★ 수정: gap 0, justify-content: space-between, width: 100% */
.rd_timeline_dots { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 83px; transition: transform 0.5s ease; z-index: 1; }
.rd_timeline_dot { width: 30px; height: 30px; border-radius: 50%; background: #FFFFFF; flex-shrink: 0; transition: none; position: relative; }
.rd_timeline_dot.active { width: 30px; height: 30px; position: relative !important; top: auto !important; left: auto !important; transform: none !important; z-index: 100 !important; transition: none !important; }
.rd_timeline_dot.dot_active { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 80px; height: 80px; background: url('../img/timeline-active-icon.svg') no-repeat center center !important; z-index: 100 !important; transition: none !important; pointer-events: none; }
.rd_timeline_btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 30px; height: 30px; margin: 0 30px; border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.rd_timeline_btn.rd_timeline_prev:hover, .rd_timeline_btn.rd_timeline_next:hover { opacity: 0.8; }
.rd_timeline_prev { left: 0; }
.rd_timeline_next { right: 0; }
.rd_timeline_btn_icon { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
/* 특허출원 및 기술개발 (시안: 헤더 가운데, 점선 구분선, 연구개발과제 앞 토글 점) */
.rd_patent_section { margin-top: 120px; /* padding-bottom: 100px; */
}
.rd_patent_tit { font-size: 36px; font-weight: 700; color: #000; margin: 0 0 40px 0; padding: 0; }
.rd_patent_header { display: flex; border-top: 2px solid #ff6b00; border-bottom: 2px solid #ff6b00; padding: 30px 0; margin-bottom: 0; font-weight: 700; font-size: 20px; color: #ff6b00; line-height: 1; }
.rd_patent_header_year { width: 17.8%; flex-shrink: 0; text-align: center; box-sizing: border-box; }
.rd_patent_header_project { flex: 1; text-align: center; box-sizing: border-box; }
.rd_patent_list { list-style: none; margin: 0; padding: 0; }
.rd_patent_row { display: flex; align-items: center; padding: 30px 0; border-bottom: 1px solid #ddd; }
.rd_patent_year { width: 17.8%; flex-shrink: 0; font-weight: 700; font-size: 20px; color: #000; text-align: center; box-sizing: border-box; font-family: 'Pretendard' !important; }
.rd_patent_projects { flex: 1; font-size: 18px; line-height: 1.7; color: #000; padding-left: 30px; }
.rd_patent_projects ul { list-style: none; margin: 0; padding: 0; }
.rd_patent_projects ul li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.rd_patent_projects ul li::before { content: '·'; position: absolute; left: 0; color: #000; font-weight: bold; font-size: 1.1em; }
.rd_patent_projects ul li:last-child { margin-bottom: 0; }
.rd-desc-line{margin-bottom:15px;}
.rd-desc-line:last-child{margin-bottom:0;}

/* --- 4번째 탭: Equipment (카드 그리드, 세로 고정·가로=이미지+50px, hover 시 배경 흰색) --- */
.equipment_section { padding-bottom: 120px; padding-top: 160px; }
.equipment_tit { font-size: 70px; font-weight: 700; color: #ff6b00; margin: 0 0 80px 0; padding: 0; text-align: left; }
.equipment_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
/* 카드: 세로 고정, 가로 = 이미지 영역(240px) + 패딩 50px = 290px */
.equipment_card { height: 600px; padding: 50px 50px 80px 50px; box-sizing: border-box; background-color: #f9f9f9; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; transition: background-color 0.3s ease; }
.equipment_card:hover { background-color: #ffffff; }
/* 2칸 너비 카드 (가로 영역 두 배) */
.equipment_card--wide { grid-column: span 2; width: 100%; max-width: none; }
.equipment_card--wide .equipment_card_img_wrap { /* width: 554px; */
  width: 800px; }
.equipment_card_category { align-self: flex-start; display: inline-block; color: #ff6b00; font-size: 20px; font-weight: 700; font-family: 'Pretendard'!important; margin-bottom: 60px; }
.equipment_card_img_wrap { width: 290px; height: 230px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.equipment_card_img { max-width: 100%; max-height: 100%; object-fit: contain; vertical-align: middle; }
.equipment_card_name { font-size: 20px; font-weight: 700; color: #000; margin: 50px 0 0 0; text-align: left; line-height: 1; align-self: flex-start; }
.equipment_card_desc { font-size: 18px; font-weight: 700; color: #666; text-align: left; line-height: 1; align-self: flex-start; }


/* ========== 반응형 ========== */

/* --- 1600px 이하 --- */
@media (max-width:1600px) {
  .tab_panel .inner { max-width: 100%; padding: 0 5%; }
  .quality_policy_diagram { margin: 0 40px 100px; }
  .diagram_left, .diagram_right { width: 280px; min-width: 280px; max-width: 280px; font-size: 20px; }
  .equipment_list { grid-template-columns: repeat(3, 1fr); width: 100%; }
  .equipment_card { width: 100%; }
  .rd_timeline_nav { max-width: 100%; }
  .rd_timeline_track { max-width: 100%; }
}
/* --- 1440px 이하 --- */
@media (max-width:1440px) {
  .certificates_list { grid-template-columns: repeat(3, 1fr); gap: 50px; }
  .certificates_icon { max-width: 300px; max-height: 300px; }
  .certificates_desc { font-size: 16px; }
  .certificates_btn { min-width: 240px; padding: 18px 60px; font-size: 18px; }
  .equipment_list { grid-template-columns: repeat(3, 1fr); width: 100%; }
  .equipment_card { width: 100%; height: auto; min-height: 480px; padding: 40px 40px 70px; }
  .equipment_card_category { font-size: 18px; margin-bottom: 50px; }
  .equipment_card_img_wrap { width: 250px; height: 200px; }
  .equipment_card--wide .equipment_card_img_wrap { width: 480px; }
  .equipment_card_name { font-size: 18px; margin: 40px 0 16px; }
  .equipment_card_desc { font-size: 16px; }
  /* ★ 수정 */
  .rd_timeline_container { width: 100%; }
}
/* --- 1280px 이하 --- */
@media (max-width:1280px) {
  .certificates_list { grid-template-columns: repeat(3, 1fr); gap: 40px; }
  .certificates_icon { max-width: 260px; max-height: 260px; }
  .certificates_desc { font-size: 16px; }
  .certificates_btn { min-width: 220px; padding: 16px 50px; font-size: 16px; }
  .equipment_list { grid-template-columns: repeat(3, 1fr); width: 100%; }
  .equipment_card { width: 100%; height: auto; min-height: 450px; padding: 36px 30px 60px; }
  .equipment_card--wide { grid-column: span 2; }
  .equipment_card_category { font-size: 17px; margin-bottom: 45px; }
  .equipment_card_img_wrap { width: 230px; height: 190px; }
  .equipment_card--wide .equipment_card_img_wrap { width: 420px; }
  .equipment_card_name { font-size: 17px; margin: 36px 0 14px; }
  .equipment_card_desc { font-size: 16px; }
  /* ★ 수정 */
  .rd_timeline_container { width: 100%; }
}
/* --- 1200px 이하 (product_info와 동일 비주얼·탭) --- */
@media (max-width:1200px) {
  .sub_visual { height: auto; min-height: 600px; padding-top: 160px; padding-bottom: 80px; }
  .visual_txt_area { width: 100%; max-width: 100%; padding-left: 80px; padding-right: 80px; box-sizing: border-box; }
  .visual_txt_area .text_wrapper, .visual_txt_area .text_box { padding-left: 32px; }
  .visual_txt_area .main_tit { font-size: 50px; margin: 30px 0; }
  .visual_txt_area .sub_tit { font-size: 20px; }
  .visual_txt_area .sub_desc { font-size: 18px; }
  .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
  .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
  .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
  .quality_innovation_intro_tit, .certificates_tit, .rd_achievements_tit, .equipment_tit { font-size: 50px; margin-bottom: 60px; }
  .quality_innovation_intro_block { min-height: 400px; }
  .quality_innovation_intro_inner { min-height: 400px; padding: 60px 50px; }
  .quality_innovation_intro_headline { font-size: 30px; margin-bottom: 40px; }
  .quality_innovation_intro_desc { font-size: 18px; }
  .quality_policy_section { margin-top: 80px; margin-bottom: 100px; }
  .quality_policy_tit, .env_policy_tit, .rd_patent_tit { font-size: 30px; }
  .quality_policy_diagram { margin: 0 0 60px; }
  .diagram_oval { font-size: 18px; padding: 20px 24px; }
  .diagram_left, .diagram_right { width: 220px; min-width: 220px; max-width: 220px; height: 100px; min-height: 100px; font-size: 18px; }
  .diagram_center_main { font-size: 24px; }
  .diagram_center_sub { font-size: 18px; }
  .certificates_list { grid-template-columns: repeat(2, 1fr); gap: 40px; }
  .certificates_section { padding-bottom: 100px; }
  .equipment_list { grid-template-columns: repeat(3, 1fr); }
  .equipment_card { height: auto; min-height: 450px; padding: 40px 30px 60px; }
  .equipment_card--wide { grid-column: span 2; }
  .equipment_card_img_wrap { width: 220px; height: 180px; }
  .equipment_card--wide .equipment_card_img_wrap { width: 400px; }
  .rd_oval_wrap { max-width: 700px; min-height: 420px; padding: 50px 60px; }
  .rd_oval_year { font-size: 48px; margin-bottom: 40px; }
  .rd_oval_desc { font-size: 20px; }
  .rd_timeline_connector { height: 70px; }
  /* ★ 수정: 중복 제거, width 100% 고정 */
  .rd_timeline_container { width: 100%; max-width: 100%; height: 50px; }
  /* ★ 수정: gap 0 */
  .rd_timeline_dots { gap: 60px; }
  .rd_timeline_dot { width: 24px; height: 24px; }
  .rd_timeline_dot.active { width: 24px; height: 24px; }
  .rd_timeline_track { height: 50px; }
  .env_policy_section { margin-bottom: 100px; }
  .env_policy_section.section_last { margin-bottom: 120px; }
  .env_diagram_txt { font-size: 20px; }
  .env_diagram_txt_center { font-size: 20px; }
  .certificate_slider_card { flex: 0 0 340px; min-height: 420px; padding: 40px; }
  .certificate_slider_card .certificate_slider_title { font-size: 24px; }
  .rd_patent_section { margin-top: 80px; padding-bottom: 160px; }
  .certificate_slider_section { padding: 100px 0; min-height: auto; }
  .certificate_slider_viewport { margin-bottom: 0; }
  .certificate_slider_nav { margin: 40px auto 0; }
  .certificate_slider_card .certificate_slider_dl { padding: 15px 0}
}
/* --- 1024px 이하 (company_intro.css와 동일 구조) --- */
@media (max-width:1024px) {
  .sub_visual { height: auto; min-height: 560px; padding: 120px 48px 73px 40px; align-items: end; background-position: 35% center; }
  .visual_txt_area { width: 100%; max-width: 100%; padding-left: 0; padding-right: 0; box-sizing: border-box; }
  .visual_txt_area .text_wrapper, .visual_txt_area .text_box { padding-left: 32px; }
  .visual_txt_area .main_tit { font-size: 42px; margin: 28px 0; line-height: 1.25; }
  .visual_txt_area .sub_tit { font-size: 20px; }
  .visual_txt_area .sub_desc { font-size: 17px; }
  .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
  .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
  .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
}
/* --- 992px 이하 --- */
@media (max-width:992px) {
  .sub_visual { height: auto; min-height: 560px; padding: 120px 48px 73px 40px; }
  .visual_txt_area { padding-left: 0; padding-right: 0; }
  .visual_txt_area .main_tit { font-size: 40px; margin: 24px 0; }
  .visual_txt_area .sub_tit { font-size: 18px; }
  .visual_txt_area .sub_desc { font-size: 16px; }
  .product_tab_nav_wrap { margin-top: 48px; margin-left: -10px; margin-right: 0; }
  .product_tab_nav { flex-wrap: nowrap; gap: 6px; }
  .tab_btn { padding: 14px 18px; font-size: 16px; white-space: nowrap; flex-shrink: 0; }
  .quality_innovation_intro { margin-top: 100px; }
  .quality_innovation_intro_tit, .certificates_tit, .rd_achievements_tit, .equipment_tit { font-size: 36px; margin-bottom: 40px; }
  .quality_innovation_intro_headline { font-size: 26px; margin-bottom: 30px; }
  .quality_innovation_intro_desc { font-size: 16px; }
  /* 품질 방침 다이어그램: 992px부터 세로 한 줄 + 세로축 기준 가운데 정렬, 점선은 블록 뒤에 */
  .quality_policy_diagram { display: flex; flex-direction: column; align-items: center; gap: 20px; margin: 0 auto 60px; position: relative; padding: 0 20px; width: 100%; max-width: 320px; }
  .quality_policy_diagram::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 0; border-left: 2px dashed #ff6b00; transform: translateX(-1px); pointer-events: none; z-index: 0; }
  .quality_policy_diagram .diagram_oval, .quality_policy_diagram .diagram_center { position: relative; z-index: 1; order: 0; width: 100%; max-width: 300px; min-width: 280px; box-sizing: border-box; }
  .quality_policy_diagram .diagram_top { order: 1; }
  .quality_policy_diagram .diagram_left { order: 2; white-space: nowrap; }
  .quality_policy_diagram .diagram_center { order: 3; }
  .quality_policy_diagram .diagram_right { order: 4; }
  .quality_policy_diagram .diagram_bottom { order: 5; }
  .quality_policy_diagram .diagram_oval { height: auto; min-height: auto; padding: 16px 24px; font-size: 16px; line-height: 1.4; white-space: normal; word-break: keep-all; border: 2px solid #ff6b00; background: #fff; border-radius: 999px; display: flex; align-items: center; justify-content: center; text-align: center; }
  .quality_policy_diagram .diagram_center { min-height: 100px; padding: 20px 28px; border-radius: 999px; background: #ff6b00; border: 12px solid #fce1cc; display: flex; align-items: center; justify-content: center; }
  .quality_policy_diagram .diagram_center_img { display: none; }
  .quality_policy_diagram .diagram_center_txt { position: static; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; }
  .quality_policy_diagram .diagram_center_main { font-size: 20px; color: #fff; }
  .quality_policy_diagram .diagram_center_sub { font-size: 16px; color: rgba(255,255,255,0.95); margin-top: 6px; }
  .quality_policy_table th, .quality_policy_table td { padding: 20px 16px; }
  .quality_policy_table th { font-size: 16px; width: 30%; }
  .quality_policy_table td { font-size: 16px; }
  .env_diagram_wrap { max-width: 500px; }
  .env_diagram_txt { font-size: 16px; }
  .env_diagram_txt_center { font-size: 16px; }
  .certificates_list { gap: 30px; }
  .certificates_icon { max-width: 250px; max-height: 250px; }
  .certificates_desc { font-size: 16px; }
  .certificates_btn { min-width: 200px; padding: 16px 40px; font-size: 16px; }
  .certificate_slider_section { min-height: 800px; }
  .certificate_slider_card { flex: 0 0 340px; min-height: 420px; padding: 30px; }
  .certificate_slider_card .certificate_slider_title { font-size: 22px; }
  .certificate_slider_card .certificate_slider_desc { font-size: 16px; }
  .certificate_slider_card .certificate_slider_dl { padding: 20px 0; font-size: 16px; }
  .rd_oval_wrap { max-width: 560px; min-height: 340px; padding: 40px 40px; }
  .rd_oval_label { font-size: 16px; margin-bottom: 20px; }
  .rd_oval_year { font-size: 40px; margin-bottom: 30px; }
  .rd_oval_desc { font-size: 18px; }
  .rd_timeline_connector { height: 50px; }
  .rd_timeline_track { height: 44px; }
  /* ★ 수정: width 100%, gap 0 */
  .rd_timeline_container { height: 44px; width: 100%; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 60px, black calc(100% - 60px), transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 60px, black calc(100% - 60px), transparent 100%); }
  .rd_timeline_dots { gap: 50px; }
  .rd_timeline_dot { width: 20px; height: 20px; }
  .rd_timeline_dot.active { width: 20px; height: 20px; }
  .rd_timeline_btn { width: 24px; height: 24px; margin: 0 16px; }
  .rd_patent_header { font-size: 16px; padding: 20px 0; }
  .rd_patent_year { font-size: 16px; }
  .rd_patent_projects { font-size: 16px; padding-left: 20px; }
  .rd_patent_row { padding: 20px 0; }
  .equipment_list { grid-template-columns: repeat(2, 1fr); }
  .equipment_card--wide { /* grid-column: span 2; */
    grid-column: unset; }
  .equipment_card { min-height: 400px; padding: 30px 24px 50px; }
  .equipment_card_category { font-size: 16px; margin-bottom: 40px; }
  .equipment_card_img_wrap { width: 200px; height: 160px; }
  .equipment_card--wide .equipment_card_img_wrap { width: 340px; }
  .equipment_card_name { font-size: 18px; margin: 30px 0 14px; }
  .equipment_card_desc { font-size: 16px; }
  .rd_patent_section { padding-bottom: 120px; }
}
/* --- 768px 이하 (company_intro.css와 동일 구조) --- */
@media (max-width:768px) {
  .sub_visual { position: relative; z-index: 20; min-height: 420px; padding: 80px 32px 50px 24px; background-position: 60% center; }
  .product_detail_content { z-index: 1; }
  .visual_txt_area { padding-left: 0; padding-right: 0; }
  .visual_txt_area .text_wrapper, .visual_txt_area .text_box { padding-left: 20px; }
  .visual_txt_area .main_tit { font-size: 28px; margin: 20px 0; line-height: 1.3; }
  .visual_txt_area .sub_tit { font-size: 16px; }
  .visual_txt_area .sub_desc { font-size: 16px; }
  .product_tab_nav_wrap { position: relative; z-index: 2; margin-top: 32px; margin-left: 0; margin-right: 0; border-radius: 100px; overflow: visible; width: 100%; max-width: 100%; }
  .product_tab_nav_wrap::-webkit-scrollbar { display: none; }
  .product_tab_nav_wrap .product_tab_nav { display: none !important; }
  .product_tab_dropdown { display: block; width: 100%; max-width: 100%; position: relative; }
  .product_tab_dropdown_trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 20px; border: none; border-radius: 100px; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; font-size: 16px; font-weight: 500; font-family: 'Poppins', sans-serif; cursor: pointer; text-align: left; transition: background 0.2s; }
  .product_tab_dropdown_trigger:hover { background: rgba(255, 255, 255, 0.2); }
  .product_tab_dropdown_icon { display: inline-block; width: 12px; height: 12px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.2s; }
  .product_tab_dropdown_trigger[aria-expanded="true"] .product_tab_dropdown_icon { transform: rotate(-135deg); }
  .product_tab_dropdown_list { display: none; list-style: none; margin: 8px 0 0; padding: 8px 0; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); position: absolute; left: 0; right: 0; z-index: 10; max-height: 280px; overflow-y: auto; }
  .product_tab_dropdown_list.is-open { display: block; }
  .product_tab_dropdown_item { display: block; padding: 0; color: #333; font-size: 16px; font-family: 'Poppins', sans-serif; cursor: pointer; transition: background 0.15s; font-weight: 500; }
  .product_tab_dropdown_item a { display: block; padding: 12px 20px; color: #333; text-decoration: none; }
  .product_tab_dropdown_item a:hover { background: rgba(255, 107, 0, 0.08); }
  .product_tab_nav { position: relative; flex-wrap: nowrap; }
  .product_tab_nav::before { content: ''; position: absolute; inset: 0; border-radius: 100px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.12); z-index: 0; }
  .product_tab_nav .tab_btn { position: relative; z-index: 1; }
  .tab_btn { padding: 10px 12px; font-size: 12px; white-space: nowrap; flex-shrink: 0; }
  .quality_innovation_intro { margin-top: 60px; }
  .quality_innovation_intro_tit, .certificates_tit, .rd_achievements_tit, .equipment_tit { font-size: 36px; margin-bottom: 32px; line-height: 1.4; }
  .quality_innovation_intro_block { min-height: 300px; }
  .quality_innovation_intro_inner { min-height: 300px; padding: 40px 30px; }
  .quality_innovation_intro_headline { font-size: 22px; margin-bottom: 24px; }
  .quality_innovation_intro_desc { font-size: 16px; }
  .quality_policy_section { margin-top: 60px; margin-bottom: 60px; }
  .quality_policy_tit, .env_policy_tit, .rd_patent_tit { font-size: 24px; margin-bottom: 24px; }
  /* 품질 방침 다이어그램: 768px부터 세로 한 줄 + 점선 + 블록 가로/정렬 통일 */
  .quality_policy_diagram { display: flex; flex-direction: column; align-items: center; gap: 20px; margin: 0 0 40px; position: relative; padding: 0 20px; }
  .quality_policy_diagram::before { z-index: 0; }
  .quality_policy_diagram { margin: 0 auto 40px; max-width: 320px; }
  .quality_policy_diagram .diagram_oval { min-width: 280px; display: flex; align-items: center; justify-content: center; word-break: keep-all; }
  .quality_policy_table th, .quality_policy_table td { display: block; width: 100%; box-sizing: border-box; text-align: left !important; padding: 16px 20px; }
  .quality_policy_table th { font-size: 16px; border-bottom: none; }
  .quality_policy_table td { font-size: 16px; line-height: 1.4;; }
  .env_policy_section { margin-bottom: 60px; }
  .env_policy_section.section_last { margin-bottom: 80px; }
  .env_policy_diagram { margin-bottom: 40px; }
  .env_diagram_wrap { max-width: 100%; }
  .env_diagram_txt { font-size: 20px; }
  .env_diagram_txt_center { font-size: 20px; }
  .certificates_section { margin-top: 60px; padding-bottom: 60px; }
  .certificates_icon { max-width: 200px; max-height: 200px; }
  .certificates_desc { font-size: 16px; }
  .certificates_btn { min-width: 180px; padding: 14px 30px; font-size: 16px; }
  .certificate_slider_section { min-height: auto; padding: 60px 0; }
  .certificate_slider_card { flex: 0 0 310px; min-height: 300px; padding: 24px; }
  .certificate_slider_card .certificate_slider_label { font-size: 16px; }
  .certificate_slider_card .certificate_slider_title { font-size: 20px; }
  .certificate_slider_card .certificate_slider_desc { font-size: 16px; }
  .certificate_slider_card .certificate_slider_dl { padding: 16px 0; font-size: 16px; }
  .certificate_slider_track { gap: 30px; }
  .certificate_slider_nav { gap: 24px; padding: 14px 24px; margin-top: -40px; }
  .certificate_slider_counter { font-size: 16px; }
  .certificate_slider_track { gap: 0 !important; }
  .certificate_slider_card { flex: 0 0 90% !important; width: 90% !important; }
  .certificate_slider_card.dim { opacity: 0; pointer-events: none; }
  .rd_achievements_section { margin-top: 0; }
  .rd_oval_wrap { max-width: 100%; min-height: 280px; padding: 30px 24px; border-radius: 40vw; }
  .rd_oval_label { font-size: 16px; margin-bottom: 16px; }
  .rd_oval_year { font-size: 32px; margin-bottom: 24px; }
  .rd_oval_desc { font-size: 16px; }
  .rd_timeline_connector { height: 40px; }
  .rd_timeline_nav { margin-top: -25px; }
  .rd_timeline_track { height: 40px; border-radius: 20px; }
  /* ★ 수정: width 100%, gap 0 */
  .rd_timeline_container { height: 40px; width: 100%; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 60px, black calc(100% - 60px), transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 60px, black calc(100% - 60px), transparent 100%); }
  .rd_timeline_dots { gap: 40px; }
  .rd_timeline_dot { width: 18px; height: 18px; }
  .rd_timeline_dot.active { width: 18px; height: 18px; }
  .rd_timeline_btn { width: 20px; height: 20px; margin: 0 10px; }
  .rd_patent_section { margin-top: 60px; padding-bottom: 80px; }
  .rd_patent_header { font-size: 16px; padding: 16px 0; }
  .rd_patent_year { width: 25%; font-size: 16px; }
  .rd_patent_header_year { width: 25%; }
  .rd_patent_projects { font-size: 16px; padding-left: 16px; margin: 0 auto; }
  .rd_patent_row { padding: 16px 0; }
  .equipment_section { padding-top: 60px; padding-bottom: 60px; }
  .equipment_tit { font-size: 36px; margin-bottom: 32px; }
  .equipment_list { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .equipment_card { min-height: 340px; padding: 24px 16px 40px; }
  .equipment_card--wide { /* grid-column: span 2; */
}
  .equipment_card_category { font-size: 16px; margin-bottom: 24px; }
  .equipment_card--wide .equipment_card_img_wrap { /* width: 280px; */
    width: unset; }
  .equipment_card_name { font-size: 16px; margin: 20px 0 10px; }
  .equipment_card_desc { font-size: 16px; }
  .certificate_slider_card.active .certificate_slider_dl { border-width: 1px; }
  .certificate_slider_card.active .certificate_slider_dl:hover { background: #ff6b00; color: #fff; }
}
/* --- 480px 이하 (company_intro.css와 동일 구조) --- */
@media (max-width:480px) {

  .certificates_desc { width: 100%; }
  .certificates_desc br { display: none; }
  .sub_visual { min-height: 360px; padding: 60px 20px 43px 16px; background-position: 60% center; }
  .visual_txt_area .text_wrapper, .visual_txt_area .text_box { padding-left: 16px; }
  .visual_txt_area .main_tit { font-size: 22px; margin: 14px 0; line-height: 1.35; }
  .visual_txt_area .sub_tit { font-size: 16px; }
  .visual_txt_area .sub_desc { font-size: 12px; }
  .product_tab_nav_wrap { margin-top: 24px; border-radius: 100px; }
  .product_tab_nav { position: relative; }
  .product_tab_nav::before { content: ''; position: absolute; inset: 0; border-radius: 100px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.12); z-index: 0; }
  .product_tab_nav .tab_btn { position: relative; z-index: 1; }
  .tab_btn { padding: 8px 9px; font-size: 11px; }
  .quality_innovation_intro_bg { background-position: center right; }
  .quality_innovation_intro_inner { position: relative; }
  .quality_innovation_intro_inner::after { position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.5); width: 100%; height: 100%; content: ''; z-index: 1; }
  .quality_innovation_intro_tit, .certificates_tit, .rd_achievements_tit, .equipment_tit { font-size: 24px; margin-bottom: 24px; line-height: 1.2;; }
  .quality_innovation_intro_block { min-height: 240px; }
  .quality_innovation_intro_inner { min-height: 240px; padding: 30px 20px; }
  .quality_innovation_intro_headline { font-size: 18px; margin-bottom: 20px; text-align: center; }
  .quality_innovation_intro_desc { font-size: 16px; text-align: center; }
  .quality_innovation_intro_txt { position: relative; z-index: 10; }
  .quality_policy_section { margin-top: 40px; margin-bottom: 40px; }
  .quality_policy_tit, .env_policy_tit, .rd_patent_tit { font-size: 20px; margin-bottom: 20px; }
  .quality_policy_diagram .diagram_oval { font-size: 16px; padding: 14px 20px; min-width: 260px; max-width: 280px; }
  .quality_policy_diagram .diagram_center { min-width: 260px; max-width: 280px; padding: 18px 24px; min-height: 88px; }
  .quality_policy_diagram .diagram_center_main { font-size: 18px; }
  .quality_policy_diagram .diagram_center_sub { font-size: 16px; margin-top: 6px; }
  .env_diagram_txt { font-size: 16px; }
  .env_diagram_txt_center { font-size: 16px; }
  .certificate_slider_card { min-height: auto; padding: 20px; }
  .certificate_slider_card .certificate_slider_label { font-size: 16px; }
  .certificate_slider_card .certificate_slider_title { font-size: 18px; }
  .certificate_slider_card .certificate_slider_desc { font-size: 16px; }
  .certificate_slider_card .certificate_slider_dl { padding: 14px 0; font-size: 16px; }
  .certificate_slider_track { gap: 20px; }
  .rd_oval_wrap { min-height: 220px; padding: 24px 20px; border-radius: 20px;; }
  .rd_oval_year { font-size: 28px; margin-bottom: 20px; }
  .rd_oval_desc { font-size: 16px; }
  .rd_timeline_connector { height: 30px; }
  .rd_timeline_nav { margin-top: -20px; }
  .rd_timeline_track { height: 34px; border-radius: 17px; }
  /* ★ 수정: width 100%, gap 0 */
  .rd_timeline_container { height: 34px; width: 100%; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 40px, black calc(100% - 40px), transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 40px, black calc(100% - 40px), transparent 100%); }
  .rd_timeline_dots { gap: 30px; }
  .rd_timeline_dot { width: 14px; height: 14px; }
  .rd_timeline_dot.active { width: 14px; height: 14px; }
  .rd_timeline_btn { width: 16px; height: 16px; margin: 0 6px; }
  .rd_patent_row { flex-direction: column; align-items: flex-start; padding: 16px 0; gap: 8px; }
  .rd_patent_year { width: 100%; text-align: left; font-size: 16px; }
  .rd_patent_header { display: none; }
  .rd_patent_projects { padding-left: 0; font-size: 16px; width: 100%; }
  .equipment_list { grid-template-columns: repeat(1, 1fr); gap: 8px; }
  .equipment_card--wide { grid-column: span 1; }
  .equipment_card { min-height: auto; padding: 24px 16px 30px; }
  .equipment_card_category { font-size: 16px; margin-bottom: 20px; }
  .equipment_card_img_wrap { width: 100%; height: auto; }
  .equipment_card--wide .equipment_card_img_wrap { width: 240px; }
  .equipment_card_name { font-size: 16px; }
  .equipment_card_desc { font-size: 16px; }
  .equipment_tit { font-size: 24px; margin-bottom: 24px; }
  .certificates_list { grid-template-columns: 1fr; gap: 40px; }
  .rd_patent_section { padding-bottom: 60px; }
  .rd_achievements_section { padding-bottom: 100px; }
  .rd_timeline_dot.dot_active { width: 40px; height: 40px; background-size: contain !important}
}
.rd_oval_wrap::before { content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; border-radius: inherit; background: rgba(0, 0, 0, 0.3); pointer-events: none; z-index: 2; }
#rdPatentList { display: none; }
.rd_patent_header { display: none; }
.rd_cert_section { margin-top: 160px; padding: 160px 0; background-color: #f5f5f5; }
.rd_cert_section .rd_patent_tit { text-align: center; }
.rd_cert_list { max-width: 1200px; margin: 0 auto; display: flex; gap: 40px 0; flex-wrap: wrap; justify-content: space-between; list-style: none; padding: 0; }
.rd_cert_item { width: calc((100% - 120px) / 3); }
.rd_cert_img { background: #fff; border: 1px solid #e5e5e5; overflow: hidden; aspect-ratio: 2.78/4; }
.rd_cert_img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rd_cert_caption { margin-top: 20px; font-size: 18px; text-align: center; }
@media (max-width:768px) {
  .rd_cert_item { width: calc((100% - 40px) / 2); }
  .rd_cert_section { margin-top: 80px; padding: 80px 0; }
}
@media (max-width:480px) {
  .rd_cert_item { width: 100%; }
  .rd_cert_section { margin-top: 60px; padding: 60px 0; }
}