/* ESG경영 - 안전보건경영 / 인권경영 */
.esg_safety .w1740,
.esg_human_rights .w1740{ gap: 100px; }
.esg_sh_blind{ position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } /* decoration */

.esg_sh_head{ display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.esg_sh_big{ font-size: 5rem; font-weight: 600; line-height: 1.3; letter-spacing: -1px; color: #222; }
.esg_sh_title::after{ background: #F49E00; }
.esg_sh_text{ font-size: 2rem; font-weight: 400; line-height: 1.7; letter-spacing: -0.4px; color: #333; }
.esg_sh_block{ display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.esg_sh_sub{ font-size: 2.6rem; font-weight: 600; line-height: 1.3077; letter-spacing: -0.52px; color: #F49E00; }

.esg_sh_org{ --org_gap: 20px; padding: calc(60px - var(--org_gap) / 2) 0; border-radius: 20px; background: #F9F9F9; }
.esg_sh_org .org_list{ width: min(1620px, 100% - 120px); margin: 0 auto; }
.esg_sh_org .org_item{ display: flex; align-items: stretch; }
.esg_sh_org .node_col{ position: relative; flex: 0 0 19.5062%; min-width: 0; display: flex; align-items: center; }
.esg_sh_org .node_col::before{ content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #BBB; } /* decoration */
.esg_sh_org .org_item:first-child .node_col::before{ top: 50%; } /* decoration */
.esg_sh_org .org_item:last-child .node_col::before{ bottom: 50%; } /* decoration */
.esg_sh_org .node{ position: relative; z-index: 1; flex: 1 1 0; min-width: 0; display: flex; justify-content: center; align-items: center; padding: 20px 10px; border: 1px solid transparent; border-radius: 10px; font-size: 1.8rem; font-weight: 600; line-height: 23px; letter-spacing: -0.36px; text-align: center; }
.esg_sh_org .node_01{ background: #F49E00; border-color: #F49E00; border-width: 0; color: #fff; }
.esg_sh_org .node_02{ background: #FFD68B; border-color: #FFD68B; border-width: 0; color: #B0760A; }
.esg_sh_org .node_03{ background: #FFF1D8; border-color: #F49E00; color: #F49E00; }
.esg_sh_org .node_04{ background: #fff; border-color: #DDD; color: #666; }
.esg_sh_org .org_body{ flex: 1 1 0; min-width: 0; display: flex; align-items: center; margin: calc(var(--org_gap) / 2) 0; }
.esg_sh_org .org_line{ flex: 0 0 60px; height: 1px; background: #F49E00; }
.esg_sh_org .org_item:last-child .org_line{ background: #E1E1E1; }
.esg_sh_org .org_card{ flex: 1 1 0; min-width: 0; padding: 20px 30px; border: 1px solid #F49E00; border-radius: 10px; background: #fff; }
.esg_sh_org .org_card ul{ display: flex; flex-direction: column; gap: 15px; }
.esg_sh_org .org_card.is_line ul{ gap: 0; }
.esg_sh_org .org_card.is_line li + li{ margin-top: 14px; padding-top: 16px; background: repeating-linear-gradient(90deg, #EEE 0 2px, transparent 2px 4px) no-repeat top / 100% 2px; }
.esg_sh_org .org_card li,
.esg_sh_table li,
.esg_safety .step_body li{ position: relative; min-width: 0; padding-left: 0.72em; font-size: 1.8rem; font-weight: 400; line-height: 23px; letter-spacing: -0.36px; color: #333; }
.esg_sh_org .org_card li::before,
.esg_sh_table li::before,
.esg_safety .step_body li::before{ content: "•"; position: absolute; left: 0; } /* decoration */

.esg_sh_table_wrap{ overflow-x: auto; }
.esg_sh_table{ width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.esg_sh_table.no_head{ border-top: 2px solid #F49E00; }
.esg_sh_table.cols_a col:nth-child(1){ width: 19.54%; }
.esg_sh_table.cols_b col:nth-child(1){ width: 17.24%; }
.esg_sh_table.cols_iso col:nth-child(1){ width: 19.54%; }
.esg_sh_table.cols_iso{ min-width: 640px; }
.esg_sh_table thead th{ padding: 19px 10px; background: #FFF1D8; border-top: 1px solid #F49E00; border-bottom: 1px solid #F49E00; font-size: 1.8rem; font-weight: 600; line-height: 23px; letter-spacing: -0.36px; color: #111; text-align: center; }
.esg_sh_table thead th:first-child{ background: #F49E00; border-color: #F49E00; color: #fff; }
.esg_sh_table.cols_iso thead th:nth-child(n+3){ border-left: 1px solid #F49E00; }
.esg_sh_table tbody th{ padding: 20px 40px; background: #F9F9F9; border-bottom: 1px solid #DDD; font-size: 1.8rem; font-weight: 500; line-height: 23px; letter-spacing: -0.36px; color: #111; text-align: center; vertical-align: middle; }
.esg_sh_table tbody td{ padding: 20px 40px 20px 30px; border-bottom: 1px solid #DDD; border-left: 1px solid #DDD; vertical-align: middle; font-size: 1.8rem; font-weight: 400; line-height: 23px; letter-spacing: -0.36px; color: #333; }
.esg_sh_table.is_tall tbody th{ line-height: 29px; }
.esg_sh_table.cols_b.is_tall tbody td{ padding: 20px 40px; }
.esg_sh_table.cols_b.is_tall tbody th{ padding: 20px 30px; }
.esg_sh_org .org_card li.no_dot::before{ visibility: hidden; }
.esg_sh_table.is_center tbody td{ padding: 20px 10px; text-align: center; }
.esg_sh_table.is_center tbody th{ padding: 20px 10px; }
.esg_sh_table td ul{ display: flex; flex-direction: column; gap: 10px; }
.esg_sh_table td ul.is_tight{ gap: 5px; }
.esg_sh_table td ul.is_row{ flex-direction: row; flex-wrap: wrap; gap: 5px 40px; }
.esg_sh_table sup{ font-size: 0.6em; vertical-align: super; line-height: 0; }

.esg_safety .safety_gov{ display: flex; flex-direction: column; gap: 60px; }
.esg_safety .safety_gov .esg_sh_text{ max-width: 1165px; }

.esg_safety .safety_policy{ display: flex; flex-direction: column; margin-top: 150px; }
.esg_safety .safety_rest{ margin-top: 100px; }
.esg_safety .safety_policy > .w1740 .esg_sh_text{ max-width: 1506px; }
.esg_safety .safety_policy .policy_visual{ margin-top: 100px; aspect-ratio: 1920 / 400; }
.esg_safety .safety_policy .policy_dark{ padding-bottom: 100px; background: #222; }
.esg_safety .safety_policy .policy_box{ padding: 100px 0 137px; border-radius: 20px; background: #fff; }
.esg_safety .safety_policy .policy_inner{ width: min(1540px, 100% - 80px); margin: 0 auto; }
.esg_safety .safety_policy .policy_tit{ display: flex; flex-direction: column; gap: 20px; max-width: 966px; margin: 0 auto; text-align: center; }
.esg_safety .safety_policy .policy_tit .esg_sh_text{ line-height: 1.6; }
.esg_safety .safety_policy .policy_list{ display: flex; flex-direction: column; gap: 16px; margin-top: 60px; padding: 59px 0; border: 1px solid #EEE; border-radius: 20px; }
.esg_safety .safety_policy .policy_list li{ width: min(1149px, 100% - 60px); margin: 0 auto; font-size: 1.8rem; font-weight: 400; line-height: 30px; letter-spacing: -0.36px; color: #333; }
.esg_safety .safety_policy .policy_sign{ display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px 40px; margin-top: 60px; }
.esg_safety .safety_policy .sign_item{ display: flex; align-items: center; gap: 20px; min-width: 0; }
.esg_safety .safety_policy .sign_item p{ font-size: 2rem; font-weight: 500; line-height: 32px; letter-spacing: -0.4px; color: #333; white-space: nowrap; }
.esg_safety .safety_policy .sign_item img{ display: block; max-width: 240px; height: auto; }
.esg_safety .safety_policy .sign_item:first-child img{ max-width: 196px; }
.esg_safety .safety_policy .sign_bar{ flex: 0 0 1px; height: 16px; background: #CCC; }

.esg_safety .safety_iso{ display: flex; flex-direction: column; gap: 60px; }
.esg_safety .safety_iso .esg_sh_text{ max-width: 1016px; }
.esg_safety .safety_manage{ display: flex; flex-direction: column; gap: 60px; }
.esg_safety .safety_manage .manage_list{ display: flex; flex-direction: column; gap: 60px; }
.esg_safety .safety_activity .esg_sh_text{ max-width: 1025px; }

.esg_safety .safety_steps{ padding: 60px 0; border-radius: 20px; background: #F9F9F9; }
.esg_safety .steps_list{ display: flex; flex-direction: column; gap: 10px; width: min(1620px, 100% - 120px); margin: 0 auto; }
.esg_safety .steps_list > li{ display: flex; align-items: stretch; }
.esg_safety .step_label{ flex: 0 0 18.5185%; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 20px 20px 20px 30px; border: 1px solid #F49E00; border-radius: 10px 0 0 10px; background: #FEF5E3; font-size: 1.8rem; font-weight: 600; line-height: 23px; letter-spacing: -0.36px; color: #F49E00; }
.esg_safety .step_label .num{ flex: 0 0 26px; display: flex; justify-content: center; align-items: center; aspect-ratio: 1 / 1; border-radius: 50%; background: #F49E00; font-size: 1.6rem; font-weight: 800; line-height: 21px; letter-spacing: -0.32px; color: #fff; }
.esg_safety .step_label strong{ min-width: 0; font-weight: 600; }
.esg_safety .step_body{ flex: 1 1 0; min-width: 0; display: flex; align-items: center; padding: 20px 20px 20px 30px; border: 1px solid #F49E00; border-left: 0; border-radius: 0 10px 10px 0; background: #fff; }
.esg_safety .step_body ul{ display: flex; flex-direction: column; gap: 10px; min-width: 0; }

.esg_safety .safety_drill{ position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 60px; }
.esg_safety .safety_drill::before{ content: ""; position: absolute; left: -1.1494%; bottom: 0; width: 40.6897%; aspect-ratio: 708 / 114; background: url("/img/sub/esg_safety_logo_bg.svg") no-repeat center / contain; pointer-events: none; } /* decoration */
.esg_safety .safety_drill .drill_text{ position: relative; flex: 0 0 35%; }
.esg_safety .safety_drill .drill_photos{ position: relative; flex: 0 0 54.3103%; }
.esg_safety .safety_drill .drill_photos .esg_sh_sub{ line-height: 32px; }
.esg_safety .safety_drill .photo_grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.esg_safety .safety_drill .photo_grid img{ display: block; width: 100%; height: auto; border-radius: 10px; }
.esg_safety .safety_drill .photo_grid .wide{ grid-column: 1 / -1; }

.esg_human_rights .human_policy{ display: flex; flex-direction: column; gap: 60px; }
.esg_human_rights .human_policy .esg_sh_org{ --org_gap: 30px; }
.esg_human_rights .human_policy .esg_sh_head .esg_sh_text{ max-width: 1145px; }
.esg_human_rights .human_policy .esg_sh_block + .esg_sh_block{ gap: 18px; }
.esg_human_rights .human_policy .esg_sh_block + .esg_sh_block .esg_sh_sub{ margin-bottom: 2px; }
.esg_human_rights .human_note{ max-width: 870px; font-size: 1.8rem; font-weight: 400; line-height: 29px; letter-spacing: -0.36px; color: #666; }
.esg_human_rights .human_grievance{ display: flex; flex-direction: column; gap: 60px; }
.esg_human_rights .human_grievance .esg_sh_head .esg_sh_text{ max-width: 1097px; }
.esg_human_rights .human_more{ display: flex; justify-content: center; }

@media screen and (max-width: 1280px){
	.esg_safety .w1740,
	.esg_human_rights .w1740{ gap: 80px; }
	.esg_safety .safety_policy{ margin-top: 120px; }
	.esg_safety .safety_rest{ margin-top: 80px; }
	.esg_sh_big{ font-size: 4rem; }
	.esg_sh_text{ font-size: 1.8rem; }
	.esg_sh_sub{ font-size: 2.4rem; }
	.esg_sh_org .org_card li,
	.esg_sh_table li,
	.esg_safety .step_body li,
	.esg_sh_org .node,
	.esg_sh_table thead th,
	.esg_sh_table tbody th,
	.esg_sh_table tbody td,
	.esg_safety .step_label,
	.esg_human_rights .human_note,
	.esg_safety .safety_policy .policy_list li{ font-size: 1.6rem; }
	.esg_sh_table tbody th{ padding: 20px 20px; }
	.esg_sh_table tbody td{ padding: 20px 20px 20px 24px; }
	.esg_sh_org .org_card{ padding: 20px 24px; }
	.esg_safety .safety_policy .policy_box{ padding: 80px 0 100px; }
	.esg_safety .safety_policy .sign_item p{ font-size: 1.8rem; }
	.esg_safety .safety_drill{ gap: 40px; }
}

@media screen and (max-width: 1000px){
	.esg_safety .w1740,
	.esg_human_rights .w1740{ gap: 60px; }
	.esg_safety .safety_gov,
	.esg_safety .safety_iso,
	.esg_safety .safety_manage,
	.esg_safety .safety_manage .manage_list,
	.esg_human_rights .human_policy,
	.esg_human_rights .human_grievance{ gap: 40px; }
	.esg_sh_big{ font-size: 3.4rem; }
	.esg_sh_sub{ font-size: 2.2rem; }
	.esg_sh_org .org_list{ width: min(1620px, 100% - 60px); }
	.esg_sh_org .org_item{ flex-direction: column; align-items: stretch; }
	.esg_sh_org .node_col{ flex: none; }
	.esg_sh_org .node_col::before,
	.esg_sh_org .org_line{ display: none; }
	.esg_sh_org .org_body{ margin: 0; }
	.esg_sh_org .org_list{ display: flex; flex-direction: column; gap: 24px; }
	.esg_sh_org .org_item{ gap: 8px; }
	.esg_sh_org{ padding: 40px 0; }
	.esg_sh_org .node{ border-radius: 10px; }
	.esg_safety .safety_policy{ margin-top: 80px; }
	.esg_safety .safety_rest{ margin-top: 60px; }
	.esg_safety .safety_policy .policy_visual{ margin-top: 60px; aspect-ratio: 1920 / 560; }
	.esg_safety .safety_policy .policy_dark{ padding-bottom: 60px; }
	.esg_safety .safety_policy .policy_box{ padding: 60px 0 70px; }
	.esg_safety .safety_policy .policy_list{ margin-top: 40px; padding: 40px 0; }
	.esg_safety .safety_policy .policy_sign{ margin-top: 40px; }
	.esg_safety .safety_steps{ padding: 40px 0; }
	.esg_safety .steps_list{ width: min(1620px, 100% - 60px); }
	.esg_safety .safety_drill{ flex-direction: column; gap: 40px; }
	.esg_safety .safety_drill .drill_text,
	.esg_safety .safety_drill .drill_photos{ flex: none; width: 100%; }
	.esg_safety .safety_drill::before{ width: 60%; }
}

@media screen and (max-width: 768px){
	.esg_safety .w1740,
	.esg_human_rights .w1740{ gap: 50px; }
	.esg_safety .safety_policy{ margin-top: 60px; }
	.esg_safety .safety_rest{ margin-top: 50px; }
	.esg_sh_big{ font-size: 3rem; }
	.esg_sh_text{ font-size: 1.6rem; line-height: 1.7; }
	.esg_sh_sub{ font-size: 2rem; }
	.esg_sh_org .org_list,
	.esg_safety .steps_list{ width: min(1620px, 100% - 40px); }
	.esg_sh_org .org_card li,
	.esg_sh_table li,
	.esg_safety .step_body li,
	.esg_sh_org .node,
	.esg_sh_table thead th,
	.esg_sh_table tbody th,
	.esg_sh_table tbody td,
	.esg_safety .step_label,
	.esg_human_rights .human_note,
	.esg_safety .safety_policy .policy_list li{ font-size: 1.5rem; line-height: 1.6; }
	.esg_sh_org .node{ padding: 14px 10px; }
	.esg_sh_org .org_card{ padding: 16px 18px; }
	.esg_sh_org .org_card.is_line li + li{ margin-top: 10px; padding-top: 10px; }
	.esg_sh_table.cols_a col:nth-child(1),
	.esg_sh_table.cols_b col:nth-child(1){ width: 30%; }
	.esg_sh_table.cols_iso{ min-width: 560px; }
	.esg_sh_table thead th{ padding: 14px 8px; }
	.esg_sh_table tbody th,
	.esg_sh_table.is_center tbody th{ padding: 14px 10px; }
	.esg_sh_table tbody td{ padding: 14px 14px; }
	.esg_sh_table.is_center tbody td{ padding: 14px 8px; }
	.esg_sh_table td ul.is_tight{ gap: 5px; }
.esg_sh_table td ul.is_row{ flex-direction: column; gap: 6px; }
	.esg_sh_table.is_tall tbody th{ line-height: 1.6; }
	.esg_safety .safety_policy .policy_visual{ aspect-ratio: 1920 / 800; }
	.esg_safety .safety_policy .policy_box{ padding: 40px 0 50px; border-radius: 12px; }
	.esg_safety .safety_policy .policy_inner{ width: min(1540px, 100% - 40px); }
	.esg_safety .safety_policy .policy_list{ padding: 24px 0; border-radius: 12px; gap: 12px; }
	.esg_safety .safety_policy .policy_list li{ width: min(1149px, 100% - 32px); }
	.esg_safety .safety_policy .sign_item{ flex-wrap: wrap; justify-content: center; gap: 10px; }
	.esg_safety .safety_policy .sign_item p{ font-size: 1.6rem; }
	.esg_safety .safety_policy .sign_item img{ max-width: 150px; }
	.esg_safety .safety_policy .sign_bar{ display: none; }
	.esg_safety .safety_steps{ padding: 30px 0; border-radius: 12px; }
	.esg_safety .steps_list > li{ flex-direction: column; }
	.esg_safety .step_label{ flex: none; padding: 14px 16px; border-radius: 10px 10px 0 0; }
	.esg_safety .step_body{ padding: 14px 16px; border-top: 0; border-left: 1px solid #F49E00; border-radius: 0 0 10px 10px; }
	.esg_safety .safety_drill::before{ display: none; }
	.esg_sh_org{ border-radius: 12px; }
}

@media screen and (max-width: 480px){
	.esg_sh_big{ font-size: 2.6rem; }
	.esg_sh_text{ font-size: 1.5rem; }
	.esg_sh_sub{ font-size: 1.8rem; }
	.esg_sh_org .org_card li,
	.esg_sh_table li,
	.esg_safety .step_body li,
	.esg_sh_org .node,
	.esg_sh_table thead th,
	.esg_sh_table tbody th,
	.esg_sh_table tbody td,
	.esg_safety .step_label,
	.esg_human_rights .human_note,
	.esg_safety .safety_policy .policy_list li{ font-size: 1.4rem; }
	.esg_sh_table tbody th,
	.esg_sh_table.is_center tbody th{ padding: 12px 8px; }
	.esg_sh_table tbody td{ padding: 12px 10px; }
	.esg_safety .safety_drill .photo_grid{ gap: 10px; }
	.esg_safety .safety_drill .photo_grid img{ border-radius: 6px; }
}
