<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>유해위험방지계획서 제출 여부 &#8211; 산업안전지원센터 주식회사</title>
	<atom:link href="https://safetysupport.co.kr/tag/%EC%9C%A0%ED%95%B4%EC%9C%84%ED%97%98%EB%B0%A9%EC%A7%80%EA%B3%84%ED%9A%8D%EC%84%9C-%EC%A0%9C%EC%B6%9C-%EC%97%AC%EB%B6%80/feed/" rel="self" type="application/rss+xml" />
	<link>https://safetysupport.co.kr</link>
	<description>안전관리위탁부터 위험성평가, 중대재해예방까지 — 사업장 맞춤 안전보건 컨설팅</description>
	<lastBuildDate>Sat, 16 May 2026 11:59:28 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://safetysupport.co.kr/wp-content/uploads/2026/03/cropped-파비콘1-32x32.png</url>
	<title>유해위험방지계획서 제출 여부 &#8211; 산업안전지원센터 주식회사</title>
	<link>https://safetysupport.co.kr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>유해위험방지계획서 제출대상 조회</title>
		<link>https://safetysupport.co.kr/hazard-prevention-plan-target-check/</link>
		
		<dc:creator><![CDATA[mangjil]]></dc:creator>
		<pubDate>Sun, 10 May 2026 16:37:22 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[건설공사 유해위험방지계획서]]></category>
		<category><![CDATA[대규모 건설공사]]></category>
		<category><![CDATA[산업안전보건법 시행령 제42조]]></category>
		<category><![CDATA[산업안전보건법 제42조]]></category>
		<category><![CDATA[안전관리실무]]></category>
		<category><![CDATA[안전보건자료]]></category>
		<category><![CDATA[유해위험기계]]></category>
		<category><![CDATA[유해위험방지계획서]]></category>
		<category><![CDATA[유해위험방지계획서 대상]]></category>
		<category><![CDATA[유해위험방지계획서 제출 여부]]></category>
		<category><![CDATA[유해위험방지계획서 제출대상]]></category>
		<category><![CDATA[유해위험방지계획서 조회]]></category>
		<category><![CDATA[유해위험설비]]></category>
		<category><![CDATA[제조업 유해위험방지계획서]]></category>
		<guid isPermaLink="false">https://safetysupport.co.kr/?p=3760</guid>

					<description><![CDATA[광고 SAFETY COMPLIANCE TOOL 유해위험방지계획서 제출대상 조회 산업안전보건법 제42조에 따라 사업주가 작성·제출해야 하는 유해위험방지계획서의 대상 여부를 사업장 조건에 따라 즉시 확인할 수 있습니다. 제조업 업종, 유해·위험 기계·기구·설비, 일정 규모 이상의 건설공사 세 가지 유형을 모두 지원합니다. 산업안전보건법 제42조 시행령 제42조 제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시 1 제조업 13개 업종 전기 계약용량 300kW [&#8230;]]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3760" class="elementor elementor-3760" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-963579d e-flex e-con-boxed e-con e-parent" data-id="963579d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-17550cb elementor-widget elementor-widget-html" data-id="17550cb" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
					<!-- ============================================================
유해위험방지계획서 제출대상 통합조회
산업안전지원센터 주식회사 | safetysupport.co.kr
근거: 산업안전보건법 제42조 / 시행령 제42조 / 제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시
Elementor HTML 위젯에 그대로 붙여넣기
============================================================ -->

<style>
/* ===== 폰트 ===== */
@import url('https://cdn.jsdelivr.net/gh/moonspam/NanumSquareNeo@latest/NanumSquareNeo.css');

/* ===== 컨테이너 격리 ===== */
.hwp-tool {
  --hwp-blue: #1a6bbf;
  --hwp-blue-deep: #134a85;
  --hwp-blue-soft: #e8f0fa;
  --hwp-blue-line: #c3d8ee;
  --hwp-gold: #C9A961;
  --hwp-gold-soft: #faf4e3;
  --hwp-red: #c0392b;
  --hwp-red-soft: #fdecea;
  --hwp-red-deep: #922b1f;
  --hwp-green: #1f7a4d;
  --hwp-green-soft: #e3f3eb;
  --hwp-gray: #4a5568;
  --hwp-gray-light: #718096;
  --hwp-bg: #f7f9fc;
  --hwp-line: #e2e8f0;

  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
  color: #2d3748;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
  line-height: 1.6;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}
.hwp-tool *, .hwp-tool *::before, .hwp-tool *::after { box-sizing: border-box; }

/* ===== 헤더 ===== */
.hwp-hero {
  background: linear-gradient(135deg, var(--hwp-blue-deep) 0%, var(--hwp-blue) 100%);
  color: #fff;
  padding: 36px 32px 30px;
  border-radius: 14px 14px 0 0;
  position: relative;
  overflow: hidden;
}
.hwp-hero::before {
  content: '';
  position: absolute; right: -60px; top: -60px;
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(201,169,97,0.18) 0%, transparent 70%);
  border-radius: 50%;
}
.hwp-hero-tag {
  display: inline-block;
  background: rgba(201,169,97,0.22);
  color: var(--hwp-gold);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 2.5px;
  padding: 5px 12px;
  border-radius: 3px;
  margin-bottom: 14px;
  border: 1px solid rgba(201,169,97,0.4);
}
.hwp-hero h1 {
  font-size: 28px; font-weight: 800;
  margin: 0 0 10px; letter-spacing: -0.02em;
}
.hwp-hero h1 .accent { color: var(--hwp-gold); }
.hwp-hero p {
  margin: 0; font-size: 14.5px;
  color: rgba(255,255,255,0.82);
  max-width: 720px; line-height: 1.7;
}
.hwp-hero-meta {
  margin-top: 16px;
  display: flex; flex-wrap: wrap; gap: 16px;
  font-size: 12.5px; color: rgba(255,255,255,0.7);
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.hwp-hero-meta span::before { content: ' '; color: var(--hwp-gold); }

/* ===== 메인 박스 ===== */
.hwp-main {
  background: #fff;
  border: 1px solid var(--hwp-line);
  border-top: none;
  border-radius: 0 0 14px 14px;
  padding: 0;
}

/* ===== 유형 선택 탭 ===== */
.hwp-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 2px solid var(--hwp-line);
  background: var(--hwp-bg);
}
.hwp-tab {
  padding: 18px 16px 16px;
  background: transparent;
  border: none;
  border-right: 1px solid var(--hwp-line);
  cursor: pointer;
  text-align: left;
  position: relative;
  transition: all 0.2s;
  font-family: inherit;
}
.hwp-tab:last-child { border-right: none; }
.hwp-tab:hover { background: #fff; }
.hwp-tab.active {
  background: #fff;
  border-bottom: 3px solid var(--hwp-blue);
  margin-bottom: -2px;
}
.hwp-tab.active::after {
  content: '';
  position: absolute; left: 0; top: 0;
  width: 3px; height: 100%;
  background: var(--hwp-gold);
}
.hwp-tab-num {
  display: inline-block;
  background: var(--hwp-blue);
  color: #fff;
  width: 24px; height: 24px;
  border-radius: 50%;
  font-size: 12px; font-weight: 700;
  text-align: center; line-height: 24px;
  margin-bottom: 8px;
  transition: all 0.2s;
}
.hwp-tab:not(.active) .hwp-tab-num {
  background: #cbd5e0;
}
.hwp-tab-title {
  font-size: 15px; font-weight: 700;
  color: #2d3748;
  display: block;
  margin-bottom: 4px;
}
.hwp-tab-desc {
  font-size: 12px; color: var(--hwp-gray-light);
  display: block; line-height: 1.5;
}

/* ===== 패널 ===== */
.hwp-panel {
  display: none;
  padding: 32px;
  animation: hwpFade 0.3s ease;
}
.hwp-panel.active { display: block; }
@keyframes hwpFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== 섹션 헤더 ===== */
.hwp-sec-head {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 14px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--hwp-line);
}
.hwp-sec-bar {
  width: 4px; height: 18px;
  background: var(--hwp-gold);
  border-radius: 2px;
}
.hwp-sec-head h2 {
  margin: 0; font-size: 17px; font-weight: 800;
  color: var(--hwp-blue-deep);
  letter-spacing: -0.02em;
}
.hwp-sec-head .badge {
  margin-left: auto;
  background: var(--hwp-blue-soft);
  color: var(--hwp-blue-deep);
  font-size: 11.5px; font-weight: 700;
  padding: 4px 10px; border-radius: 3px;
}

/* ===== 입력 폼 ===== */
.hwp-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
  margin-bottom: 24px;
}
.hwp-form-grid.full { grid-template-columns: 1fr; }
.hwp-field { display: flex; flex-direction: column; }
.hwp-field label {
  font-size: 13px; font-weight: 700;
  color: var(--hwp-gray);
  margin-bottom: 7px;
  display: flex; align-items: center; gap: 6px;
}
.hwp-field label .req {
  color: var(--hwp-red);
  font-size: 14px;
}
.hwp-field select,
.hwp-field input[type="number"] {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--hwp-line);
  border-radius: 6px;
  font-size: 14.5px;
  font-family: inherit;
  background: #fff;
  transition: all 0.15s;
  color: #2d3748;
}
.hwp-field select:focus,
.hwp-field input[type="number"]:focus {
  outline: none;
  border-color: var(--hwp-blue);
  box-shadow: 0 0 0 3px rgba(26,107,191,0.1);
}
.hwp-field .hint {
  font-size: 11.5px; color: var(--hwp-gray-light);
  margin-top: 5px; line-height: 1.5;
}

/* ===== 체크리스트 (2유형 세부조건) ===== */
.hwp-checklist {
  background: var(--hwp-bg);
  border: 1px solid var(--hwp-line);
  border-radius: 8px;
  padding: 18px 20px;
  margin-top: 16px;
}
.hwp-checklist-title {
  font-size: 13px; font-weight: 700;
  color: var(--hwp-blue-deep);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--hwp-blue-line);
}
.hwp-check-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 8px 0;
  cursor: pointer;
}
.hwp-check-item input[type="checkbox"] {
  margin-top: 4px; flex-shrink: 0;
  width: 16px; height: 16px;
  accent-color: var(--hwp-blue);
  cursor: pointer;
}
.hwp-check-item span {
  font-size: 13.5px; color: #2d3748;
  line-height: 1.55;
}
.hwp-check-item:hover span { color: var(--hwp-blue); }

/* ===== 판정 버튼 ===== */
.hwp-actions {
  display: flex; gap: 10px;
  margin-top: 24px;
}
.hwp-btn {
  flex: 1;
  padding: 14px 24px;
  border: none;
  border-radius: 7px;
  font-size: 15px; font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.2s;
  letter-spacing: -0.01em;
}
.hwp-btn-primary {
  background: var(--hwp-blue-deep);
  color: #fff;
}
.hwp-btn-primary:hover {
  background: var(--hwp-blue);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(26,107,191,0.25);
}
.hwp-btn-reset {
  flex: 0 0 auto;
  background: #fff;
  color: var(--hwp-gray);
  border: 1.5px solid var(--hwp-line);
  padding: 14px 20px;
}
.hwp-btn-reset:hover {
  border-color: var(--hwp-gray);
  background: var(--hwp-bg);
}

/* ===== 판정 결과 ===== */
.hwp-result {
  margin-top: 26px;
  border-radius: 10px;
  overflow: hidden;
  animation: hwpSlide 0.35s ease;
  display: none;
}
.hwp-result.show { display: block; }
@keyframes hwpSlide {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.hwp-result-head {
  padding: 22px 26px;
  display: flex; align-items: center; gap: 16px;
}
.hwp-result-head.target {
  background: linear-gradient(135deg, var(--hwp-red-deep) 0%, var(--hwp-red) 100%);
  color: #fff;
}
.hwp-result-head.exempt {
  background: linear-gradient(135deg, #1f7a4d 0%, #2da66a 100%);
  color: #fff;
}
.hwp-result-icon {
  font-size: 32px;
  width: 56px; height: 56px;
  background: rgba(255,255,255,0.18);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.3);
  font-weight: 800;
}
.hwp-result-head h3 {
  margin: 0 0 4px; font-size: 19px; font-weight: 800;
}
.hwp-result-head p {
  margin: 0; font-size: 13.5px;
  color: rgba(255,255,255,0.92);
}

.hwp-result-body {
  background: #fff;
  border: 1px solid var(--hwp-line);
  border-top: none;
  padding: 24px 26px;
}
.hwp-result-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--hwp-line);
  font-size: 14px;
}
.hwp-result-row:last-child { border-bottom: none; }
.hwp-result-row .key {
  color: var(--hwp-gray-light);
  font-weight: 700;
  font-size: 13px;
}
.hwp-result-row .val { color: #2d3748; line-height: 1.7; }
.hwp-result-row .val.highlight {
  color: var(--hwp-red-deep);
  font-weight: 700;
}
.hwp-result-row .val.highlight-ok {
  color: var(--hwp-green);
  font-weight: 700;
}
.hwp-result-row .val code {
  background: var(--hwp-bg);
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 12.5px;
  color: var(--hwp-blue-deep);
  font-family: 'D2Coding', 'Consolas', monospace;
  border: 1px solid var(--hwp-line);
}

/* ===== 제출 절차 안내 ===== */
.hwp-process {
  margin-top: 18px;
  background: var(--hwp-gold-soft);
  border-left: 4px solid var(--hwp-gold);
  border-radius: 0 8px 8px 0;
  padding: 18px 22px;
}
.hwp-process-title {
  font-size: 13.5px; font-weight: 800;
  color: #7a5a1f;
  margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.hwp-process-title::before {
  content: ''; font-size: 16px;
}
.hwp-process ol {
  margin: 0; padding-left: 20px;
  font-size: 13.5px; line-height: 1.85;
  color: #5a4416;
}
.hwp-process ol li { margin-bottom: 4px; }
.hwp-process ol li strong { color: #7a5a1f; }

/* ===== 법령 근거 박스 ===== */
.hwp-legal {
  margin-top: 16px;
  background: var(--hwp-blue-soft);
  border: 1px solid var(--hwp-blue-line);
  border-radius: 8px;
  padding: 16px 20px;
}
.hwp-legal-title {
  font-size: 12.5px; font-weight: 800;
  color: var(--hwp-blue-deep);
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.hwp-legal-content {
  font-size: 12.5px;
  color: #2d3748;
  line-height: 1.75;
}
.hwp-legal-content strong {
  color: var(--hwp-blue-deep);
  font-weight: 700;
}

/* ===== 안내 문구 (상단) ===== */
.hwp-notice {
  background: #fff8e1;
  border-left: 3px solid var(--hwp-gold);
  padding: 12px 16px;
  font-size: 13px;
  color: #5a4416;
  margin-bottom: 22px;
  border-radius: 0 5px 5px 0;
  line-height: 1.7;
}
.hwp-notice strong { color: #7a5a1f; }

/* ===== 인포 카드 (제출시기/심사기관) ===== */
.hwp-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.hwp-info-card {
  background: #fff;
  border: 1px solid var(--hwp-line);
  border-radius: 8px;
  padding: 14px 16px;
}
.hwp-info-card .label {
  font-size: 11.5px; font-weight: 700;
  color: var(--hwp-blue);
  letter-spacing: 0.8px;
  margin-bottom: 6px;
}
.hwp-info-card .value {
  font-size: 13.5px; color: #2d3748;
  line-height: 1.6; font-weight: 500;
}

/* ===== 푸터 ===== */
.hwp-foot {
  margin-top: 28px;
  padding: 16px 20px;
  background: var(--hwp-bg);
  border-radius: 8px;
  font-size: 11.5px;
  color: var(--hwp-gray-light);
  line-height: 1.7;
  border: 1px solid var(--hwp-line);
}
.hwp-foot strong { color: var(--hwp-blue-deep); font-weight: 700; }

/* ===== 모바일 반응형 ===== */
@media (max-width: 768px) {
  .hwp-tool { font-size: 14px; }
  .hwp-hero { padding: 28px 20px 22px; }
  .hwp-hero h1 { font-size: 22px; }
  .hwp-tabs { grid-template-columns: 1fr; }
  .hwp-tab { border-right: none; border-bottom: 1px solid var(--hwp-line); padding: 14px 16px; }
  .hwp-tab.active { border-bottom: 3px solid var(--hwp-blue); }
  .hwp-panel { padding: 22px 18px; }
  .hwp-form-grid { grid-template-columns: 1fr; }
  .hwp-result-row { grid-template-columns: 1fr; gap: 4px; padding: 10px 0; }
  .hwp-result-row .key { font-size: 11.5px; }
  .hwp-info-grid { grid-template-columns: 1fr; }
  .hwp-actions { flex-direction: column; }
  .hwp-btn-reset { flex: 1; }
}


/* ============================================================
   고도화 패치 v2 - 전문형 UI / 깨짐 방지 / 접근성 개선
   ============================================================ */
.hwp-tool {
  --hwp-blue: #2563eb;
  --hwp-blue-deep: #173b7a;
  --hwp-blue-soft: #eff6ff;
  --hwp-blue-line: #bfdbfe;
  --hwp-gold: #d6a84f;
  --hwp-gold-soft: #fff8e6;
  --hwp-bg: #f7faff;
  --hwp-line: #dbe7f8;
  max-width: 1180px;
  font-size: 16px;
  color: #1f2937;
}

.hwp-hero {
  border-radius: 28px 28px 0 0;
  padding: 44px 40px 36px;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,0.24) 0, transparent 25%),
    radial-gradient(circle at 88% 20%, rgba(147,197,253,0.22) 0, transparent 30%),
    linear-gradient(135deg, #14306b 0%, #1d4ed8 58%, #38bdf8 100%);
}
.hwp-hero::before {
  inset: 0;
  width: auto;
  height: auto;
  right: auto;
  top: auto;
  background-image:
    linear-gradient(rgba(255,255,255,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 28px 28px;
  border-radius: 0;
  opacity: 0.34;
}
.hwp-hero::after {
  content: '';
  position: absolute;
  right: -92px;
  top: -110px;
  width: 330px;
  height: 330px;
  border: 38px solid rgba(255,255,255,0.14);
  border-radius: 50%;
  box-shadow:
    -150px 150px 0 -104px rgba(255,255,255,0.15),
    -245px 58px 0 -126px rgba(255,255,255,0.12);
}
.hwp-hero-tag {
  background: rgba(255,255,255,0.16);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 999px;
  letter-spacing: 1.2px;
  padding: 7px 14px;
}
.hwp-hero h1 { font-size: clamp(30px, 4vw, 42px); font-weight: 900; }
.hwp-hero h1 .accent { color: #ffe29a; }
.hwp-hero p { font-size: 16px; max-width: 860px; }
.hwp-hero-meta {
  gap: 9px;
  border-top: 0;
  padding-top: 8px;
}
.hwp-hero-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.13);
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.92);
  font-size: 12.5px;
  font-weight: 600;
}
.hwp-hero-meta span::before { content: ''; }

.hwp-main {
  border-color: var(--hwp-line);
  border-radius: 0 0 28px 28px;
  box-shadow: 0 18px 42px rgba(15,23,42,0.08);
}
.hwp-tabs {
  background: #f8fbff;
  border-bottom: 1px solid var(--hwp-line);
}
.hwp-tab {
  padding: 22px 20px 20px;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hwp-tab:hover {
  background: #eaf3ff;
  transform: translateY(-1px);
}
.hwp-tab.active {
  border-bottom: 4px solid var(--hwp-blue);
  box-shadow: inset 0 4px 0 var(--hwp-gold);
}
.hwp-tab.active::after { display: none; }
.hwp-tab-num {
  border-radius: 12px;
  width: 32px;
  height: 32px;
  line-height: 32px;
}
.hwp-tab-title { font-size: 16px; }
.hwp-tab-desc { font-size: 13px; }

.hwp-panel { padding: 36px; }
.hwp-sec-head h2 { font-size: 19px; }
.hwp-sec-head .badge {
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
}
.hwp-notice {
  border-radius: 16px;
  border: 1px solid #f4d58d;
  border-left: 6px solid var(--hwp-gold);
  padding: 16px 18px;
  font-size: 14.5px;
  background: linear-gradient(135deg,#fffdf5,#fff8df);
}
.hwp-field label { font-size: 14.5px; }
.hwp-field select,
.hwp-field input[type="number"] {
  min-height: 48px;
  border-radius: 14px;
  border: 1.5px solid #cfe0f4;
  font-size: 15.5px;
  padding: 0 15px;
}
.hwp-field select:hover,
.hwp-field input[type="number"]:hover { border-color: #9fc3eb; }
.hwp-checklist {
  border-radius: 18px;
  background: linear-gradient(135deg,#ffffff,#f8fbff);
  border-color: #d5e6f7;
}
.hwp-check-item {
  border-radius: 12px;
  padding: 10px 10px;
}
.hwp-check-item:hover { background: #eaf3ff; }
.hwp-check-item span { font-size: 14.5px; }
.hwp-actions { justify-content: center; }
.hwp-btn { flex: 0 0 auto; min-width: 210px; border-radius: 999px; }
.hwp-btn-reset { min-width: 120px; }
.hwp-btn-primary { background: linear-gradient(135deg,#173b7a,#2563eb); }

.hwp-result {
  border-radius: 22px;
  border: 2px solid var(--hwp-blue-line);
  box-shadow: 0 18px 36px rgba(15,23,42,0.08);
}
.hwp-result-head { padding: 26px 28px; }
.hwp-result-icon {
  width: 62px;
  height: 62px;
  font-size: 18px;
  border-radius: 18px;
}
.hwp-result-head h3 { font-size: 24px; }
.hwp-result-head p { font-size: 15px; }
.hwp-result-body { padding: 26px 28px; }
.hwp-result-row { grid-template-columns: 150px 1fr; font-size: 15px; }
.hwp-result-row .key { font-size: 14px; }
.hwp-result-row .val code {
  font-family: inherit;
  font-size: 13px;
  border-radius: 999px;
  background: #eff6ff;
  color: #173b7a;
}
.hwp-process {
  border-radius: 18px;
  border: 1px solid #efd89b;
  border-left: 6px solid var(--hwp-gold);
  background: linear-gradient(135deg,#fffdf5,#fff7dc);
}
.hwp-process-title::before { content: ''; }
.hwp-legal { border-radius: 18px; }
.hwp-legal-title::before { content: '법령 근거 '; }
.hwp-legal-title { font-size: 13px; }
.hwp-legal-content { font-size: 13.5px; }
.hwp-info-card { border-radius: 16px; }
.hwp-foot {
  border-radius: 18px;
  padding: 18px 20px;
  font-size: 12.5px;
  background: #f8fbff;
}

@media (max-width: 768px) {
  .hwp-panel { padding: 24px 18px; }
  .hwp-btn { width: 100%; min-width: 0; }
  .hwp-sec-head { flex-wrap: wrap; }
  .hwp-sec-head .badge { margin-left: 0; }
}


/* ===== 법령 링크 및 미리보기 보조창 ===== */
.hwp-law-link {
  display: inline;
  color: var(--hwp-blue-deep);
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(26, 107, 191, 0.35);
  cursor: pointer;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}
.hwp-law-link:hover,
.hwp-law-link:focus {
  color: #0f3b70;
  background: rgba(232, 240, 250, 0.85);
  border-bottom-color: var(--hwp-blue-deep);
  outline: none;
}
button.hwp-law-link {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  background: transparent;
}
.hwp-law-preview {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 99999;
  width: min(560px, calc(100vw - 40px));
  max-height: min(620px, calc(100vh - 56px));
  overflow: hidden;
  border: 1px solid var(--hwp-blue-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.28);
  display: none;
}
.hwp-law-preview.show {
  display: block;
  animation: hwpLawPreviewIn 0.18s ease;
}
@keyframes hwpLawPreviewIn {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.hwp-law-preview-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--hwp-line);
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}
.hwp-law-preview-title {
  flex: 1;
  margin: 0;
  color: var(--hwp-blue-deep);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}
.hwp-law-preview-close {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 1px solid var(--hwp-line);
  border-radius: 10px;
  background: #fff;
  color: var(--hwp-gray);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.hwp-law-preview-close:hover {
  background: var(--hwp-red-soft);
  color: var(--hwp-red-deep);
  border-color: #f3b8b2;
}
.hwp-law-preview-body {
  max-height: 420px;
  overflow: auto;
  padding: 18px 20px 20px;
  color: #2d3748;
  font-size: 13.5px;
  line-height: 1.8;
}
.hwp-law-preview-body p {
  margin: 0 0 10px;
}
.hwp-law-preview-body ol,
.hwp-law-preview-body ul {
  margin: 8px 0 0;
  padding-left: 20px;
}
.hwp-law-preview-body li {
  margin: 3px 0;
}
.hwp-law-preview-foot {
  padding: 12px 20px 16px;
  border-top: 1px solid var(--hwp-line);
  background: var(--hwp-bg);
}
.hwp-law-preview-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--hwp-blue-deep);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
  text-decoration: none;
}
.hwp-law-preview-open:hover {
  background: var(--hwp-blue);
  color: #fff;
}
@media (max-width: 768px) {
  .hwp-law-preview {
    left: 16px;
    right: 16px;
    bottom: 16px;
    width: auto;
  }
}



/* ===== 사용자 피드백 반영: 헤더 딥톤 + 클릭형 미리보기 ===== */
.hwp-hero {
  background:
    radial-gradient(circle at 9% 18%, rgba(255,255,255,0.18) 0, transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(56,189,248,0.20) 0, transparent 30%),
    linear-gradient(135deg, #071f4f 0%, #123d8f 52%, #1e88d6 100%) !important;
}
.hwp-hero::before {
  background-image:
    linear-gradient(rgba(255,255,255,0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.09) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
  opacity: 0.42 !important;
  border-radius: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.hwp-hero::after {
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow:
    -140px 135px 0 -92px rgba(255,255,255,0.13),
    -230px 50px 0 -118px rgba(255,255,255,0.10) !important;
}
.hwp-law-preview {
  right: auto !important;
  bottom: auto !important;
  width: min(520px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 32px));
  border: 1px solid #d6e5fb;
  border-radius: 18px;
  box-shadow: 0 22px 52px rgba(15, 23, 42, 0.22);
}
.hwp-law-preview.show {
  animation: hwpLawPreviewIn 0.16s ease;
}
@keyframes hwpLawPreviewIn {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.hwp-law-preview-foot:empty {
  display: none;
}
.hwp-law-preview-body {
  max-height: 360px;
}
@media (max-width: 768px) {
  .hwp-law-preview {
    left: 16px !important;
    right: 16px !important;
    top: auto !important;
    bottom: 16px !important;
    width: auto !important;
  }
}


/* ============================================================
   광고 및 스마트 네비게이션 v2.2
   - 상단 슬림 배너
   - 본문 중간 인아티클
   - 콘텐츠 하단 멀티플렉스
   - 좌우 사이드바
   - 스마트 네비게이션
============================================================ */
.smart-top-banner {
  max-width: 1180px;
  margin: 24px auto 16px;
  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
}
.smart-top-banner__header,
.ss-inarticle-ad__header,
.ss-multiplex-ad__header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #9ca3af;
}
.smart-top-banner__header::before,
.ss-inarticle-ad__header::before,
.ss-multiplex-ad__header::before {
  content: 'AD';
  display: inline-block;
  padding: 1px 5px;
  border-radius: 3px;
  background: #0D4444;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
}
.smart-top-banner__inner {
  width: 100%;
  min-height: 90px;
  background: #fafbfc;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.smart-top-banner__inner ins.adsbygoogle {
  display: block;
  width: 100%;
  height: 90px;
}
.ss-inarticle-ad {
  max-width: 1100px;
  margin: 28px auto 26px;
  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
}
.ss-inarticle-ad ins.adsbygoogle {
  display: block;
  text-align: center;
}
.ss-multiplex-ad {
  max-width: 1180px;
  margin: 40px auto 0;
  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
}

/* 우측 사이드바 광고: 콘텐츠 1180px + 스마트네비 68px 바깥 */
.smart-static-ad-right {
  position: fixed;
  left: 50%;
  margin-left: 678px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9997;
  width: 180px;
  padding: 10px 10px 8px;
  border-radius: 18px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(13,68,68,0.12);
  box-shadow: 0 12px 32px rgba(13,68,68,0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
  transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 1;
}
.smart-static-ad-right.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(20px);
}
.smart-static-ad-right__header,
.smart-float-ad__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  padding: 0 2px;
}
.smart-static-ad-right__label,
.smart-float-ad__label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #0D4444;
  opacity: .65;
}
.smart-static-ad-right__label::before,
.smart-float-ad__label::before {
  content: 'AD';
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  background: #0D4444;
  color: #fff;
  font-size: 9.5px;
  letter-spacing: 0.06em;
}
.smart-static-ad-right__close,
.smart-float-ad__close {
  width: 22px;
  height: 22px;
  border: 1.5px solid rgba(13,68,68,0.25);
  background: rgba(13,68,68,0.06);
  color: #0D4444;
  font-size: 13px;
  line-height: 1;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
}
.smart-static-ad-right__close:hover,
.smart-float-ad__close:hover {
  background: rgba(13,68,68,0.15);
  border-color: rgba(13,68,68,0.5);
}
.smart-static-ad-right__inner,
.smart-float-ad__inner {
  min-height: 600px;
  width: 160px;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.smart-static-ad-right__inner ins.adsbygoogle,
.smart-float-ad__inner ins.adsbygoogle {
  display: block;
  width: 160px;
  height: 600px;
}

/* 좌측 사이드바 광고 */
.smart-float-ad {
  position: fixed;
  right: 50%;
  margin-right: 650px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9998;
  width: 180px;
  padding: 10px 10px 8px;
  border-radius: 18px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(13,68,68,0.12);
  box-shadow: 0 12px 32px rgba(13,68,68,0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: 'NanumSquareNeo', 'Noto Sans KR', sans-serif;
  transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 1;
}
.smart-float-ad.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(-20px);
}

/* 스마트 네비게이션 */
.smart-float-nav{
  position:fixed;
  left:50%;
  margin-left:600px;
  top:50%;
  transform:translateY(-50%);
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px 8px;
  border-radius:24px;
  background:rgba(255,255,255,0.88);
  border:1px solid rgba(13,68,68,0.12);
  box-shadow:0 12px 32px rgba(13,68,68,0.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:opacity 0.4s ease, transform 0.4s ease;
  opacity:1;
}
.smart-float-nav.is-hidden{
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%) translateX(20px);
}
.smart-float-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:none;
  border-radius:18px;
  background:transparent;
  color:#0D4444;
  text-decoration:none;
  cursor:pointer;
  transition:all .22s ease;
  overflow:visible;
}
.smart-float-btn:hover{
  background:#0D4444;
  color:#fff;
  transform:translateX(-2px);
  box-shadow:0 8px 18px rgba(13,68,68,.22);
}
.smart-float-btn svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  flex-shrink:0;
  transition:transform .22s ease;
}
.smart-float-btn:hover svg{
  transform:scale(1.05);
}
.smart-float-label{
  position:absolute;
  right:62px;
  top:50%;
  transform:translateY(-50%) translateX(6px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:12px;
  background:#0D4444;
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:-0.01em;
  box-shadow:0 8px 20px rgba(13,68,68,.22);
  transition:all .18s ease;
  font-family:'NanumSquareNeo','Noto Sans KR',sans-serif;
}
.smart-float-label::after{
  content:'';
  position:absolute;
  left:100%;
  top:50%;
  transform:translateY(-50%);
  border-left:6px solid #0D4444;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
}
.smart-float-btn:hover .smart-float-label{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.smart-float-divider{
  width:28px;
  height:1px;
  margin:1px auto;
  background:linear-gradient(to right, rgba(13,68,68,0), rgba(13,68,68,.18), rgba(13,68,68,0));
}

@media (max-width:1670px){
  .smart-static-ad-right{ display:none !important; }
}
@media (max-width:1600px){
  .smart-float-ad{ display:none !important; }
}
@media (max-width:1400px){
  .smart-float-nav{
    left:auto;
    margin-left:0;
    right:22px;
  }
}
@media (max-width:768px){
  .smart-top-banner { margin: 16px auto 12px; padding: 0 16px; }
  .smart-top-banner__inner,
  .smart-top-banner__inner ins.adsbygoogle { height: 100px; }
  .ss-inarticle-ad { margin: 24px 0 22px; }
  .smart-float-nav{
    left:auto;
    margin-left:0;
    right:12px;
    gap:8px;
    padding:8px 6px;
    border-radius:20px;
  }
  .smart-float-btn{
    width:42px;
    height:42px;
    border-radius:14px;
  }
  .smart-float-btn svg{
    width:18px;
    height:18px;
  }
  .smart-float-label{
    display:none;
  }
}
@media (max-width:480px){
  .smart-top-banner__inner,
  .smart-top-banner__inner ins.adsbygoogle {
    height: 50px;
    min-height: 50px;
  }
  .smart-top-banner__inner { min-height: 50px; }
}

</style>


<!-- ============== 상단 슬림 배너 광고 ============== -->
<div class="smart-top-banner" aria-label="광고 영역">
  <div class="smart-top-banner__header">광고</div>
  <div class="smart-top-banner__inner">
    <ins class="adsbygoogle ss-ad-auto"
         style="display:block; width:100%; height:90px;"
         data-ad-client="ca-pub-3106752057307696"
         data-ad-slot="2206462755"
         data-ad-format="horizontal"
         data-full-width-responsive="false"></ins>
  </div>
</div>

<div class="hwp-tool">

  <!-- ============== 헤더 ============== -->
  <div class="hwp-hero">
    <span class="hwp-hero-tag">SAFETY COMPLIANCE TOOL</span>
    <h1>유해위험방지계획서 <span class="accent">제출대상</span> 조회</h1>
    <p>산업안전보건법 제42조에 따라 사업주가 작성·제출해야 하는 유해위험방지계획서의 대상 여부를 사업장 조건에 따라 즉시 확인할 수 있습니다. 제조업 업종, 유해·위험 기계·기구·설비, 일정 규모 이상의 건설공사 세 가지 유형을 모두 지원합니다.</p>
    <div class="hwp-hero-meta">
      <span>산업안전보건법 제42조</span>
      <span>시행령 제42조</span>
      <span>제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시</span>
    </div>
  </div>

  <!-- ============== 메인 ============== -->
  <div class="hwp-main">

    <!-- 탭 -->
    <div class="hwp-tabs">
      <button class="hwp-tab active" data-tab="type1">
        <span class="hwp-tab-num">1</span>
        <span class="hwp-tab-title">제조업 13개 업종</span>
        <span class="hwp-tab-desc">전기 계약용량 300kW 이상</span>
      </button>
      <button class="hwp-tab" data-tab="type2">
        <span class="hwp-tab-num">2</span>
        <span class="hwp-tab-title">유해·위험 기계 5종</span>
        <span class="hwp-tab-desc">용해로·화학설비·건조설비 등</span>
      </button>
      <button class="hwp-tab" data-tab="type3">
        <span class="hwp-tab-num">3</span>
        <span class="hwp-tab-title">대규모 건설공사</span>
        <span class="hwp-tab-desc">건축물·터널·교량·굴착 등</span>
      </button>
    </div>

    <!-- ============================================================
    1유형: 제조업 13개 업종
    ============================================================ -->
    <div class="hwp-panel active" id="panel-type1">
      <div class="hwp-sec-head">
        <div class="hwp-sec-bar"></div>
        <h2>제1유형 - 제조업 사업장 신설·이전·주요구조 변경</h2>
        <span class="badge">법 제42조 제1항 제1호 / 영 제42조 제1항</span>
      </div>

      <div class="hwp-notice">
        <strong>적용 대상</strong> - 아래 13개 제조업 중 하나에 해당하면서 <strong>전기 계약용량 합계가 300kW 이상</strong>인 사업장이 제품생산 공정과 직접 관련된 건설물·기계·기구·설비 <strong>전부를 설치·이전</strong>하거나 <strong>주요 구조부분을 변경</strong>하려는 경우
      </div>

      <div class="hwp-form-grid">
        <div class="hwp-field">
          <label>업종 선택 <span class="req">*</span></label>
          <select id="t1-industry">
            <option value="">- 사업장 업종을 선택하세요 -</option>
            <option value="1">금속가공제품 제조업 (기계 및 가구 제외)</option>
            <option value="2">비금속 광물제품 제조업</option>
            <option value="3">기타 기계 및 장비 제조업</option>
            <option value="4">자동차 및 트레일러 제조업</option>
            <option value="5">식료품 제조업</option>
            <option value="6">고무제품 및 플라스틱제품 제조업</option>
            <option value="7">목재 및 나무제품 제조업</option>
            <option value="8">기타 제품 제조업</option>
            <option value="9">1차 금속 제조업</option>
            <option value="10">가구 제조업</option>
            <option value="11">화학물질 및 화학제품 제조업</option>
            <option value="12">반도체 제조업</option>
            <option value="13">전자부품 제조업</option>
            <option value="0">위 13개 업종에 해당하지 않음</option>
          </select>
        </div>

        <div class="hwp-field">
          <label>전기 계약용량 (kW) <span class="req">*</span></label>
          <input type="number" id="t1-power" placeholder="예: 350" min="0" step="1">
          <span class="hint">한국전력공사 또는 임대인과 체결한 전력 수급계약용량 (자기 소유 공장의 경우 해당 공장의 계약용량)</span>
        </div>

        <div class="hwp-field">
          <label>설치·변경 유형 <span class="req">*</span></label>
          <select id="t1-action">
            <option value="">- 해당 사항을 선택하세요 -</option>
            <option value="new">신규 설치 (사업 신설)</option>
            <option value="move">이전 (다른 단위공장 또는 다른 지역으로 옮겨 설치)</option>
            <option value="change-power">주요 구조부분 변경 - 증설·교체·개조로 전기정격용량 100kW 이상 증가</option>
            <option value="change-move">주요 구조부분 변경 - 100kW 이상 규모 설비의 일부 이전</option>
            <option value="minor">단순 보수·교체 (전기정격용량 변동 100kW 미만)</option>
          </select>
        </div>

        <div class="hwp-field">
          <label>공정안전보고서(PSM) 제출 여부</label>
          <select id="t1-psm">
            <option value="no">아니오 - PSM 미제출</option>
            <option value="yes">예 - 해당 유해·위험설비에 대해 PSM 제출 완료</option>
          </select>
          <span class="hint">법 제44조에 따라 PSM 제출 시 해당 설비는 유해위험방지계획서 제출한 것으로 간주 (법 제42조 제3항)</span>
        </div>
      </div>

      <div class="hwp-actions">
        <button class="hwp-btn hwp-btn-primary" onclick="checkType1()">제출 대상 여부 판정</button>
        <button class="hwp-btn hwp-btn-reset" onclick="resetForm('type1')">초기화</button>
      </div>

      <!-- ============== 본문 중간 인아티클 광고 ============== -->
      <div class="ss-inarticle-ad" aria-label="광고 영역">
        <div class="ss-inarticle-ad__header">광고</div>
        <ins class="adsbygoogle ss-ad-auto"
             style="display:block; text-align:center;"
             data-ad-layout="in-article"
             data-ad-format="fluid"
             data-ad-client="ca-pub-3106752057307696"
             data-ad-slot="4640906013"></ins>
      </div>


      <div class="hwp-result" id="result-type1"></div>
    </div>

    <!-- ============================================================
    2유형: 유해·위험 기계·기구·설비
    ============================================================ -->
    <div class="hwp-panel" id="panel-type2">
      <div class="hwp-sec-head">
        <div class="hwp-sec-bar"></div>
        <h2>제2유형 - 유해·위험 기계·기구 및 설비</h2>
        <span class="badge">법 제42조 제1항 제2호 / 영 제42조 제2항 / 고시 제3조</span>
      </div>

      <div class="hwp-notice">
        <strong>적용 대상</strong> - 유해하거나 위험한 작업·장소에서 사용하거나 건강장해 방지를 위해 사용하는 기계·기구·설비 중 아래 5종 중 하나를 <strong>설치·이전</strong>하거나 <strong>주요 구조부분을 변경</strong>하려는 경우. 구체적 적용기준은 「제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시」 제3조에 따릅니다.
      </div>

      <div class="hwp-form-grid full">
        <div class="hwp-field">
          <label>설비 종류 <span class="req">*</span></label>
          <select id="t2-equip" onchange="renderType2Conditions()">
            <option value="">- 설비 종류를 선택하세요 -</option>
            <option value="furnace">제1항 금속·광물 용해로 (금속 또는 비금속광물을 녹는점 이상 가열·용해)</option>
            <option value="chemical">제2항 화학설비 (안전보건규칙 제273조 특수화학설비)</option>
            <option value="dryer">제3항 건조설비 (건조기본체·가열장치·환기장치 포함)</option>
            <option value="gas">제4항 가스집합 용접장치 (인화성가스 저장 도관 연결식)</option>
            <option value="ventilation">제5항 유해물질 밀폐·환기·배기 설비 (국소배기장치·밀폐설비·전체환기설비)</option>
          </select>
        </div>
      </div>

      <div id="t2-condition-area"></div>

      <div class="hwp-form-grid">
        <div class="hwp-field">
          <label>설치·변경 유형 <span class="req">*</span></label>
          <select id="t2-action">
            <option value="">- 해당 사항을 선택하세요 -</option>
            <option value="new">신규 설치</option>
            <option value="move">이전</option>
            <option value="change">주요 구조부분 변경 (고시 제2조 제1항 제6호 기준 충족)</option>
            <option value="minor">단순 보수·교체</option>
          </select>
        </div>
        <div class="hwp-field">
          <label>공정안전보고서(PSM) 제출 여부</label>
          <select id="t2-psm">
            <option value="no">아니오 - PSM 미제출</option>
            <option value="yes">예 - 해당 유해·위험설비에 대해 PSM 제출 완료</option>
          </select>
          <span class="hint">PSM 제출 시 유해위험방지계획서 제출한 것으로 간주 (법 제42조 제3항)</span>
        </div>
      </div>

      <div class="hwp-actions">
        <button class="hwp-btn hwp-btn-primary" onclick="checkType2()">제출 대상 여부 판정</button>
        <button class="hwp-btn hwp-btn-reset" onclick="resetForm('type2')">초기화</button>
      </div>

      <!-- ============== 본문 중간 인아티클 광고 ============== -->
      <div class="ss-inarticle-ad" aria-label="광고 영역">
        <div class="ss-inarticle-ad__header">광고</div>
        <ins class="adsbygoogle ss-ad-auto"
             style="display:block; text-align:center;"
             data-ad-layout="in-article"
             data-ad-format="fluid"
             data-ad-client="ca-pub-3106752057307696"
             data-ad-slot="4640906013"></ins>
      </div>


      <div class="hwp-result" id="result-type2"></div>
    </div>

    <!-- ============================================================
    3유형: 건설공사
    ============================================================ -->
    <div class="hwp-panel" id="panel-type3">
      <div class="hwp-sec-head">
        <div class="hwp-sec-bar"></div>
        <h2>제3유형 - 대규모 건설공사 착공</h2>
        <span class="badge">법 제42조 제1항 제3호 / 영 제42조 제3항</span>
      </div>

      <div class="hwp-notice">
        <strong>적용 대상</strong> - 아래 6가지 건설공사 유형 중 하나에 해당하는 공사를 <strong>착공하려는 경우</strong>. 건설공사 사업주는 유해위험방지계획서 작성 시 <strong>건설안전 분야 자격을 갖춘 자의 의견</strong>을 반드시 들어야 합니다. (법 제42조 제2항)
      </div>

      <div class="hwp-form-grid full">
        <div class="hwp-field">
          <label>공사 유형 <span class="req">*</span></label>
          <select id="t3-type" onchange="renderType3Conditions()">
            <option value="">- 공사 유형을 선택하세요 -</option>
            <option value="building">제1항 건축물·인공구조물 또는 일정 시설의 건설·개조·해체 공사</option>
            <option value="cold-storage">제2항 냉동·냉장 창고시설의 설비공사 및 단열공사</option>
            <option value="bridge">제3항 교량 건설·개조·해체 공사</option>
            <option value="tunnel">제4항 터널 건설·개조·해체 공사</option>
            <option value="dam">제5항 다목적댐·발전용댐·일정 규모 이상 용수전용댐·지방상수도 전용댐 공사</option>
            <option value="excavation">제6항 굴착공사</option>
          </select>
        </div>
      </div>

      <div id="t3-condition-area"></div>

      <div class="hwp-actions">
        <button class="hwp-btn hwp-btn-primary" onclick="checkType3()">제출 대상 여부 판정</button>
        <button class="hwp-btn hwp-btn-reset" onclick="resetForm('type3')">초기화</button>
      </div>

      <!-- ============== 본문 중간 인아티클 광고 ============== -->
      <div class="ss-inarticle-ad" aria-label="광고 영역">
        <div class="ss-inarticle-ad__header">광고</div>
        <ins class="adsbygoogle ss-ad-auto"
             style="display:block; text-align:center;"
             data-ad-layout="in-article"
             data-ad-format="fluid"
             data-ad-client="ca-pub-3106752057307696"
             data-ad-slot="4640906013"></ins>
      </div>


      <div class="hwp-result" id="result-type3"></div>
    </div>

  </div>

  <!-- ============== 푸터 ============== -->
  <div class="hwp-foot">
    <strong>※ 본 도구의 안내</strong> - 본 통합조회는 산업안전보건법 제42조 및 시행령 제42조, 「제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시」를 기반으로 한 1차 자가진단 도구입니다. 실제 제출 의무 여부 및 세부 적용기준은 사업장의 구체적 상황에 따라 달라질 수 있으므로, 최종 판단은 한국산업안전보건공단(KOSHA) 또는 안전관리전문기관의 검토를 받으시기 바랍니다. 산업안전지원센터 주식회사는 유해위험방지계획서 작성 컨설팅 및 검토 자문을 제공합니다.
  </div>

</div>

<script>

(function(){
  function ssInitVisibleAds(){
    var ads = document.querySelectorAll('ins.adsbygoogle.ss-ad-auto:not([data-ss-ad-init="1"])');
    ads.forEach(function(ad){
      if(ad.offsetParent === null) return;
      try {
        (adsbygoogle = window.adsbygoogle || []).push({});
        ad.setAttribute('data-ss-ad-init','1');
      } catch(e) {}
    });
  }

  window.addEventListener('load', ssInitVisibleAds);
  window.addEventListener('resize', function(){ setTimeout(ssInitVisibleAds, 180); });

  document.addEventListener('click', function(event){
    if(event.target.closest('.hwp-tab')){
      setTimeout(ssInitVisibleAds, 220);
    }
  });

  setTimeout(ssInitVisibleAds, 300);

  var nav = document.getElementById('smart-float-nav');
  var rightAd = document.getElementById('smart-static-ad-right');
  var leftAd = document.getElementById('smart-float-ad-left');

  function checkSmartScroll(){
    var scrolled = window.scrollY + window.innerHeight;
    var total = document.documentElement.scrollHeight || document.body.scrollHeight;
    var hide = (scrolled / total) > 0.82;

    if(nav){ nav.classList.toggle('is-hidden', hide); }
    if(rightAd){ rightAd.classList.toggle('is-hidden', hide); }
    if(leftAd){ leftAd.classList.toggle('is-hidden', hide); }
  }

  window.addEventListener('scroll', checkSmartScroll, { passive: true });
  checkSmartScroll();

  window.smartRightAdClose = function(){
    if(!rightAd) return;
    rightAd.style.opacity = '0';
    rightAd.style.pointerEvents = 'none';
    rightAd.style.transform = 'translateY(-50%) translateX(20px)';
    try { sessionStorage.setItem('smart_right_ad_closed','1'); } catch(e){}
  };

  window.smartLeftAdClose = function(){
    if(!leftAd) return;
    leftAd.style.opacity = '0';
    leftAd.style.pointerEvents = 'none';
    leftAd.style.transform = 'translateY(-50%) translateX(-20px)';
    try { sessionStorage.setItem('smart_left_ad_closed','1'); } catch(e){}
  };

  try {
    if(rightAd && sessionStorage.getItem('smart_right_ad_closed') === '1'){
      rightAd.style.display = 'none';
    }
    if(leftAd && sessionStorage.getItem('smart_left_ad_closed') === '1'){
      leftAd.style.display = 'none';
    }
  } catch(e){}
})();

(function(){
  // ===== 탭 전환 =====
  document.querySelectorAll('.hwp-tab').forEach(function(tab){
    tab.addEventListener('click', function(){
      var target = this.dataset.tab;
      document.querySelectorAll('.hwp-tab').forEach(function(t){ t.classList.remove('active'); });
      document.querySelectorAll('.hwp-panel').forEach(function(p){ p.classList.remove('active'); });
      this.classList.add('active');
      document.getElementById('panel-' + target).classList.add('active');
    });
  });

  // ===== 공통: 결과 표시 =====
  window.showResult = function(panelId, isTarget, title, sub, rows, processSteps, legalText){
    var box = document.getElementById('result-' + panelId);
    var headClass = isTarget ? 'target' : 'exempt';
    var icon = isTarget ? '!' : '충족';

    var rowsHtml = rows.map(function(r){
      return '<div class="hwp-result-row"><div class="key">' + r.key + '</div><div class="val ' + (r.cls||'') + '">' + r.val + '</div></div>';
    }).join('');

    var processHtml = '';
    if (processSteps && processSteps.length){
      processHtml = '<div class="hwp-process"><div class="hwp-process-title">제출 절차 안내</div><ol>' +
        processSteps.map(function(s){ return '<li>' + s + '</li>'; }).join('') +
        '</ol></div>';
    }

    var legalHtml = legalText ? '<div class="hwp-legal"><div class="hwp-legal-title"> 법령 근거</div><div class="hwp-legal-content">' + legalText + '</div></div>' : '';

    box.innerHTML =
      '<div class="hwp-result-head ' + headClass + '">' +
        '<div class="hwp-result-icon">' + icon + '</div>' +
        '<div><h3>' + title + '</h3><p>' + sub + '</p></div>' +
      '</div>' +
      '<div class="hwp-result-body">' + rowsHtml + processHtml + legalHtml + '</div>';

    box.classList.add('show');
    setTimeout(function(){ box.scrollIntoView({behavior:'smooth', block:'nearest'}); }, 100);
  };

  // ===== 공통 제출절차 =====
  var commonProcess = [
    '<strong>작성 시기</strong> - 해당 작업시작(설치·이전·변경공사 시작) 또는 건설공사 착공 <strong>15일 전</strong>까지 작성·제출 (규칙 제42조 제1항)',
    '<strong>제출 기관</strong> - 한국산업안전보건공단(KOSHA) 관할 광역본부 또는 지역본부',
    '<strong>제출 방법</strong> - KOSHA 홈페이지(www.kosha.or.kr) 전자민원 또는 직접 방문 제출',
    '<strong>심사 기간</strong> - 접수일부터 15일 이내 (보완 필요 시 연장 가능)',
    '<strong>심사 결과</strong> - 적정·조건부 적정·부적정 통보. 부적정 시 작업중지 또는 변경 명령 가능 (법 제42조 제4항)',
    '<strong>비치 의무</strong> - 심사받은 계획서와 심사결과서를 사업장에 비치 (법 제42조 제5항). 건설공사의 경우 공법 변경 시 변경하여 비치 (법 제42조 제6항)'
  ];

  var selfReviewNote = '<strong>※ 자체심사 특례</strong> - 산업재해발생률 등이 일정 기준에 해당하는 사업주는 스스로 심사하고 심사결과서를 작성하여 제출 가능 (법 제42조 제1항 단서)';

  // ===== 법령 미리보기 보조창 =====
  var lawPreviewData = {
    rule273: {
      title: '안전보건규칙 제273조 - 계측장치 등의 설치',
      url: 'https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제273조',
      body: '<p>사업주는 별표 9에 따른 위험물을 같은 표에서 정한 기준량 이상으로 제조하거나 취급하는 다음 각 호의 어느 하나에 해당하는 화학설비(특수화학설비)를 설치하는 경우, 내부의 이상 상태를 조기에 파악하기 위하여 필요한 온도계ㆍ유량계ㆍ압력계 등의 계측장치를 설치하여야 합니다.</p><ol><li>발열반응이 일어나는 반응장치</li><li>증류ㆍ정류ㆍ증발ㆍ추출 등 분리를 하는 장치</li><li>가열시켜 주는 물질의 온도가 가열되는 위험물질의 분해온도 또는 발화점보다 높은 상태에서 운전되는 설비</li><li>반응폭주 등 이상 화학반응에 의하여 위험물질이 발생할 우려가 있는 설비</li><li>온도가 섭씨 350도 이상이거나 게이지 압력이 980킬로파스칼 이상인 상태에서 운전되는 설비</li><li>가열로 또는 가열기</li></ol>'
    },
    noticeTable1No7: {
      title: '안전검사 절차에 관한 고시 별표 1 제7호 - 유해물질',
      url: '',
      body: '<p>별표 1 제7호에서 말하는 유해물질은 다음 물질을 말합니다.</p><p>디아니시딘과 그 염, 디클로로벤지딘과 그 염, 베릴륨, 벤조트리클로리드, 비소 및 그 무기화합물, 석면, 알파-나프틸아민과 그 염, 염화비닐, 오르토-톨리딘과 그 염, 크롬광, 크롬산 아연, 황화니켈, 휘발성 콜타르피치, 2-브로모프로판, 6가크롬 화합물, 납 및 그 무기화합물, 노말헥산, 니켈(불용성 무기화합물), 디메틸포름아미드, 벤젠, 이황화탄소, 카드뮴 및 그 화합물, 톨루엔-2,4-디이소시아네이트, 트리클로로에틸렌, 포름알데히드, 메틸클로로포름(1,1,1-트리클로로에탄), 곡물분진, 망간, 메틸렌디페닐디이소시아네이트(MDI), 무수프탈산, 브롬화메틸, 수은, 스티렌, 시클로헥사논, 아닐린, 아세토니트릴, 아연(산화아연), 아크릴로니트릴, 아크릴아미드, 알루미늄, 디클로로메탄(염화메틸렌), 용접흄, 유리규산, 코발트, 크롬, 탈크(활석), 톨루엔, 황산알루미늄, 황화수소</p>'
    }
  };

  ['422','423','424','425','428','430','453','471','474','607','608'].forEach(function(no){
    lawPreviewData['rule' + no] = {
      title: '안전보건규칙 제' + no + '조',
      url: 'https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제' + no + '조',
      body: '<p>해당 조문은 국소배기장치, 밀폐설비, 전체환기설비 등 유해물질 밀폐ㆍ환기ㆍ배기 설비 판단 시 함께 확인해야 하는 산업안전보건기준에 관한 규칙 조문입니다.</p><p>조문 전문은 아래의 새 창 열기 버튼을 통해 국가법령정보센터에서 확인할 수 있습니다.</p>'
    };
  });

  function ensureLawPreviewBox(){
    var existing = document.getElementById('hwpLawPreview');
    if (existing) return existing;

    var box = document.createElement('div');
    box.id = 'hwpLawPreview';
    box.className = 'hwp-law-preview';
    box.innerHTML =
      '<div class="hwp-law-preview-head">' +
        '<h4 class="hwp-law-preview-title" id="hwpLawPreviewTitle">법령 미리보기</h4>' +
        '<button type="button" class="hwp-law-preview-close" aria-label="닫기">×</button>' +
      '</div>' +
      '<div class="hwp-law-preview-body" id="hwpLawPreviewBody"></div>' +
      '<div class="hwp-law-preview-foot" id="hwpLawPreviewFoot"></div>';

    document.body.appendChild(box);

    box.querySelector('.hwp-law-preview-close').addEventListener('click', function(){
      box.classList.remove('show');
    });

    return box;
  }

  function showLawPreview(key, triggerEl){
    var data = lawPreviewData[key];
    if (!data) return;

    var box = ensureLawPreviewBox();
    document.getElementById('hwpLawPreviewTitle').textContent = data.title;
    document.getElementById('hwpLawPreviewBody').innerHTML = data.body;
    document.getElementById('hwpLawPreviewFoot').innerHTML = data.url
      ? '<a class="hwp-law-preview-open" href="' + data.url + '" target="_blank" rel="noopener noreferrer">국가법령정보센터 새 창에서 열기</a>'
      : '';

    box.classList.add('show');
    positionLawPreview(box, triggerEl);
  }

  function positionLawPreview(box, triggerEl){
    if (!triggerEl) return;

    var gap = 14;
    var margin = 16;
    var rect = triggerEl.getBoundingClientRect();

    box.style.left = '0px';
    box.style.top = '0px';
    box.style.right = 'auto';
    box.style.bottom = 'auto';

    var boxRect = box.getBoundingClientRect();
    var left = rect.left + (rect.width / 2) - (boxRect.width / 2);
    left = Math.max(margin, Math.min(left, window.innerWidth - boxRect.width - margin));

    var top = rect.top - boxRect.height - gap;
    if (top < margin) {
      top = rect.bottom + gap;
    }
    if (top + boxRect.height > window.innerHeight - margin) {
      top = Math.max(margin, window.innerHeight - boxRect.height - margin);
    }

    box.style.left = left + 'px';
    box.style.top = top + 'px';
  }

  document.addEventListener('click', function(event){
    var popupButton = event.target.closest('button[data-law-key]');
    if (!popupButton) return;
    event.preventDefault();
    showLawPreview(popupButton.getAttribute('data-law-key'), popupButton);
  });

  document.addEventListener('keydown', function(event){
    if (event.key === 'Escape') {
      var box = document.getElementById('hwpLawPreview');
      if (box) box.classList.remove('show');
    }
  });


  // ===== 1유형 판정 =====
  window.checkType1 = function(){
    var industry = document.getElementById('t1-industry').value;
    var power = parseFloat(document.getElementById('t1-power').value);
    var action = document.getElementById('t1-action').value;
    var psm = document.getElementById('t1-psm').value;

    if (!industry || isNaN(power) || !action){
      alert('필수 항목(*)을 모두 입력해주세요.');
      return;
    }

    var industryNames = {
      '1':'금속가공제품 제조업(기계·가구 제외)', '2':'비금속 광물제품 제조업',
      '3':'기타 기계 및 장비 제조업', '4':'자동차 및 트레일러 제조업',
      '5':'식료품 제조업', '6':'고무제품 및 플라스틱제품 제조업',
      '7':'목재 및 나무제품 제조업', '8':'기타 제품 제조업',
      '9':'1차 금속 제조업', '10':'가구 제조업',
      '11':'화학물질 및 화학제품 제조업', '12':'반도체 제조업',
      '13':'전자부품 제조업', '0':'해당 없음'
    };

    var rows = [
      { key:'업 종', val: industryNames[industry] },
      { key:'전기 계약용량', val: power.toLocaleString() + ' kW' },
      { key:'설치·변경 유형', val: document.getElementById('t1-action').selectedOptions[0].text },
      { key:'PSM 제출 여부', val: psm === 'yes' ? '제출 완료' : '미제출' }
    ];

    // 판정
    if (industry === '0'){
      showResult('type1', false, '제출 대상 아님', '13개 제조업종에 해당하지 않으므로 제1유형 제출 대상이 아닙니다.',
        rows.concat([{key:'판정', val:'제2유형(유해·위험 기계) 또는 제3유형(건설공사) 해당 여부를 별도 확인하시기 바랍니다.', cls:'highlight-ok'}]),
        null,
        '<strong>법 제42조 제1항 제1호</strong>는 <strong>대통령령으로 정하는 사업의 종류 및 규모</strong>에 해당하는 사업에만 적용됩니다. 시행령 제42조 제1항은 13개 제조업종을 한정 열거하고 있으므로, 이에 해당하지 않는 업종은 제1유형 제출 대상에서 제외됩니다.'
      );
      return;
    }

    if (psm === 'yes'){
      showResult('type1', false, '제출 면제 (PSM 갈음)', '공정안전보고서 제출로 유해위험방지계획서 제출한 것으로 간주됩니다.',
        rows.concat([{key:'판정', val:'법 제42조 제3항에 따라 해당 유해·위험설비에 대해서는 별도의 유해위험방지계획서 제출 의무가 없습니다.', cls:'highlight-ok'}]),
        null,
        '<strong>법 제42조 제3항</strong> - 사업주가 법 제44조 제1항에 따라 공정안전보고서를 고용노동부장관에게 제출한 경우에는 해당 유해·위험설비에 대해서는 유해위험방지계획서를 제출한 것으로 본다.'
      );
      return;
    }

    if (power < 300){
      showResult('type1', false, '제출 대상 아님', '전기 계약용량이 300kW 미만이므로 제1유형 제출 대상이 아닙니다.',
        rows.concat([{key:'판정', val:'전기 계약용량 ' + power + 'kW < 300kW 기준 미달', cls:'highlight-ok'}]),
        null,
        '<strong>시행령 제42조 제1항</strong> - 13개 제조업종 사업으로서 <strong>전기 계약용량이 300킬로와트 이상인 경우</strong>에 한하여 제출 대상이 됩니다.'
      );
      return;
    }

    if (action === 'minor'){
      showResult('type1', false, '제출 대상 아님', '단순 보수·교체로서 주요 구조부분 변경에 해당하지 않습니다.',
        rows.concat([{key:'판정', val:'전기정격용량 변동 100kW 미만 - 주요 구조부분 변경 기준 미달', cls:'highlight-ok'}]),
        null,
        '<strong>고시 제2조 제1항 제5호</strong> - "주요 구조부분을 변경"이란 증설·교체·개조 등으로 <strong>전기정격용량의 합이 100kW 이상 증가</strong>되는 경우 또는 <strong>100kW 이상 규모 설비의 일부를 옮겨 설치</strong>하는 경우를 말합니다.'
      );
      return;
    }

    // ▶ 제출 대상
    var actionLabel = {
      'new':'신규 설치 (사업 신설)',
      'move':'이전 (다른 단위공장·지역으로 이동)',
      'change-power':'주요 구조부분 변경 (전기정격용량 100kW 이상 증가)',
      'change-move':'주요 구조부분 변경 (100kW 이상 규모 설비 일부 이전)'
    }[action];

    showResult('type1', true, '제출 대상에 해당합니다', '귀 사업장은 산업안전보건법 제42조 제1항 제1호에 따른 유해위험방지계획서 제출 대상입니다.',
      [
        { key:'업 종', val: industryNames[industry], cls:'highlight' },
        { key:'전기 계약용량', val: power.toLocaleString() + ' kW (300kW 이상 기준 충족)', cls:'highlight' },
        { key:'설치·변경 유형', val: actionLabel, cls:'highlight' },
        { key:'근거 조문', val: '<code>법 제42조 제1항 제1호</code> + <code>영 제42조 제1항</code>' },
        { key:'제출 시기', val: '해당 작업시작 <strong>15일 전</strong>까지' },
        { key:'제출 기관', val: '한국산업안전보건공단(KOSHA) 관할 본부' }
      ],
      commonProcess.concat([selfReviewNote]),
      '<strong>법 제42조 제1항 제1호</strong> - 대통령령으로 정하는 사업의 종류 및 규모에 해당하는 사업으로서 해당 제품의 생산공정과 직접적으로 관련된 건설물·기계·기구 및 설비 등 전부를 설치·이전하거나 그 주요 구조부분을 변경하려는 경우, 유해위험방지계획서를 작성하여 고용노동부장관에게 제출하고 심사를 받아야 합니다.'
    );
  };

  // ===== 2유형 동적 조건 렌더링 =====
  window.renderType2Conditions = function(){
    var equip = document.getElementById('t2-equip').value;
    var area = document.getElementById('t2-condition-area');
    if (!equip){ area.innerHTML = ''; return; }

    var html = '<div class="hwp-checklist"><div class="hwp-checklist-title"> 고시 제3조 세부 적용기준 - 해당 항목을 모두 확인하세요</div>';

    if (equip === 'furnace'){
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c1"><span>금속 또는 비금속광물을 <strong>해당 물질의 녹는점 이상으로 가열하여 용해</strong>하는 노(爐)에 해당합니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c2"><span>용해로의 <strong>용량이 3톤 이상</strong>입니다.</span></label>';
    } else if (equip === 'chemical'){
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c1"><span><strong><a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제273조" target="_blank" rel="noopener noreferrer" data-law-key="rule273">안전보건규칙 제273조에 따른 특수화학설비</a></strong>에 해당합니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c2"><span>단위공정 중 저장량 포함 <strong>하루 동안 제조·취급할 수 있는 양</strong>이 안전보건규칙 별표 9의 <strong>위험물질 기준량 이상</strong>입니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c3"><span>영 제43조 제2항에서 정한 <strong>제외 설비에 해당하지 않습니다</strong>.</span></label>';
    } else if (equip === 'dryer'){
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c1"><span>건조기 본체·가열장치·환기장치를 포함하며, <strong>연료 최대소비량 시간당 50kg 이상</strong> 또는 <strong>정격소비전력 50kW 이상</strong>입니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c2"><span>다음 중 하나 이상에 해당합니다 - 제1항 건조물 내 <strong>유기화합물 건조</strong>, 제2항 도료·피막제 도포코팅 등 <strong>인화성 물질 증기 발생</strong>, 제3항 건조를 통한 <strong>가연성 분진 발생</strong>.</span></label>';
    } else if (equip === 'gas'){
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c1"><span>1개 이상의 <strong>인화성가스 저장 용기·탱크를 도관으로 연결</strong>한 고정식 가스집합장치부터 용접토치까지의 <strong>일관 설비</strong>입니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c2"><span><strong>인화성가스 집합량이 1,000kg 이상</strong>입니다.</span></label>';
    } else if (equip === 'ventilation'){
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c1"><span>안전보건규칙 <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제422조" target="_blank" rel="noopener noreferrer" data-law-key="rule422">제422조</a>~<a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제425조" target="_blank" rel="noopener noreferrer" data-law-key="rule425">제425조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제428조" target="_blank" rel="noopener noreferrer" data-law-key="rule428">제428조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제430조" target="_blank" rel="noopener noreferrer" data-law-key="rule430">제430조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제453조" target="_blank" rel="noopener noreferrer" data-law-key="rule453">제453조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제471조" target="_blank" rel="noopener noreferrer" data-law-key="rule471">제471조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제474조" target="_blank" rel="noopener noreferrer" data-law-key="rule474">제474조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제607조" target="_blank" rel="noopener noreferrer" data-law-key="rule607">제607조</a>, <a class="hwp-law-link" href="https://www.law.go.kr/법령/산업안전보건기준에관한규칙/(20260302,00450,20250901)/제608조" target="_blank" rel="noopener noreferrer" data-law-key="rule608">제608조</a>에 따른 <strong>국소배기장치(이동식 제외)·밀폐설비·전체환기설비(강제배기 또는 급·배기 환기장치)</strong>입니다.</span></label>';
      html += '<label class="hwp-check-item"><input type="checkbox" id="t2-c2"><span>다음 중 하나에 해당 - 제1항 <button type="button" class="hwp-law-link" data-law-key="noticeTable1No7">「안전검사 절차에 관한 고시」 별표1 제7호</button> <strong>유해물질 발산원 처리설비로 배풍량 분당 60㎥ 이상</strong>, 또는 제2항 그 외 <strong>허가대상·관리대상 물질 또는 분진작업장 처리설비로 배풍량 분당 150㎥ 이상</strong>.</span></label>';
    }

    html += '</div>';
    area.innerHTML = html;
  };

  // ===== 2유형 판정 =====
  window.checkType2 = function(){
    var equip = document.getElementById('t2-equip').value;
    var action = document.getElementById('t2-action').value;
    var psm = document.getElementById('t2-psm').value;

    if (!equip || !action){
      alert('필수 항목(*)을 모두 입력해주세요.');
      return;
    }

    var equipNames = {
      'furnace':'금속·광물 용해로', 'chemical':'화학설비', 'dryer':'건조설비',
      'gas':'가스집합 용접장치', 'ventilation':'유해물질 밀폐·환기·배기 설비'
    };

    var equipLegal = {
      'furnace':'영 제42조 제2항 제1호 + 고시 제3조 제1항 제1호',
      'chemical':'영 제42조 제2항 제2호 + 고시 제3조 제1항 제2호',
      'dryer':'영 제42조 제2항 제3호 + 고시 제3조 제1항 제3호',
      'gas':'영 제42조 제2항 제4호 + 고시 제3조 제1항 제4호',
      'ventilation':'영 제42조 제2항 제5호 + 고시 제3조 제1항 제5호'
    };

    var checks = document.querySelectorAll('#t2-condition-area input[type="checkbox"]');
    var allChecked = true;
    var checkCount = 0;
    checks.forEach(function(c){ if(!c.checked) allChecked=false; checkCount++; });

    var rows = [
      { key:'설비 종류', val: equipNames[equip] },
      { key:'설치·변경 유형', val: document.getElementById('t2-action').selectedOptions[0].text },
      { key:'PSM 제출 여부', val: psm === 'yes' ? '제출 완료' : '미제출' },
      { key:'세부조건 충족', val: allChecked ? '충족 전부 충족' : '미충족 일부 미충족 (' + Array.from(checks).filter(function(c){return c.checked;}).length + '/' + checkCount + ')' }
    ];

    if (psm === 'yes'){
      showResult('type2', false, '제출 면제 (PSM 갈음)', '공정안전보고서 제출로 유해위험방지계획서 제출한 것으로 간주됩니다.',
        rows.concat([{key:'판정', val:'법 제42조 제3항에 따라 해당 유해·위험설비에 대해서는 별도 제출 의무가 없습니다.', cls:'highlight-ok'}]),
        null,
        '<strong>법 제42조 제3항</strong> - 사업주가 공정안전보고서를 제출한 경우 해당 유해·위험설비에 대해서는 유해위험방지계획서를 제출한 것으로 봅니다.'
      );
      return;
    }

    if (action === 'minor'){
      showResult('type2', false, '제출 대상 아님', '단순 보수·교체는 주요 구조부분 변경에 해당하지 않습니다.',
        rows.concat([{key:'판정', val:'고시 제2조 제1항 제6호 주요 구조부분 변경 기준 미달', cls:'highlight-ok'}]),
        null,
        '<strong>고시 제2조 제1항 제6호</strong> - 유해·위험 기계·기구·설비의 "주요 구조부분 변경"은 제1항 용해로 열원 종류 변경, 제2항 화학설비 교체·변경·추가, 제3항 건조설비 열원 종류 또는 건조대상물 변경, 제4항 가스집합장치 주관 구조 변경, 제5항 밀폐·환기·배기 설비의 후드 제어풍속 감소 또는 배풍기 배풍량 증가 시에 해당합니다.'
      );
      return;
    }

    if (!allChecked){
      showResult('type2', false, '제출 대상 아님 (조건 미충족)', '고시 제3조의 세부 적용기준을 모두 충족하지 않습니다.',
        rows.concat([{key:'판정', val:'세부조건 중 일부가 미충족이므로 영 제42조 제2항의 제출 대상 설비에 해당하지 않습니다. 다만 다른 안전관리 의무(안전인증, 안전검사 등)는 별도로 적용될 수 있습니다.', cls:'highlight-ok'}]),
        null,
        '<strong>시행령 제42조 제2항</strong>의 5종 기계·기구·설비는 「제조업 등 유해위험방지계획서 제출·심사 및 확인에 관한 고시」 제3조에서 정한 <strong>구체적 규모·용량 기준을 모두 충족</strong>하는 경우에만 제출 대상이 됩니다.'
      );
      return;
    }

    // ▶ 제출 대상
    var actionLabel = {
      'new':'신규 설치', 'move':'이전', 'change':'주요 구조부분 변경'
    }[action];

    showResult('type2', true, '제출 대상에 해당합니다', '귀 사업장은 산업안전보건법 제42조 제1항 제2호에 따른 유해위험방지계획서 제출 대상입니다.',
      [
        { key:'설비 종류', val: equipNames[equip], cls:'highlight' },
        { key:'설치·변경 유형', val: actionLabel, cls:'highlight' },
        { key:'세부조건', val: '충족 고시 제3조 적용기준 전부 충족', cls:'highlight' },
        { key:'근거 조문', val: '<code>법 제42조 제1항 제2호</code> + <code>' + equipLegal[equip] + '</code>' },
        { key:'제출 시기', val: '해당 작업시작 <strong>15일 전</strong>까지' },
        { key:'제출 기관', val: '한국산업안전보건공단(KOSHA) 관할 본부' }
      ],
      commonProcess.concat([selfReviewNote]),
      '<strong>법 제42조 제1항 제2호</strong> - 유해하거나 위험한 작업·장소에서 사용하거나 건강장해 방지를 위해 사용하는 기계·기구 및 설비로서 대통령령으로 정하는 기계·기구 및 설비를 설치·이전하거나 그 주요 구조부분을 변경하려는 경우 유해위험방지계획서를 제출하여야 합니다.'
    );
  };

  // ===== 3유형 동적 조건 렌더링 =====
  window.renderType3Conditions = function(){
    var type = document.getElementById('t3-type').value;
    var area = document.getElementById('t3-condition-area');
    if (!type){ area.innerHTML = ''; return; }

    var html = '<div class="hwp-form-grid">';

    if (type === 'building'){
      html += '<div class="hwp-field"><label>건축물 세부 구분 <span class="req">*</span></label>' +
        '<select id="t3-building-sub">' +
        '<option value="">- 선택하세요 -</option>' +
        '<option value="height">지상높이 31m 이상 건축물·인공구조물</option>' +
        '<option value="area30k">연면적 30,000㎡ 이상 건축물</option>' +
        '<option value="facility">연면적 5,000㎡ 이상 특정 시설</option>' +
        '<option value="none">위 어느 것에도 해당하지 않음</option>' +
        '</select></div>';
      html += '<div class="hwp-field"><label>지상높이 (m)</label>' +
        '<input type="number" id="t3-height" placeholder="예: 35" min="0" step="0.1"></div>';
      html += '<div class="hwp-field"><label>연면적 (㎡)</label>' +
        '<input type="number" id="t3-area" placeholder="예: 32000" min="0" step="1"></div>';
      html += '<div class="hwp-field"><label>특정 시설 종류 (해당 시)</label>' +
        '<select id="t3-facility-type">' +
        '<option value="">- 해당 없음 -</option>' +
        '<option value="culture">문화 및 집회시설(전시장·동물원·식물원 제외)</option>' +
        '<option value="commerce">판매시설·운수시설(고속철도 역사·집배송시설 제외)</option>' +
        '<option value="religion">종교시설</option>' +
        '<option value="hospital">의료시설 중 종합병원</option>' +
        '<option value="hotel">숙박시설 중 관광숙박시설</option>' +
        '<option value="underground">지하도상가</option>' +
        '<option value="cold">냉동·냉장 창고시설</option>' +
        '</select></div>';
    } else if (type === 'cold-storage'){
      html += '<div class="hwp-field"><label>연면적 (㎡) <span class="req">*</span></label>' +
        '<input type="number" id="t3-area" placeholder="예: 5500" min="0" step="1">' +
        '<span class="hint">5,000㎡ 이상인 냉동·냉장 창고시설의 설비공사·단열공사가 대상</span></div>';
    } else if (type === 'bridge'){
      html += '<div class="hwp-field"><label>최대 지간(支間)길이 (m) <span class="req">*</span></label>' +
        '<input type="number" id="t3-span" placeholder="예: 60" min="0" step="0.1">' +
        '<span class="hint">다리의 기둥과 기둥 중심 사이의 거리 - 50m 이상이 대상</span></div>';
    } else if (type === 'tunnel'){
      html += '<div class="hwp-field"><label>터널 건설·개조·해체 공사 여부 <span class="req">*</span></label>' +
        '<select id="t3-tunnel">' +
        '<option value="">- 선택하세요 -</option>' +
        '<option value="yes">예 - 터널 건설등 공사를 시행함</option>' +
        '<option value="no">아니오</option>' +
        '</select>' +
        '<span class="hint">터널 공사는 규모와 무관하게 모두 대상</span></div>';
    } else if (type === 'dam'){
      html += '<div class="hwp-field"><label>댐 종류 <span class="req">*</span></label>' +
        '<select id="t3-dam-type">' +
        '<option value="">- 선택하세요 -</option>' +
        '<option value="multi">다목적댐</option>' +
        '<option value="power">발전용댐</option>' +
        '<option value="water">용수전용댐 (저수용량 2천만톤 이상)</option>' +
        '<option value="local">지방상수도 전용댐</option>' +
        '<option value="other">기타 (위 4종에 해당하지 않음)</option>' +
        '</select></div>';
    } else if (type === 'excavation'){
      html += '<div class="hwp-field"><label>굴착 깊이 (m) <span class="req">*</span></label>' +
        '<input type="number" id="t3-depth" placeholder="예: 12" min="0" step="0.1">' +
        '<span class="hint">10m 이상 굴착공사가 대상</span></div>';
    }

    html += '</div>';
    area.innerHTML = html;
  };

  // ===== 3유형 판정 =====
  window.checkType3 = function(){
    var type = document.getElementById('t3-type').value;
    if (!type){ alert('공사 유형을 선택해주세요.'); return; }

    var typeName = document.getElementById('t3-type').selectedOptions[0].text;
    var rows = [{ key:'공사 유형', val: typeName }];
    var isTarget = false;
    var detail = '';
    var legalRef = '';

    if (type === 'building'){
      var sub = document.getElementById('t3-building-sub').value;
      var height = parseFloat(document.getElementById('t3-height').value) || 0;
      var area = parseFloat(document.getElementById('t3-area').value) || 0;
      var facility = document.getElementById('t3-facility-type').value;

      if (!sub){ alert('건축물 세부 구분을 선택해주세요.'); return; }

      if (sub === 'height'){
        rows.push({ key:'지상높이', val: height + ' m' });
        if (height >= 31){ isTarget = true; detail = '지상높이 31m 이상 기준 충족'; }
        else { detail = '지상높이 31m 미만 - 기준 미달'; }
        legalRef = '영 제42조 제3항 제1호 가목';
      } else if (sub === 'area30k'){
        rows.push({ key:'연면적', val: area.toLocaleString() + ' ㎡' });
        if (area >= 30000){ isTarget = true; detail = '연면적 30,000㎡ 이상 기준 충족'; }
        else { detail = '연면적 30,000㎡ 미만 - 기준 미달'; }
        legalRef = '영 제42조 제3항 제1호 나목';
      } else if (sub === 'facility'){
        rows.push({ key:'연면적', val: area.toLocaleString() + ' ㎡' });
        rows.push({ key:'시설 종류', val: facility ? document.getElementById('t3-facility-type').selectedOptions[0].text : '미선택' });
        if (area >= 5000 && facility){ isTarget = true; detail = '연면적 5,000㎡ 이상 + 7개 특정시설 해당 - 기준 충족'; }
        else if (!facility){ detail = '특정 시설 종류 미선택 - 7개 해당 시설 여부 확인 필요'; }
        else { detail = '연면적 5,000㎡ 미만 - 기준 미달'; }
        legalRef = '영 제42조 제3항 제1호 다목';
      } else {
        detail = '제3유형 해당 없음';
      }
    } else if (type === 'cold-storage'){
      var area = parseFloat(document.getElementById('t3-area').value) || 0;
      rows.push({ key:'연면적', val: area.toLocaleString() + ' ㎡' });
      if (area >= 5000){ isTarget = true; detail = '연면적 5,000㎡ 이상 - 기준 충족'; }
      else { detail = '연면적 5,000㎡ 미만 - 기준 미달'; }
      legalRef = '영 제42조 제3항 제2호';
    } else if (type === 'bridge'){
      var span = parseFloat(document.getElementById('t3-span').value) || 0;
      rows.push({ key:'최대 지간길이', val: span + ' m' });
      if (span >= 50){ isTarget = true; detail = '최대 지간 50m 이상 - 기준 충족'; }
      else { detail = '최대 지간 50m 미만 - 기준 미달'; }
      legalRef = '영 제42조 제3항 제3호';
    } else if (type === 'tunnel'){
      var t = document.getElementById('t3-tunnel').value;
      if (!t){ alert('터널 공사 여부를 선택해주세요.'); return; }
      if (t === 'yes'){ isTarget = true; detail = '터널 건설등 공사 - 규모 무관 대상'; rows.push({key:'시행여부', val:'예'}); }
      else { detail = '터널 공사 시행하지 않음'; rows.push({key:'시행여부', val:'아니오'}); }
      legalRef = '영 제42조 제3항 제4호';
    } else if (type === 'dam'){
      var d = document.getElementById('t3-dam-type').value;
      if (!d){ alert('댐 종류를 선택해주세요.'); return; }
      var dName = document.getElementById('t3-dam-type').selectedOptions[0].text;
      rows.push({ key:'댐 종류', val: dName });
      if (d !== 'other' && d !== ''){ isTarget = true; detail = '시행령 제42제3항 제5호 해당 댐 - 기준 충족'; }
      else { detail = '4종 댐에 해당하지 않음'; }
      legalRef = '영 제42조 제3항 제5호';
    } else if (type === 'excavation'){
      var depth = parseFloat(document.getElementById('t3-depth').value) || 0;
      rows.push({ key:'굴착 깊이', val: depth + ' m' });
      if (depth >= 10){ isTarget = true; detail = '굴착 깊이 10m 이상 - 기준 충족'; }
      else { detail = '굴착 깊이 10m 미만 - 기준 미달'; }
      legalRef = '영 제42조 제3항 제6호';
    }

    if (isTarget){
      rows.push({ key:'판정 사유', val: detail, cls:'highlight' });
      rows.push({ key:'근거 조문', val: '<code>법 제42조 제1항 제3호</code> + <code>' + legalRef + '</code>' });
      rows.push({ key:'제출 시기', val: '<strong>건설공사 착공 전</strong> (착공일 기준 15일 전)' });
      rows.push({ key:'제출 기관', val: '한국산업안전보건공단(KOSHA) 관할 본부' });
      rows.push({ key:'특별 의무', val: '<strong>건설안전 분야 자격을 갖춘 자의 의견 청취 필수</strong> (법 제42조 제2항)', cls:'highlight' });

      showResult('type3', true, '제출 대상에 해당합니다', '귀 건설공사는 산업안전보건법 제42조 제1항 제3호에 따른 유해위험방지계획서 제출 대상입니다.',
        rows,
        commonProcess.concat([
          '<strong>건설안전 자격자 의견 청취</strong> - 건설안전기술사·산업안전지도사(건설안전) 등 규칙 제43에 따른 자격자의 의견을 들어 작성 (법 제42조 제2항)',
          '<strong>공법 변경 시 변경 비치</strong> - 공법 변경 등으로 계획서 변경이 필요한 경우 변경하여 비치 (법 제42조 제6항)',
          selfReviewNote
        ]),
        '<strong>법 제42조 제1항 제3호</strong> - 대통령령으로 정하는 크기·높이 등에 해당하는 건설공사를 착공하려는 경우 유해위험방지계획서를 제출하여야 합니다. <strong>법 제42조 제2항</strong>은 건설공사의 경우 건설안전 분야 자격자의 의견 청취를 의무화하고 있습니다.'
      );
    } else {
      rows.push({ key:'판정 사유', val: detail, cls:'highlight-ok' });
      showResult('type3', false, '제출 대상 아님', '시행령 제42조 제3항의 규모·기준에 해당하지 않습니다.',
        rows,
        null,
        '<strong>시행령 제42조 제3항</strong>은 건축물 규모(높이 31m·연면적 30,000㎡·시설별 5,000㎡), 냉동·냉장 창고 5,000㎡, 교량 지간 50m, 터널, 일정 규모 댐, 굴착 10m의 기준 중 하나에 해당하는 경우에 한해 제출 대상으로 정하고 있습니다.'
      );
    }
  };

  // ===== 폼 초기화 =====
  window.resetForm = function(panelType){
    var panel = document.getElementById('panel-' + panelType);
    panel.querySelectorAll('select').forEach(function(s){ s.selectedIndex = 0; });
    panel.querySelectorAll('input').forEach(function(i){
      if (i.type === 'checkbox') i.checked = false;
      else i.value = '';
    });
    var conditionArea = panel.querySelector('[id$="-condition-area"]');
    if (conditionArea) conditionArea.innerHTML = '';
    var result = panel.querySelector('.hwp-result');
    if (result){ result.classList.remove('show'); result.innerHTML = ''; }
  };
})();
</script>				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
