<?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/%ea%b5%b4%ec%b0%a9%ec%9e%91%ec%97%85-%ec%9e%91%ec%97%85%ea%b3%84%ed%9a%8d%ec%84%9c/feed/" rel="self" type="application/rss+xml" />
	<link>https://safetysupport.co.kr</link>
	<description>안전관리위탁부터 위험성평가, 중대재해예방까지 — 사업장 맞춤 안전보건 컨설팅</description>
	<lastBuildDate>Sun, 19 Apr 2026 06:44:27 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</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/pre-survey-work-plan-content/</link>
		
		<dc:creator><![CDATA[mangjil]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 14:06:40 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[굴착작업 작업계획서]]></category>
		<category><![CDATA[사전조사]]></category>
		<category><![CDATA[사전조사 및 작업계획서 내용]]></category>
		<category><![CDATA[산업안전보건기준에 관한 규칙]]></category>
		<category><![CDATA[산업안전보건기준에 관한 규칙 별표 4]]></category>
		<category><![CDATA[안전관리]]></category>
		<category><![CDATA[안전보건 통합조회]]></category>
		<category><![CDATA[작업계획서]]></category>
		<category><![CDATA[작업계획서 작성]]></category>
		<category><![CDATA[전기작업 작업계획서]]></category>
		<category><![CDATA[제38조]]></category>
		<category><![CDATA[중량물 취급작업]]></category>
		<category><![CDATA[타워크레인 작업계획서]]></category>
		<category><![CDATA[터널굴착작업 작업계획서]]></category>
		<category><![CDATA[해체작업 작업계획서]]></category>
		<guid isPermaLink="false">https://safetysupport.co.kr/?p=3045</guid>

					<description><![CDATA[사전조사 및 작업계획서 내용 조회 &#124; 안전보건 통합조회 INTEGRATED SAFETY REFERENCE 사전조사 및 작업계획서 내용 조회 PRE-SURVEY &#038; WORK PLAN CONTENT 산업안전보건기준에 관한 규칙 별표 4의 사전조사 내용과 작업계획서 포함사항을 작업 종류별로 한 화면에서 바로 확인할 수 있도록 정리한 페이지입니다. I. 작업별 사전조사 II. 계획서 포함사항 III. 위험예방 조치 IV. 작업유형별 기준 총 13개 작업 [&#8230;]]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3045" class="elementor elementor-3045" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-64b3bf4 e-flex e-con-boxed e-con e-parent" data-id="64b3bf4" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0f80276 elementor-widget elementor-widget-html" data-id="0f80276" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
					<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>사전조사 및 작업계획서 내용 조회 | 안전보건 통합조회</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/moonspam/NanumSquareNeo@1.0/nanumsquareneo.css">
<style>
:root{
  --primary:#223f74;
  --primary-mid:#365e9f;
  --primary-light:#eef4ff;
  --primary-line:#c9d7ef;

  --accent-main:#63b3ff;
  --accent-main-deep:#2f8bd7;
  --accent-blue:#2f8bd7;
  --accent-cyan:#1fa3c9;
  --accent-cyan-deep:#177e9b;
  --accent-green:#22b573;
  --accent-purple:#7c4dff;
  --accent-red:#e05757;

  --text-main:#111827;
  --text-muted:#6b7b94;
  --border:#dde6f0;
  --border-light:#edf2f8;
  --white:#fff;

  --hero-navy-1:#0d2347;
  --hero-navy-2:#122f60;
  --hero-navy-3:#173a73;
  --hero-deep:#0c1d3c;

  --radius:10px;
  --radius-sm:6px;
  --shadow-xs:0 1px 4px rgba(17,24,39,.06);
  --shadow-sm:0 12px 28px rgba(17,24,39,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'NanumSquareNeo',sans-serif;
  background:#fff;
  color:var(--text-main);
  font-size:14px;
  line-height:1.6;
}

/* HERO */
.page-hero-wrap{
  max-width:1200px;
  margin:28px auto 0;
  padding:0 18px;
}
.page-hero{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(120deg, var(--hero-deep) 0%, var(--hero-navy-1) 22%, var(--hero-navy-2) 58%, var(--hero-navy-3) 100%);
  background-size:24px 24px, 24px 24px, 100% 100%;
  padding:46px 34px 40px;
  box-shadow:0 14px 40px rgba(10,33,59,.16);
}
.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 16%, rgba(99,179,255,.14) 0, rgba(99,179,255,0) 24%),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 22%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:28px;
  align-items:center;
}
.hero-left-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(99,179,255,.22);
  background:rgba(99,179,255,.10);
  color:#8fcbff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
.hero-title-row{
  display:flex;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.hero-title{
  font-size:44px;
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.04em;
  color:#fff;
}
.hero-title .gold{
  color:var(--accent-main);
}
.hero-title-en{
  font-size:18px;
  font-weight:700;
  color:rgba(255,255,255,.40);
  letter-spacing:-.02em;
  padding-bottom:5px;
}
.hero-desc{
  max-width:700px;
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.82);
  margin-bottom:18px;
  word-break:keep-all;
}
.hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hero-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:700;
}
.hero-tag.is-red{border-color:rgba(224,87,87,.45); color:#ff8d8d; background:rgba(224,87,87,.10)}
.hero-tag.is-blue{border-color:rgba(47,139,215,.45); color:#7fc0ff; background:rgba(47,139,215,.10)}
.hero-tag.is-green{border-color:rgba(34,181,115,.45); color:#7fe1b2; background:rgba(34,181,115,.10)}
.hero-tag.is-purple{border-color:rgba(124,77,255,.45); color:#bda2ff; background:rgba(124,77,255,.10)}
.hero-tag.is-gold{
  border-color:rgba(99,179,255,.45);
  color:#8fcbff;
  background:rgba(99,179,255,.10);
}

.hero-stats{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hero-stat{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  padding:14px 16px;
  min-height:72px;
  display:flex;
  align-items:center;
  gap:12px;
}
.hero-stat-ico{
  width:36px;
  height:36px;
  border-radius:9px;
  background:rgba(99,179,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7fc4ff;
  font-weight:900;
  font-size:15px;
}
.hero-stat-text{min-width:0}
.hero-stat-value{
  font-size:20px;
  font-weight:900;
  line-height:1.1;
  color:#7fc4ff;
}
.hero-stat-label{
  font-size:12px;
  color:rgba(255,255,255,.65);
  margin-top:3px;
  font-weight:700;
}
.hero-bottom-line{
  position:absolute;
  left:0; right:0; bottom:0;
  height:4px;
  background:linear-gradient(90deg, var(--accent-main) 0%, rgba(99,179,255,.32) 45%, rgba(47,139,215,.20) 72%, transparent 100%);
}

/* LAYOUT */
.main-wrap{
  max-width:1100px;
  margin:24px auto 60px;
  padding:0 32px;
}
.section-box{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-xs);
  margin-bottom:16px;
}
.section-head{
  background:var(--primary);
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  user-select:none;
}
.section-head h2{
  font-size:13.5px;
  font-weight:700;
  color:#fff;
  letter-spacing:.02em;
}
.toggle-ico{
  color:rgba(255,255,255,.7);
  font-size:12px;
  transition:transform .2s ease;
}
.section-body{
  display:none;
  padding:18px 22px;
  background:#fff;
}
.section-body.open{display:block}

/* LAW */
.law-box{
  background:#f8fbff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px 18px;
}
.law-title{
  font-size:14px;
  font-weight:700;
  color:var(--primary-mid);
  margin-bottom:10px;
  letter-spacing:.02em;
}
.law-main{
  font-size:12px;
  color:#1b2840;
  line-height:1.9;
  word-break:keep-all;
}
.law-main strong{
  color:var(--primary);
}
.law-sub{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--border-light);
  font-size:12px;
  color:var(--text-muted);
  line-height:1.75;
}

/* SEARCH */
.search-bar{
  background:var(--white);
  border:2px solid var(--primary);
  border-radius:var(--radius);
  padding:4px 4px 4px 14px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  transition:border-color .2s;
}
.search-bar:focus-within{
  border-color:var(--primary-mid);
  box-shadow:0 0 0 3px rgba(53,94,159,.10);
}
.search-bar .ico{color:var(--primary);flex-shrink:0}
.search-bar input{
  flex:1;
  border:none;
  outline:none;
  font-family:'NanumSquareNeo',sans-serif;
  font-size:13.5px;
  color:var(--text-main);
  background:transparent;
  padding:8px 0;
}
.search-bar input::placeholder{color:var(--text-muted)}
.clear-btn{
  background:none;
  border:none;
  cursor:pointer;
  color:#aab8cc;
  font-size:15px;
  line-height:1;
  padding:4px 6px;
  border-radius:50%;
  transition:color .15s,background .15s;
  display:none;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
}
.clear-btn:hover{color:var(--primary);background:var(--primary-light)}
.clear-btn.visible{display:flex}
.s-btn{
  background:var(--primary-mid);
  color:#fff;
  border:none;
  padding:8px 22px;
  border-radius:var(--radius-sm);
  font-family:'NanumSquareNeo',sans-serif;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .18s;
  white-space:nowrap;
}
.s-btn:hover{background:var(--primary)}

/* RESULT BAR */
.result-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 14px;
  font-size:12px;
  color:#6c7383;
  border:1px solid #d7dff0;
  border-radius:8px;
  background:#f7f9ff;
  margin-bottom:12px;
}
.result-bar strong{
  color:var(--primary-mid);
  font-weight:800;
}
.expand-toggle{
  cursor:pointer;
  color:var(--accent-main-deep);
  font-weight:800;
  transition:color .18s ease;
}
.expand-toggle:hover{
  color:#1f6fb8;
}

/* CARDS */
.cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.card{
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-xs);
  transition:
    box-shadow .22s ease,
    transform .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}
.card:hover{
  border-color:#b9d8f4;
  background:#f7fbff;
  box-shadow:0 14px 34px rgba(17,24,39,.10);
  transform:translateY(-2px);
}
.card-head{
  display:flex;
  align-items:center;
  gap:0;
  cursor:pointer;
  background:#fff;
  transition:background-color .22s ease;
}
.card-head:hover{
  background:#f7fbff;
}
.card-num{
  width:68px;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary);
  color:#fff;
  font-size:13px;
  font-weight:800;
  flex-shrink:0;
  transition:background-color .22s ease, color .22s ease;
}
.card-main{
  flex:1;
  padding:15px 18px;
  min-width:0;
}
.card-title{
  font-size:15px;
  font-weight:800;
  color:var(--primary);
  line-height:1.55;
  margin-bottom:4px;
  transition:color .22s ease;
}
.card-sub{
  font-size:12px;
  color:var(--text-muted);
  line-height:1.5;
  transition:color .22s ease;
}
.card-arrow{
  width:48px;
  text-align:center;
  color:#7a859c;
  font-size:12px;
  flex-shrink:0;
  transition:transform .2s ease, color .2s ease, text-shadow .2s ease;
}
.card-head:hover .card-arrow{
  color:var(--accent-main-deep);
}
.card-arrow.open{
  transform:rotate(180deg);
  color:var(--accent-main-deep);
  text-shadow:0 0 12px rgba(47,139,215,.22);
}
.card:hover .card-num{
  background:var(--accent-main-deep);
}
.card:hover .card-title{
  color:#226fb8;
}
.card:hover .card-sub{
  color:#6d88a8;
}
.card-body{
  display:none;
  border-top:1px solid var(--border-light);
  background:#fbfdff;
  padding:18px;
  transition:background-color .22s ease;
}
.card-body.open{display:block}
.card:hover .card-body{
  background:#fbfdff;
}

.content-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.content-box{
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.content-head{
  padding:10px 14px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.content-head.survey{
  background:#f3f8ff;
  color:var(--accent-blue);
  border-bottom:1px solid #d8e8fb;
}
.content-head.plan{
  background:#eefbff;
  color:var(--accent-cyan-deep);
  border-bottom:1px solid #cfeef7;
}
.content-body{
  padding:14px 16px;
}
.role-list{
  list-style:none;
}
.role-item{
  position:relative;
  padding-left:26px;
  margin-bottom:10px;
  font-size:13px;
  color:#222;
  line-height:1.8;
}
.role-item:last-child{margin-bottom:0}
.role-item .lbl{
  position:absolute;
  left:0;
  top:0;
  color:var(--primary-mid);
  font-weight:800;
}
.content-head.plan + .content-body .role-item .lbl{
  color:var(--accent-cyan-deep);
}
.empty-dash{
  color:#b6bfd0;
}
.note-box{
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  background:#f7f9fc;
  border:1px dashed #d6deea;
  color:#617089;
  font-size:12px;
  line-height:1.7;
}

.empty-state{
  display:none;
  text-align:center;
  padding:42px 20px;
  border:1px dashed var(--border);
  border-radius:10px;
  background:#fafcff;
  color:var(--text-muted);
  font-size:13px;
}
mark{
  background:#dff0ff;
  color:inherit;
  border-radius:2px;
  padding:0 1px;
}

/* FLOAT NAV */
.blue-float-nav{
  position:fixed;
  right:22px;
  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.92);
  border:1px solid rgba(53,94,159,0.14);
  box-shadow:0 12px 32px rgba(30,58,95,0.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.blue-float-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:none;
  border-radius:18px;
  background:transparent;
  color:var(--primary-mid);
  text-decoration:none;
  cursor:pointer;
  transition:all .22s ease;
}
.blue-float-btn:hover{
  background:var(--primary-mid);
  color:#fff;
  transform:translateX(-2px);
}
.blue-float-btn svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  flex-shrink:0;
}
.blue-float-label{
  position:absolute;
  right:62px;
  top:50%;
  transform:translateY(-50%);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:12px;
  background:var(--primary-mid);
  color:#fff;
  font-size:12.5px;
  font-weight:800;
  transition:all .18s ease;
}
.blue-float-btn:hover .blue-float-label{opacity:1}

@media(max-width:900px){
  .hero-inner{
    grid-template-columns:1fr;
  }
  .hero-stats{
    flex-direction:row;
    flex-wrap:wrap;
  }
  .content-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  .page-hero-wrap{padding:0 12px;margin-top:18px}
  .page-hero{padding:28px 18px 24px;border-radius:18px}
  .hero-title{font-size:34px}
  .hero-title-en{font-size:15px}
  .hero-desc{font-size:14px}
  .main-wrap{padding:0 16px}
  .card-main{padding:13px 14px}
  .card-title{font-size:14px}
  .blue-float-nav{right:12px;padding:8px 6px;border-radius:20px}
  .blue-float-btn{width:42px;height:42px;border-radius:14px}
  .blue-float-btn svg{width:18px;height:18px}
  .blue-float-label{display:none}
}
</style>
</head>
<body>

<div class="page-hero-wrap">
  <div class="page-hero" id="top">
    <div class="hero-inner">
      <div class="hero-left">
        <div class="hero-left-top">
          <span class="hero-badge">INTEGRATED SAFETY REFERENCE</span>
        </div>

        <div class="hero-title-row">
          <div class="hero-title"><span class="gold">사전조사 및</span> 작업계획서 내용 조회</div>
          <div class="hero-title-en">PRE-SURVEY & WORK PLAN CONTENT</div>
        </div>

        <div class="hero-desc">
          산업안전보건기준에 관한 규칙 별표 4의 사전조사 내용과 작업계획서 포함사항을
          작업 종류별로 한 화면에서 바로 확인할 수 있도록 정리한 페이지입니다.
        </div>

        <div class="hero-tags">
          <span class="hero-tag is-red">I. 작업별 사전조사</span>
          <span class="hero-tag is-blue">II. 계획서 포함사항</span>
          <span class="hero-tag is-green">III. 위험예방 조치</span>
          <span class="hero-tag is-purple">IV. 작업유형별 기준</span>
          <span class="hero-tag is-gold">총 13개 작업</span>
        </div>
      </div>
    </div>
    <div class="hero-bottom-line"></div>
  </div>
</div>

<div class="main-wrap">

  <div class="section-box">
    <div class="section-head" onclick="toggleLaw()">
      <h2>관계법령</h2>
      <span class="toggle-ico" id="lawIco" style="transform:rotate(180deg)">▼</span>
    </div>
    <div class="section-body open" id="lawBody">
      <div class="law-box">
        <div class="law-title">산업안전보건기준에 관한 규칙 제38조 사전조사 및 작업계획서의 작성 등</div>
        <div class="law-main">
          <strong>제38조(사전조사 및 작업계획서의 작성 등)</strong><br>
          ① 사업주는 근로자의 위험을 방지하기 위하여 별표 4에 따라 해당 작업, 작업장의 지형ㆍ지반 및 지층 상태 등에 대한 사전조사를 하고 그 결과를 기록ㆍ보존해야 하며, 조사결과를 고려하여 별표 4의 구분에 따른 사항을 포함한 작업계획서를 작성하고 그 계획에 따라 작업을 하도록 해야 한다<br>
          ② 사업주는 제1항에 따라 작성한 작업계획서의 내용을 해당 근로자에게 알려야 한다
        </div>
        <div class="law-sub">
          제1항 각 호의 대상 작업명은 아래 카드 영역에서 작업별로 다시 정리하였으므로, 관계법령 박스에서는 중복 나열을 줄이고 핵심 의무만 표시했습니다.
        </div>
      </div>
    </div>
  </div>

  <div class="section-box">
    <div class="section-head" style="cursor:default">
      <h2>작업 종류별 조회</h2>
      <span></span>
    </div>
    <div class="section-body open">
      <div class="search-bar">
        <svg class="ico" width="15" height="15" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
          <circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/>
        </svg>
        <input type="text" id="searchInput" placeholder="작업 종류 · 사전조사 · 작업계획서 내용 검색">
        <button class="clear-btn" id="clearBtn" onclick="clearSearch()">✕</button>
        <button class="s-btn" onclick="doSearch()">검색</button>
      </div>

      <div class="result-bar">
        <span>검색결과 <strong id="resultCount">0</strong>건</span>
        <span id="expandAllBtn" class="expand-toggle" onclick="toggleAll()">전체 펼치기</span>
      </div>

      <div class="cards" id="cards"></div>
      <div class="empty-state" id="emptyState">검색 결과가 없습니다</div>
    </div>
  </div>

</div>

<div class="blue-float-nav">
  <a class="blue-float-btn" href="https://safetysupport.co.kr/osh-integrated-lookup/">
    <span class="blue-float-label">목록으로</span>
    <svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">
      <line x1="8" y1="6" x2="21" y2="6"/>
      <line x1="8" y1="12" x2="21" y2="12"/>
      <line x1="8" y1="18" x2="21" y2="18"/>
      <line x1="3" y1="6" x2="3.01" y2="6"/>
      <line x1="3" y1="12" x2="3.01" y2="12"/>
      <line x1="3" y1="18" x2="3.01" y2="18"/>
    </svg>
  </a>
  <button class="blue-float-btn" onclick="window.scrollTo({top:0,behavior:'smooth'})">
    <span class="blue-float-label">맨 위로</span>
    <svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">
      <polyline points="18 15 12 9 6 15"/>
    </svg>
  </button>
  <button class="blue-float-btn" onclick="window.scrollTo({top:document.body.scrollHeight,behavior:'smooth'})">
    <span class="blue-float-label">맨 아래로</span>
    <svg viewBox="0 0 24 24" fill="none" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">
      <polyline points="6 9 12 15 18 9"/>
    </svg>
  </button>
</div>

<script>
const DATA = [
  {
    no: "1",
    title: "타워크레인을 설치ㆍ조립ㆍ해체하는 작업",
    ref: "별표 4 제1호",
    survey: [],
    plan: [
      {label:"가.", text:"타워크레인의 종류 및 형식"},
      {label:"나.", text:"설치ㆍ조립 및 해체순서"},
      {label:"다.", text:"작업도구ㆍ장비ㆍ가설설비 및 방호설비"},
      {label:"라.", text:"작업인원의 구성 및 작업근로자의 역할 범위"},
      {label:"마.", text:"제142조에 따른 지지 방법"}
    ]
  },
  {
    no: "2",
    title: "차량계 하역운반기계등을 사용하는 작업",
    ref: "별표 4 제2호",
    survey: [],
    plan: [
      {label:"가.", text:"해당 작업에 따른 추락ㆍ낙하ㆍ전도ㆍ협착 및 붕괴 등의 위험 예방대책"},
      {label:"나.", text:"차량계 하역운반기계등의 운행경로 및 작업방법"}
    ]
  },
  {
    no: "3",
    title: "차량계 건설기계를 사용하는 작업",
    ref: "별표 4 제3호",
    survey: [
      {label:"-", text:"해당 기계의 굴러 떨어짐, 지반의 붕괴 등으로 인한 근로자의 위험을 방지하기 위한 해당 작업장소의 지형 및 지반 상태"}
    ],
    plan: [
      {label:"가.", text:"사용하는 차량계 건설기계의 종류 및 성능"},
      {label:"나.", text:"차량계 건설기계의 운행경로"},
      {label:"다.", text:"차량계 건설기계에 의한 작업방법"}
    ]
  },
  {
    no: "4",
    title: "화학설비와 그 부속설비 사용작업",
    ref: "별표 4 제4호",
    survey: [],
    plan: [
      {label:"가.", text:"밸브ㆍ콕 등의 조작"},
      {label:"나.", text:"냉각장치ㆍ가열장치ㆍ교반장치 및 압축장치의 조작"},
      {label:"다.", text:"계측장치 및 제어장치의 감시 및 조정"},
      {label:"라.", text:"안전밸브, 긴급차단장치, 그 밖의 방호장치 및 자동경보장치의 조정"},
      {label:"마.", text:"덮개판ㆍ플랜지ㆍ밸브ㆍ콕 등의 접합부에서 위험물 등의 누출 여부에 대한 점검"},
      {label:"바.", text:"시료의 채취"},
      {label:"사.", text:"운전이 일시적 또는 부분적으로 중단된 경우의 작업방법 또는 운전 재개 시의 작업방법"},
      {label:"아.", text:"이상 상태가 발생한 경우의 응급조치"},
      {label:"자.", text:"위험물 누출 시의 조치"},
      {label:"차.", text:"그 밖에 폭발ㆍ화재를 방지하기 위하여 필요한 조치"}
    ]
  },
  {
    no: "5",
    title: "제318조에 따른 전기작업",
    ref: "별표 4 제5호",
    survey: [],
    plan: [
      {label:"가.", text:"전기작업의 목적 및 내용"},
      {label:"나.", text:"전기작업 근로자의 자격 및 적정 인원"},
      {label:"다.", text:"작업 범위, 작업책임자 임명, 전격ㆍ아크 섬광ㆍ아크 폭발 등 전기 위험요인 파악, 접근 한계거리, 활선접근 경보장치 휴대 등 작업시작 전에 필요한 사항"},
      {label:"라.", text:"제319조에 따른 전로 차단에 관한 작업계획 및 전원 재투입 절차 등 작업 상황에 필요한 안전작업 요령"},
      {label:"마.", text:"절연용 보호구 및 방호구, 활선작업용 기구ㆍ장치 등의 준비ㆍ점검ㆍ착용ㆍ사용 등에 관한 사항"},
      {label:"바.", text:"점검ㆍ시운전을 위한 일시 운전, 작업 중단 등에 관한 사항"},
      {label:"사.", text:"교대 근무 시 근무 인계에 관한 사항"},
      {label:"아.", text:"전기작업장소에 대한 관계 근로자가 아닌 사람의 출입금지에 관한 사항"},
      {label:"자.", text:"전기안전작업계획서를 해당 근로자에게 교육할 수 있는 방법과 작성된 전기안전작업계획서의 평가ㆍ관리계획"},
      {label:"차.", text:"전기 도면, 기기 세부 사항 등 작업과 관련되는 자료"}
    ]
  },
  {
    no: "6",
    title: "굴착작업",
    ref: "별표 4 제6호",
    survey: [
      {label:"가.", text:"형상ㆍ지질 및 지층의 상태"},
      {label:"나.", text:"균열ㆍ함수ㆍ용수 및 동결의 유무 또는 상태"},
      {label:"다.", text:"매설물 등의 유무 또는 상태"},
      {label:"라.", text:"지반의 지하수위 상태"}
    ],
    plan: [
      {label:"가.", text:"굴착방법 및 순서, 토사등 반출 방법"},
      {label:"나.", text:"필요한 인원 및 장비 사용계획"},
      {label:"다.", text:"매설물 등에 대한 이설ㆍ보호대책"},
      {label:"라.", text:"사업장 내 연락방법 및 신호방법"},
      {label:"마.", text:"흙막이 지보공 설치방법 및 계측계획"},
      {label:"바.", text:"작업지휘자의 배치계획"},
      {label:"사.", text:"그 밖에 안전ㆍ보건에 관련된 사항"}
    ]
  },
  {
    no: "7",
    title: "터널굴착작업",
    ref: "별표 4 제7호",
    survey: [
      {label:"-", text:"보링 등 적절한 방법으로 낙반ㆍ출수 및 가스폭발 등으로 인한 근로자의 위험을 방지하기 위하여 미리 지형ㆍ지질 및 지층상태를 조사"}
    ],
    plan: [
      {label:"가.", text:"굴착의 방법"},
      {label:"나.", text:"터널지보공 및 복공의 시공방법과 용수의 처리방법"},
      {label:"다.", text:"환기 또는 조명시설을 설치할 때에는 그 방법"}
    ]
  },
  {
    no: "8",
    title: "교량작업",
    ref: "별표 4 제8호",
    survey: [],
    plan: [
      {label:"가.", text:"작업 방법 및 순서"},
      {label:"나.", text:"부재의 낙하ㆍ전도 또는 붕괴를 방지하기 위한 방법"},
      {label:"다.", text:"작업에 종사하는 근로자의 추락 위험을 방지하기 위한 안전조치 방법"},
      {label:"라.", text:"공사에 사용되는 가설 철구조물 등의 설치ㆍ사용ㆍ해체 시 안전성 검토 방법"},
      {label:"마.", text:"사용하는 기계 등의 종류 및 성능, 작업방법"},
      {label:"바.", text:"작업지휘자 배치계획"},
      {label:"사.", text:"그 밖에 안전ㆍ보건에 관련된 사항"}
    ]
  },
  {
    no: "9",
    title: "채석작업",
    ref: "별표 4 제9호",
    survey: [
      {label:"-", text:"지반의 붕괴ㆍ굴착기계의 굴러 떨어짐 등에 의한 근로자에게 발생할 위험을 방지하기 위한 해당 작업장의 지형ㆍ지질 및 지층의 상태"}
    ],
    plan: [
      {label:"가.", text:"노천굴착과 갱내굴착의 구별 및 채석방법"},
      {label:"나.", text:"굴착면의 높이와 기울기"},
      {label:"다.", text:"굴착면 소단의 위치와 넓이"},
      {label:"라.", text:"갱내에서의 낙반 및 붕괴방지 방법"},
      {label:"마.", text:"발파방법"},
      {label:"바.", text:"암석의 분할방법"},
      {label:"사.", text:"암석의 가공장소"},
      {label:"아.", text:"사용하는 굴착기계등의 종류 및 성능"},
      {label:"자.", text:"토석 또는 암석의 적재 및 운반방법과 운반경로"},
      {label:"차.", text:"표토 또는 용수의 처리방법"}
    ]
  },
  {
    no: "10",
    title: "구축물등의 해체작업",
    ref: "별표 4 제10호",
    survey: [
      {label:"-", text:"해체건물 등의 구조, 주변 상황 등"}
    ],
    plan: [
      {label:"가.", text:"해체의 방법 및 해체 순서도면"},
      {label:"나.", text:"가설설비ㆍ방호설비ㆍ환기설비 및 살수ㆍ방화설비 등의 방법"},
      {label:"다.", text:"사업장 내 연락방법"},
      {label:"라.", text:"해체물의 처분계획"},
      {label:"마.", text:"해체작업용 기계ㆍ기구 등의 작업계획서"},
      {label:"바.", text:"해체작업용 화약류 등의 사용계획서"},
      {label:"사.", text:"그 밖에 안전ㆍ보건에 관련된 사항"}
    ]
  },
  {
    no: "11",
    title: "중량물의 취급 작업",
    ref: "별표 4 제11호",
    survey: [],
    plan: [
      {label:"가.", text:"추락위험을 예방할 수 있는 안전대책"},
      {label:"나.", text:"낙하위험을 예방할 수 있는 안전대책"},
      {label:"다.", text:"전도위험을 예방할 수 있는 안전대책"},
      {label:"라.", text:"협착위험을 예방할 수 있는 안전대책"},
      {label:"마.", text:"붕괴위험을 예방할 수 있는 안전대책"}
    ]
  },
  {
    no: "12",
    title: "궤도와 그 밖의 관련설비의 보수ㆍ점검작업",
    ref: "별표 4 제12호",
    survey: [],
    plan: [
      {label:"가.", text:"적절한 작업 인원"},
      {label:"나.", text:"작업량"},
      {label:"다.", text:"작업순서"},
      {label:"라.", text:"작업방법 및 위험요인에 대한 안전조치방법 등"}
    ],
    note: "별표 원문 레이아웃상 제12호와 제13호가 연속 배치되어 있어, 계획 항목은 각각 확인이 가능하도록 분리 반영했습니다."
  },
  {
    no: "13",
    title: "입환작업",
    ref: "별표 4 제13호",
    survey: [],
    plan: [
      {label:"가.", text:"적절한 작업 인원"},
      {label:"나.", text:"작업량"},
      {label:"다.", text:"작업순서"},
      {label:"라.", text:"작업방법 및 위험요인에 대한 안전조치방법 등"}
    ]
  }
];

let filteredData = [...DATA];
let allOpen = false;

function escapeRegExp(string){
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
function highlightText(text, kw){
  if(!kw || !text) return text;
  return text.replace(new RegExp(escapeRegExp(kw), 'gi'), m => `<mark>${m}</mark>`);
}
function renderItems(items, kw, emptyText='해당 없음'){
  if(!items || !items.length){
    return `<div class="role-item"><span class="lbl">-</span><span class="empty-dash">${emptyText}</span></div>`;
  }
  return items.map(row => `
    <li class="role-item">
      <span class="lbl">${row.label}</span>
      <span>${highlightText(row.text, kw)}</span>
    </li>
  `).join('');
}
function renderCards(list, kw=''){
  const cards = document.getElementById('cards');
  const emptyState = document.getElementById('emptyState');
  document.getElementById('resultCount').textContent = list.length;

  if(!list.length){
    cards.innerHTML = '';
    emptyState.style.display = 'block';
    return;
  }
  emptyState.style.display = 'none';

  cards.innerHTML = list.map(item => `
    <div class="card">
      <div class="card-head" onclick="toggleCard('${item.no}')">
        <div class="card-num">${item.no}</div>
        <div class="card-main">
          <div class="card-title">${highlightText(item.title, kw)}</div>
          <div class="card-sub">${highlightText(item.ref, kw)}</div>
        </div>
        <div class="card-arrow ${allOpen ? 'open' : ''}" id="arrow-${item.no}">▼</div>
      </div>
      <div class="card-body ${allOpen ? 'open' : ''}" id="body-${item.no}">
        <div class="content-grid">
          <div class="content-box">
            <div class="content-head survey">사전조사 내용</div>
            <div class="content-body">
              <ul class="role-list">
                ${renderItems(item.survey, kw, '별도 사전조사 항목 없음')}
              </ul>
            </div>
          </div>
          <div class="content-box">
            <div class="content-head plan">작업계획서 내용</div>
            <div class="content-body">
              <ul class="role-list">
                ${renderItems(item.plan, kw, '해당 없음')}
              </ul>
            </div>
          </div>
        </div>
        ${item.note ? `<div class="note-box">${highlightText(item.note, kw)}</div>` : ``}
      </div>
    </div>
  `).join('');
}
function toggleCard(no){
  const body = document.getElementById('body-' + no);
  const arrow = document.getElementById('arrow-' + no);
  body.classList.toggle('open');
  arrow.classList.toggle('open');
}
function toggleAll(){
  allOpen = !allOpen;
  document.getElementById('expandAllBtn').textContent = allOpen ? '전체 접기' : '전체 펼치기';
  renderCards(filteredData, document.getElementById('searchInput').value.trim());
}
function doSearch(){
  const kw = document.getElementById('searchInput').value.trim().toLowerCase();
  filteredData = kw
    ? DATA.filter(item =>
        item.title.toLowerCase().includes(kw) ||
        item.ref.toLowerCase().includes(kw) ||
        (item.note && item.note.toLowerCase().includes(kw)) ||
        item.survey.some(row => row.text.toLowerCase().includes(kw)) ||
        item.plan.some(row => row.text.toLowerCase().includes(kw))
      )
    : [...DATA];

  renderCards(filteredData, kw);
}
function clearSearch(){
  document.getElementById('searchInput').value = '';
  document.getElementById('clearBtn').classList.remove('visible');
  filteredData = [...DATA];
  renderCards(filteredData, '');
  document.getElementById('searchInput').focus();
}
document.getElementById('searchInput').addEventListener('input', function(){
  document.getElementById('clearBtn').classList.toggle('visible', this.value.length > 0);
  doSearch();
});
document.getElementById('searchInput').addEventListener('keydown', e => {
  if(e.key === 'Enter') doSearch();
  if(e.key === 'Escape') clearSearch();
});
function toggleLaw(){
  const body = document.getElementById('lawBody');
  const ico = document.getElementById('lawIco');
  body.classList.toggle('open');
  ico.style.transform = body.classList.contains('open') ? 'rotate(180deg)' : '';
}
renderCards(DATA, '');
</script>
</body>
</html>				</div>
				<div class="elementor-element elementor-element-88012f8 elementor-widget elementor-widget-html" data-id="88012f8" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
					<div style="border:1px solid #b2cae0; border-radius:8px; padding:8px; overflow:hidden; background:#fff;">
  <!-- safetysupport_콘텐츠하단_반응형 -->
  <ins class="adsbygoogle"
       style="display:block"
       data-ad-client="ca-pub-3106752057307696"
       data-ad-slot="5220315587"
       data-ad-format="auto"
       data-full-width-responsive="true"></ins>
  <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
  </script>
</div>				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
