@charset "utf-8";

.pg-sub > .content-body {
  padding-bottom: 0;
}
.page-content {
}

.page-content .section {
  position: relative;
  z-index: 1;
  --sec-padding: 100px;
}
.page-content .section:not(.sec1) {
  padding-top: var(--sec-padding);
}
.page-content .section.sec4,
.page-content .section.sec5,
.page-content .section.sec7,
.page-content .section.sec8 {
  padding-bottom: var(--sec-padding);
}
.page-content .section .header {
  margin-bottom: 60px;
  text-align: center;
}
.page-content .section .header .subhead {
  font-size: 1.125rem;
  font-weight: 500;
  display: inline-block;
  margin: 0 auto 20px;
}
.page-content .section .header .head {
  font-size: 2.8rem;
  font-weight: 500;
}
.page-content .section .header .desc {
  line-height: 1.7;
  margin-top: 20px;
}

.page-content .sec1 .header {
  text-align: left;
}
.page-content .sec1 .bg {
  position: relative;
  padding: 50px 0;
  background: #eee;
  text-align: right;
  z-index: 2;
}
.page-content .sec1 .bg:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: -1;
}
.page-content .sec1 .bg .txt-boder {
  position: absolute;
  left: 0;
  font-size: 6rem;
  font-weight: 900;
  -webkit-text-stroke: 1px #fff;
  color: transparent;
  opacity: 0.2;
}
.page-content .sec1 .bg .txt {
  font-size: 2.5rem;
  color: #fff;
  text-align: left;
  margin: 100px 0;
}

.page-content .sec1 .content {
  text-align: center;
  padding-top: 70px;
  padding-bottom: 70px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin-top: 50px;
  width: 90%;
}
.page-content .sec1 .content .txt {
  font-size: 1.25rem;
}
.page-content .sec1 .content .ceo {
  font-size: 0.875rem;
  margin-top: 30px;
}

.page-content .sec1 .txt {
  position: relative;
  display: inline-block;
  font-weight: 600;
}
.page-content .sec1 .txt i {
  position: absolute;
  font-size: 2rem;
}
.page-content .sec1 .txt i:first-of-type {
  right: 100%;
  bottom: calc(100% - 15px);
  margin-right: 20px;
  color: var(--main-color1);
}
.page-content .sec1 .txt i:last-of-type {
  left: 100%;
  top: calc(100% - 15px);
  margin-left: 20px;
  color: var(--main-color2);
}

.page-content .sec2 .content {
  display: flex;
  justify-content: space-between;
  --box-padding: 30px;
}
.page-content .sec2 .content .box {
  position: relative;
  width: calc(25% - 15px);
  height: 530px;
  padding: var(--box-padding);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
  overflow: hidden;
  color: #fff;
  background: #eee no-repeat center/cover;
  backdrop-filter: grayscale(0.8);
  transition-duration: 400ms !important;
}

.page-content .sec2 .content .box:not(.on) {
  filter: grayscale(1) brightness(0.5);
}
.page-content .sec2 .content .box:not(.on) ul .head {
  position: absolute;
  left: var(--box-padding);
  top: 50%;
  right: var(--box-padding);
  transform: translateY(-50%);
  transition-delay: 0ms;
}

.page-content .sec2 .content ul {
  margin-bottom: -100%;
  transition-duration: 400ms;
}
.page-content .sec2 .content ul .head {
  font-size: 1.5rem;
  font-weight: 600;
  transition-duration: 400ms;
}
.page-content .sec2 .content ul .desc {
  margin-top: 20px;
}
.page-content .sec2 .content ul .more {
  margin-top: 30px;
}
.page-content .sec2 .content ul .more span {
  text-decoration: underline;
}

.page-content .sec2 .content .box.on {
  width: calc(50% - 15px);
}
.page-content .sec2 .content .box.on ul {
  position: relative;
  z-index: 2;
  margin-bottom: 0;
}
.page-content .sec2 .content .box.on ul:before {
  opacity: 0.6;
}

/* 개요 섹션 */
.page-content .sec3 .overview-content {
  margin-top: 60px;
}
.page-content .sec3 .overview-content .overview-box {
  padding: 40px;
  background: #f8f9fa;
  border-radius: 20px;
  border-left: 5px solid var(--main-color1);
}
.page-content .sec3 .overview-content .overview-box .content {
  line-height: 1.8;
  color: #666;
  font-size: 1.125rem;
}
.page-content .sec3 .overview-content .overview-box .content p {
  margin: 0;
}

/* 세부지원내용 섹션 */
.page-content .sec3 .support-content {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.page-content .sec3 .support-content .support-box {
  padding: 30px;
  background: #f8f9fa;
  border-radius: 15px;
  border-left: 5px solid var(--main-color1);
  display: flex;
  align-items: center;
  gap: 20px;
}
.page-content .sec3 .support-content .support-box .num {
  font-size: 1.5rem;
  color: var(--main-color1);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-content .sec3 .support-content .support-box .title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--main-color1);
}
.page-content .sec3 .support-content .support-box .content {
  line-height: 1.6;
  color: #666;
  flex: 1;
}

/* 법적 근거 섹션 */
.page-content .sec3 .legal-basis {
  display: flex;
  gap: 40px;
  margin-top: 60px;
}
.page-content .sec3 .legal-basis .basis-box {
  flex: 1;
  padding: 40px;
  background: #f8f9fa;
  border-radius: 20px;
  border-left: 5px solid var(--main-color1);
}
.page-content .sec3 .legal-basis .basis-box .num {
  font-size: 2rem;
  font-weight: 900;
  color: var(--main-color1);
  margin-bottom: 20px;
}
.page-content .sec3 .legal-basis .basis-box .title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--main-color1);
}
.page-content .sec3 .legal-basis .basis-box .content {
  line-height: 1.8;
  color: #666;
}

/* 프로세스 플로우 섹션 */
.page-content .sec3-5 .process-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-top: 60px;
  flex-wrap: wrap;
}
.page-content .sec3-5 .process-flow .flow-step {
  text-align: center;
  padding: 30px;
  background: var(--main-color1);
  color: #fff;
  border-radius: 15px;
  min-width: 200px;
  width: 250px;
  flex-shrink: 0;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 모든 박스 높이 동일하게 설정 */
.page-content .sec3-5 .process-flow .flow-step.equal-height {
  height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* step4 박스 내부 결과 영역 스타일 */
.page-content .sec3-5 .process-flow .flow-step .step-results {
  margin-top: 15px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.page-content .sec3-5 .process-flow .flow-step .step-results .result-item {
  padding: 8px 12px;
  margin: 5px 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.page-content
  .sec3-5
  .process-flow
  .flow-step
  .step-results
  .result-item
  .result-title {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step
  .step-results
  .result-item
  .result-desc {
  font-size: 0.75rem;
  opacity: 0.9;
  line-height: 1.4;
}

.page-content .sec3-5 .process-flow .flow-step .step-results .divider-line {
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  margin: 10px 0;
}

.page-content .sec3-5 .process-flow .flow-step .step-num {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 10px;
}
.page-content .sec3-5 .process-flow .flow-step .step-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.page-content .sec3-5 .process-flow .flow-step .step-desc {
  font-size: 0.875rem;
  opacity: 0.9;
  text-align: center;
}

.page-content .sec3-5 .process-flow .flow-step .step-desc ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.page-content .sec3-5 .process-flow .flow-step .step-desc ul li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 8px;
  line-height: 1.4;
  text-align: center;
}

.page-content .sec3-5 .process-flow .flow-step .step-desc ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #fff;
  font-weight: bold;
}

.page-content .sec3-5 .process-flow .flow-step .step-desc ul li:last-child {
  margin-bottom: 0;
}

.page-content .sec3-5 .process-flow .flow-arrow {
  font-size: 2rem;
  color: var(--main-color1);
}

.page-content .sec3-5 .process-flow .flow-group {
  text-align: center;
  padding: 30px 20px;
  background: #f8f9fa;
  border-radius: 15px;
  min-width: 250px;
  width: 250px;
  flex-shrink: 0;
  border: 2px solid var(--main-color1);
}
.page-content .sec3-5 .process-flow .flow-group .group-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--main-color1);
  margin-bottom: 15px;
}
.page-content .sec3-5 .process-flow .flow-group .step-title {
  font-size: 1rem;
  margin-bottom: 8px;
  color: #333;
}

/* 안전관리자의 직무 섹션 */
.page-content .sec3-7 .duties-list {
  margin-top: 60px;
}
.page-content .sec3-7 .duties-list .duties-box {
  padding: 40px;
  background: #f8f9fa;
  border-radius: 20px;
  border-left: 5px solid var(--main-color1);
}
.page-content .sec3-7 .duties-list .duties-box .num {
  font-size: 2rem;
  font-weight: 900;
  color: var(--main-color1);
  margin-bottom: 20px;
}
.page-content .sec3-7 .duties-list .duties-box .title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--main-color1);
}
.page-content .sec3-7 .duties-list .duties-box .content {
  line-height: 1.8;
  color: #666;
}
.page-content .sec3-7 .duties-list .duties-box .content ul {
  margin-left: 20px;
}
.page-content .sec3-7 .duties-list .duties-box .content ul li {
  margin-bottom: 10px;
}
.page-content .sec3-7 .duties-list .duties-box .content ul ul {
  margin-top: 10px;
  margin-left: 20px;
}
.page-content .sec3-7 .duties-list .duties-box .content ul ul li {
  margin-bottom: 5px;
  font-size: 0.9em;
  color: #888;
}

/* 안전관리 위탁효과 섹션 */
.page-content .sec3 .tiles .tile > .a {
  padding-bottom: 130%;
  background: none no-repeat center/cover;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
}
.page-content .sec3 .tiles .tile > .a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
/* 첫 번째 이미지(리더십)에 대한 특별한 스타일 */
.page-content .sec3 .tiles .tile:first-child > .a:before {
  background: rgba(0, 0, 0, 0.7);
}
.page-content .sec3 .tiles .tile .a .content {
  position: absolute;
  top: 45%;
  bottom: 30px;
  left: 0;
  right: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  z-index: 2;
}
.page-content .sec3 .tiles .tile .a .content .head {
  font-size: 1.5rem;
  font-weight: 600;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}
.page-content .sec3 .tiles .tile .a .content .desc {
  line-height: 1.6;
  margin-top: 20px;
  flex: 1;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}
.page-content .sec3 .tiles .tile .a .content .en {
  border-radius: 99px;
  background: var(--main-color3);
  color: #fff;
  padding: 10px 20px;
  font-weight: 600;
}
.page-content .sec3 .tiles .tile .a .content .en:first-letter {
  color: var(--main-color2);
}

.page-content .sec4 ul {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  grid-row-gap: 50px;
}
.page-content .sec4 li {
  position: relative;
}
.page-content .sec4 li:nth-child(3) {
  grid-column: 2/3;
  grid-row: 2/3;
}
.page-content .sec4 li:nth-child(4) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.page-content .sec4 li:nth-child(even) {
  padding: 0 10% 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}

.page-content .sec4 li .img {
  padding-bottom: 60%;
  background: none no-repeat center/cover;
}
.page-content .sec4 li .icon {
  position: absolute;
  right: 40px;
  bottom: -20px;
  width: 110px;
  height: 110px;
  background: var(--main-color1) no-repeat center/60px;
}
.page-content .sec4 li .num {
  font-weight: 600;
  padding-bottom: 5px;
  line-height: 1;
  border-bottom: 1px solid var(--main-color1);
  color: var(--main-color1);
}
.page-content .sec4 li .head {
  font-size: 2rem;
  margin: 20px 0 50px;
}
.page-content .sec4 li .en {
  font-size: 5rem;
  color: #aaa;
  opacity: 0.1;
  font-weight: 900;
  white-space: nowrap;
}

.page-content .sec5 {
  background: var(--main-color3);
  color: #fff;
}
.page-content .sec5 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-row-gap: 50px;
}
.page-content .sec5 li {
  position: relative;
}
.page-content .sec5 li:nth-child(1) {
  grid-column: 2/3;
  grid-row: 1/2;
}
.page-content .sec5 li:nth-child(2) {
  grid-column: 1/2;
  grid-row: 1/2;
}
.page-content .sec5 li:nth-child(even) {
  padding: 0 10% 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.page-content .sec5 li .img {
  border-radius: 20px;
  width: 100%;
  padding-bottom: 60%;
  background: none no-repeat center/cover;
}
.page-content .sec5 li .head {
  font-size: 2rem;
  font-weight: 600;
}
.page-content .sec5 li .subhead {
  font-size: 1.25rem;
  margin: 25px 0 20px;
  font-weight: 600;
}
.page-content .sec5 li .desc {
  line-height: 1.6;
}
.page-content .sec5 li .en {
  position: absolute;
  left: 25px;
  top: 25px;
  font-size: 5rem;
  color: #aaa;
  opacity: 0.03;
  font-weight: 900;
}

.page-content .sec6 ul {
  display: flex;
  padding: 30px 50px;
  border-radius: 200px;
  border: 1px dotted var(--main-color1);
}
.page-content .sec6 ul li {
  position: relative;
  width: calc(100% / 6 + 20px);
  border-radius: 100%;
  margin: 0 -10px;
  overflow: hidden;
  background: rgba(var(--main-color1-rgb), 0.05);
}
.page-content .sec6 ul li:last-child {
  background: var(--main-color1);
  color: #fff;
}
.page-content .sec6 ul li:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.page-content .sec6 ul .content {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.page-content .sec6 ul .step {
  color: var(--main-color2);
  font-weight: 600;
}
.page-content .sec6 ul .head {
  margin-top: 10px;
}

.page-content .sec7 .content {
  display: flex;
  justify-content: space-between;
}
.page-content .sec7 .content ul {
  display: flex;
}
.page-content .sec7 .contact {
  align-items: center;
  justify-content: space-evenly;
  width: calc(80% - 30px);
  border: 1px solid #ddd;
  --icon-size: 40px;
}
.page-content .sec7 .contact li {
  position: relative;
  min-width: 15%;
  padding-left: calc(var(--icon-size) + 20px);
  background: none no-repeat left center/40px;
}
.page-content .sec7 .contact li img {
  position: absolute;
  left: 0;
  top: calc(50% - var(--icon-size) / 2);
  width: var(--icon-size);
  height: var(--icon-size);
}
.page-content .sec7 .contact li span {
  display: block;
  font-size: 0.875rem;
}
.page-content .sec7 .download {
  width: 20%;
}
.page-content .sec7 .download li {
  width: 50%;
  margin-left: -1px;
  border: 1px solid #ddd;
}
.page-content .sec7 .download a {
  display: block;
  text-align: center;
  padding: 30px 0;
}
.page-content .sec7 .download a img {
  margin-bottom: 15px;
  width: 50px;
}

.page-content .sec8 {
  position: relative;
  z-index: 2;
  background: url("../img/business6-sec8-bg1.jpg") no-repeat center/cover fixed;
  color: #fff;
}
.page-content .sec8:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: -1;
}
.page-content .sec8 .bg {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.page-content .sec8 .header {
  margin-bottom: 0 !important;
}
.page-content .sec8 .desc {
  margin-bottom: 15px;
}
.page-content .sec8 .btn-box {
  margin-top: 40px;
}
.page-content .sec8 .btn-box .btn {
  background: #fff;
  padding: 20px 30px;
  color: #333;
}
.page-content .sec8 .btn-box .btn:hover {
  color: #fff;
}

@media (max-width: 1024px) {
  .page-content .section {
    --sec-padding: 70px;
  }
  .page-content .section .header {
    margin-bottom: 40px;
  }
  .page-content .section .header .subhead {
    margin-bottom: 5px;
  }
  .page-content .section .header .head {
    font-size: 2rem;
  }
  .page-content .section .header .desc {
    margin-top: 10px;
  }

  .page-content .sec3 .legal-basis {
    flex-direction: column;
    gap: 30px;
  }
  .page-content .sec3 .legal-basis .basis-box {
    padding: 30px;
  }
  .page-content .sec3 .overview-content .overview-box {
    padding: 30px;
  }
  .page-content .sec3 .support-content .support-box {
    padding: 20px;
  }

  .page-content .sec3-5 .process-flow {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  .page-content .sec3-5 .process-flow .flow-step {
    width: 100%;
    max-width: 400px;
  }
  .page-content .sec3-5 .process-flow .flow-group {
    width: 100%;
    max-width: 400px;
  }
  .page-content .sec3-5 .process-flow .flow-arrow {
    transform: rotate(90deg);
  }

  .page-content .sec3-7 .duties-list .duties-box {
    padding: 30px;
  }

  .page-content .sec1 .bg {
    padding: 30px 0;
  }
  .page-content .sec1 .bg .txt-boder {
    font-size: 4rem;
  }
  .page-content .sec1 .bg .txt {
    font-size: 1.625rem;
    margin: 60px 0;
  }

  .page-content .sec1 .content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .page-content .sec1 .content .ceo {
    margin-top: 20px;
  }

  .page-content .sec2 .content {
    flex-direction: column;
  }
  .page-content .sec2 .content .box {
    width: 100% !important;
    height: auto;
    padding: 50px var(--box-padding);
  }
  .page-content .sec2 .content .box:not(.on) {
    filter: none;
  }

  .page-content .sec2 .content ul {
    position: relative;
    margin-bottom: 0;
  }
  .page-content .sec2 .content ul:before {
    top: -50px;
    bottom: -50px;
    opacity: 0.6;
  }
  .page-content .sec2 .content .box:nth-child(odd) ul {
    margin-left: calc(50% + var(--box-padding));
  }
  .page-content .sec2 .content .box:nth-child(even) ul {
    margin-right: calc(50% + var(--box-padding));
  }

  .page-content .sec2 .content ul .head {
    font-size: 1.25rem;
  }
  .page-content .sec2 .content .box:not(.on) ul .head {
    position: relative;
    left: 0;
    right: 0;
    transform: translateY(0);
  }

  .page-content .sec3 .tiles {
    max-width: 768px;
    margin: 0 auto !important;
  }
  .page-content .sec3 .tiles .tile > .a {
    padding-bottom: 110%;
  }

  .page-content .sec3 .tiles .tile .a .content {
    top: 50%;
  }
  .page-content .sec3 .tiles .tile .a .content .head {
    font-size: 1.25rem;
  }
  .page-content .sec3 .tiles .tile .a .content .desc {
    margin-top: 10px;
  }
  .page-content .sec3 .tiles .tile .a .content .en {
    font-size: 0.875rem;
  }

  .page-content .sec4 li:nth-child(even) {
    padding: 0 8% 30px;
  }
  .page-content .sec4 li .icon {
    width: 80px;
    height: 80px;
    background-size: 50px;
  }
  .page-content .sec4 li .head {
    font-size: 1.5rem;
  }
  .page-content .sec4 li .en {
    font-size: 3rem;
  }

  .page-content .sec5 li:nth-child(even) {
    padding: 0 8% 30px;
  }
  .page-content .sec5 li .head {
    font-size: 1.5rem;
  }
  .page-content .sec5 li .subhead {
    font-size: 1.125rem;
  }
  .page-content .sec5 li .en {
    top: -25px;
    font-size: 3rem;
  }

  .page-content .sec6 ul {
    justify-content: center;
    flex-wrap: wrap;
    padding: 50px;
  }
  .page-content .sec6 ul li {
    width: calc(27% + 20px);
    margin: 5px -10px;
  }

  .page-content .sec7 .content {
    display: block;
  }
  .page-content .sec7 .content ul {
    width: 100%;
    min-height: 150px;
  }

  .page-content .sec7 .contact {
    margin-bottom: 10px;
  }

  .page-content .sec8 .btn-box {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .page-content .section .header {
    margin-bottom: 30px;
  }
  .page-content .section .header .head {
    font-size: 1.5rem;
  }
  .page-content .section .header .subhead {
    font-size: 1rem;
    margin-bottom: 15px;
  }

  .page-content .sec3 .legal-basis .basis-box {
    padding: 20px;
  }
  .page-content .sec3 .legal-basis .basis-box .num {
    font-size: 1.5rem;
  }
  .page-content .sec3 .legal-basis .basis-box .title {
    font-size: 1.25rem;
  }
  .page-content .sec3 .overview-content .overview-box {
    padding: 20px;
  }
  .page-content .sec3 .overview-content .overview-box .content {
    font-size: 1rem;
  }
  .page-content .sec3 .support-content .support-box {
    padding: 20px;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    text-align: center;
  }
  .page-content .sec3 .support-content .support-box .num {
    font-size: 1.25rem;
    margin-bottom: 5px;
  }
  .page-content .sec3 .support-content .support-box .title {
    font-size: 1.125rem;
  }
  .page-content .sec3 .support-content .support-box {
    padding: 20px;
  }

  .page-content .sec3-5 .process-flow .flow-step {
    min-width: auto;
    padding: 15px 10px;
    width: 100%;
    max-width: 300px;
    min-height: 120px;
  }
  .page-content .sec3-5 .process-flow .flow-group {
    min-width: auto;
    padding: 20px 15px;
    width: 100%;
    max-width: 300px;
  }
  .page-content .sec3-5 .process-flow .flow-step .step-num {
    font-size: 1.5rem;
  }
  .page-content .sec3-5 .process-flow .flow-step .step-title {
    font-size: 1.125rem;
  }

  .page-content .sec3-7 .duties-list .duties-box {
    padding: 20px;
  }
  .page-content .sec3-7 .duties-list .duties-box .num {
    font-size: 1.5rem;
  }
  .page-content .sec3-7 .duties-list .duties-box .title {
    font-size: 1.25rem;
  }

  .page-content .sec1 .txt i:first-of-type {
    margin-right: 0;
    left: 25px;
    right: auto;
    bottom: 100%;
  }
  .page-content .sec1 .txt i:last-of-type {
    margin-left: 0;
    left: auto;
    top: 100%;
    right: 25px;
  }
  .page-content .sec1 .content .txt {
    font-size: 1.125rem;
    padding: 0 30px;
  }

  .page-content .sec3 .tiles {
    max-width: 400px;
  }
  .page-content .sec3 .tiles .tile .a .content {
    top: 55%;
  }

  .page-content .sec4 ul {
    display: block;
    max-width: 400px;
    margin: 0 auto;
  }
  .page-content .sec4 li:nth-child(even) {
    padding: 20px 15px 40px;
  }
  .page-content .sec4 li:last-child {
    padding-bottom: 0;
  }

  .page-content .sec4 li .head {
    font-size: 1.325rem;
    margin: 15px 0;
  }
  .page-content .sec4 li .en {
    font-size: 2rem;
  }

  .page-content .sec5 ul {
    display: block;
    max-width: 400px;
    margin: 0 auto;
  }
  .page-content .sec5 li:nth-child(even) {
    padding: 20px 15px 40px;
  }
  .page-content .sec5 li:last-child {
    padding-bottom: 0;
  }

  .page-content .sec5 li .head {
    font-size: 1.325rem;
  }
  .page-content .sec5 li .subhead {
    margin: 15px 0 10px;
  }
  .page-content .sec5 li .en {
    left: auto;
    top: 10px;
    right: 0;
  }

  .page-content .sec6 ul {
    padding: 30px;
    border-radius: 150px;
  }
  .page-content .sec6 ul li {
    width: calc(35% + 20px);
  }

  .page-content .sec7 .contact {
    flex-direction: column;
    padding: 20px;
    --icon-size: 30px;
  }
  .page-content .sec7 .contact li {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .page-content .sec7 .download a img {
    width: 35px;
    margin-bottom: 10px;
  }

  .page-content .sec8 .btn-box .btn {
    padding: 15px 25px;
  }
}

/* 위험성평가 실시 절차 섹션 스타일 */
.page-content .sec4 .process-flow {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.page-content .sec4 .process-flow .process-step {
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 15px;
  padding: 30px;
  width: 100%;
  max-width: 800px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
}

.page-content .sec4 .process-flow .process-step:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-color: var(--main-color1);
}

.page-content .sec4 .process-flow .step-number {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--main-color1);
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
  box-shadow: 0 2px 10px rgba(0, 123, 255, 0.3);
}

.page-content .sec4 .process-flow .step-icon {
  margin: 20px 0 15px;
  font-size: 2.5rem;
  color: var(--main-color1);
}

.page-content .sec4 .process-flow .step-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
}

.page-content .sec4 .process-flow .step-content {
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
  text-align: left;
}

.page-content .sec4 .process-flow .step-arrow {
  font-size: 1.5rem;
  color: var(--main-color1);
  margin: 10px 0;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

/* PC 가로형 배치 */
@media (min-width: 1025px) {
  .page-content .sec4 .process-flow {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    align-items: stretch;
  }

  .page-content .sec4 .process-flow .process-step {
    flex: 1;
    min-width: 300px;
    max-width: 350px;
    margin-bottom: 20px;
  }

  .page-content .sec4 .process-flow .step-arrow {
    display: none;
  }

  /* 첫 번째 줄 (3개) */
  .page-content .sec4 .process-flow .process-step:nth-child(1),
  .page-content .sec4 .process-flow .process-step:nth-child(3),
  .page-content .sec4 .process-flow .process-step:nth-child(5) {
    order: 1;
  }

  .page-content .sec4 .process-flow .process-step:nth-child(7),
  .page-content .sec4 .process-flow .process-step:nth-child(9) {
    order: 2;
  }

  /* 두 번째 줄 (2개) */
  .page-content .sec4 .process-flow .process-step:nth-child(11),
  .page-content .sec4 .process-flow .process-step:nth-child(13) {
    order: 3;
  }

  /* 화살표 숨기기 */
  .page-content .sec4 .process-flow .step-arrow:nth-child(2),
  .page-content .sec4 .process-flow .step-arrow:nth-child(4),
  .page-content .sec4 .process-flow .step-arrow:nth-child(6),
  .page-content .sec4 .process-flow .step-arrow:nth-child(8),
  .page-content .sec4 .process-flow .step-arrow:nth-child(10) {
    display: none;
  }
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content .sec4 .process-flow .process-step {
    padding: 25px;
    max-width: 600px;
  }

  .page-content .sec4 .process-flow .step-title {
    font-size: 1.3rem;
  }

  .page-content .sec4 .process-flow .step-content {
    font-size: 0.95rem;
  }
}

@media (max-width: 767px) {
  .page-content .sec4 .process-flow {
    gap: 20px;
  }

  .page-content .sec4 .process-flow .process-step {
    padding: 20px;
    max-width: 100%;
  }

  .page-content .sec4 .process-flow .step-number {
    width: 35px;
    height: 35px;
    font-size: 1rem;
    top: -12px;
  }

  .page-content .sec4 .process-flow .step-icon {
    font-size: 2rem;
    margin: 15px 0 10px;
  }

  .page-content .sec4 .process-flow .step-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }

  .page-content .sec4 .process-flow .step-content {
    font-size: 0.9rem;
  }

  .page-content .sec4 .process-flow .step-arrow {
    font-size: 1.2rem;
  }
}

/* busin3 페이지 전용 스타일 */
.page-content.busin3-page .busin3-sec1 {
  /* busin3 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin3-page .busin3-sec2 {
  /* busin3 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin3-page .busin3-sec3 {
  /* busin3 페이지의 세 번째 섹션 스타일 */
}

.page-content.busin3-page .busin3-sec4 {
  /* busin3 페이지의 네 번째 섹션 스타일 */
}

/* busin3 페이지의 위험성평가 실시 절차 섹션 전용 스타일 */
.page-content.busin3-page .busin3-sec3 .process-flow {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.page-content.busin3-page .busin3-sec3 .process-flow .process-step {
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 15px;
  padding: 30px;
  width: 100%;
  max-width: 800px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
}

.page-content.busin3-page .busin3-sec3 .process-flow .process-step:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-color: var(--main-color1);
}

.page-content.busin3-page .busin3-sec3 .process-flow .step-number {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--main-color1);
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
  box-shadow: 0 2px 10px rgba(0, 123, 255, 0.3);
}

.page-content.busin3-page .busin3-sec3 .process-flow .step-icon {
  margin: 20px 0 15px;
  font-size: 2.5rem;
  color: var(--main-color1);
}

.page-content.busin3-page .busin3-sec3 .process-flow .step-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
}

.page-content.busin3-page .busin3-sec3 .process-flow .step-content {
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
  text-align: left;
}

.page-content.busin3-page .busin3-sec3 .process-flow .step-arrow {
  font-size: 1.5rem;
  color: var(--main-color1);
  margin: 10px 0;
  animation: bounce 2s infinite;
}

/* busin3 페이지의 적용사례 섹션 전용 스타일 */
.page-content.busin3-page .busin3-sec4 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 30px 50px;
  align-items: center;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(3) {
  grid-column: 2/3;
  grid-row: 2/3;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(4) {
  grid-column: 1/2;
  grid-row: 2/3;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(7) {
  grid-column: 2/3;
  grid-row: 4/5;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(8) {
  grid-column: 1/2;
  grid-row: 4/5;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(even) {
  padding: 0 10%;
}

.page-content.busin3-page .busin3-sec4 li:nth-child(odd) {
  border-radius: 20px;
  overflow: hidden;
}

.page-content.busin3-page .busin3-sec4 li .img {
  background: #f8f8f8 no-repeat center/cover;
  padding-bottom: 60%;
  transition-duration: 600ms;
}

.page-content.busin3-page .busin3-sec4 li:hover .img {
  transform: scale(1.1);
}

.page-content.busin3-page .busin3-sec4 li .subhead {
  color: var(--main-color1);
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 1.125rem;
}

.page-content.busin3-page .busin3-sec4 li .head {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 15px;
}

.page-content.busin3-page .busin3-sec4 li .desc {
  color: #888;
  line-height: 1.7;
}

/* busin3 페이지 PC 가로형 배치 */
@media (min-width: 1025px) {
  .page-content.busin3-page .busin3-sec3 .process-flow {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    align-items: stretch;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .process-step {
    flex: 1;
    min-width: 300px;
    max-width: 350px;
    margin-bottom: 20px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow {
    display: none;
  }

  /* 첫 번째 줄 (3개) */
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(1),
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(3),
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(5) {
    order: 1;
  }

  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(7),
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(9) {
    order: 2;
  }

  /* 두 번째 줄 (2개) */
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(11),
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .process-step:nth-child(13) {
    order: 3;
  }

  /* 화살표 숨기기 */
  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow:nth-child(2),
  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow:nth-child(4),
  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow:nth-child(6),
  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow:nth-child(8),
  .page-content.busin3-page
    .busin3-sec3
    .process-flow
    .step-arrow:nth-child(10) {
    display: none;
  }
}

/* busin3 페이지 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content.busin3-page .busin3-sec3 .process-flow .process-step {
    padding: 25px;
    max-width: 600px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-title {
    font-size: 1.3rem;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-content {
    font-size: 0.95rem;
  }

  .page-content.busin3-page .busin3-sec4 ul {
    grid-gap: 20px 30px;
  }

  .page-content.busin3-page .busin3-sec4 li:nth-child(even) {
    padding: 0 5%;
  }

  .page-content.busin3-page .busin3-sec4 li .img {
    padding-bottom: 66%;
  }

  .page-content.busin3-page .busin3-sec4 li .subhead {
    margin-bottom: 15px;
  }

  .page-content.busin3-page .busin3-sec4 li .head {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .page-content.busin3-page .busin3-sec3 .process-flow {
    gap: 20px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .process-step {
    padding: 20px;
    max-width: 100%;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-number {
    width: 35px;
    height: 35px;
    font-size: 1rem;
    top: -12px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-icon {
    font-size: 2rem;
    margin: 15px 0 10px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-content {
    font-size: 0.9rem;
  }

  .page-content.busin3-page .busin3-sec3 .process-flow .step-arrow {
    font-size: 1.2rem;
  }

  .page-content.busin3-page .busin3-sec4 ul {
    display: block;
    max-width: 400px;
    margin: 0 auto;
  }

  .page-content.busin3-page .busin3-sec4 li:nth-child(even) {
    padding: 20px 15px 40px;
  }

  .page-content.busin3-page .busin3-sec4 li:last-child {
    padding-bottom: 0;
  }

  .page-content.busin3-page .busin3-sec4 li .subhead {
    margin-bottom: 10px;
  }
}

/* busin1 페이지 전용 스타일 */
.page-content.busin1-page .busin1-sec1 {
  /* busin1 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin1-page .busin1-sec2 {
  /* busin1 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin1-page .busin1-sec3 {
  /* busin1 페이지의 세 번째 섹션 스타일 */
}

/* busin2 페이지 전용 스타일 */
.page-content.busin2-page .busin2-sec1 {
  /* busin2 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin2-page .busin2-sec2 {
  /* busin2 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin2-page .busin2-sec3 {
  /* busin2 페이지의 세 번째 섹션 스타일 */
}

/* busin4 페이지 전용 스타일 */
.page-content.busin4-page .busin4-sec1 {
  /* busin4 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin4-page .busin4-sec2 {
  /* busin4 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin4-page .busin4-sec3 {
  /* busin4 페이지의 세 번째 섹션 스타일 */
}

/* busin5 페이지 전용 스타일 */
.page-content.busin5-page .busin5-sec1 {
  /* busin5 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin5-page .busin5-sec2 {
  /* busin5 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin5-page .busin5-sec3 {
  background: #fff;
}

.page-content.busin5-page .busin5-sec3 .legal-basis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 60px;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  border-left: 4px solid #ff6b35;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box .num {
  font-size: 2rem;
  font-weight: 700;
  color: #ff6b35;
  margin-bottom: 15px;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box .title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box .content {
  flex: 1;
  line-height: 1.6;
  color: #666;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box .content ul {
  margin: 0;
  padding-left: 20px;
}

.page-content.busin5-page .busin5-sec3 .legal-basis .basis-box .content ul li {
  margin-bottom: 8px;
}

@media (max-width: 767px) {
  .page-content.busin5-page .busin5-sec3 .legal-basis {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .page-content.busin5-page .busin5-sec3 .legal-basis .basis-box {
    padding: 20px;
  }
}

/* busin6 페이지 전용 스타일 */
.page-content.busin6-page .busin6-sec1 {
  /* busin6 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin6-page .busin6-sec2 {
  /* busin6 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin6-page .busin6-sec3 {
  /* busin6 페이지의 세 번째 섹션 스타일 */
}

/* busin7 페이지 전용 스타일 */
.page-content.busin7-page .busin7-sec1 {
  /* busin7 페이지의 첫 번째 섹션 스타일 */
}

.page-content.busin7-page .busin7-sec2 {
  /* busin7 페이지의 두 번째 섹션 스타일 */
}

.page-content.busin7-page .busin7-sec3 {
  /* busin7 페이지의 세 번째 섹션 스타일 */
}

/* step2, step4 박스 특별 스타일 - 흰색 배경, 오렌지 테두리 */
.page-content .sec3-5 .process-flow .flow-step:nth-child(3),
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) {
  background: #fff;
  color: #333;
  border: 2px solid var(--main-color1);
}

.page-content .sec3-5 .process-flow .flow-step:nth-child(3) .step-num,
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) .step-num {
  color: var(--main-color1);
}

.page-content .sec3-5 .process-flow .flow-step:nth-child(3) .step-title,
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) .step-title {
  color: var(--main-color1);
}

.page-content .sec3-5 .process-flow .flow-step:nth-child(3) .step-desc,
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) .step-desc {
  color: #666;
}

.page-content .sec3-5 .process-flow .flow-step:nth-child(3) .step-desc ul,
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) .step-desc ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.page-content .sec3-5 .process-flow .flow-step:nth-child(3) .step-desc ul li,
.page-content .sec3-5 .process-flow .flow-step:nth-child(7) .step-desc ul li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 8px;
  line-height: 1.4;
  text-align: center;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-desc
  ul
  li:before,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-desc
  ul
  li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #666;
  font-weight: bold;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-desc
  ul
  li:last-child,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-desc
  ul
  li:last-child {
  margin-bottom: 0;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-results
  .result-item,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-results
  .result-item {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-results
  .result-item
  .result-title,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-results
  .result-item
  .result-title {
  color: #333;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-results
  .result-item
  .result-desc,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-results
  .result-item
  .result-desc {
  color: #666;
}

.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(3)
  .step-results
  .divider-line,
.page-content
  .sec3-5
  .process-flow
  .flow-step:nth-child(7)
  .step-results
  .divider-line {
  background: rgba(0, 0, 0, 0.2);
}

/* footnote 스타일 추가 */
.page-content .sec3-5 .footnote {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 20px;
  text-align: left;
}

.page-content .sec3-5 .footnote p {
  font-size: 0.875rem;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* busin4 페이지의 sec2 섹션 스타일 */
.page-content.busin4-page .sec2.busin4-sec4 {
  background: #1d2638;
  color: #fff;
  padding: 100px 0;
}

.page-content.busin4-page .sec2.busin4-sec4 .content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  max-width: 1400px;
  margin: 0 auto;
}

.page-content.busin4-page .sec2.busin4-sec4 .content > div {
  width: 50%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-content.busin4-page .sec2.busin4-sec4 .content .image {
  flex-shrink: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.page-content.busin4-page .sec2.busin4-sec4 .content .img {
  border-radius: 20px;
  padding-bottom: 66%;
  background: #f8f8f8 no-repeat center/cover;
  width: 100%;
  height: 0;
  position: relative;
  flex-grow: 1;
}

.page-content.busin4-page .sec2.busin4-sec4 .content .txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.page-content.busin4-page .sec2.busin4-sec4 .content .head {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 20px;
  margin-top: 0;
  flex-shrink: 0;
}

.page-content.busin4-page .sec2.busin4-sec4 .content .desc {
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
  margin-bottom: 40px;
  margin-top: 0;
  flex-shrink: 0;
}

.page-content.busin4-page .sec2.busin4-sec4 .content ul {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 0;
  margin-bottom: 0;
  flex-grow: 1;
  align-items: flex-end;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li {
  flex: 1;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
  text-align: center;
  padding: 30px 15px;
  font-size: 0.875rem;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li .icon {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 auto 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li .icon i {
  font-size: 2rem;
  color: #fff;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li .icon:before {
  content: "";
  position: absolute;
  top: calc(50% - var(--circle-size) / 2);
  right: -10px;
  width: var(--circle-size);
  height: var(--circle-size);
  --circle-size: 30px;
  background: #eba308;
  border-radius: 99px;
  z-index: -1;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li .num {
  color: #eba308;
  margin: 10px 0;
  font-weight: 600;
  font-size: 1.2rem;
}

.page-content.busin4-page .sec2.busin4-sec4 .content li .title {
  font-size: 0.8rem;
  line-height: 1.4;
  margin-top: 10px;
}

/* 반응형 스타일 */
@media (max-width: 1200px) {
  .page-content.busin4-page .sec2.busin4-sec4 {
    padding: 80px 0;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content {
    display: block;
    gap: 0;
    max-width: 100%;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content > div {
    width: 100%;
    margin-bottom: 50px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content .image {
    max-width: 600px;
    margin: 0 auto;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content .txt {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .page-content.busin4-page .sec2.busin4-sec4 {
    padding: 60px 0;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content > div {
    width: 100%;
    margin-bottom: 40px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content .image {
    max-width: 400px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content ul {
    flex-direction: column;
    gap: 20px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content li {
    width: 100%;
    padding: 25px 15px;
    min-height: 150px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content li .icon {
    width: 40px;
    height: 40px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content li .icon:before {
    --circle-size: 20px;
    right: -5px;
  }

  .page-content.busin4-page .sec2.busin4-sec4 .content li .num {
    margin-bottom: 5px;
  }
}

.page-content.busin5-page .busin5-sec4 {
  background: #fff;
}

.page-content.busin5-page .busin5-sec4 .work-table {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
}

.page-content.busin5-page .busin5-sec4 .work-table .table-image {
  max-width: 100%;
  text-align: center;
}

.page-content.busin5-page .busin5-sec4 .work-table .table-image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-content.busin5-page .busin5-sec5 {
  background: #fff;
}

.page-content.busin5-page .busin5-sec5 .process-flow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
}

.page-content.busin5-page .busin5-sec5 .process-flow .flow-image {
  max-width: 100%;
  text-align: center;
}

.page-content.busin5-page .busin5-sec5 .process-flow .flow-image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* 연구실 점검 및 진단 주기 표 스타일 */
.page-content .content-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.page-content .content-wrapper .num-title {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.page-content .content-wrapper .num-title .num {
  font-size: 3rem;
  font-weight: 700;
  color: #ff6b35;
  margin-right: 20px;
}

.page-content .content-wrapper .num-title .title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}

.page-content .content-wrapper .table-section {
  margin-bottom: 40px;
}

.page-content .content-wrapper .inspection-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  margin-bottom: 30px;
}

.page-content .content-wrapper .inspection-table th {
  background-color: #fff3e0;
  color: #333;
  font-weight: 600;
  padding: 15px;
  text-align: center;
  border: 1px solid #ddd;
  font-size: 1rem;
}

.page-content .content-wrapper .inspection-table td {
  padding: 15px;
  border: 1px solid #ddd;
  vertical-align: top;
  line-height: 1.6;
  font-size: 0.95rem;
  text-align: left;
}

/* 정밀안전진단 세부 내용 왼쪽 정렬 */
.page-content .content-wrapper .inspection-table tr:nth-child(6) td:last-child,
.page-content .content-wrapper .inspection-table tr:nth-child(7) td:last-child,
.page-content .content-wrapper .inspection-table tr:nth-child(8) td:last-child {
  text-align: left;
  padding-left: 20px;
}

.page-content .content-wrapper .inspection-table td:first-child {
  font-weight: 600;
  background-color: #f8f9fa;
  text-align: center;
  width: 15%;
}

.page-content .content-wrapper .inspection-table td:nth-child(2) {
  text-align: center;
  width: 12%;
}

.page-content .content-wrapper .inspection-table td:last-child {
  width: 73%;
}

.page-content .content-wrapper .diagnosis-requirements {
  margin-bottom: 30px;
}

.page-content .content-wrapper .diagnosis-requirements h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
}

.page-content .content-wrapper .diagnosis-requirements ul {
  list-style: none;
  padding-left: 0;
}

.page-content .content-wrapper .diagnosis-requirements ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  line-height: 1.6;
  font-size: 0.95rem;
  text-align: left;
}

.page-content .content-wrapper .diagnosis-requirements ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #ff6b35;
  font-weight: bold;
}

.page-content .content-wrapper .footnote {
  font-size: 0.9rem;
  color: #666;
  text-align: right;
  font-style: italic;
  margin-top: 20px;
}

/* 근골격계 부담작업 표 섹션 */
.page-content .content-wrapper .work-table-section {
  margin: 40px 0;
}

.page-content .content-wrapper .work-table-section h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 20px;
  text-align: center;
}

.page-content .content-wrapper .work-table-section .table-wrapper {
  text-align: center;
  margin: 20px 0;
}

.page-content .content-wrapper .work-table-section .table-wrapper img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 근골격계 부담작업 표 스타일 */
.page-content .work-table .work-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.page-content .work-table .work-table th {
  background: var(--main-color1);
  color: #fff;
  padding: 15px;
  text-align: center;
  font-weight: 600;
  border: 1px solid #ddd;
}

.page-content .work-table .work-table td {
  padding: 15px;
  border: 1px solid #ddd;
  vertical-align: top;
  line-height: 1.6;
  font-size: 0.95rem;
  text-align: left;
}

.page-content .work-table .work-table td:first-child {
  font-weight: 600;
  background-color: #f8f9fa;
  text-align: center;
  width: 15%;
}

.page-content .work-table .work-table td:nth-child(2) {
  text-align: center;
  width: 20%;
}

.page-content .work-table .work-table td:last-child {
  width: 65%;
}

/* 근골격계 부담작업 표 이미지 아이콘 스타일 */
.page-content .work-table .work-table .work-icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 4px;
  background: #f8f9fa;
  padding: 4px;
  border: 1px solid #ddd;
}

/* 근골격계 부담작업 표 열 너비 조정 */
.page-content .inspection-table {
  table-layout: fixed; /* 고정 레이아웃으로 설정 */
}

.page-content .inspection-table th:nth-child(1),
.page-content .inspection-table td:nth-child(1) {
  width: 5% !important; /* 유형 - 더 좁게 */
  min-width: 40px;
  max-width: 50px;
}

.page-content .inspection-table th:nth-child(2),
.page-content .inspection-table td:nth-child(2) {
  width: 15% !important; /* 구분 - 이미지 */
  min-width: 100px;
}

.page-content .inspection-table th:nth-child(3),
.page-content .inspection-table td:nth-child(3) {
  width: 12% !important; /* 노출시간 */
  min-width: 80px;
}

.page-content .inspection-table th:nth-child(4),
.page-content .inspection-table td:nth-child(4) {
  width: 12% !important; /* 노출빈도 */
  min-width: 80px;
}

.page-content .inspection-table th:nth-child(5),
.page-content .inspection-table td:nth-child(5) {
  width: 15% !important; /* 신체부위 */
  min-width: 100px;
}

.page-content .inspection-table th:nth-child(6),
.page-content .inspection-table td:nth-child(6) {
  width: 28% !important; /* 작업자세 및 내용 - 가장 넓게 */
  min-width: 180px;
}

.page-content .inspection-table th:nth-child(7),
.page-content .inspection-table td:nth-child(7) {
  width: 10% !important; /* 무게 - 좁게 */
  min-width: 60px;
  max-width: 80px;
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content .content-wrapper .inspection-table {
    font-size: 0.9rem;
  }

  .page-content .content-wrapper .inspection-table th,
  .page-content .content-wrapper .inspection-table td {
    padding: 12px 10px;
  }
}

@media (max-width: 767px) {
  .page-content .content-wrapper .num-title {
    flex-direction: column;
    text-align: center;
    margin-bottom: 30px;
  }

  .page-content .content-wrapper .num-title .num {
    margin-right: 0;
    margin-bottom: 10px;
  }

  .page-content .content-wrapper .inspection-table {
    font-size: 0.85rem;
  }

  .page-content .content-wrapper .inspection-table th,
  .page-content .content-wrapper .inspection-table td {
    padding: 8px 6px;
  }

  .page-content .content-wrapper .inspection-table td:first-child,
  .page-content .content-wrapper .inspection-table td:nth-child(2) {
    width: auto;
  }
}

/* 위반 제재 표 스타일 */
.page-content .content-wrapper .penalty-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  margin-bottom: 30px;
}

.page-content .content-wrapper .penalty-table th {
  background-color: #fff3e0;
  color: #333;
  font-weight: 600;
  padding: 15px;
  text-align: center;
  border: 1px solid #ddd;
  font-size: 1rem;
}

.page-content .content-wrapper .penalty-table td {
  padding: 15px;
  border: 1px solid #ddd;
  vertical-align: middle;
  line-height: 1.6;
  font-size: 0.95rem;
  text-align: center;
}

.page-content .content-wrapper .penalty-table td:first-child {
  text-align: left;
  width: 40%;
}

.page-content .content-wrapper .penalty-table td:nth-child(2) {
  text-align: center;
  width: 25%;
}

.page-content .content-wrapper .penalty-table td:nth-child(3),
.page-content .content-wrapper .penalty-table td:nth-child(4),
.page-content .content-wrapper .penalty-table td:nth-child(5) {
  width: 11.67%;
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content .content-wrapper .penalty-table {
    font-size: 0.9rem;
  }

  .page-content .content-wrapper .penalty-table th,
  .page-content .content-wrapper .penalty-table td {
    padding: 12px 8px;
  }
}

/* 중대재해처벌법 섹션 타일 스타일 */
.page-content .section.sec3 .tiles .tile {
  position: relative;
  margin-bottom: 30px;
}

.page-content .section.sec3 .tiles .tile .a {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
  position: relative;
  height: 200px; /* 이미지 높이 고정 */
}

.page-content .section.sec3 .tiles .tile .content {
  text-align: center;
  padding: 20px 15px;
  position: relative;
  z-index: 10;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.page-content .section.sec3 .tiles .tile .content .icon {
  margin-bottom: 15px;
}

.page-content .section.sec3 .tiles .tile .content .icon i {
  font-size: 2rem;
  color: var(--main-color1);
  background: #f8f9fa;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  display: inline-block;
}

.page-content .section.sec3 .tiles .tile .content .head {
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
  line-height: 1.4;
}

.page-content .section.sec3 .tiles .tile .content .desc {
  font-size: 0.875rem;
  color: #666;
  line-height: 1.6;
}

.page-content .section.sec3 .tiles .tile .content .en {
  display: none;
}

/* busin1 페이지 전용 - Tiled 플러그인 완전 무시 */
.busin1-page .tiles .tile .a .content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  color: #fff !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  padding: 20px !important;
  background: rgba(0, 0, 0, 0.6) !important;
}

.busin1-page .tiles .tile .a .content .head,
.busin1-page .tiles .tile .a .content .desc {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Tiled 플러그인 오버라이드 - busin1 페이지에서만 */
.busin1-page .tiles .tile .a .content {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 999 !important;
  background: rgba(0, 0, 0, 0.6) !important;
}

/* 일반 sec3 섹션에도 동일한 스타일 적용 */
.page-content .section.sec3 .tiles .tile .a .content {
  background: rgba(0, 0, 0, 0.6) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999 !important;
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 20px !important;
}

/* 더 강력한 오버라이드 */
.busin1-page .tiles .tile .a .content,
.busin1-page .tiles .tile .a .content * {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.busin1-page .tiles .tile .a .content .head {
  font-size: 18px !important;
  font-weight: bold !important;
  margin-bottom: 15px !important;
  line-height: 1.3 !important;
  max-height: 50px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.busin1-page .tiles .tile .a .content .desc {
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin-bottom: 15px !important;
  max-height: 80px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
}

.busin1-page .tiles .tile .a .content .en {
  font-size: 12px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* busin1 페이지 전용 스타일 */
.busin1-page .sec3 .tiles .tile .a .content {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.busin1-page .sec3 .tiles .tile .a .content .head,
.busin1-page .sec3 .tiles .tile .a .content .desc {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 767px) {
  .page-content .content-wrapper .penalty-table {
    font-size: 0.85rem;
  }

  .page-content .content-wrapper .penalty-table th,
  .page-content .content-wrapper .penalty-table td {
    padding: 8px 5px;
  }

  .page-content .content-wrapper .penalty-table td:first-child {
    width: auto;
  }

  /* 모든 박스 높이 동일하게 설정 */
  .page-content .sec3-5 .process-flow .flow-step.equal-height {
    height: 200px;
  }

  .page-content .sec3-5 .process-flow .flow-step.equal-height.size-300 {
    height: 300px;
  }
}

/* 세로 프로세스 플로우 스타일 */
.page-content .vertical-process-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
}

.page-content .vertical-process-flow .top-steps,
.page-content .vertical-process-flow .bottom-steps {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

.page-content .vertical-process-flow .step-box {
  flex: 1;
  background: #fff;
  border: 1px solid var(--main-color3);
  border-radius: 10px;
  padding: 20px 15px;
  text-align: center;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

/* 위 박스들은 주황색 배경, 흰색 텍스트 */
.page-content .vertical-process-flow .top-steps .step-box {
  background: var(--main-color1);
  border-color: var(--main-color1);
  color: #fff;
}

/* 아래 박스들은 흰색 배경, 주황색 테두리 */
.page-content .vertical-process-flow .bottom-steps .step-box {
  background: #fff;
  border-color: var(--main-color1);
  color: #333;
}

.page-content .vertical-process-flow .step-box:hover {
  border-color: var(--main-color1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.page-content .vertical-process-flow .step-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

.page-content .vertical-process-flow .step-desc {
  font-size: 0.875rem;
  line-height: 1.4;
}

/* 위 박스 제목은 흰색 */
.page-content .vertical-process-flow .top-steps .step-box .step-title {
  color: #fff;
}

/* 아래 박스 설명은 진한 회색 */
.page-content .vertical-process-flow .bottom-steps .step-box .step-desc {
  color: #333;
}

.page-content .vertical-process-flow .flow-arrows {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 20px 0;
}

.page-content .vertical-process-flow .flow-arrow-down {
  flex: 1;
  font-size: 2rem;
  color: var(--main-color1);
  text-align: center;
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content .vertical-process-flow .top-steps,
  .page-content .vertical-process-flow .bottom-steps {
    gap: 15px;
  }

  .page-content .vertical-process-flow .step-box {
    padding: 15px 10px;
    min-height: 70px;
  }

  .page-content .vertical-process-flow .step-title {
    font-size: 0.9rem;
  }

  .page-content .vertical-process-flow .step-desc {
    font-size: 0.8rem;
  }
}

@media (max-width: 767px) {
  .page-content .vertical-process-flow {
    gap: 20px;
  }

  .page-content .vertical-process-flow .top-steps,
  .page-content .vertical-process-flow .bottom-steps {
    flex-direction: column;
    gap: 15px;
  }

  .page-content .vertical-process-flow .flow-arrows {
    flex-direction: column;
    gap: 15px;
  }

  .page-content .vertical-process-flow .step-box {
    min-height: 60px;
  }

  .page-content .vertical-process-flow .step-title {
    font-size: 0.85rem;
  }

  .page-content .vertical-process-flow .step-desc {
    font-size: 0.75rem;
  }
}

/* 공연장 안전관리 효과 그리드 스타일 */
.page-content .effects-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 40px;
}

.page-content .effect-box {
  background: #fff;
  border: 2px solid var(--main-color1);
  border-radius: 15px;
  padding: 25px 20px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.page-content .effect-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-color: var(--main-color2);
}

.page-content .effect-box .effect-num {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--main-color1);
  margin-bottom: 15px;
  line-height: 1;
}

.page-content .effect-box .effect-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--main-color3);
  margin-bottom: 15px;
  line-height: 1.4;
}

.page-content .effect-box .effect-desc {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
}

/* 반응형 스타일 */
@media (max-width: 1024px) {
  .page-content .effects-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }

  .page-content .effect-box {
    padding: 20px 15px;
  }

  .page-content .effect-box .effect-num {
    font-size: 2rem;
  }

  .page-content .effect-box .effect-title {
    font-size: 1rem;
  }

  .page-content .effect-box .effect-desc {
    font-size: 0.85rem;
  }
}

@media (max-width: 767px) {
  .page-content .effects-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .page-content .effect-box {
    padding: 18px 15px;
  }

  .page-content .effect-box .effect-num {
    font-size: 1.8rem;
  }

  .page-content .effect-box .effect-title {
    font-size: 0.95rem;
  }

  .page-content .effect-box .effect-desc {
    font-size: 0.8rem;
  }
}
