@charset "utf-8";

/**************************************************
  서브레이아웃
***************************************************/
.sub-visual{position:relative;height:600px;background:url('/resources/user/web/images/sub/img_sub_visual_01.jpg') center/cover no-repeat;display:flex;align-items:flex-end;padding-bottom:80px;color:var(--white);overflow:visible!important; padding-top: 80px;}
.sub-visual.sub-visual-02 {background:url('/resources/user/web/images/sub/img_sub_visual_02.jpg') center/cover no-repeat;}
.sub-visual.sub-visual-03 {background:url('/resources/user/web/images/sub/img_sub_visual_03.jpg') center/cover no-repeat;}
.sub-visual.sub-visual-04 {background:url('/resources/user/web/images/sub/img_sub_visual_04.jpg') center/cover no-repeat;}
.sub-visual.sub-visual-05 {background:url('/resources/user/web/images/sub/img_sub_visual_05.jpg') center/cover no-repeat;}
.sub-visual.sub-visual-06 {background:url('/resources/user/web/images/sub/img_sub_visual_06.jpg') center/cover no-repeat;}
.sub-visual.sub-visual-07 {background:url('/resources/user/web/images/sub/img_sub_visual_07.jpg') center/cover no-repeat;}
.sub-visual-inner{display:flex;justify-content:space-between;align-items:flex-end;width:100%;margin:0 auto;}
.visual-title-area{text-align:left;flex:1;}
.visual-title-area h1{font-size:var(--fs-h1);font-weight:700;margin-bottom:20px;line-height:1.1;}
.visual-title-area p{font-size:var(--fs-24);opacity:.9;margin-bottom:50px;font-weight:300; word-break: keep-all;}
.visual-nav-area{display:flex;gap:15px;}
.visual-nav-area .select-box{position:relative;width:300px;z-index: 10;}
.visual-nav-area .select-box .label{width:100%;height:64px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.3);border-radius:32px;color:var(--white);padding:0 55px 0 30px;text-align:left;cursor:pointer;position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;}
.visual-nav-area .select-box .label::after{content:'';position:absolute;right:25px;top:50%;width:10px;height:10px;border-bottom:2px solid var(--white);border-right:2px solid var(--white);transform:translateY(-70%) rotate(45deg);transition:all .3s ease;}
.visual-nav-area .select-box.is-open {z-index: 100;}
.visual-nav-area .select-box.is-open .label{background:rgba(0,0,0,.6);border-color:var(--primary-1);}
.visual-nav-area .select-box.is-open .label::after{transform:translateY(-20%) rotate(225deg);}
.visual-nav-area .select-box .option-list{display:none;position:absolute;top:72px;left:0;width:100%;background:rgba(15,15,15,.95);border-radius:20px;padding:15px 0;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index: 100;}
.visual-nav-area .select-box .option-list li a{display:block;padding:8px 30px;color:var(--white);font-size:var(--fs-16);transition:all .2s;}
.visual-nav-area .select-box .option-list li a:hover{background:rgba(255,255,255,.1);color:var(--primary-3);}
.visual-nav-area .select-box .option-list li a[target="_blank"]::after {content: ''; display: inline-block; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat -1079px -2px; width: 16px; height: 16px; margin-top: -4px; vertical-align: middle; margin-left: 10px;}
.mob-dep-03-list li a:hover { font-weight: bold; }

@media screen and (max-width:1200px){
  .sub-visual{height:auto;min-height:450px;padding:110px 0 40px;}
  .sub-visual-inner{flex-direction:column;align-items:flex-start;gap:30px;}
  .visual-nav-area{width:100%;}
  .visual-nav-area .select-box{width:50%;}
}
@media screen and (max-width:768px){
  .visual-title-area h1{font-size:40px;}
  .visual-title-area p{ margin-bottom: 30px;}
  .visual-nav-area {flex-direction: column; gap: 8px;}
  .visual-nav-area .select-box {width: 100%;}
  .visual-nav-area .select-box .label{height:54px;font-size:16px;}
  .visual-nav-area .select-box .option-list{top:60px;}
}

/* 페이지 유틸 */
.com-page-util { display: flex; position: absolute; top: 20px; right: 0;}
.com-page-util li {display: flex; align-items: center;}
.com-page-util li::after {content: ''; background: var(--gray-300); width: 1px; height: 17px; display: block; margin: 0 15px;}
.com-page-util li:last-child:after {display: none;}
.com-page-util .btn-util {display: inline-block; cursor: pointer; transition: all 0.3s;}
.com-page-util .btn-share {width: 20px; height: 22px; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -725px -1px;}
.com-page-util .btn-print {width: 20px; height: 20px; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -779px -2px;}

@media screen and (max-width:1400px){
  .com-page-util {right: 0 }
}
/* 260618 수정 */
@media screen and (max-width:1024px){
    .com-page-util .print {display: none;}
     .com-page-util li {display:flex; align-items:center; justify-content:center; border: 1px solid var(--border); border-radius: 5px; width:2.2rem; height:2.2rem;}
    .com-page-util li::after {display: none;}
}
/* // 260618 수정 */
@media screen and (max-width:768px){
  .com-page-util {position: static; justify-content: flex-end; margin-top: 10px;}
}

.print-header {display : none; }

/* 프린트 */
@media print {

    @page{
        margin-top: 0;
    }
    body * { visibility: hidden;}
    #subContentWrap, #subContentWrap * { visibility: visible;}
    #subContentWrap { position: absolute; left: 0; top: 0; width: 100%; margin: 0; padding: 10mm;}

    .print-header {
        display : flex;
        visibility : visible;
        justify-content: space-between;
        align-items: center;
        border-bottom: 2px solid #333;
        padding: 10px 0 8px;
        margin-bottom: 20px;
    }

    .print-header .print-breadcrumb { font-size: 15px; color: #333;}
    .print-header .print-breadcrumb span { font-weight: normal;}
    .print-header .print-breadcrumb span:last-child { font-weight: bold;}
    .print-header .print-breadcrumb span + span::before {content: " > "; color: #999;}
    .print-header .print-date { font-size: 15px; color: #666}

    .com-title-wrap,
    .com-page-util,
    .board-search,
    .com-tab-box,
    .com-pagination {display: none !important;}
}


/**************************************************
  서브 컨텐츠 공통
***************************************************/
/* 기본 레이아웃 */
/* 260618 수정 */
.sub-content-wrap {word-break: keep-all; padding: 80px 0 150px 0;}
/* // 260618 수정 */
.sub-content-wrap .sub-box {border: 1px solid var(--border); border-radius: 10px; padding: 50px;}

/* 소제목 타이틀 */
.sub-content-wrap strong.tit {font-size: var(--fs-20); display: block; margin-bottom: 10px;}
.sub-content-wrap strong.tit.blue {color: var(--primary-1);}

/* 공지 텍스트 */
.sub-content-wrap .noti-tit {position: relative; font-weight: bold; margin-bottom: 10px;display: inline-flex; align-items: center; gap: 10px;}
.sub-content-wrap .noti-tit::before {content: ''; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1110px -366px; width: 20px; height: 21px; display: block; }

/* 포인트컬러 : 블루 */
.sub-content-wrap .point-blue {color: var(--primary-1);}
.sub-content-wrap .point-lb {color: var(--primary-3);}

@media (max-width: 1024px) { 
  .sub-content-wrap .sub-box {padding: 24px;}
}

/* 260618 수정*/
/* 모바일 br */
br.mob-br {display: none;}
@media (max-width: 480px) {
    br.mob-br {display: block;}
}

/* // 260618 수정*/


/* 페이지 하단 정보 카드 */
.page-manager-wrap { margin-bottom:60px}
.page-manager { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 30px 50px; border: 1px solid #e0e4e8; border-radius: 8px;  gap: 20px; }
.page-manager-contact { display: flex; align-items: center; gap: 10px 20px; }
.page-manager-title { position:relative; padding-left: 60px; font-size: var(--fs-20); font-weight: 700; display: flex; align-items: center; gap: 20px; }
.page-manager-contact .page-manager-icon { background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -53px -127px; width:50px; height: 49px; position: absolute; left: 0;}
.page-manager-info { display: flex; align-items: center; gap: 14px; margin-left: 20px; }
.page-manager-info span { color: var(--text-muted); }
.page-manager-phone { display: flex; align-items: center; }
.page-manager-phone::before { content: ""; display: inline-block; width: 8px; height: 8px; background-color: var(--gray-200); border-radius: 50%; margin-right: 14px; }
.page-manager-update {display: flex; align-items: center;}
.page-manager-update span {color: var(--text-muted);}
.page-manager-update .page-manager-icon{ background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -985px 0;width: 16px; height: 18px; margin-right: 10px;}
.page-manager-date { display: flex; align-items: center; }
.page-manager-date::before { content: ""; display: inline-block; width: 1px; height: 18px; background-color: var(--gray-200); margin: 0 15px; }

@media screen and (max-width: 1024px) { 
  .page-manager {padding: 20px 24px;}
  .page-manager-contact {gap: 10px;}
  .page-manager-title {gap: 10px;}
  .page-manager-info {margin-left: 0;}
}
@media screen and (max-width: 768px) { 
  .page-manager { flex-direction: column; align-items: center; gap: 10px; padding: 16px;} 
  .page-manager-contact .page-manager-icon {transform: scale(.6);}
  .page-manager-title { padding-left:36px;  }
.page-manager-contact .page-manager-icon { left: -10px;}
  .page-manager-phone::before {width: 4px; height: 4px;}
}
@media screen and (max-width: 640px) {
  .page-manager-contact {flex-direction: column; align-items: center; gap: 0;}
  .page-manager-info {gap: 8px; flex-wrap: wrap;}
  .page-manager-phone::before {margin-right: 8px;}
}

/* 단계 리스트 */
.sub-step-list { width: 100%; margin-top: 50px; }
.sub-step-list .step-list { display: flex; justify-content: space-between; position: relative;}
.sub-step-list .step-item { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; padding: 0 12px; }
.sub-step-list.type-01 .step-item::before { content: ''; position: absolute; top: 120px; left: 50%; width: 100%; height: 1px; background-color: var(--border); z-index: 1; }
.sub-step-list.type-01 .step-item:last-child::before { display: none; }
.sub-step-list.type-01 .step-item::after { content: ''; position: absolute; top: 117px; right: -5px; width: 8px; height: 8px; border-top: 1px solid var(--gray-300); border-right: 1px solid var(--gray-300); transform: rotate(45deg); z-index: 1; }
.sub-step-list .step-item:last-child::after { display: none; }
.sub-step-list .icon-area { width: 100px; height: 100px; border-radius: 50%; background-color: var(--surface); display: flex; align-items: center; justify-content: center; margin-bottom: 40px; z-index: 2; }
.sub-step-list .dot { position: absolute; top: 117px; left: 50%; transform: translateX(-50%); width: 7px; height: 7px; background-color: var(--gray-300); border-radius: 50%; z-index: 2; }
.sub-step-list .step-badge { background-color: var(--primary-1); color: var(--white); font-size: var(--fs-14); padding: 4px 15px; border-radius: 20px; margin-bottom: 24px; z-index: 2; }
.sub-step-list .step-card { width: 100%; max-width: 330px; min-height: 190px; background-color: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 30px 24px; }
.sub-step-list .card-title { font-size: var(--fs-20); font-weight: 700; margin: 0 0 16px 0; padding-bottom: 16px; border-bottom: 1px solid var(--border); text-align: center; }
.sub-step-list em {font-size: var(--fs-16);}

/* 인사제도 및 복리후생 .sub-step-lis.type-02 */ 
.sub-step-list.type-02 .step-list::after {content: ''; width: calc(100% - 20px); height: 2px; background: var(--gray-200); position: absolute;left: 50%; top: 40px; transform: translateX(-50%);} 
.sub-step-list.type-02 .icon-area {width: 80px; height: 80px; background: var(--white); border: 4px solid var(--border); margin-bottom: 24px;}
.sub-step-list .step-card {min-height: 180px;}
.sub-step-list.type-02 p {text-align: center; color: var(--text-muted); font-size: var(--fs-16);}
.sub-step-list.type-02 .step-item.bd .icon-area {border-color: var(--primary-1);}
.sub-step-list.type-02 .step-item.bg .icon-area {border-color: var(--primary-1); background: var(--primary-1); color: var(--white);}
.sub-step-list.type-02 .step-item.bg .step-card {background-color: var(--primary-1); color: var(--white);}
.sub-step-list.type-02 .step-item.bg .step-card p {color: var(--white);}

/* 채용제도 .sub-step-lis.type-03 */ 
.sub-step-list.type-03 {position: relative; margin-bottom: 80px}
.sub-step-list.type-03 .step-card {position: relative; padding: 50px 40px; max-width: 400px; min-height: 375px;}
.sub-step-list.type-03 .step-card::after { content: ''; position: absolute; top: 50%; right: -35px; transform: translateY(-50%) rotate(45deg); width: 15px; height: 15px; border-top: 2px solid var(--gray-300); border-right: 2px solid var(--gray-300);}
.sub-step-list.type-03 li:last-child .step-card::after {display: none;}
.sub-step-list.type-03 .icon-area {margin :0 auto 20px;}
.sub-step-list.type-03 .step-badge {position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font-size: var(--fs-18); padding: 4px 24px; }

/* 청탁금지법 위반신고 .sub-step-lis.type-04 */
.sub-step-list.type-04 .step-list {display: grid; grid-template-columns: repeat(3,1fr); gap: 50px;}
.sub-step-list.type-04 .step-item {background: var(--white); border: 1px solid var(--border); max-width: 300px; padding: 40px 20px;}
.sub-step-list.type-04 .step-item:nth-child(4) {order: 3;}
.sub-step-list.type-04 .step-item:nth-child(5) {order: 2;}
.sub-step-list.type-04 .step-item:nth-child(6) {order: 1;}
.sub-step-list.type-04 .step-badge {position: absolute; top: -14px; min-width: 130px; text-align: center;}
.sub-step-list.type-04 strong.tit {margin-bottom: 0; color: var(--text);}
.sub-step-list.type-04 .icon-area {margin-bottom: 20px;}
.sub-step-list.type-04 .step-list {--gap: 60px;  display: grid; grid-template-columns: repeat(3, 1fr);gap: var(--gap);}
.sub-step-list.type-04 .step-item { background: var(--white); border: 1px solid var(--border); width: 100%;  max-width: none;  padding: 40px 20px;}
.sub-step-list.type-04 .step-item:nth-child(4) { grid-column: 3; }
.sub-step-list.type-04 .step-item:nth-child(5) { grid-column: 2; }
.sub-step-list.type-04 .step-item:nth-child(6) { grid-column: 1; }
.sub-step-list.type-04 .step-item::after { content: ''; position: absolute; width: 12px; height: 12px; border-top: 2px solid var(--gray-300, #999); border-right: 2px solid var(--gray-300, #999); z-index: 1; }
.sub-step-list.type-04 .step-item:nth-child(1)::after, .sub-step-list.type-04 .step-item:nth-child(2)::after { top: 50%; right: calc(var(--gap) / 2 * -1); transform: translate(50%, -50%) rotate(45deg); }
.sub-step-list.type-04 .step-item:nth-child(3)::after { bottom: calc(var(--gap) / 2 * -1); left: 50%; transform: translate(-50%, 50%) rotate(135deg); }
.sub-step-list.type-04 .step-item:nth-child(4)::after, .sub-step-list.type-04 .step-item:nth-child(5)::after { top: 50%; left: calc(var(--gap) / 2 * -1); transform: translate(-50%, -50%) rotate(-135deg); }
.sub-step-list.type-04 .step-item:nth-child(6)::after { display: none; }

@media (max-width: 1024px) { 
  .sub-step-list .step-card {padding: 18px 14px;}
  .sub-step-list .step-item {padding: 0 6px;} 
  .sub-step-list.type-03 .step-card {padding: 30px 20px;}
  .sub-step-list.type-03 .step-card::after {display: none;}
  .sub-step-list.type-04 .step-list {--gap: 30px 20px; grid-template-columns: repeat(2,1fr); }
  .sub-step-list.type-04 .step-item { padding: 30px 10px;}
  .sub-step-list.type-04 .step-item:nth-child(4) {order: 1;}
  .sub-step-list.type-04 .step-item:nth-child(5) {order: 2;}
  .sub-step-list.type-04 .step-item:nth-child(6) {order: 3;}
  .sub-step-list.type-04 .step-item:nth-child(4) { grid-column:auto }
  .sub-step-list.type-04 .step-item:nth-child(5) { grid-column:auto }
  .sub-step-list.type-04 .step-item:nth-child(6) { grid-column:auto }
}
@media (max-width: 768px) { 
  .sub-step-list .step-list { flex-direction: column; gap: 30px;}
  .sub-step-list .step-card {max-width: 100% !important; min-height: auto!important;} 
  .sub-step-list .step-item::before, .sub-step-list .step-item::after, .sub-step-list .dot { display: none; } 
  .sub-step-list .icon-area { margin-bottom: 20px; } 
  .sub-step-list.type-01.grid .step-list { display: grid; grid-template-columns: repeat(2, 1fr);  gap: 30px 10px}
  .sub-step-list.type-01.grid .step-item { width: 100%; padding: 0; }
  .sub-step-list.type-02 .step-list::after {display: none;}
  .sub-step-list.type-04 .step-list {grid-template-columns: 1fr; }
}

/* 아이콘 스프라이트 */
.sub-step-list .icon-sprite { display: block; width: 67px; height: 67px; background-image: url('/resources/user/web/images/icon/icon_sprite_sub.svg');  background-repeat: no-repeat;}
.icon-sprite.icon-search { background-position: -130px -122px;}
.icon-sprite.icon-mail { background-position: -209px -125px;}
.icon-sprite.icon-scroll-pen { background-position: -289px -124px;}
.icon-sprite.icon-paper-pen { background-position: -370px -117px;}
.icon-sprite.icon-chart { background-position: -460px -124px;}
.icon-sprite.icon-bubble-check { background-position: -550px -124px;}
.icon-sprite.icon-lightbulb { background-position: -640px -124px;}
.icon-sprite.icon-doc-search { background-position: -728px -120px;}
.icon-sprite.icon-appeal-doc { background-position: -810px -123px;}
.icon-sprite.icon-user-check { background-position: -894px -117px;}
.icon-sprite.icon-search-chart { background-position: -985px -130px;}
.icon-sprite.icon-checklist { background-position: -1058px -122px;}

.icon-sprite-sm {width: 22px; height: 22px; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat; display: block;}
.icon-sprite-sm.icon-gift {background-position: 0 -365px;}
.icon-sprite-sm.icon-scholarship {background-position: -55px -366px;}
.icon-sprite-sm.icon-home {background-position: -109px -365px;}
.icon-sprite-sm.icon-building {background-position: -163px -365px;}
.icon-sprite-sm.icon-leisure {background-position: -216px -366px;}
.icon-sprite-sm.icon-fund {background-position: -271px -366px;}
.icon-sprite-sm.icon-heart {background-position: -325px -365px;}
.icon-sprite-sm.icon-etc {background-position: -378px -365px;}


/**************************************************
  헌장 공통 (020202 환경경영 헌장 / 안전보건 경영방침 / 안전보건 관리헌장)
***************************************************/
.sub-charter-box { position: relative; border: 1px solid var(--border); padding: 80px; }
.sub-charter-box::before {content: ''; background: url('/resources/user/web/images/sub/img_charter_bg.png') no-repeat center top / contain; width: 482px; height: 172px; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 0}
.sub-charter-box .charter-head { padding: 40px 0 80px; text-align: center;  }
.sub-charter-box .charter-tit { position: relative; font-size: var(--fs-h3); color: var(--primary-1); font-weight: 800; padding: 0 70px; margin-bottom: 30px; }
.sub-charter-box .charter-tit::before, .sub-charter-box .charter-tit::after{ content: ''; position: absolute; top: 50%; width: 25%; height: 2px; background: var(--primary-1); opacity: 0.3; }
.sub-charter-box .charter-tit::before { left: 0; } 
.sub-charter-box .charter-tit::after { right: 0; }
.sub-charter-box .charter-intro { font-size: var(--fs-24); }
.sub-charter-box .charter-intro strong.bold { font-weight: 700; }
.sub-charter-box .charter-body { background: var(--surface); padding: 50px; border-radius: 10px; }
.sub-charter-box .charter-list li { display: flex; gap: 25px; padding: 40px 0; border-bottom: 1px dashed var(--gray-300); align-items: center}
.sub-charter-box .charter-list li:first-child { padding-top: 0; } .sub-charter-box .charter-list li:last-child { border-bottom: 0; }
.sub-charter-box .charter-list .num { flex-shrink: 0; width: 56px; height: 56px; background: var(--primary-1); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--fs-18); border-radius: 4px; }
.sub-charter-box .charter-list .text { flex: 1; margin-top: 5px; }
.sub-charter-box .charter-list .tit { font-size: var(--fs-20); display: block; font-size: var(--fs-22);  }
.sub-charter-box .charter-footer { margin-top: 30px; text-align: center; }
.sub-charter-box .charter-footer .sign { display: inline-flex; align-items: center; gap: 15px; font-size: var(--fs-24); }
.sub-charter-box .charter-footer .name { font-family: 'Gungsuh', serif; font-size: 1.5em; font-weight: bold; }
.sub-charter-box .charter-footer .date {font-size: var(--fs-24);}
.sub-charter-box .com-info-box{font-size: var(--fs-20); text-align: center;}
.sub-charter-box .com-info-box .desc-02 { font-weight: bold; margin-top: 10px;}

.charter-step-list { display: flex; border: 1px solid var(--border); background: var(--white);  }
.charter-step-list li { flex: 1; padding: 24px 10px 24px 30px; display: flex; flex-direction: column; gap: 8px; position: relative; border-right: 1px solid var(--border); align-items: flex-start; justify-content: center; }
.charter-step-list li:first-child { padding-left: 20px; }
.charter-step-list li:last-child { border-right: 0; }
.charter-step-list li:not(:last-child)::after { content: ''; position: absolute; right: -13px; top: 50%; width: 24px; height: 24px; background: var(--white); border-top: 1px solid var(--border); border-right: 1px solid var(--border); transform: translateY(-50%) rotate(45deg); z-index: 1; }

.sub-charter-box.type-02 .charter-tit {color: var(--secondary-1);}
.sub-charter-box.type-02 .charter-list .num {background: var(--secondary-1);}

@media screen and (max-width: 1200px) {
  .sub-charter-box{padding: 50px;}
  .sub-charter-box .charter-body {padding: 30px;}
  .sub-charter-box .charter-list li {padding: 20px 0;}

  .charter-step-list {flex-wrap: wrap;}
}
@media screen and (max-width: 1024px) {
  .sub-charter-box {padding: 50px;}
  .sub-charter-box::before {width: 350px; height: 180px;background-size: contain;}
  .sub-charter-box .charter-head {padding: 0 0 20px 0;}
  .sub-charter-box .charter-body { padding: 30px; }
  .sub-charter-box .charter-intro { font-size: var(--fs-18); padding: 0 20px; }
}
/* 260618 수정 */
@media screen and (max-width: 768px) {
    .sub-charter-box {padding: 15px;}
    .sub-charter-box::before {width: 240px; height: 110px;background-size: contain;}
    .sub-charter-box .charter-head { padding-top: 20px; }
    .sub-charter-box .charter-body {padding: 20px;}
    .sub-charter-box .charter-tit { font-size: var(--fs-24); padding: 0; }
    .sub-charter-box .charter-intro {padding: 0;}
    /* // 260618 수정 */
  .sub-charter-box .charter-list li { flex-direction: column; gap: 10px; padding: 20px 0;;}
  .sub-charter-box .charter-list .num { width: 35px; height: 35px; font-size: var(--fs-16); margin-right: auto;}
  .sub-charter-box .charter-list .tit { font-size: var(--fs-20); }
  .sub-charter-box .charter-list .desc { font-size: var(--fs-16); }
  .sub-charter-box .charter-footer .sign { font-size: var(--fs-20); flex-direction: column; }

  .charter-step-list { flex-direction: column; }
  .charter-step-list li { padding: 20px !important; border-right: 0; border-bottom: 1px solid var(--border); }
  .charter-step-list li:last-child { border-bottom: 0; }
  .charter-step-list li:not(:last-child)::after { right: auto; left: 50%; top: auto; bottom: -13px; transform: translateX(-50%) rotate(135deg); }

  .sub-charter-box .charter-tit::before, .sub-charter-box .charter-tit::after{display: none;}
}


/**************************************************
  본인인증
***************************************************/
.auth-wrap .com-info-box {margin-bottom: 50px ;}
.auth-card-wrap { display: flex; gap: 40px; }
.auth-card-item { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 50px 40px; border: 1px solid var(--gray-300); border-radius: 8px; background-color: var(--white); text-align: center; }
.auth-card-item .card-icon-wrap { width: 104px; height: 104px; background-color: var(--surface); border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-bottom: 40px; }
.auth-card-item .card-icon-wrap::before {  content: '';  display: block;  width: 60px; height: 60px; background-image: url('/resources/user/web/images/icon/icon_sprite_sub.svg'); background-position: center; background-repeat: no-repeat;}
.auth-card-item.type-phone .card-icon-wrap::before {background-position: -407px -47px;}
.auth-card-item.type-ipin .card-icon-wrap::before { background-position: -498px -46px;}
.auth-card-item.type-cert .card-icon-wrap::before { background-position: -588px -47px;}
.auth-card-item .card-title { display: block; font-size: var(--fs-24); font-weight: 700; margin-bottom: 20px; }
.auth-card-item .card-desc { margin-bottom: 40px; word-break: keep-all; flex-grow: 1; }
.auth-card-item .card-btn-wrap { width: 100%; }
.auth-card-item .com-sub-btn {margin: 0 auto;}

@media screen and (max-width: 1080px) {
  .auth-card-wrap { flex-direction: column; gap: 20px; }
}
@media screen and (max-width: 768px) {
  .auth-info-wrap {margin-bottom: 40px; padding: 24px;}
  .auth-card-item {padding: 30px 20px;}
  .auth-card-item .card-icon-wrap {margin-bottom: 25px;}
  .auth-card-item .card-title{ margin-bottom: 10px;}
  .auth-card-item .card-desc {margin-bottom: 30px;}
}

/* 로고박스 */
.sub-brand-section { gap: 40px; width: 100%; }
.sub-brand-section-02 { padding: 50px; border:1px solid var(--border); border-radius: 5px; }
.sub-grid-box { min-height: 250px; border: 1px solid #eaeaea;  background-color: #fff; background-image:  linear-gradient(#f0f0f0 1px, transparent 1px),  linear-gradient(90deg, #f0f0f0 1px, transparent 1px); background-size: 15px 15px; display: flex; align-items: center; justify-content: center;  padding: 20px;}
.sub-grid-box .emblem-img { width: auto; height: auto; max-width: 80%; max-height: 80%; object-fit: contain; }
.sub-brand-desc {margin-top: 16px;}

@media screen and (max-width: 768px) {
  .sub-grid-box { aspect-ratio: auto; min-height: 200px;}
  .sub-grid-box .slogan-text { font-size: var(--fs-24, 24px); }
}

/* 서브 그리드 */
.sub-list-grid { display: grid; gap: 24px; }
.sub-list-grid.col-2 { grid-template-columns: repeat(2, 1fr);}
.sub-list-grid.col-3 { grid-template-columns: repeat(3, 1fr);}
.sub-list-grid .sub-list-box { background: var(--white); border: 1px solid var(--border); border-radius: 24px; padding: 30px; min-height: 196px; }
.sub-list-grid .sub-list-box .head {display: flex; gap: 20px; justify-content: space-between; margin-bottom: 24px;}
.sub-list-grid .sub-list-box .head_icon {width: 56px; height: 56px; background: #f1f5f9; border-radius: 16px; display: flex; align-items: center; justify-content: center;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite {width: 28px; height: 25px; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat; display: block;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-group {background-position: -431px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-target {background-position: -490px -365px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-send {background-position:-549px -365px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-medal {background-position:-605px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-calendar {background-position:-664px -363px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-check {background-position:-722px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-warning {background-position: -780px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-crown{background-position:-836px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-like {background-position:-889px -366px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-user{background-position: -944px -365px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-building{background-position:-998px -365px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-doc{background-position: -1392px -365px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-bag{background-position: -1448px -364px;}
.sub-list-grid .sub-list-box .head_icon .icon-sprite.icon-pc{background-position: -1213px -364px;}
.sub-list-grid .sub-list-box .head_num {font-size: var(--fs-36); font-weight: bold; color: var(--gray-200); }
.sub-list-grid .sub-list-box .num {color: #999; font-weight: 500;}
.sub-list-grid .sub-list-box .tit { font-size: var(--fs-20); font-weight: 700; margin-bottom: 15px; position: relative; padding-left: 20px; }
.sub-list-grid .sub-list-box .tit::before { content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 5px; background-color: var(--primary-1); border-radius: 5px; }
.sub-list-grid .sub-list-box .desc { color: var(--text-muted);  }
.sub-list-grid .sub-list-box .desc span {color: var(--primary-1);}

@media screen and (max-width: 1024px) {
  .sub-list-grid .sub-list-box { padding: 24px; }
}
@media screen and (max-width: 768px) {
  .sub-list-grid.col-2 { grid-template-columns: 1fr;}
  .sub-list-grid.col-3 { grid-template-columns: 1fr;}
}

/* 링크 복사 */
.sub-link-box { align-items: center; gap: 8px; background: #F8FAFC; padding: 14px 20px; border-radius: 12px; margin-top: 12px; }
.sub-link-box .text {color: var(--primary-4); font-weight: 600;}
.sub-link-box .copy-text { font-size: var(--fs-14); font-weight: 700; color: var(--primary-1); }
.sub-link-box .btn-copy { display: inline-block; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1277px 0; width: 11px; height: 13px; margin-left: 5px;}

/* 서브 상단 배너 */
.sub-banner { box-sizing: border-box; position: relative; padding: 0 100px; height: 280px; background: url('/resources/user/web/images/sub/bg_sub_banner.png') no-repeat center / cover; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.sub-banner .txt-area { flex: 1; }
.sub-banner .banner-tit { display: block; font-size: var(--fs-36); color: var(--primary-5); font-weight: 700; margin-bottom: 16px; word-break: keep-all; }
.sub-banner .banner-tit span { color: var(--primary-1); }
.sub-banner .banner-desc { color: var(--text-muted); }
.sub-banner .img-area { width: 338px; flex-shrink: 0; }

@media (max-width: 1400px) { 
  .sub-banner { padding: 0 60px; } 
  .sub-banner .img-area { width: 200px; } 
}
@media (max-width: 1024px) { 
  .sub-banner { padding: 0 40px; } 
  .sub-banner .img-area { width: 180px; } 
}
@media (max-width: 768px) { 
  .sub-banner {height: auto; padding: 30px; background-position: right bottom}
  .sub-banner .img-area { display: none; } 
}




/**************************************************
  0101 CEO 인사말
***************************************************/
.greeting-title { font-size: var(--fs-36); font-weight: 700; margin-bottom: 50px; line-height: 1.3; }
.greeting-banner-wrap { position: relative; }
.greeting-banner { position: relative; overflow: hidden;  margin-bottom: 60px; padding: 70px 620px 70px 115px; background-color: var(--surface); border-radius: 150px; }
.greeting-banner::after { content: ''; position: absolute; top: 25px; right: 10px;  width: 340px; height: 113px;  background: url('/resources/user/web/images/sub/img_greeting_bg.png') right/contain no-repeat; }
.greeting-banner p { position: relative; z-index: 3; font-size: var(--fs-24); font-weight: 700; }
.greeting-ceo { position: absolute; bottom: 0; right: 260px; z-index: 2; }
.greeting-ceo img { display: block; width: 100%; max-width: 340px; transition: max-width 0.3s ease; }
.greeting-content p { font-size: var(--fs-20); color: var(--text-muted); }
.greeting-sign { display: flex; justify-content: flex-end; align-items: center; margin-top: 60px; }
.greeting-sign p { display: flex; align-items: center; gap: 28px; font-size: var(--fs-24); color: var(--text-muted); }

@media (max-width: 1400px) { 
    .greeting-banner { padding: 60px 500px 60px 80px; }
    .greeting-ceo img { max-width: 300px; } 
}
@media (max-width: 1200px) { 
    .greeting-banner { padding: 50px 300px 50px 60px; }
    .greeting-banner::after { width: 250px; height: 82px; }
    .greeting-ceo { right: 160px; }
    .greeting-ceo img { max-width: 280px; } 
}
@media (max-width: 1024px) { 
    .greeting-banner { padding: 50px 100px 50px 60px; }
    .greeting-banner::after { width: 200px; height: 67px; }
    .greeting-ceo { right: 90px; }
    .greeting-ceo img { max-width: 220px; } 
}
@media (max-width: 768px) { 
    .greeting-title { position: relative; z-index: 5; }
    .greeting-banner { display: flex; flex-direction: column; align-items: center;  margin-bottom: 30px; padding: 30px 20px;  border-radius: 10px; } 
    .greeting-banner p { text-align: center; } 
    .greeting-ceo { top: -195px; bottom: auto; right: 40px; } 
    .greeting-ceo img { max-width: 200px; } 
}
@media (max-width: 480px) {
    .greeting-ceo { top: -155px; right: 10px; } 
    .greeting-ceo img { max-width: 160px; }
    .greeting-sign p {gap: 20px;}
}


/**************************************************
  0102 비전
***************************************************/
.sub-content-wrap { background: var(--white); }
.vision-wrap { --vision-cyan: var(--secondary-1); --vision-blue: var(--primary-1); --vision-navy: var(--primary-4); --vision-green: #19b56d; display: flex; flex-direction: column; align-items: center; color: var(--text); }
.vision-wrap section { width: 100%; }
.vision-wrap .theme-cyan { --theme-color: var(--vision-cyan); }
.vision-wrap .theme-blue { --theme-color: var(--vision-blue); }
.vision-wrap .theme-navy { --theme-color: var(--vision-navy); }
.vision-wrap .theme-green { --theme-color: var(--vision-green); }
.vision-statement { position: relative; display: flex; justify-content: center; margin-bottom: 30px; text-align: center; }
.vision-bracket { position: absolute; top: 50%; left: 50%; width: 768px; height: 103px; transform: translate(-50%, -50%); pointer-events: none; }
.vision-bracket::before, .vision-bracket::after { content: ""; position: absolute; top: 0; width: 55px; height: 103px; background: linear-gradient(90deg, #5692E4, #06A78C) left top / 100% 9px no-repeat, linear-gradient(90deg, #5692E4, #06A78C) left bottom / 100% 9px no-repeat, linear-gradient(180deg, #5692E4, #06A78C) left top / 9px 100% no-repeat; }
.vision-bracket::before { left: 0; }
.vision-bracket::after { right: 0; transform: scaleX(-1); }
.vision-statement-text { position: relative; z-index: 1; min-height: 105px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.vision-statement-text span.point-blue {  font-size: var(--fs-24); font-weight: 500; }
.vision-statement-text strong.vision-top-tit { display: block; color: var(--black); font-size: 32px; font-weight: 700; }
.vision-value-section { position: relative; display: flex; flex-direction: column; align-items: center; margin-bottom: 118px; z-index: 0; }
.vision-value-section::after { content: ""; position: absolute; top: 275px; left: 50%; width: 640px; height: 130px; transform: translateX(-50%); background: url("/resources/user/web/images/sub/bg_shape_arrow.svg") center top / 100% 100% no-repeat; z-index: 0; }
.vision-section-title { position: relative; z-index: 1; color: var(--primary-1); font-size: var(--fs-24); font-weight: 500; text-align: center; }
.vision-value-list { position: relative; z-index: 1; display: flex; justify-content: center; gap: 20px; }
.vision-value-list li { width: 204px; min-height: 231px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; border: 1px solid #d7d7d7; border-radius: 8px; background: var(--white); }
.vision-value-list .tit { f text-align: center; }
.vision-value-icon { position: relative; width: 122px; height: 122px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary-1); border: 16px solid #E9EEF9; box-shadow: none; flex: 0 0 auto; }
.vision-value-list li:nth-child(even) .vision-value-icon { background: var(--primary-2); }

.vision-value-list li .vision-value-icon i { background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat 1px -47px; width: 44px; height: 45px;}
.vision-value-list li:nth-child(2) .vision-value-icon i {background-position: -64px -47px;}
.vision-value-list li:nth-child(3) .vision-value-icon i {background-position: -128px -47px;}
.vision-value-list li:nth-child(4) .vision-value-icon i {background-position:  -192px -47px;}
.vision-value-list li:nth-child(5) .vision-value-icon i {background-position:  -256px -48px;}

.vision-value-list li .value-tit {font-size: var(--fs-20);}

.vision-pill-title { width: max-content; min-width: 142px; margin: 0 auto 22px; padding: 8px 22px; border-radius: 22px; background: var(--primary-1); color: var(--white); font-size: var(--fs-20); font-weight: 500; text-align: center; }
.vision-goal-section { position: relative; margin-top: 30px; margin-bottom: 98px; }
.vision-goal-section .vision-pill-title { position: relative; z-index: 2; margin-bottom: 56px; }
.vision-goal-list { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vision-goal-list::before { content: ""; position: absolute; top: -28px; left: 12%; right: 12%; height: 1px; background: #cfcfcf; }
.vision-goal-list::after { content: ""; position: absolute; top: -56px; left: 50%; width: 1px; height: 28px; background: #cfcfcf; transform: translateX(-50%); }
.vision-goal-list li { position: relative; min-height: 150px; border: 1px solid #dfe4ec; border-radius: 6px; background: var(--white); text-align: center; }
.vision-goal-list li::before { content: ""; position: absolute; top: -28px; left: 50%; width: 1px; height: 28px; background: #cfcfcf; transform: translateX(-50%); }
.vision-goal-list strong.vision-goal-head { display: flex; min-height: 48px; align-items: center; justify-content: center; padding: 10px; background: var(--theme-color); color: var(--white); font-size: var(--fs-20); font-weight: 700; border-radius: 5px 5px 0 0; }
.vision-goal-list .vision-goal-label { display: block; margin-top: 24px; color: var(--text-muted); font-size: var(--fs-18); }
.vision-goal-list .vision-goal-value { display: block; margin-top: 5px; margin-bottom: 20px; color: var(--theme-color); font-size: var(--fs-h3); font-style: normal; font-weight: 800; line-height: 1.2; }
.vision-goal-list .vision-goal-unit { margin-left: 3px; font-size: var(--fs-16); font-weight: 700; }
.vision-strategy-section { position: relative; margin-bottom: 95px; }
.vision-strategy-section::before { content: ""; position: absolute; top: -62px; left: 50%; width: 17px; height: 17px; border-top: 2px solid var(--primary-1); border-left: 2px solid var(--primary-1); transform: translateX(-50%) rotate(45deg); }
.vision-strategy-section::after { content: ""; position: absolute; top: -53px; left: 50%; width: 17px; height: 17px; border-top: 2px solid var(--primary-1); border-left: 2px solid var(--primary-1); transform: translateX(-50%) rotate(45deg); }
.vision-strategy-head { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vision-strategy-head > .item > div{ position: relative; min-height: 80px; display: flex; align-items: center; justify-content: center; padding: 18px 15px; border: 2px solid var(--theme-color); border-radius: 6px; color: var(--theme-color); font-size: var(--fs-20); font-weight: 700; text-align: center; margin-bottom:38px }
.vision-strategy-head span.num { position: absolute; top: -14px; left: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; transform: translateX(-50%); border: 1px solid var(--white); border-radius: 50%; background: var(--theme-color); color: var(--white); font-size: var(--fs-16); font-weight: 700; }
.vision-strategy-list { position: relative;  gap: 20px; }
.vision-strategy-list li { position: relative; padding: 20px; border: 1px dashed var(--theme-color); border-radius: 5px; background: rgba(255,255,255,.95); }
.vision-strategy-list li::before { content: ""; position: absolute; top: -39px; left: 50%; width: 1px; height: 38px; background: var(--theme-color); transform: translateX(-50%); }
.vision-strategy-list li::after { content: ""; position: absolute; top: -5px; left: 50%; width: 9px; height: 9px; border: 2px solid var(--theme-color); border-radius: 50%; background: var(--white); transform: translateX(-50%); }
.vision-strategy-list .vision-strategy-desc { color: var(--text-muted); font-size: var(--fs-18); }
.vision-principle-section { margin-top: 0; }
.vision-principle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.vision-principle-card { position: relative; min-height: 360px; padding: 50px; border: 1px solid rgba(0,64,152,.18); background: var(--white); }
.vision-principle-card::before { content: ""; position: absolute; inset: 0; border: 8px solid var(--primary); opacity: .08; pointer-events: none; }
.vision-principle-card .vision-principle-head { position: relative; display: flex; align-items: center; gap: 35px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #dfe4ec; }
.vision-principle-card .vision-principle-head .vision-value-icon { width: 90px; height: 90px; background: var(--white); box-shadow: 0 4px 14px rgba(105,105,105,.2); border: none;}
.vision-principle-card .vision-principle-head .vision-value-icon i { width: 44px; height: 44px; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -756px -47px; }
.vision-principle-card:nth-child(2) .vision-principle-head .vision-value-icon i {background-position: -830px -47px;;}
.vision-principle-card:nth-child(3) .vision-principle-head .vision-value-icon i {background-position: -904px -47px;}
.vision-principle-card:nth-child(4) .vision-principle-head .vision-value-icon i {background-position: -978px -47px;}
.vision-principle-card:nth-child(5) .vision-principle-head .vision-value-icon i {background-position: -1053px -48px;}

.vision-principle-head .vision-principle-tit { color: var(--text); font-size: var(--fs-24); font-weight: 700; }
.vision-principle-card .com-txt-list-01 { position: relative; z-index: 1; }
.vision-principle-card .com-txt-list-01 > li { color: var(--text); font-size: var(--fs-18); }

/**************************************************
  회사소개 - 인재상
***************************************************/
.talent-wrap { --talent-blue: #0b50d0; --talent-bright-blue: #0077ff; --talent-icon-light: #e9eef9; --talent-icon-gray: #e2e6ed; --talent-lead: rgba(38,84,148,.8); --talent-practicality: rgba(2,109,172,.8); --talent-balance: rgba(4,150,201,.8); }
.talent-wrap .com-info-box-02 { margin-bottom: 62px; }
.talent-value-section { margin-bottom: 145px; }
.talent-value-section::after { top: 272px; height: 155px; }
.talent-value-section .vision-value-list li { border-color: #d7d7d7; border-radius: 19px; }
.talent-value-section .vision-value-icon { background: var(--talent-icon-light); }
.talent-value-section .vision-value-list li:nth-child(even) .vision-value-icon { background: var(--talent-icon-gray); }
.talent-value-section .vision-value-icon i { position: relative; background: var(--talent-blue); }
.talent-value-section .vision-value-list li:nth-child(even) .vision-value-icon i { background: var(--talent-bright-blue); }
.talent-core-section { position: relative; width: 100%; display: flex; flex-direction: column; align-items: center; margin-bottom: 70px; }
.talent-core-section::before { content: ""; position: absolute; top: 204px; left: 50%; width: 1px; height: 114px; background: #d7d7d7; transform: translateX(-50%); }
.talent-core-card { position: relative; z-index: 2; width: 100%; max-width: 806px; min-height: 205px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 56px 84px; border: 1px solid #ccc; border-radius: 103px; background: #f0f1f3; color: var(--primary-5); text-align: center; }
.talent-core-card::before { content: ""; position: absolute; inset: 28px 29px 29px; border: 1px solid var(--primary-1); border-radius: 103px; background: var(--white); z-index: -1; }
.talent-core-card span { display: block; color: var(--primary-1); font-size: var(--fs-24); font-weight: 700; line-height: 1.25; }
.talent-core-card strong { display: block; margin-top: 5px; color: var(--text); font-size: var(--fs-24); font-weight: 600; line-height: 1.35; }
.talent-core-card em { display: block; margin-top: 5px; color: var(--primary-1); font-size: var(--fs-18); font-style: normal; line-height: 1.3; }
.talent-keyword-list { position: relative; z-index: 1; display: flex; justify-content: center; width: 100%; margin-top: 112px; }
.talent-keyword-list::before { content: ""; position: absolute; top: -46px; left: calc(17.5% - 0px); right: calc(17.5% - 0px); height: 47px; border: 1px solid #d7d7d7; border-bottom: 0; border-radius: 4px 4px 0 0; }
.talent-keyword-list li { --bar-color: var(--talent-lead); position: relative; flex: 0 0 calc((100% + 72px) / 3); max-width: 490.249px; min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--white); background: var(--bar-color); border-radius: 46px; text-align: center; }
.talent-keyword-list li:nth-child(2) { --bar-color: var(--talent-practicality); }
.talent-keyword-list li:nth-child(3) { --bar-color: var(--talent-balance); }
.talent-keyword-list li + li { margin-left: -36px; }
.talent-keyword-list li::before { content: ""; position: absolute; top: 0; left: 50%; width: 24px; height: 24px; border: 6px solid var(--white); border-radius: 50%; background: var(--bar-color); transform: translate(-50%, -50%); z-index: 2; }
.talent-keyword-list span { position: relative; z-index: 1; display: block; margin-bottom: 5px; font-size: var(--fs-18); opacity: .95; }
.talent-keyword-list strong { position: relative; z-index: 1; display: block; font-size: var(--fs-24); font-weight: 700; }
.talent-element-section { margin-bottom: 72px; }
.talent-highlight-text { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; min-height: 70px; margin-bottom: 20px; padding: 18px 24px; background: #f2f6fb; color: var(--text); font-size: var(--fs-24); font-weight: 500; text-align: center; }
.talent-highlight-text span { color: var(--primary-1); font-weight: 600; }
.talent-principle-box { padding: 36px 40px; border: 5px solid #e9e9e9; background: var(--white); }
.talent-principle-box + .talent-principle-box { margin-top: 20px; }
.talent-principle-box h4 { margin-bottom: 15px; color: var(--primary-5); font-size: var(--fs-24); font-weight: 700; line-height: 1.4; }
.talent-principle-box .com-txt-list-01 > li { color: var(--text-muted); font-size: var(--fs-18); line-height: 1.75; }
.talent-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.talent-job-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.talent-job-list a { display: block; height: 100%; background: var(--gray-100); transition: border-color .2s, box-shadow .2s; border-radius: 10px;}
.talent-job-list a:hover, .talent-job-list a:focus-visible { border-color: var(--primary-1);  }
.talent-job-list .thumb { display: block; aspect-ratio: 424 / 238; overflow: hidden; background: var(--surface); }
.talent-job-list .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.talent-job-list a:hover .thumb img, .talent-job-list a:focus-visible .thumb img { transform: scale(1.05); }
.talent-job-list .com-badge { margin: 18px 20px 10px; border-radius: 999px; background: var(--point-red); }
.talent-job-list .youtube-tit { display: block; min-height: 56px; padding: 0 20px; color: var(--text); font-size: var(--fs-18); font-weight: 700; line-height: 1.55; word-break: keep-all; }
.talent-job-list .date { display: block; padding: 12px 20px 22px; color: var(--text-muted); font-size: var(--fs-14); }

@media screen and (max-width: 1200px) {
    .vision-value-list, .vision-goal-list, .vision-strategy-head, .vision-strategy-list { gap: 12px; }
    .vision-principle-grid { gap: 24px; }
    .vision-principle-card { padding: 36px; }
}

@media screen and (max-width: 1024px) {
    .vision-value-list { flex-wrap: wrap; }
    .vision-value-section { margin-bottom: 80px; }
  .vision-strategy-head > .item > div {margin-bottom:10px}
    .vision-goal-list, .vision-strategy-head, .vision-principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vision-goal-list::before, .vision-goal-list::after, .vision-goal-list li::before, .vision-strategy-section::before, .vision-strategy-section::after, .vision-strategy-list li::before, .vision-strategy-list li::after { display: none; }
    .talent-value-section { margin-bottom: 96px; }
    .talent-value-section::after { bottom: 0; }
    .talent-core-section::before, .talent-keyword-list::before, .talent-keyword-list li::before, .talent-keyword-list li::after { display: none; }
    .talent-keyword-list, .talent-job-list { grid-template-columns: 1fr; }
    .talent-keyword-list { flex-direction: column; gap: 12px; margin-top: 40px; }
    .talent-keyword-list li { flex-basis: auto; max-width: none; }
    .talent-keyword-list li + li { margin-left: 0; }
    .vision-statement-text strong.vision-top-tit { font-size: 24px; }
}

@media screen and (max-width: 768px) {
    .vision-bracket { width: 100%; max-width: 560px; height: 108px; }
    .vision-bracket::before, .vision-bracket::after { width: 36px; height: 108px; background: linear-gradient(90deg, #5692E4, #06A78C) left top / 100% 6px no-repeat, linear-gradient(90deg, #5692E4, #06A78C) left bottom / 100% 6px no-repeat, linear-gradient(180deg, #5692E4, #06A78C) left top / 6px 100% no-repeat; }

    .vision-statement-text { min-height: 118px; padding-inline: 58px; }
    .vision-statement-text strong { max-width: 430px; margin: 0 auto; font-size: var(--fs-24); line-height: 1.35; white-space: normal; }
    .vision-value-section::after {bottom:-65px; top: auto; width:100%;}
    .vision-value-list { max-width: 510px; flex-wrap: wrap; gap: 16px 20px; }
    .vision-value-list li { width: 150px; min-height: 164px; padding: 16px; }
    .vision-goal-list, .vision-strategy-head, .vision-strategy-list, .vision-principle-grid { grid-template-columns: 1fr; }
    .vision-goal-list li { min-height: 132px; }
  .vision-strategy-head > .item > div {margin-bottom:10px}
    .vision-strategy-section { margin-bottom: 70px; width: 100%; }
    .vision-principle-card { min-height: auto; padding: 32px; }
    .vision-principle-head { gap: 18px; margin-bottom: 22px; padding-bottom: 22px; }
    .vision-principle-head .vision-value-icon { width: 72px; height: 72px; }
    .talent-wrap .com-info-box-02 { margin-bottom: 44px; }
    .talent-core-card { min-width: 0; width: calc(100% - 32px); min-height: 168px; padding: 42px 32px; border-radius: 20px; }
    .talent-core-card::before { inset: 22px; border-radius: 20px; }
    .talent-highlight-text { display: block; min-height: auto; font-size: var(--fs-20); text-align: left; }
    .talent-principle-box { padding: 28px 24px; }
    .talent-section-head { align-items: flex-start; flex-direction: column; }
    .vision-value-section { margin-bottom: 20px; }
    .vision-goal-section { margin-bottom: 40px; }
    .vision-goal-section .vision-pill-title {margin-bottom: 20px;}
}

@media screen and (max-width: 480px) {
    .vision-statement-text { padding-inline: 44px; }
    .vision-value-list li { width: 140px; }
    .vision-statement-text strong { font-size: var(--fs-20); }
    .vision-principle-head { flex-direction: column; align-items: flex-start; }
    .vision-value-list li .value-tit { font-size: 16px; line-height: 1.4; }
}



/**************************************************
  0103 연혁
***************************************************/
.history-wrap { position: relative; overflow: hidden; }
.history-wrap .history-list { position: relative; z-index: 2; }
.history-wrap .history-item { position: relative; display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 100px; }
.history-wrap .history-item::before {content: ''; width: 1px; height: 100%; background: var(--gray-300); position:absolute; left: 50%; top: 2rem; transform: translateX(-50%);}
.history-wrap .history-item::after {content: ''; width: 1px; height: 0; background: var(--primary-1); position: absolute; left: 50%; top: 2rem; transition: height .8s ease-out;}
.history-wrap .history-item.on::after {height: 100%;}
.history-wrap .history-item > div { width: calc(50% - 50px); }
.history-wrap .history-img .img-dummy { max-width: 470px; aspect-ratio: 470 / 280; background-color: var(--surface); border-radius: 10px; overflow: hidden; margin-top: 68px;  border: 1px solid var(--border);}
.history-wrap .history-img .img-dummy img { width: 100%; }
.history-wrap .history-txt .year { font-size: var(--fs-36); font-weight: 800; margin-bottom: 24px; position: relative; }
.history-wrap .history-txt ul.txt-list > li { display: flex; gap: 12px; margin-bottom: 20px; line-height: 1.8; }
.history-wrap .history-txt ul.txt-list > li .detail {width: calc(100% - 25px);}
.history-wrap .history-txt ul.txt-list > li .detail li.active {font-weight: 600; color: var(--primary-1); text-decoration: underline;}
.history-wrap .history-txt ul.txt-list > li:last-child { margin-bottom: 0; }
.history-wrap .history-txt ul.txt-list > li strong.month { width: 25px; color: var(--primary-1); font-weight: 700; text-align: center;}
.history-wrap .history-txt .year::before { content: ''; position: absolute; width: 13px; height: 13px; background: var(--primary-1); outline: 7px solid rgba(233, 238, 249, 1); border-radius: 50%; top: 21px; z-index: 10; }
.history-wrap .history-item.right { flex-direction: row; }
.history-wrap .history-item.right .history-img {display: flex; justify-content: flex-end;}
.history-wrap .history-item.right .history-img .img-dummy {width: 100%;}
.history-wrap .history-item.right .history-txt .year::before { left: -56px; }
.history-wrap .history-item.left { text-align: right; }
.history-wrap .history-item.left .history-txt ul li { justify-content: flex-end; }
.history-wrap .history-item.left .history-txt .year::before { right: -56px; }

@media screen and (max-width: 1024px) {
  .history-wrap .history-item { flex-direction: column !important; padding-left: 50px; padding-bottom: 70px; }
  .history-wrap .history-item::before { left: 18px; transform: none; }
  .history-wrap .history-item::after { left: 18px; transform: none; }
  .history-wrap .history-item > div { width: 100%; }
  .history-wrap .history-txt { order: 1; }
  .history-wrap .history-txt .year::before {top: 15px;}
  .history-wrap .history-txt ul.txt-list > li strong.month {text-align: left;}
  .history-wrap .history-img { order: 2; margin-top: 24px; max-width: 350px; margin-left: 0; margin-right: auto; }
  .history-wrap .history-img .img-dummy { margin-top: 0; } 
  .history-wrap .history-item.left, .history-wrap .history-item.right { text-align: left; }
  .history-wrap .history-item.left .history-txt ul.txt-list > li { flex-direction: row-reverse; }
  .history-wrap .history-item.right .history-txt .year::before, .history-wrap .history-item.left .history-txt .year::before { left: -37px; right: auto; }
}

@media screen and (max-width: 768px) {
  .history-wrap .history-txt .year { margin-bottom: 14px; }
  .history-wrap .history-txt .year::before {top: 11px;}
  .history-wrap .history-txt ul.txt-list > li { flex-direction: column; gap: 4px; margin-bottom: 16px; }
  .history-wrap .history-item.left .history-txt ul.txt-list > li { flex-direction: column-reverse; gap: 0;}
}


/**************************************************
  010401 조직도
***************************************************/
.organization-wrap { padding-top: 20px; }
.organization-wrap .org-executives { position: relative; display: block; padding-top: 20px; }
.organization-wrap .node-circle { display: flex; align-items: center; justify-content: center; width: 145px; height: 145px; margin: 0 auto; border-radius: 50%; color: #fff; font-size: var(--fs-h4); box-shadow: 0 0 0 20px rgba(22, 75, 184, 0.1); position: relative; z-index: 2; }
.organization-wrap .node-circle.bg-dark-blue { background-color: var(--primary-1); }
.organization-wrap .node-circle.bg-blue { background-color: var(--primary-2); box-shadow: 0 0 0 20px rgba(0, 118, 254, 0.1); }
.organization-wrap .node-box { width: 195px; padding: 12px 25px; background: #fff; border: 1px solid var(--primary-4); border-radius: 50px; color: var(--primary-4); font-weight: 500; font-size: var(--fs-24); text-align: center; white-space: nowrap; }
.organization-wrap .org-ceo-area { width: 280px; margin: 0 auto; text-align: center; }
.organization-wrap .ceo-branch-wrap { display: flex; height: 180px; }
.organization-wrap .ceo-branch-wrap .branch-center { width: 1px; background: var(--gray-300); height: 100%; position: relative; z-index: 1; }
.organization-wrap .ceo-branch-wrap .branch-left { flex: 1; border-top: 1px solid var(--gray-300); margin-top: 95px; position: relative; }
.organization-wrap .ceo-branch-wrap .branch-right { flex: 1; border-top: 1px solid var(--gray-300); margin-top: 40px; opacity: 0; }
.organization-wrap .ceo-branch-wrap .node-box { position: absolute; left: -150px; top: -30px; }
.organization-wrap .org-auditor-area { position: absolute; top: 20px; right: 8%; width: 140px; text-align: center; }
.organization-wrap .auditor-branch-wrap { display: flex; flex-direction: column; align-items: center; }
.organization-wrap .auditor-branch-wrap .branch-center { width: 1px; background: var(--gray-300); height: 40px; }
.organization-wrap .org-bridge-line { display: none; }
.organization-wrap .tree-row { font-size: var(--fs-24); display: flex; justify-content: center; position: relative; }
.organization-wrap .tree-row > li { flex: 1; position: relative; text-align: center; padding: 60px 20px 0; }
.organization-wrap .tree-row > li::before, .organization-wrap .tree-row > li::after { content: ''; position: absolute; top: 0; width: 50%; height: 1px; background: var(--gray-300); }
.organization-wrap .tree-row > li::before { left: 0; }
.organization-wrap .tree-row > li::after { right: 0; }
.organization-wrap .tree-row > li:first-child::before { display: none; }
.organization-wrap .tree-row > li:last-child::after { display: none; }
.organization-wrap .node-title { position: relative; display: block; margin: 0 auto; padding: 12px 0; color: #fff; font-weight: 500; text-align: center; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); width: 100%; }
.organization-wrap .node-title::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 60px; background: var(--gray-300); transform: translateX(-50%); }
.organization-wrap .node-title.bg-cyan-blue { background: var(--secondary-1); }
.organization-wrap .node-title.bg-teal { background: var(--secondary-2); }
.organization-wrap .node-title a {display: block;}
.organization-wrap .org-headquarters { margin-bottom: 80px; }
.organization-wrap .org-branches { margin-bottom: 35px; }
.organization-wrap .org-branches li { padding: 60px 10px 0; }
.organization-wrap .sub-dept-list { margin-top: 15px; display: flex; flex-direction: column; gap: 14px; align-items: center; }
.organization-wrap .sub-dept-list li { width: 100%; color: var(--gray-400); }
.organization-wrap .node-item { padding: 10px 0; background: #fff; border: 1px solid var(--gray-300); border-radius: 4px; text-align: center; }

@media screen and (max-width: 1024px) {
  .organization-wrap .node-circle { width: 120px; height: 120px; }
  .organization-wrap .tree-row > li { padding: 60px 10px 0; }
}

@media screen and (max-width: 768px) {
  .organization-wrap { padding: 0; }
  .organization-wrap .org-executives { padding: 0; }
  .organization-wrap .node-circle { width: 75px; height: 75px; font-size: 17px; box-shadow: 0 0 0 8px rgba(22, 75, 184, 0.1); }
  .organization-wrap .node-circle.bg-blue { box-shadow: 0 0 0 8px rgba(0, 118, 254, 0.1); }
  .organization-wrap .node-box { width: auto; padding: 6px 15px; font-size: 15px; }
  .organization-wrap .org-ceo-area { width: 140px; }
  .organization-wrap .ceo-branch-wrap { height: 100px; }
  .organization-wrap .ceo-branch-wrap .branch-left { margin-top: 50px; }
  .organization-wrap .ceo-branch-wrap .node-box { left: -70px; top: -20px; }
  .organization-wrap .org-auditor-area { width: 100px; right: 1%; top: 0px; }
  .organization-wrap .auditor-branch-wrap .branch-center { height: 20px; }
  .organization-wrap .tree-row { flex-direction: column; gap: 25px; font-size: 16px; margin-bottom: 40px; }
  .organization-wrap .tree-row > li { padding: 0; }
  .organization-wrap .tree-row > li::before, .organization-wrap .tree-row > li::after, .organization-wrap .node-title::before { display: none; }
  .organization-wrap .org-branches .tree-row { gap: 14px; }
  .organization-wrap .org-headquarters { margin-bottom: 40px; }
  .organization-wrap .org-branches { margin-bottom: 0; }
  .organization-wrap .org-branches li { padding: 0; }
}

/**************************************************
  010602 인사제도 및 복리후생
***************************************************/
.recruit-wrap .job-spec-list {display: flex; gap: 30px;}
.recruit-wrap .job-spec-item {border: 1px solid var(--border); border-radius: 24px; padding: 32px; flex:1;}
.recruit-wrap .job-spec-item .tit {font-size: var(--fs-20); color: var(--primary-1); font-weight: bold; margin-bottom: 24px;}
.recruit-wrap .job-spec-item .tit::before {content: ''; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1231px -2px; width: 20px;height: 16px; display: inline-block; margin-right: 5px;}
.recruit-wrap .job-spec-item:last-child .tit::before {background-position: -1179px -2px;}
.recruit-wrap .job-spec-item .list {display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 16px; list-style-type: disc; }
.recruit-wrap .job-spec-item .list li {position: relative; background: var(--surface);  border-radius: 10px; padding: 16px 16px 16px 30px;}
.recruit-wrap .job-spec-item .list li::before {content: '';position: absolute; left: 16px; top: 1.5em; width: 4px; height: 4px; background-color: #333; border-radius: 50%;
} 
.recruit-wrap .job-spec-item span {font-size: var(--fs-16); color: var(--text-muted); margin-top: 24px; display: block;}

.recruit-wrap .sub-thumb-card {gap: 30px;}
.recruit-wrap .sub-thumb-card .item {border:1px solid var(--border); border-radius: 20px; overflow: hidden;}
.recruit-wrap .sub-thumb-card .thumb {width: 100%; height: 210px; overflow: hidden;}
.recruit-wrap .sub-thumb-card .thumb img {max-width: none; width: 100%; height: 100%;}
.recruit-wrap .sub-thumb-card .desc {padding: 30px; color: var(--text-muted);}
.recruit-wrap .sub-thumb-card .desc .box-list {display: flex; flex-direction: column; gap: 10px;}
.recruit-wrap .sub-thumb-card .desc .box-list li {background: var(--surface);padding: 10px 12px; border-radius: 10px; display: flex; justify-content: space-between; }

.recruit-wrap .info {background: var(--surface); padding: 16px; border-radius: 8px;}
.recruit-wrap .info p {position: relative; padding-left: 28px;}
.recruit-wrap .info p::before {content: ''; width: 20px; height: 21px; display: block; position: absolute; top: 2px; left: 0; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat -1110px -366px; filter: grayscale(1);}

.welfare-list {gap: 20px;}
.welfare-list li {border-radius: 16px; background :#F1F5F9; min-height: 210px; padding: 25px;}
.welfare-list li:nth-child(8n+2), .welfare-list li:nth-child(8n+4), .welfare-list li:nth-child(8n+5), .welfare-list li:nth-child(8n+7) {background :#EBF0F7}
.welfare-list li span {display: block;}
.welfare-list li .icon {width: 48px; height: 48px; border-radius: 50px; background: var(--white); margin-bottom: 16px; display: flex; align-items: center; justify-content: center;}
.welfare-list li .txt {color: var(--text-muted);}

@media screen and (max-width: 1024px) {
  .recruit-wrap .job-spec-list {flex-direction: column; gap: 20px;}
}
@media screen and (max-width: 768px) {
  .recruit-wrap .job-spec-item {padding: 20px;}
  .recruit-wrap .job-spec-item .list {grid-template-columns: 1fr;}
  .recruit-wrap .sub-thumb-card .thumb {height: auto;}
}




/**************************************************
  0105 주요사업 
***************************************************/
/* Sub Header*/
#header.is-sub {background: var(--bg); color: var(--text); border-bottom: 1px solid var(--border);}
#header.is-sub .head-logo .logo-white {display: none;}
#header.is-sub .head-logo .logo-basic {display: block;}

#header.is-sub .util-list .lang-list .btn-lang::after {border-color: var(--gray-500);}
#header.is-sub .search-btn .icon {filter: invert(1);}
#header.is-sub .util-list .sitemap-btn .btn-ic > span {background: #222;}

#header.is-sub span.btn-line { background: #222; opacity: .6;}


/* Sub Visual None */
.sub-visual-none {background:none;}

/* Sub Visual Title */
.text-container-frame{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;margin-top:230px;z-index:10;}

.scroll-trigger-container{position:relative;width:100%;height:100vh;overflow:hidden;background:#fff;}
.animation-content-unit{position:absolute;inset:0;width:100%;height:100%;will-change:transform;}

/* Image Trigger Motion */
.img-visual-trigger{position:absolute;left:50%;bottom:-40vh;transform:translateX(-50%);width:min(1500px, 100%);height:min(760px, 72vh);overflow:hidden;border-radius:20px;background:#000;z-index:2;will-change:width,height,bottom,border-radius;}
.img-visual-trigger img{width:100%;height:100%;opacity: 1;object-fit:cover;display:block;transform:scale(1);}


@media (max-width:1200px){
  .text-container-frame{margin-top:100px;}
}
@media (max-width:1024px){
  .img-visual-trigger{height:min(760px,100vh);}
}
@media (max-width:768px){

  .img-visual-trigger{position:relative; left:0; top:0; bottom:auto; transform:none; width:100%; height:100%; border-radius:0;}
  .img-visual-trigger img {opacity:0.6;}
  .text-container-frame {position:absolute; top:85px; margin-top:0; padding: 0 20px; box-sizing: border-box;}
 
  
}


/* Sub Breadcrumb */
.sub-visual-none .breadcrumb li {color: var(--gray-400);}
.sub-visual-none .breadcrumb li.home a {background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1192px -47px;}
.sub-visual-none .breadcrumb li::after {border-top: 1px solid var(--gray-400);border-right: 1px solid var(--gray-400);}
.sub-visual-none .visual-title-area h1 {color:var(--black);margin-top: 60px;}
.sub-visual-none .visual-title-area p {color: var(--black);}


/* Sub Content Title */
.sub-title-wrap {display: flex;flex-direction: column;gap:30px;margin-top: 60px;}
.sub-title-01 {font-family: var(--font-title);font-size: var(--fs-h3);font-weight: 500;}

.sub-title-business {display: flex;flex-direction: column;gap:30px;text-align: center;margin-top: 50px}
.sub-title-business .sub-title-sm-business {font-size: var(--fs-24); color:var(--gray-400);}
.sub-title-business p {font-size: var(--fs-h4);color:var(--black);font-weight: 500;padding: 0 55px; }
.sub-title-business p strong {color:var(--primary-1)}

@media (max-width:768px){
  .sub-title-business p {padding: 0;}
}

/* Sub Content Gap */
.sub-content-gap {display: flex;flex-direction: column;gap:150px 0;padding: 100px 0 0}
.sub-content-gap.pt0 {padding-top: 0 !important}
/* 260618 수정 */
@media (max-width:768px){

    .sub-content-gap {gap: 60px 0;padding: 0;}
.sub-visual-none{padding: 70px 0 0;}
   .sub-visual-none .visual-title-area h1, .sub-visual-none .visual-title-area p, .sub-visual-none .breadcrumb li a {color:#fff !important;}
  	.sub-visual-none .breadcrumb li {--gray-400:#fff;}
 .sub-visual-none .breadcrumb li.home a {filter:brightness(2.5) grayscale(1) !important;}
}
/* // 260618 수정 */


/* Sub Numbering List */
.nbr-item-list {margin-top: 30px;}
.nbr-item-list ol {display: grid;grid-template-columns: repeat(2,1fr);grid-template-rows:1fr;align-items: stretch;gap:40px;}
.nbr-item-list.nbr-item-list-row ol {grid-template-columns: repeat(1,1fr);grid-template-rows:1fr;}
.nbr-item-list ol li {display: flex;flex-direction: column;gap:15px;padding:30px;border:1px solid #ddd;border-radius: 10px;}
.nbr-item-list ol li .item-nbr {font-size:var(--fs-18);color:var(--gray-600);}
.nbr-item-list ol li h3 {font-size: var(--fs-20);font-weight: 700;color:var(--primary-1);}
.nbr-item-list ol li p {font-size: var(--fs-18);color:var(--gray-500);}

@media (max-width:768px){
  .nbr-item-list ol {grid-template-columns: repeat(1,1fr);grid-template-rows:1fr;gap: 30px;}
}

/* Mask Image Motion */
.mask-motion{clip-path:inset(0 0 0 100%);will-change:clip-path;overflow:hidden;}
.mask-motion img{display:block;width:100%;max-width: none; height: 100%;min-height:300px; object-fit: cover;transform:scale(1.1);will-change:transform;}

@media (max-width:768px){
  .mask-motion img{min-height:200px;}

}

/* Text Reveal */
.fade-up {opacity:0;transform:translateY(100px);will-change:transform, opacity;}

/* Sub Business Tab */
.sub-business-tab .com-tab-02 li a {min-width: 240px;}

/* Description Box */
.com-info-box.gray {border: 8px solid #0B50D010;}


 /* 핵심사업 */
.card-flex-container {display: flex;gap: 30px;}
.card-flex-container .left-cluster {display: flex;flex-direction: column;gap: 30px;flex: 3;}
.card-flex-container .flex-row {display: flex;gap: 24px;}
.card-flex-container .item-1 {flex: 2; min-height: 320px;}
.card-flex-container .item-2 {flex: 1; min-height: 320px;}
.card-flex-container .item-4 {flex: 1; min-height: 320px;}
.card-flex-container .item-5 {flex: 1.2; min-height: 320px;}
.card-flex-container .right-cluster {flex: 1.1;display: flex;}
.card-flex-container .item-3 {width: 100%;height: auto;}
.card-flex-container .item-1::before {background-image: url("/resources/user/web/images/sub/business/img_business_con_040401.jpg");}
.card-flex-container .item-2::before {background-image: url("/resources/user/web/images/sub/business/img_business_con_040402.jpg");}
.card-flex-container .item-3::before {background-image: url("/resources/user/web/images/sub/business/img_business_con_040403.jpg");}
.card-flex-container .item-4::before {background-image: url("/resources/user/web/images/sub/business/img_business_con_040404.jpg");}
.card-flex-container .item-5::before {background-image: url("/resources/user/web/images/sub/business/img_business_con_040405.jpg");}
.card-flex-container .grid-item {position: relative;border-radius: 20px;overflow: hidden;color: var(--white);}
.card-flex-container .grid-item::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;z-index: 1;transition: transform 0.4s ease-out;}
.card-flex-container .grid-item:hover::before {transform: scale(1.08);}
.card-flex-container .card-content {position: relative;z-index: 2;padding: 40px;height: 100%;display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;}
.card-flex-container .card-title {font-size: var(--fs-36);font-weight: 700;margin-bottom: 24px;}
.card-flex-container .tag-nav {margin-top: auto;}
.card-flex-container .tag-list {display: flex;flex-wrap: wrap;gap: 10px;}
.card-flex-container .tag-link {display: inline-block;border: 1px solid var(--white);padding: 8px 20px;font-size: var(--fs-18);color: var(--white);border-radius: 10px;transition: background-color 0.2s, color 0.2s;}
.card-flex-container .tag-link:hover {background-color: var(--white);color: var(--primary);font-weight: 500;}
.card-flex-container .circle-btn {margin-top: auto;width: 40px;height: 40px;border-radius: 50%;border: 1px solid var(--white);background: transparent;color: var(--white);display: flex;align-items: center;justify-content: center;cursor: pointer;opacity: 0;visibility: hidden;transform: translateY(15px);transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background-color 0.2s;}
.card-flex-container .grid-item:hover .circle-btn {opacity: 1;visibility: visible;transform: translateY(0);}
.card-flex-container .circle-btn:hover {background-color: var(--white);color: var(--primary);}


@media (max-width: 1200px) {
  .card-flex-container {flex-direction: column;gap: 16px;}
  .card-flex-container .left-cluster {gap: 16px;}
  .card-flex-container .flex-row {gap: 16px;}
  .card-flex-container .item-3 {min-height: 320px;}
}
@media (max-width: 768px) {
  .card-flex-container .flex-row {flex-direction: column;}
  .card-flex-container .card-content { padding: 30px 20px;min-height: 320px }
  .card-flex-container .tag-link {padding: 5px 15px;}
}


/* Business Infor Graph */
.process-container {background-color: #F5F8F9;border-radius: 20px;padding:60px 80px;position: relative;}
.process-container .main-title {position: absolute;top: -18px;left: 30px;background-color:var(--primary-4);color: #ffffff;padding:5px 20px;border-radius: 50px;font-weight: 700;font-size: var(--fs-20);}

.process-container .process-main-list {list-style: none;display: flex;align-items: center;justify-content: space-between;gap: 15px;width: 100%;}
.process-container .process-main-item {display: flex;align-items: center;flex-shrink: 0;}
.process-container .step-card {background-color: #ffffff;border: 1px solid #3b82f6;border-radius: 10px;width: 150px;height: 90px;display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 8px;}
.process-container .step-num {color:var(--primary-1);font-size:var(--fs-14);}

.process-container .step-name {color: var(--black);font-size:var(--fs-18);font-weight: 700;}
.process-container .rd-group-wrapper {border: 2px dashed #0077FF4D;border-radius: 20px;padding: 50px;position: relative;display: flex;align-items: center;background:var(--white);}
.process-container .rd-group-title {position: absolute;top: -20px;left: 30px;background-color:var(--primary-1);color:var(--white);padding:4px 25px;border-radius: 20px;font-weight: 700;font-size:var(--fs-20);}
.process-container .rd-sub-list {list-style: none;display: flex;align-items: center;gap: 15px;}
.process-container .arrow-next {color: #888888;font-size: 26px;margin: 0 10px;user-select: none;}
.process-container .operation-group {display: flex;flex-direction: column;gap: 8px;flex-shrink: 0;}
.process-container .op-card {color:var(--white);width: 150px;height: 42px;display: flex;align-items: center;justify-content: center;font-weight: 700;font-size:var(--fs-18);border-radius:10px;}
.process-container .op-card.blue    { background-color:var(--primary-4); }
.process-container .op-card.teal    { background-color: var(--secondary-2);}
.process-container .op-card.skyblue { background-color: var(--secondary-1);}

@media (max-width:1400px){
  .process-container .process-main-list {flex-direction: column;}
  .process-container .process-main-list .arrow-next.first {transform: rotate(90deg)}
  .process-container .process-main-list .arrow-next.last {transform: rotate(90deg)}
}

@media (max-width: 960px) {
.process-container {padding: 40px 15px 20px;}
.process-container .main-title {left: 15px;}
.process-container .process-main-list, 
.process-container .rd-sub-list, 
.process-container .process-main-item {flex-direction: column;align-items: center;width: 100%;}
.process-container .rd-group-wrapper {width: 100%;max-width: 250px;padding: 40px 15px 15px;margin: 15px 0;justify-content: center;}
.process-container .rd-group-title {left: 50%;transform: translateX(-50%);white-space: nowrap;}
.process-container .arrow-next {margin:0;transform: rotate(90deg);}
.process-container .operation-group {margin-top: 15px;}
}










/**************************************************
  010604 공개채용
***************************************************/
.recruit-top-box {background: url(/resources/user/web/images/sub/img_recruit_top_bg.jpg) center no-repeat; height: 230px; padding: 80px; border-radius: 20px; overflow: hidden; display: flex; align-items: center; justify-content: space-between;gap: 24px; flex-wrap: wrap; color: var(--white);}
.recruit-top-box p span.blue {color: var(--primary-3);}
.recruit-top-box h4 {font-size: var(--fs-h4);}


@media screen and (max-width: 768px) {
  .recruit-top-box {padding: 40px;}
}



/**************************************************
  0107 KPS CI
***************************************************/
.ci-grid-box { position: relative; border: 1px solid var(--border); background-color: #fff; background-image: linear-gradient(#f0f0f0 1px, transparent 1px), linear-gradient(90deg, #f0f0f0 1px, transparent 1px); background-size: 15px 15px; display: flex; align-items: center; justify-content: center; padding: 45px 40px 30px; min-height: 180px; border-radius: 4px; overflow: hidden; flex-wrap: wrap; }
.ci-grid-box.com-grid { gap: 60px; }
.ci-grid-box .emblem-img { width: auto; height: auto; max-width: 90%; max-height: 90%; object-fit: contain; margin: 0 auto; }
.ci-grid-box .size-img { position: absolute; top: 40px; right: 160px; }
.ci-label { position: absolute; top: 0; left: 0; background: #222; color: #fff; padding: 2px 16px; font-size: var(--fs-14); font-weight: 500; z-index: 2; }
.ci-color-box { height: 80px; width: 100%; border-radius: 10px; position: relative; margin-bottom: 20px; }
.ci-color-box.bg-red { background-color: #E60012; }
.ci-color-box.bg-blue { background-color: #004098; }
.ci-color-box.bg-gray { background-color: #888084; }
.ci-color-box .ci-color-name { position: absolute; bottom: 20px; right: 60px; color: var(--white); font-size: var(--fs-16); }
.ci-color-info { background: #fff; }
.ci-color-info .color-type { font-size: var(--fs-16); margin-bottom: 4px; display: block; }
.ci-color-info dd { font-size: var(--fs-16); color: var(--text-muted); }

@media screen and (max-width: 1400px) {
  .ci-grid-box .size-img { top: 20px; right: 20px; }
}

@media screen and (max-width: 1024px) {
  .sub-brand-section-02 { padding: 24px; }
  .ci-grid-box { padding: 30px 20px 20px; }
  .ci-grid-box.com-grid { gap: 24px; }
  .ci-grid-box .size-img { top: 5px; right: 5px; }
  .ci-btn-group { flex-wrap: wrap; }
}

@media screen and (max-width: 768px) {
  .sub-grid-box { aspect-ratio: auto; min-height: 200px; }
  .sub-grid-box .slogan-text { font-size: var(--fs-24, 24px); }
  .sub-brand-section-02 { padding: 20px; }
  .ci-grid-box { min-height: 160px; }
  .ci-grid-box.lg, .ci-grid-box.xl { min-height: 180px; }
  .ci-btn-group { flex-direction: column; gap: 8px; }
  .btn-ci-down, .ci-btn-group .com-select.sm { width: 100%; text-align: left; justify-content: center; }
  .ci-grid-box .emblem-img.emblem-img-sm { width: 140px; }
  .ci-color-box { height: 100px; margin-bottom: 0; }
  .ci-color-info { padding: 20px; }
  .ci-color-info .color-name { font-size: var(--fs-20); margin-bottom: 12px; }
  .ci-grid-box.com-grid { gap: 14px; }
}


/**************************************************
  010702 KPS CHARACTER
***************************************************/
.kpsCharacter .char-card { border: 1px solid var(--border); border-radius: 5px; padding: 50px 80px; background-color: #fff; }
.kpsCharacter .intro-wrap { display: flex; align-items: center; gap: 50px; }
.kpsCharacter .intro-img { flex: 0 0 280px; text-align: center; }
.kpsCharacter .intro-img img { width: 100%; max-width: 280px; }
.kpsCharacter .intro-text { flex: 1; }
.kpsCharacter .intro-text .name-title { font-size: var(--fs-20); margin-bottom: 30px; }
.kpsCharacter .intro-text .name-title span {font-size: var(--fs-h4); font-weight: bold; margin-right: 10px;}
.kpsCharacter .intro-text .desc-main { color: var(--text-muted); margin-bottom: 1.875rem; }
.kpsCharacter .intro-text .gray-box { background-color: var(--surface); padding: 30px; border-radius: 18px;  }
.kpsCharacter .gray-box p { margin: 0 0 8px 0; }
.kpsCharacter .gray-box p:last-child { margin: 0; }
.kpsCharacter .turnaround-area { position: relative; padding: 20px 0 40px; display: flex; justify-content: center; gap: 60px; flex-wrap: wrap;}
.kpsCharacter .bg-lines { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: space-evenly; z-index: 1; border-top: 1px solid var(--border);}
.kpsCharacter .bg-lines span { display: block; width: 100%; height: 1px; background-color: var(--gray-200); }
.kpsCharacter .turnaround-img { position: relative; z-index: 2; width: 180px; text-align: center; min-width: 140px;}
.kpsCharacter .turnaround-img img { width: 100%; }
.kpsCharacter .color-system { display: flex; justify-content: space-between;  padding-top: 30px;}
.kpsCharacter .color-item { flex: 1; margin: 0 10px; }
.kpsCharacter .color-swatch { height: 80px; border-radius: 10px; margin-bottom: 10px; border: 1px solid rgba(0,0,0,0.05); display: flex; align-items: center; justify-content: center; }
.kpsCharacter .color-info span {display: block;}

.kpsCharacter .pose-list { display: flex; gap: 24px; }
.kpsCharacter .pose-item { flex: 1;}
.kpsCharacter .pose-item .pose-img { border: 1px solid var(--border); border-radius: 5px; padding: 24px; text-align: center; background-color: #fff; }
.kpsCharacter .pose-item .pose-img img { width: 100%; margin: 0 auto; }
.kpsCharacter .pose-title { margin-top: 15px; text-align: center;}

@media (max-width: 1024px) {
  .kpsCharacter .char-card {padding: 30px;}
  .kpsCharacter .pose-list {flex-wrap: wrap; gap: 10px; justify-content: space-between;}
  .kpsCharacter .pose-item {flex:none; width:calc(33.33% - 10px);}
}
@media (max-width: 768px) {
  .kpsCharacter .char-card {padding: 20px;}
  .kpsCharacter .intro-wrap {flex-direction: column;}
  .kpsCharacter .intro-text .gray-box {padding:15px}
  .kpsCharacter .turnaround-area { gap: 20px; }
  .kpsCharacter .color-system { flex-wrap: wrap; justify-content: flex-start; }
  .kpsCharacter .color-item { flex: none; width: calc(33.333% - 20px); margin-bottom: 20px; }
}
@media (max-width: 480px) {
  .kpsCharacter .color-item { width: calc(50% - 20px); }
  .kpsCharacter .pose-item {width:calc(50% - 5px);}
}


/**************************************************
  0108 찾아오시는길
***************************************************/
.location-wrap .map-area { border-bottom: 1px solid #ddd }
.location-wrap .map-area .root_daum_roughmap .wrap_controllers{ display: none; }
.location-wrap .info-area { padding: 50px; border: 1px solid var(--border); border-top: 2px solid var(--primary-1);}
.location-wrap .company-name { font-size: var(--fs-h4); font-weight: 700;  margin-bottom: 24px; }
.location-wrap .contact-list { display: flex; flex-direction: column; gap: 15px; }
.location-wrap .contact-list li { display: flex; align-items: center; }
.location-wrap .contact-list li .label { font-weight: 700; width: 100px; display: inline-block; vertical-align: middle; position: relative; }
.location-wrap .contact-list li .label::before { content: ''; display: inline-block; width: 20px; height: 18px; margin-right: 8px; vertical-align: middle; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -617px -3px;}
.location-wrap .contact-list li .label.tel:before {background-position: -671px -3px;}

.location-wrap .divider { height: 1px; background-color: var(--border); margin:40px 0; }
.location-wrap .transport-info { display: flex; gap: 60px; }
.location-wrap .transport-header { width: 160px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px; }
.location-wrap .transport-header .circle-icon { width: 110px; height: 110px; background: var(--surface); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.location-wrap .transport-header .circle-icon i { background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -333px -56px; width: 42px; height: 31px; display: block;}
.location-wrap .transport-header .tit { font-weight: 700; }
.location-wrap .transport-routes { flex-grow: 1; display: flex; flex-direction: column; gap: 40px; }
.location-wrap .route-group .station-name { font-size: var(--fs-18); font-weight: 700; margin-bottom: 15px; }
.location-wrap .bus-list { font-size: var(--fs-16); display: flex; flex-direction: column; gap: 12px; }
.location-wrap .bus-list li { display: flex; align-items: center; flex-wrap: wrap; color: var(--text-muted);; }
.location-wrap .bus-badge { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 24px; border-radius: 4px; font-size: 13px; font-weight: 600; color: #fff; margin-right: 12px; }
.location-wrap .bus-badge.bg-green { background-color: #87C700; }
.location-wrap .bus-badge.bg-red { background-color: #FB5852; }
.location-wrap .bus-num { font-weight: 700; margin-right: 8px; }
.location-wrap .separator { color: #ccc; margin-right: 8px; font-size: 12px; }
.location-wrap .bus-desc { color: var(--text-muted)}


@media screen and (max-width: 768px) {
  .location-wrap .contact-list li {flex-direction: column; align-items: flex-start;}
  .location-wrap .contact-list li .txt{padding-left: 28px;}
    .location-wrap .info-area { padding: 30px 20px; }
    .location-wrap .transport-info { flex-direction: column; gap: 30px; }
    .location-wrap .transport-header { width: 100%; flex-direction: row; justify-content: flex-start; text-align: left; }
    .location-wrap .transport-header .circle-icon { width: 60px; height: 60px; }
    .location-wrap .transport-header .circle-icon img { width: 24px; height: 24px; }
    .location-wrap .transport-routes { gap: 30px; }
    .location-wrap .bus-list li { align-items: flex-start; }
}








/**************************************************
  02 ESG경영
***************************************************/

/* 공통 프레임워크 */
/* 전체 래퍼 및 기본 행 구조 */
.sub-framework { display: flex; flex-direction: column; gap: 24px; width: 100%; font-size: var(--fs-20); }
.sub-framework .sf-row { display: flex; gap: 15px; align-items: stretch; }
.sub-framework .sf-th { width: 188px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 5px; color: #fff; font-size: var(--fs-24); letter-spacing: -0.5px; padding: 24px 10px; transition: .3s; }
.sub-framework .sf-td { flex-grow: 1; }

/* 그리드 */
.sub-framework .sf-grid { display: grid; gap: 15px; height: 100%; }
.sub-framework .sf-grid.col-1 { grid-template-columns: 1fr; }
.sub-framework .sf-grid.col-2 { grid-template-columns: repeat(2, 1fr); }
.sub-framework .sf-grid.col-3 { grid-template-columns: repeat(3, 1fr); }
.sub-framework .sf-grid.col-4 { grid-template-columns: repeat(4, 1fr); }
.sub-framework .sf-grid.col-6 { grid-template-columns: repeat(6, 1fr); }

/* 공통 박스 컴포넌트 (.sf-box) */
.sub-framework .sf-box { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px 16px; border-radius: 6px; font-weight: 500; height: 100%; letter-spacing: -1.5px; }
.sub-framework .sf-box.style-solid { font-size: var(--fs-h4); font-weight: 600; border-radius: 50px; }
.sub-framework .sf-box.style-solid.border-blue { color: #0295CD; border: 2px solid #0295CD; font-size: var(--fs-20); }
.sub-framework .sf-box.style-solid.border-blue-light { border: 5px solid rgba(11, 80, 208, 0.20); color: var(--primary-1); background-color: #fff; }
.sub-framework .sf-box.style-solid.border-blue-light span.point-green { color: var(--secondary-2); }
.sub-framework .sf-box.style-outline { background-color: #fff; border: 2px solid #ddd; font-weight: 600; }
.sub-framework .sf-box.style-outline .com-txt-list-01 {text-align: left; color: var(--text); font-weight: 400;}
.sub-framework .sf-box.style-dashed { background-color: #fff; border: 2px dashed #ddd; color: var(--text); }
.sub-framework .sf-box.style-light-bg { background-color: var(--surface); align-items: flex-start; justify-content: flex-start; text-align: left; padding: 20px; }
.sub-framework .sf-box.style-light-bg-blue { background: #F4F5FB; border-radius: 10px; font-size: var(--fs-24); color: var(--primary-1); }

/* 박스 상단 라벨 (.sf-label) */
.sub-framework .sf-label { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: bold; z-index: 2; white-space: nowrap; }
.sub-framework .sf-label.type-pill { padding: 2px 18px; border-radius: 20px; font-size: var(--fs-16); border: 2px solid var(--white); }
.sub-framework .sf-label.type-circle { width: 24px; line-height: 24px; border-radius: 50%; font-size: var(--fs-16); }

/* 복합 구조 그룹 (.sf-box-group) */
.sub-framework .sf-box-group { width: 100%; display: flex; flex-direction: column; gap: 12px; height: 100%; }
.sub-framework .sf-box-group .sf-box { height: auto; padding: 10px 20px; color: var(--text-muted);  }
.sub-framework .sf-box-group .sf-desc { text-align: center; }

.sub-framework .sf-box-group-02 { width: 100%; display: flex; flex-direction: column; gap: 12px; height: 100%; }
.sub-framework .sf-box-group .sf-box { height: auto; padding: 10px 20px;  }

.sub-framework .sf-box.sf-box-row {flex-direction: column; justify-content: flex-start; text-align: left; align-items: flex-start;}
.sub-framework .sf-box .sf-box-tit {background: var(--primary-4); color: var(--white); font-size: var(--fs-20); text-align: center; border-radius: 50px; width: 100%; padding: 8px; margin-bottom: 15px;}

/* 리스트 스타일 (.sf-list) */
.sub-framework .sf-list { width: 100%; display: flex; flex-direction: column; gap: 16px; }
.sub-framework .sf-list li { position: relative; padding-left: 30px; }
.sub-framework .sf-list .num { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; color: #fff; font-size: 0.75rem; font-weight: bold; position: absolute; top: 4px; left: 0; }

/* 색상 유틸리티 */
.sub-framework .bg-gradient { background: linear-gradient(90deg, #0F6ED8 0%, #25B85D 100%); color: #fff !important; border: none !important; }
.sub-framework .bg-blue-1 { background-color: #388CEB; }
.sub-framework .bg-blue-2 { background-color: #0F6ED8; }
.sub-framework .bg-blue-3 { background-color: #034EA2; }
.sub-framework .bg-blue-4 { background-color: #013977; }
.sub-framework .bg-blue-5 { background-color: #0D2259; }
.sub-framework .bg-blue-6 { background-color: #2E3D4E; }
.sub-framework .bg-blue-7 { background-color: #252C35; }
.sub-framework .bg-blue { background-color: #0295CD; color: var(--white); }
.sub-framework .bg-blue-2 { background-color: #0074DF; color: var(--white); }
.sub-framework .bg-blue-3 { background-color: var(--primary-4); color: var(--white); }
.sub-framework .bg-teal { background-color: #029E93; color: var(--white); }
.sub-framework .bg-green { background-color: #12AD71; color: var(--white); }
.sub-framework .bg-gray { background-color: var(--gray-300); color: var(--white); }
.sub-framework .border-blue { border-color: #0074DF!important; color: #0074DF }
.sub-framework .border-blue-2 { border-color: var(--primary-4)!important; color: var(--primary-4); }
.sub-framework .border-blue-3 { border-color: #0295CD !important; color: #0295CD; }
.sub-framework .border-teal { border-color: #029E93 !important; color: #029E93; }
.sub-framework .border-green { border-color: #12AD71 !important; color: #12AD71; }
.sub-framework .border-darkblue { border-color: #013977 !important; color: #013977; }
.sub-framework .border-gray { border-color: var(--gray-400); color:var(--gray-400); }
.sub-framework .com-txt-list-03 {font-weight: 400;}

.sub-framework .sf-col { display: flex; flex-direction: column; gap: 15px; }
.sub-framework .sf-box.type-task { flex-direction: column; gap: 12px; width: 100%;align-items: flex-start; padding: 18px 14px; min-height:270px;max-height: fit-content;}
.sub-framework .sf-box .com-txt-list-01.com-txt-list-white > li::before {background: var(--white);}

.sub-framework .sf-task-tit { position: relative; padding-left: 26px; font-weight: 700;}
.sub-framework .sf-task-tit .num { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; color: #fff; font-size: 12px; font-weight: bold; position: absolute; top: 6px; left: 0; }

.sub-framework .sf-task-list { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.sub-framework .sf-task-list li { font-size: var(--fs-18); color: var(--text-muted, #666); line-height: 1.4; padding-left: 16px; text-indent: -16px; }

/* 동반성장 추진체계 화살표 */
.sub-framework .sf-row-arrow {position: relative; z-index: 1; gap: 60px;}
.sub-framework .sf-row-arrow::after { content: ""; position: absolute; top: calc(100% - 40px); left: 50%; width: 100%; max-width: 640px; height: 130px; transform: translateX(-50%); background: url(/resources/user/web/images/sub/bg_shape_arrow.svg) center top / 100% 100% no-repeat; z-index: -1;}
.sub-framework .sf-row-arrow .sf-box::after { content: '';position: absolute;
 top: 50%; right: -28px; width: 14px; height: 14px; border-top: 2px solid var(--gray-300); border-right: 2px solid var(--gray-300); transform: rotate(45deg) translateY(-50%); z-index: 1;}
 .sub-framework .sf-row-arrow .sf-box:last-child:after {display: none;}


@media screen and (max-width: 1200px) {
  .sub-framework .sf-th {width: 140px;}
  .sub-framework .sf-box.type-task {min-height:150px}
   .sub-framework .sf-grid.col-6 { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 1024px) {
  .sub-framework .sf-grid.col-3 { grid-template-columns: repeat(2, 1fr); }
  .sub-framework .sf-grid.col-4 { grid-template-columns: repeat(2, 1fr); }
 

  .sub-framework .sf-row-arrow {gap: 15px;}
  .sub-framework .sf-row-arrow .sf-box::after {display: none;}

}

@media screen and (max-width: 768px) {
    .sub-framework { gap: 40px; font-size: 16px;}
    .sub-framework .sf-row { flex-direction: column; }
    .sub-framework .sf-box { padding: 16px 14px;}
    .sub-framework .sf-th { width: 100%; height: auto; padding: 20px 24px; font-size: 20px; font-weight: bold; }
    .sub-framework .sf-row::before {content: ''; border-bottom: 1px dashed var(--gray-400);  margin-bottom: 25px;}
    .sub-framework .sf-row:first-child:before {display:none}
    .sub-framework .sf-grid { grid-template-columns: 1fr !important; }
    .sub-framework .sf-row.mb-80 {margin-bottom: 0;}
    .sub-framework .sf-row-arrow::after {display: none;}
    .sub-framework .sf-label.type-pill {font-size: 13px; padding: 1px 14px;}
    .sub-framework .sf-box.style-solid {border-radius: 10px;}
  .sub-framework .sf-box.type-task {min-height:auto;}
    
}


/**************************************************
  020101 ESG추진전략
***************************************************/
/* 조직도 */
.org-tree-box { width: 100%; padding: 20px 0; }
.org-tree-box ul { display: flex; flex-direction: column; align-items: center; width: 100%; }
.org-tree-box li { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }
.org-tree-box .org-tree ul { padding-top: 50px; position: relative; }
.org-tree-box .org-tree ul::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 50px; background-color: var(--border); transform: translateX(-50%); }
.org-tree-box .org-node { position: relative; z-index: 2; width: 100%; max-width: 390px; }
.org-tree-box .org-box-group { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.org-tree-box .org-box { display: flex; align-items: center; justify-content: center; text-align: center;  border-radius: 5px; padding: 10px 20px; box-sizing: border-box;  position: relative; word-break: keep-all; line-height: 1.4;  width: 100%; min-height: 50px; font-size: var(--fs-18); font-weight: 400;}
.org-tree-box .org-box.solid { font-size: var(--fs-20); font-weight: 600; color: #fff; padding-top: 10px; }
.org-tree-box .org-box.outline { background-color: #fff; border: 1px solid var(--gray-300); color: var(--text-muted); }
.org-tree-box .org-label {  position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);  width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;  font-size: var(--fs-16); font-weight: bold; color: #fff;  border: 2px solid #fff; box-sizing: border-box; z-index: 2; }
.org-tree-box .org-branch-side { position: absolute; left: 100%; top: 50px; padding-left: 40px; width: 430px; }
.org-tree-box .org-branch-side::before { content: ''; position: absolute; right: 0; top: 25px; width: 625px; height: 1px; background-color: var(--border); z-index: -1; }

.org-tree-box .org-branches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding-top: 40px; position: relative; width: 100%; }
.org-tree-box .org-tree ul.org-branches::before { height: 100px; }
.org-tree-box .org-branches li { padding-top: 55px; position: relative; }
.org-tree-box .org-branches li::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 70px; background-color: var(--border); transform: translateX(-50%); }
.org-tree-box .org-branches li:nth-child(2)::before { display: none; }
.org-tree-box .org-branches li::after { content: ''; position: absolute; top: 0; left: 50%; width: calc(100% + 15px); height: 1px; background-color: var(--border); }
.org-tree-box .org-branches li:last-child::after { display: none; }
.org-tree-box .org-branches .org-box-group {width: 100%; max-width: 390px; margin: 0 auto; }

.org-tree .bg-blue-1 { background-color: #0077FF; }
.org-tree .bg-blue-3 { background-color: var(--primary-1); }
.org-tree .bg-blue-5 { background-color: var(--primary-4); }
.org-tree .bg-blue { background-color: #0295CD; }
.org-tree .bg-teal { background-color: #029E93; }
.org-tree .bg-green { background-color: #12AD71; }


@media screen and (max-width: 1400px) {
  .org-tree-box .org-branch-side { position: relative; left: auto; top: auto; padding-left: 0; width: 100%; max-width: 100%; margin-top: 15px; }
  .org-tree-box .org-branch-side::before {width: 1px; height: 50px; top: -20px; right: 50%; transform: translateX(50%);}
}

@media screen and (max-width: 1024px) {
    .org-tree-box {padding: 0;}
    .org-tree-box .org-branches li::after, 
    .org-tree-box .org-tree ul::before, 
    .org-tree-box .org-branch-side::before, 
    .org-tree-box .org-branches li::before { display: none; }
    
    .org-tree-box .org-node { max-width: 100%; }
   
    
    .org-tree-box .org-branches { grid-template-columns: 1fr; padding-top: 20px; gap: 15px; }
    .org-tree-box .org-tree ul { padding-top: 20px; gap: 15px; }
    .org-tree-box .org-branches li { padding-top: 0; }
    .org-tree-box .org-box-group { max-width: 100%; gap: 5px; }
    .org-tree-box .org-branches .org-box-group {max-width: none;}

    
}





/**************************************************
   020301 한마음봉사단소개_연혁
***************************************************/
.sub-history-wrap { width: 100%;  }
.history-tab-nav { position: relative; margin-bottom: 50px; }
.history-tab-nav .tab-list { display: flex; justify-content: space-between; position: relative; z-index: 2; }
.history-tab-nav .tab-list::before { content: ''; position: absolute; top: 5px; left: 0; width: 100%; height: 1px; background-color: var(--border); z-index: -1; }
.history-tab-nav .tab-list li { flex: 1; text-align: center; }
.history-tab-nav .tab-list li a { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #999; font-size: var(--fs-20); gap: 15px; }
.history-tab-nav .tab-list li a::before { content: ''; display: block; width: 11px; height: 11px; border-radius: 50%; background-color: #ccc; transition: all 0.3s; }
.history-tab-nav .tab-list li.active a { color: var(--primary-1); font-weight: 700; }
.history-tab-nav .tab-list li.active a::before { background-color: var(--primary-1); box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--primary-1); width: 9px; height: 9px;  margin-top: 1px; }
.sub-history-wrap .history-content-box { background-color: var(--surface); border-radius: 20px; padding: 60px 70px; display: flex; gap: 50px; }
.sub-history-wrap .year-col { width: 180px; flex-shrink: 0; }
.sub-history-wrap .year-tit { font-size: var(--fs-24); font-weight: 800; }
.sub-history-wrap .list-col { flex-grow: 1; }
.sub-history-wrap .history-list { display: flex; flex-direction: column; gap: 24px; }
.sub-history-wrap .history-list > li { display: flex; gap: 30px; }
.sub-history-wrap .history-list > li > .date { width: 130px; flex-shrink: 0; font-size: var(--fs-20); font-weight: 700; position: relative; padding-left: 20px; }
.sub-history-wrap .history-list > li > .date::before { content: ''; position: absolute; left: 0; top: 13px; width: 6px; height: 6px; border-radius: 50%; background-color: var(--primary-1); }
.sub-history-wrap .history-list li > .desc { flex-grow: 1; margin: 0 0 8px 0; color: var(--text-muted); }


.history-tab-contents .history-content-box {display: none;}
.history-tab-contents .history-content-box.active {display: flex; }


@media screen and (max-width: 768px) {
    .history-tab-nav { overflow-x: auto; padding-bottom: 15px; padding-top: 5px; margin-bottom: 30px; }
    .history-tab-nav .tab-list { width: max-content; min-width: 100%; gap: 40px; padding: 0 20px; }
    
    .sub-history-wrap .history-content-box { flex-direction: column; padding: 35px 25px; gap: 30px; }
    .sub-history-wrap .year-col { width: 100%; }
    .sub-history-wrap .year-tit { font-size: 28px; }
    
    .sub-history-wrap .history-list li { flex-direction: column; gap: 10px; }
    .sub-history-wrap .history-list .date { width: auto; }

    .history-tab-contents .history-content-box.active { display: flex;flex-direction: column;}
}

/**************************************************
  020101 ESG추진체계
***************************************************/
/* 조직도 */
.org-tree-box-02 { width: 100%; padding: 40px 0; overflow-x: auto; }
.org-tree-box-02 ul { display: flex; justify-content: center; width: 100%; }
.org-tree-box-02 li { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }

.org-tree-box-02 .sf-box-group { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.org-tree-box-02 .sf-box-group-02 { padding-top: 20px; }
.org-tree-box-02 .sf-box { display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 5px; padding: 10px 20px; box-sizing: border-box; position: relative; width: 100%; min-height: 50px; font-weight: 400; }
.org-tree-box-02 .sf-box.style-solid { font-size: var(--fs-18); font-weight: 600; color: #fff; }
.org-tree-box-02 .sf-box.style-outline { background-color: #fff; border: 1px solid var(--border, #ccc); color: var(--text-muted, #666); }

.org-tree-box-02 .bg-blue-1 { background-color: #0077FF }
.org-tree-box-02 .bg-blue-2 { background-color: #0295CD; }
.org-tree-box-02 .bg-blue-3 { background-color: var(--primary-1); }
.org-tree-box-02 .bg-blue-5 { background-color: var(--primary-4); }
.org-tree-box-02 .bg-teal { background-color: #029E93; }

.org-tree-box-02 .org-node { display: flex; flex-direction: column; gap: 4px; margin: 0 auto; position: relative; z-index: 2; }
.org-tree-box-02 .org-node.wide { width: 100%; max-width: 390px; }
.org-tree-box-02 .org-node.narrow { width: 100%; max-width: 250px; }

.org-tree-box-02 .org-tree > li { padding-top: 0; }
.org-tree-box-02 .org-tree > li::before, .org-tree-box-02 .org-tree > li::after { display: none; }

.org-tree-box-02 ul.org-branches { padding-top: 40px; position: relative; width: 100%; }
.org-tree-box-02 ul.org-branches::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 40px; background-color: var(--border, #ccc); transform: translateX(-50%); }
.org-tree-box-02 ul.org-branches > li { padding: 40px 10px 0 10px; flex: 1; }
.org-tree-box-02 .org-tree > li > ul.org-branches > li > ul.org-branches > li:first-child { flex: 3; }
.org-tree-box-02 ul.org-branches > li::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 120px; background-color: var(--border, #ccc); transform: translateX(-50%); }
.org-tree-box-02 ul.org-branches > li::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; border-top: 1px solid var(--border, #ccc); }
.org-tree-box-02 ul.org-branches > li:first-child:before {height: 40px;}
.org-tree-box-02 ul.org-branches > li:first-child::after { left: 50%; width: 50%; }
.org-tree-box-02 ul.org-branches > li:last-child::after { left: 0; width: 50%; }
.org-tree-box-02 ul.org-branches > li:only-child::after { display: none; }
.org-tree-box-02 .org-branch-side { position: absolute; left: 100%; top: 64px; width: 390px; margin-left: 50px; }
.org-tree-box-02 .org-branch-side::before { content: ''; position: absolute; right: 100%; top: 28px; width: 245px; border-top: 1px solid var(--border, #ccc); }

.org-tree-box-02 .org-side-layout { display: flex; justify-content: center; align-items: flex-start; position: relative; padding: 40px 0; width: 100%; }
.org-tree-box-02 .org-side-layout::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background-color: var(--border, #ccc); transform: translateX(-50%); }

.org-tree-box-02 .side-left { width: 250px; margin-right: 40px; position: relative; }
.org-tree-box-02 .side-left::after { content: ''; position: absolute; top: 28px; right: -40px; width: 40px; border-top: 1px solid var(--border, #ccc); }

.org-tree-box-02 .side-right { width: 250px; margin-left: 40px; position: relative; }
.org-tree-box-02 .side-right::after { content: ''; position: absolute; top: 28px; left: -40px; width: 40px; border-top: 1px solid var(--border, #ccc); }

@media screen and (max-width: 1400px) {
  .org-tree-box-02 .org-branch-side {position: static; margin-left: 0; padding-top: 40px;}
  .org-tree-box-02 .org-branch-side::before {height: 70px; width: 1px; right: 50%; background: var(--gray-200); z-index: -1;}
}
@media screen and (max-width: 1024px) {
    .org-tree-box-02 {padding: 0;}
    .org-tree-box-02 ul.org-branches { flex-direction: column; gap: 30px; padding-top: 20px; align-items: center; }
    .org-tree-box-02 ul.org-branches::before, .org-tree-box-02 ul.org-branches > li::before, .org-tree-box-02 ul.org-branches > li::after, 
    .org-tree-box-02 .org-branch-side::before, .org-tree-box-02 .org-side-layout::before, 
    .org-tree-box-02 .side-left::after, .org-tree-box-02 .side-right::after { display: none; }
    
    .org-tree-box-02 ul.org-branches > li { padding: 0; width: 100%; }
    
    .org-tree-box-02 .org-tree > li > ul.org-branches > li > ul.org-branches > li:first-child { flex: 1; }

    .org-tree-box-02 .org-node.wide, .org-tree-box-02 .org-node.narrow, .org-tree-box-02 .org-branch-side, .org-tree-box-02 .side-left, .org-tree-box-02 .side-right { width: 100%; max-width: 100%; }
    
    .org-tree-box-02 .org-branch-side { position: relative; left: auto; top: auto; padding-left: 0; margin-top: 20px; padding-top: 0;}
    .org-tree-box-02 .org-side-layout { flex-direction: column; gap: 20px; padding: 20px 0; align-items: center; }
    .org-tree-box-02 .side-left, .org-tree-box-02 .side-right { margin: 0; }
    .org-tree-box-02 .sf-box-group-02 {padding-top: 0;}
}


/**************************************************
   020104 지속가능경영강령
***************************************************/
.esg-code-box {border: 1px solid var(--border); border-radius: 10px; padding: 30px; display: flex; flex-direction: column; gap: 20px;}
.esg-code-box li {display: flex; align-items: center; gap: 20px;}
.esg-code-box li span.num {flex-shrink: 0; width: 48px; height: 48px; line-height: 48px; display: block; font-size: var(--fs-16); color: var(--white); background: var(--primary-1); border-radius: 100px; text-align: center;}

@media screen and (max-width: 768px) {
  .esg-code-box {padding: 16px; gap: 10px;}
  .esg-code-box li {gap: 12px;}
  .esg-code-box li span.num {width: 38px; height: 38px; line-height: 38px;}
}


/**************************************************
   020106 ESG평가·인증 현황
***************************************************/
.esg-img-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px 16px; }
.esg-img-list .thumb { aspect-ratio: 328/465; border: 1px solid var(--border); overflow: hidden; margin-bottom: 30px;}
.esg-img-list .thumb img { width: 100%; height: 100%; object-fit: cover; }
.esg-img-list .tit {font-weight: 700; margin-bottom: 10px;}
.esg-img-list .txt {font-size: var(--fs-16); color: var(--text-muted);}

.esg-img-list.logo {grid-template-columns: repeat(3, 1fr);}
.esg-img-list.logo .thumb { aspect-ratio: 456/160; display: flex; align-items: center; justify-content: center; padding: 20px; }
.esg-img-list.logo .thumb img { width: auto; height: auto; max-width: 60%; max-height: 60%; object-fit: contain; }
.esg-img-list .detail .com-badge {margin-bottom: 8px;}

.ese-list-item {margin-left: none !important}

@media screen and (max-width: 1024px) {
  .esg-img-list { grid-template-columns: repeat(2, 1fr); }
  .esg-img-list.logo { grid-template-columns: repeat(2, 1fr); }
}
/* 260618 수정 */
@media screen and (max-width: 768px) {
    .esg-img-list { grid-template-columns: 1fr }
    .esg-img-list.logo { grid-template-columns: 1fr; }
    .esg-img-list.logo .thumb {margin-bottom: 10px;}
    .esg-img-list.logo .thumb img { max-width: 80%; max-height: 80%;}
    .esg-img-list .tit {margin-bottom: 5px;}
    .esg-img-list .thumb {margin-bottom: 10px;}
}
/* // 260618 수정 */


/**************************************************
   020301 한마음봉사단소개
***************************************************/
/* 조직도 */
.org-tree-box-03 { width: 100%; padding: 40px 0; overflow-x: auto; }
.org-tree-box-03 ul { display: flex; justify-content: center; width: 100%; }
.org-tree-box-03 li { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }

.org-tree-box-03 .sf-box-group { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.org-tree-box-03 .sf-box { display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 5px; padding: 10px 20px; box-sizing: border-box; position: relative;  width: 100%; min-height: 50px; font-size: var(--fs-16); font-weight: 400; }
.org-tree-box-03 .sf-box.style-solid { font-weight: 600; color: #fff; }
.org-tree-box-03 .sf-box.style-outline { background-color: #fff; border: 1px solid var(--border, #ccc); color: var(--text-muted); }

/* 시안 컬러 매칭 */
.org-tree-box-03 .bg-blue-1 { background-color: #0077FF; }
.org-tree-box-03 .bg-blue-2 { background-color: #004098; }
.org-tree-box-03 .bg-blue-3 { background-color:var(--primary-4); }

/* 노드 너비 설정 (시안의 390px 기준) */
.org-tree-box-03 .org-node { display: flex; flex-direction: column; gap: 4px; margin: 0 auto; position: relative; z-index: 2; }
.org-tree-box-03 .org-node.wide { width: 100%; max-width: 390px; }

/* 1 Depth -> 2 Depth 연결선 (중앙 세로선) */
.org-tree-box-03 ul.org-branches { padding-top: 140px; position: relative; }
.org-tree-box-03 ul.org-branches::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 140px; background-color: var(--border, #ccc); transform: translateX(-50%); }

/* 2단 분기 (본사/사업소) 가로선 레이아웃 */
.org-tree-box-03 ul.org-branches > li { padding: 60px 20px 0 20px; flex: 1; }
.org-tree-box-03 ul.org-branches > li::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 60px; background-color: var(--border, #ccc); transform: translateX(-50%); }
.org-tree-box-03 ul.org-branches > li::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; border-top: 1px solid var(--border, #ccc); }
.org-tree-box-03 ul.org-branches > li:first-child::after { left: 50%; width: 50%; }
.org-tree-box-03 ul.org-branches > li:last-child::after { left: 0; width: 50%; }

/* 우측 날개 분기: 사무국 */
.org-tree-box-03 .org-branch-side { position: absolute; left: 100%; top: 116px; margin-left: 80px; width: 390px; }
.org-tree-box-03 .org-branch-side::before { content: ''; position: absolute; right: 100%; top: 24px; width: 275px; height: 1px; background: var(--border); }

@media screen and (max-width: 1400px) {
  .org-tree-box-03 .org-branch-side {position: static; margin: 0; padding-top: 40px;}
  .org-tree-box-03 .org-branch-side::before {height: 100px; width: 1px; right: 50%; top: auto; bottom: 60px; z-index: -1;}
}
@media screen and (max-width: 1024px) {
    .org-tree-box-03 {padding: 0;}
    .org-tree-box-03 ul.org-branches { flex-direction: column; gap: 30px; padding-top: 20px; }
    .org-tree-box-03 ul.org-branches::before, .org-tree-box-03 ul.org-branches > li::before, .org-tree-box-03 ul.org-branches > li::after, 
    .org-tree-box-03 .org-branch-side::before { display: none; }
    
    .org-tree-box-03 ul.org-branches > li { padding: 0; }
    .org-tree-box-03 .org-node.wide, .org-tree-box-03 .org-branch-side { width: 100%; max-width: 100%; }
    
    .org-tree-box-03 .org-branch-side { position: relative; left: auto; top: auto; padding-left: 0; margin-top: 20px; padding-top: 0;}
}


/**************************************************
   020301 한마음봉사단소개_운영기금
***************************************************/
.donation-plus-wrap { display: flex; align-items: center; justify-content: center; position: relative; }
.donation-plus-wrap .dp-item { flex: 1; height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 80px; text-align: center; }
.donation-plus-wrap .dp-item.left { background-color: #0A8FAB10; padding: 0 100px 0 40px; z-index: 0; }
.donation-plus-wrap .dp-item.right { background-color: #0AAB4510; margin-left: -100px; padding: 0 40px 0 100px; z-index: 1; }
.donation-plus-wrap .dp-operator { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
.donation-plus-wrap .dp-operator::before, .donation-plus-wrap .dp-operator::after { content: ''; position: absolute; background: var(--black); }
.donation-plus-wrap .dp-operator::before { width: 30px; height: 2px; }
.donation-plus-wrap .dp-operator::after { width: 2px; height: 30px; }

@media screen and (max-width: 768px) {
  .donation-plus-wrap { flex-direction: column; }
  .donation-plus-wrap .dp-item { width: 100%; height: auto; padding: 40px 20px; border-radius: 30px; }
  .donation-plus-wrap .dp-item.left { padding: 40px 20px; margin-bottom: -20px; }
  .donation-plus-wrap .dp-item.right { padding: 40px 20px; margin-left: 0; }
}


/**************************************************
   020106 사회공헌 추진체계
***************************************************/
.catch-box {border: 1px solid var(--border); border-radius: 5px; padding: 30px;}
.catch_top p {display: flex; justify-content: center; align-items: center; gap: 6px; font-size: var(--fs-36); font-weight: bold;}
.catch_top span {width: 43px; height: 61px; display: flex; align-items: center; justify-content: center; border-radius: 5px;}

.catch-content {display: flex; gap: 30px;}
.catch-content .item {background: var(--surface); flex:1; padding: 20px 26px; border-radius: 5px;}
.catch-content .item .tit {font-size: var(--fs-h4); font-weight: bold;}
.catch-content .item .txt span {color: var(--primary-1); font-weight: bold;}
.catch-txt {padding-top: 28px; border-top: 1px solid var(--border); margin-top: 30px; text-align: center;}

.vision-value-list.type-02 {gap: 0;}
.vision-value-list.type-02 li {border:none; border-right: 1px solid var(--border); border-radius: 0; min-height: auto; width: 100%;}
.vision-value-list.type-02 li:last-child{border-right: 0;}

.sf-grid.goal-list .sf-box {flex-direction: column;}
.sf-grid.goal-list .goal-txt span {font-size: var(--fs-h3); font-weight: 600;}
.sf-grid.goal-list .sf-box:nth-child(1) .goal-txt span {color: #0295CD;}
.sf-grid.goal-list .sf-box:nth-child(2) .goal-txt span {color: #0074DF;}
.sf-grid.goal-list .sf-box:nth-child(3) .goal-txt span {color: var(--primary-4);}
.sf-grid.goal-list .sf-box:nth-child(4) .goal-txt span {color: #12AD71;}

.sf-td .slogan-box {border: 3px solid var(--primary-4); border-radius: 5px; font-size: var(--fs-24); color: var(--primary-4); font-weight: 600; display: flex; align-items: center ; justify-content: center; position: relative; padding: 30px; min-height: 140px;}
.sf-td .slogan-box .hanmaeum_logo {max-width: 100px; position: absolute; right: 90px;}

@media screen and (max-width: 1024px) {
  .catch-box{padding: 20px;}
  .catch-content {gap: 15px; flex-direction: column;}

  .vision-value-list.type-02 {width: 100%; max-width: none;}
  .vision-value-list.type-02 li {width:33.33%; border-right: 0;}
}
@media screen and (max-width:768px) {
  .sf-td .slogan-box {flex-direction: column; gap: 5px;}
  .sf-td .slogan-box .hanmaeum_logo {position: static;}
}
@media screen and (max-width: 480px) {
  .vision-value-list.type-02 li {width:50%;} 
}


/**************************************************
   020403 이사회현황 / 070502 kPS옴부즈만_인사말 및 소개
***************************************************/
/* 260618 수정 */
.director-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px; }
.director-card { display: flex; gap: 40px; padding: 40px; border: 1px solid var(--border); border-top: 3px solid var(--primary-1); border-radius: 0 0 20px 20px; background: var(--white); }
.director-card .photo-box { width: 140px;height: 184px;border: 1px solid var(--border); flex-shrink: 0;overflow: hidden; }
.director-card .photo-box img { width: 100%; height:100%; display: block; object-fit: cover;}
.director-card .info-box { flex: 1; display: flex; flex-direction: column; }
.director-card .name-wrap { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 24px; }
.director-card .name { font-size: var(--fs-20); font-weight: 700; color: var(--black); line-height: 1; }
.director-card .title { font-size: var(--fs-16); color: var(--text-muted); line-height: 1; margin-bottom: 2px; }
.director-card .basic-info { display: flex; flex-direction: column; gap: 10px; margin: 0 0 24px 0; }
.director-card .basic-info .row { display: flex; gap: 20px; }
.director-card .basic-info dt.tt { width: 60px; margin: 0; font-weight: 500; }
.director-card .basic-info dd.tx { color: var(--text-muted);  margin: 0; }
.director-card .divider { height: 1px; background: var(--border); margin-bottom: 24px; }
.director-card .com-txt-list-01 > li {color: var(--text-muted);}

/* kPS옴부즈만_인사말 및 소개 */
.ombuds-section {background: var(--surface); padding: 40px; display: none; }
.ombuds-section.active { display: block; }

.director-grid-02 { gap: 40px;}

.ombuds-select {height: 70px; border-radius: 10px; padding: 0 24px;}
.director-grid-02 .director-card {padding: 30px; border: none; border-radius: 16px;}
.director-grid-02 .director-card .photo-box { width: 120px; background: var(--surface);}

@media screen and (max-width: 1024px) {
    .director-grid { grid-template-columns: 1fr; gap: 40px; }

    .ombuds-section {padding: 24px;}
}
@media screen and (max-width: 768px) {
    .director-grid {gap: 24px;}
    .director-card { flex-direction: column; gap: 24px; padding: 24px; }
    .director-card .photo-box { width: 120px; margin: 0 auto; }
    .director-card .name-wrap { justify-content: center; }
    .ombuds-select-box {flex-direction: column;}
    .ombuds-select{height: 50px; margin-top: 10px; margin-left: auto;}
}
/* // 260618 수정 */


/**************************************************
   020502 동반성장 추진체계
***************************************************/
/*조직도*/
.org-tree-box-04 { width: 100%; padding: 40px 0; overflow-x: auto; }
.org-tree-box-04 ul { display: flex; justify-content: center; width: 100%; }
.org-tree-box-04 li { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }
.org-tree-box-04 .sf-box-group { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.org-tree-box-04 .sf-box { display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 5px; padding: 10px 20px; box-sizing: border-box; position: relative; width: 100%; min-height: 50px; }
.org-tree-box-04 .sf-box.style-solid { font-size: var(--fs-20); font-weight: 600; color: #fff; }
.org-tree-box-04 .sf-box.style-outline { background-color: #fff; border: 1px solid var(--border); color: var(--text-muted); }
.org-tree-box-04 .org-node { display: flex; flex-direction: column; gap: 4px; margin: 0 auto; position: relative; z-index: 2; }
.org-tree-box-04 .org-node.wide { width: 100%; max-width: 390px; }
.org-tree-box-04 .org-tree > li { padding-top: 0; }
.org-tree-box-04 ul.org-branches { padding-top: 40px; position: relative; width: 100%; display: flex; flex-direction: row; }
.org-tree-box-04 ul.org-branches::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 40px; background-color: var(--border, #ccc); transform: translateX(-50%); }
.org-tree-box-04 ul.org-branches > li { padding: 40px 10px 0 10px; flex: 1; }
.org-tree-box-04 ul.org-branches > li::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 40px; background-color: var(--border, #ccc); transform: translateX(-50%); }
.org-tree-box-04 ul.org-branches > li::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; border-top: 1px solid var(--border, #ccc); }
.org-tree-box-04 ul.org-branches > li:first-child::after { left: 50%; width: 50%; }
.org-tree-box-04 ul.org-branches > li:last-child::after { left: 0; width: 50%; }


@media screen and (max-width: 1024px) {
    .org-tree-box-04 { padding: 0; }
    .org-tree-box-04 ul.org-branches { flex-direction: column; gap: 30px; padding-top: 20px; align-items: center; }
    .org-tree-box-04 ul.org-branches::before, 
    .org-tree-box-04 ul.org-branches > li::before, 
    .org-tree-box-04 ul.org-branches > li::after { display: none; }
    
    .org-tree-box-04 ul.org-branches > li { padding: 0; width: 100%; }
    .org-tree-box-04 .org-node.wide { width: 100%; max-width: 100%; }
}


/**************************************************
  030201 주주현황
***************************************************/
.chartWrap { border: 1px solid var(--gray-200); background: var(--surface); margin-bottom: 60px; padding: 70px 90px 90px 90px; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 50px;}
.chartWrap .chart-container { position: relative; width: 100%; max-width: 500px; margin: 0 auto; flex: 1; min-width: 320px; }
.chartWrap .center-logo { position: absolute; top: 46%; left: 50%; transform: translate(-50%, -50%); z-index: 10; pointer-events: none; font-size: var(--fs-h3); font-weight: 900; letter-spacing: -2px; color: #333; }
#shareholderChart { position: relative; z-index: 1; }
.chartWrap .custom-label { position: absolute; z-index: 10; background: #fff; border-radius: 8px; padding: 10px 20px; text-align: center; box-shadow: none; min-width: 110px; transition: all 0.2s; }
.chartWrap .custom-label .tit { font-size: var(--fs-14); margin-bottom: 4px; white-space: nowrap; }
.chartWrap .custom-label .val { font-weight: bold; }
.chartWrap .custom-label.label-4 { border-color: #999 !important; }
.chartWrap .custom-label.label-4 .tit { color: var(--text-muted) !important; }
.chartWrap .custom-label.label-4 .val { color: var(--text-muted) !important; }
.chartWrap .custom-label::before { content: ''; position: absolute; z-index: -1; top: 50%; left: 50%; width: var(--line-length); border-top: 1px dashed #a3a3a3; transform-origin: 0 0; transform: rotate(calc(var(--angle) + 180deg)); }
.chartWrap .custom-legend { display: flex; flex-direction: column; justify-content: center; gap: 20px; background: #fff; padding: 40px; border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); min-width: 340px;}
.chartWrap .custom-legend .legend-item { display: flex; align-items: center; justify-content: space-between; font-size: var(--fs-20); }
.chartWrap .custom-legend .legend-item .left { display: flex; align-items: center; color: var(--text-muted);}
.chartWrap .custom-legend .legend-item i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 12px; }
.chartWrap .custom-legend .legend-item .val { font-weight: 700; font-size: var(--fs-24); color: #000; }
.chartWrap .custom-legend .legend-item .val span.unit { font-size: var(--fs-14); font-weight: 400; margin-left: 2px;}
.shareholder-text {text-align: center;}
.shareholder-text p{display: flex; align-items: center; justify-content: center; gap: 15px; font-size: var(--fs-20); font-weight: 700; margin-bottom: 12px;}
.shareholder-text p span.shareholder-date {font-size: var(--fs-16); color: var(--text-muted); font-weight: 400;}
.shareholder-text strong.shareholder-num {font-size: var(--fs-h3); color:var(--primary-1);}
.shareholder-text strong span.shareholder-unit { color:var(--text);}


@media (max-width: 1200px) {
  .chartWrap { flex-direction: column; gap: 40px; }
  .chartWrap .chart-container { min-width: auto; width: 100%;}
  .chartWrap .custom-legend { min-width: auto; width: 100%; padding: 30px; }

  .chart-scroll-wrap {overflow: hidden; overflow-x: auto;}
}

@media (max-width: 768px) {
  .chartWrap {padding: 24px; gap: 30px;}
  .chartWrap .custom-legend { padding: 24px; }
  .chartWrap .custom-label { display: none !important; }
}





/**************************************************
  020304 안전보건 경영방침
***************************************************/
.charter-footer .sign.col-2 {gap: 20px 40px;}
.charter-footer .sign.col-2 div {display: flex; gap: 15px;}



/**************************************************
  030201 실시간주가정보
***************************************************/
.stock-wrap .stock-info-box { font-family: var(--font-basic);
 display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 70px 60px;  border: 1px solid var(--border); border-radius: 4px;}
.stock-wrap .stock-info-box .stock-left {display: flex; flex:1; align-items: center;}
.stock-wrap .stock-info-box .price::before {
 display: none; margin-right: 6px; font-size:var(--fs-24);}

/* 상승 (빨간색) */
.stock-wrap .stock-info-box.status-up .fluctuation-area dd, 
.stock-wrap .stock-info-box.status-up .price::before, 
.stock-wrap .stock-info-box.status-up .txt-fluctuation::before { content: '▲'; color: #FC4C4E; }

/* 하락 (파란색) */
.stock-wrap .stock-info-box.status-down .fluctuation-area dd, 
.stock-wrap .stock-info-box.status-down .price::before, 
.stock-wrap .stock-info-box.status-down .txt-fluctuation::before { content: '▼'; color: #2962ff; }

/* 변동없음 (회색) */
.stock-wrap .stock-info-box.status-even .fluctuation-area dd, 
.stock-wrap .stock-info-box.status-even .price::before, 
.stock-wrap .stock-info-box.status-even .txt-fluctuation::before { content: '-'; color: var(--gray-300); }

.stock-wrap .main-price-area { padding-right: 30px; border-right: 1px solid var(--border); }
.stock-wrap .main-price-area .price { font-size: var(--fs-36); font-weight: 700; display:flex; align-items:center; }

.stock-wrap .fluctuation-area { padding: 0 40px; display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-24);}
.stock-wrap .fluctuation-area dl { display: flex; align-items: center; gap: 15px; }
.stock-wrap .fluctuation-area dt { width: 90px; }

.stock-wrap .detail-info-area { display: flex; justify-content: space-around; width: 40%; }
.stock-wrap .detail-info-area dl { display: flex; flex-direction: column; align-items: center; gap: 10px;  position: relative; width: 100%; border-right: 1px solid var(--border);}
.stock-wrap .detail-info-area dl:last-child {border-right: 0;}
.stock-wrap .detail-info-area dt {font-size: var(--fs-20); color: var(--text-muted);}
.stock-wrap .detail-info-area dd {font-size: var(--fs-24);}

.stock-wrap .custom-chart-tooltip { background: #fff; border: 1px solid #e0e0e0; border-radius: 6px; padding: 12px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.stock-wrap .custom-chart-tooltip .date { font-size: 12px; font-weight: 600; margin-bottom: 8px; border-bottom: 1px solid #eee; padding-bottom: 6px; }
.stock-wrap .custom-chart-tooltip .info-row { font-size: 12px; color: #666; margin-bottom: 4px; }

.stock-wrap .stock-red {color:#FC4C4E;}

.stock-wrap .txt-fluctuation {display:flex; align-items:center; gap:6px}
.stock-wrap .txt-fluctuation::before {font-size: var(--fs-16); }


@media screen and (max-width: 1080px) {
  .stock-wrap .stock-info-box {flex-direction: column; padding: 30px;}
  .stock-wrap .fluctuation-area {gap: 0; padding-right: 0;}
  .stock-wrap .detail-info-area {width: 90%;}
  .stock-wrap .detail-info-area dl {gap: 0}
}

@media screen and (max-width: 768px) {
  .stock-wrap .stock-info-box {padding: 20px;}
  .stock-wrap .fluctuation-area dt {width: 55px;}

  .stock-chart-area {width: 700px;}

}

@media screen and (max-width: 560px) {
  .stock-wrap .main-price-area {padding-right: 20px;}
  .stock-wrap .fluctuation-area {font-size: 16px; padding-left: 20px;}
  .stock-wrap .detail-info-area {width: 100%;}
  .stock-wrap .detail-info-area dt {font-size: 15px;}
  .stock-wrap .detail-info-area dd {font-size: 16px;}
}




/**************************************************
  040201 연구개발 수행체계
***************************************************/
.org-tree-box-rnd .rnd-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.org-tree-box-rnd .rnd-grid > li { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }
.org-tree-box-rnd .rnd-head { background-color: var(--primary-1); color: #ffffff; font-size: var(--fs-20); font-weight: 600; text-align: center; padding: 15px 10px; border-radius: 4px; width: 100%; position: relative; z-index: 2; }
.org-tree-box-rnd .rnd-vert-line { display: flex; flex-direction: column; gap: 30px; width: 100%; padding-top: 30px; position: relative; }
.org-tree-box-rnd .rnd-vert-line::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background-color: #cccccc; transform: translateX(-50%); z-index: 1; }
.org-tree-box-rnd .rnd-card { position: relative; z-index: 2; width: 100%; background-color: #ffffff; }
.org-tree-box-rnd .rnd-card-title { background-color: #0295CD; color: #ffffff; font-weight: 600; text-align: center; padding: 12px 10px; border-radius: 4px 4px 0 0; }
.org-tree-box-rnd .rnd-card-body { border: 1px solid #cccccc; border-top: none; border-radius: 0 0 4px 4px; padding: 20px 15px; min-height: 120px; }
.org-tree-box-rnd .rnd-card-body ul { text-align: left; }
.org-tree-box-rnd .rnd-card-body li { position: relative; padding-left: 12px; color: var(--text-muted); margin-bottom: 6px; }
.org-tree-box-rnd .rnd-card-body li:last-child { margin-bottom: 0; }
.org-tree-box-rnd .rnd-card-body li::before { content: '·'; position: absolute; left: 0; top: 0; font-weight: bold; }

.step-list-rnd .badge-list {margin-bottom: 8px; display: flex; gap: 5px; flex-wrap: wrap;}
.step-list-rnd .badge-list li {font-size: var(--fs-14); background: var(--surface); padding: 2px 10px; border-radius: 3px; display: inline-block; }
.step-list-rnd .badge-list.com-flex {}
.step-list-rnd .badge-card-list {display:flex; flex-direction: column; gap: 5px;}
.step-list-rnd .badge-card-list > li {padding: 10px 14px;}
.step-list-rnd .com-txt-list-03 > li {margin-bottom: 10px; font-weight: 400 !important;}
.step-list-rnd .com-txt-list-03 > li:last-child {margin-bottom: 0;}
.step-list-rnd .step-card {min-height: 410px;}
.step-list-rnd .step-item:last-child .step-card {border: 1px solid var(--primary-1);}



@media screen and (max-width: 1024px) {
    .org-tree-box-rnd .rnd-grid { grid-template-columns: 1fr; gap: 40px; }
    .org-tree-box-rnd .rnd-vert-line::before { display: none; } 
}


/**************************************************
  040203 중장기 기술개발계획
***************************************************/

.td-strat-wrap { font-size: var(--fs-20); }
.td-strat-wrap .strat-group { margin-bottom: 30px; }
.td-strat-wrap .strat-group:last-child { margin-bottom: 0; }
.td-strat-wrap .strat-header, .td-strat-wrap .strat-row { display: grid; grid-template-columns: 1fr 280px; gap: 20px; align-items: stretch; }
.td-strat-wrap .strat-header { margin-bottom: 15px; align-items: center; }
.td-strat-wrap .title-box { border-radius: 6px; padding: 18px 20px; display: flex; align-items: center; gap: 15px; }
.td-strat-wrap .title-box .badge { color: #ffffff; padding: 6px 18px; border-radius: 4px; font-weight: 600; }
.td-strat-wrap .title-box strong { font-weight: 600; }
.td-strat-wrap .stat-head .stat-th-top { color: #ffffff; text-align: center; padding: 4px 14px; border-radius: 4px; font-weight: 600;  margin-bottom: 5px; }
.td-strat-wrap .stat-head .stat-th-bot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.td-strat-wrap .stat-head .stat-th-bot span { color: #ffffff; text-align: center; padding: 4px 14px; border-radius: 4px; }
.td-strat-wrap .item-left { background-color: var(--surface); padding: 15px 20px; display: flex; align-items: center; gap: 12px;}
.td-strat-wrap .item-left .num { width: 20px; height: 20px; color: #ffffff; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: bold; flex-shrink: 0; font-size: 0.75rem; }
.td-strat-wrap .item-right { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; align-items: center; text-align: center; color: var(--text-muted) }
.td-strat-wrap .strat-row:first-child .item-left { border-radius: 6px 6px 0 0; }
.td-strat-wrap .strat-row:last-child .item-left { border-radius: 0 0 6px 6px; }

.td-strat-wrap .theme-blue .title-box { border: 1px solid #0295CD; }
.td-strat-wrap .theme-blue .badge, .td-strat-wrap .theme-blue .stat-th-top, .td-strat-wrap .theme-blue .stat-th-bot span, .td-strat-wrap .theme-blue .item-left .num { background-color: #0295CD; }

.td-strat-wrap .theme-teal .title-box { border: 1px solid #029E93; }
.td-strat-wrap .theme-teal .badge, .td-strat-wrap .theme-teal .stat-th-top, .td-strat-wrap .theme-teal .stat-th-bot span, .td-strat-wrap .theme-teal .item-left .num { background-color: #029E93; }

.td-strat-wrap .theme-green .title-box { border: 1px solid #12AD71; }
.td-strat-wrap .theme-green .badge, .td-strat-wrap .theme-green .stat-th-top, .td-strat-wrap .theme-green .stat-th-bot span, .td-strat-wrap .theme-green .item-left .num { background-color: #12AD71; }

@media screen and (max-width: 1024px) {
    .td-strat-wrap .strat-header, .td-strat-wrap .strat-row { grid-template-columns: 1fr; gap: 10px; }
    .td-strat-wrap .strat-row + .strat-row .item-right { border-top: none; }
    .td-strat-wrap .item-right { padding-bottom: 20px; border-bottom: 1px dotted #ccc; }
    .td-strat-wrap .strat-row:last-child .item-right { border-bottom: none; }
}

/**************************************************
  050502 부조리제보센터
***************************************************/
.public-comm-wrap .noti-box .com-txt-list-01 {color: var(--text-muted);}
.public-comm-wrap .noti-box .noti-foot {border-top: 1px solid var(--border); padding-top: 30px; margin-top: 30px; color: var(--text-muted); display: flex; justify-content: space-between; gap: 20px;}

@media screen and (max-width: 768px) {
  .public-comm-wrap .noti-box .noti-foot {flex-direction: column;}
}

/**************************************************
  050502 부패행위 익명신고센터
***************************************************/
.public-comm-wrap .com-info-box .com-num-list-02 {grid-template-columns: repeat(3,1fr);}
.public-comm-wrap .com-info-box .com-num-list-02 li {background: var(--white); padding: 16px 24px; border-radius: 10px;padding-left: 56px;}
.public-comm-wrap .com-info-box .com-num-list-02 li::before {top: 17px; left: 24px; background: var(--primary-1); color: var(--white); font-size: var(--fs-14);}

@media screen and (max-width: 1024px) {
  .public-comm-wrap .com-info-box .com-num-list-02 {grid-template-columns: repeat(2, 1fr);}
}

@media screen and (max-width: 768px) {
  .public-comm-wrap .com-info-box .com-num-list-02 {grid-template-columns: 1fr;}
  .public-comm-wrap .com-info-box .com-num-list-02 li { padding: 8px 16px; padding-left: 40px;}
  .public-comm-wrap .com-info-box .com-num-list-02 li::before { top: 10px; left: 12px;}
}



/**************************************************
  0512 경력증명서 신청
***************************************************/
.career-cert-wrap .agree-box {display: flex; flex-direction: column; align-items: center; gap: 30px;}



/**************************************************
  0603 사전정보공표
***************************************************/
.pre-info-wrap {background: var(--surface); padding: 50px;}
.pre-info-list {display: grid; gap: 25px; grid-template-columns: repeat(5, 1fr);}
.pre-info-list li a {display: block; background-color: var(--white); padding: 40px 20px; border-radius: 20px; text-align: center; font-size: var(--fs-20); font-weight: 500; transition: .3s;}
.pre-info-list li a:hover {box-shadow: 0 0 20px rgba(0,0,0,.15); transform: translateY(-10px);}
.pre-info-list li .icon {width: 72px; height: 72px; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat; display: block; margin: 0 auto 24px;}

.pre-info-list li:nth-child(1) .icon {background-position: 0 -214px;}
.pre-info-list li:nth-child(2) .icon {background-position: -102px -219px;}
.pre-info-list li:nth-child(3) .icon {background-position: -206px -218px;}
.pre-info-list li:nth-child(4) .icon {background-position: -305px -217px;}
.pre-info-list li:nth-child(5) .icon {background-position: -408px -214px;}
.pre-info-list li:nth-child(6) .icon {background-position: -513px -214px;}
.pre-info-list li:nth-child(7) .icon {background-position: -613px -214px;}
.pre-info-list li:nth-child(8) .icon {background-position: -714px -221px;}


@media screen and (max-width: 1200px) {
  .pre-info-list {display: grid; gap: 25px; grid-template-columns: repeat(4, 1fr);}
}


@media screen and (max-width: 1024px) {
  .pre-info-wrap {padding: 24px;}
  .pre-info-list {grid-template-columns: repeat(4, 1fr);}
  .pre-info-list li a {padding: 24px 10px;}
}


@media screen and (max-width: 768px) {
  .pre-info-list {gap: 14px; grid-template-columns: repeat(3, 1fr);}
  .pre-info-list li a{padding: 16px;}
  .pre-info-list li a:hover {transform: translateY(-4px);}
  .pre-info-list {grid-template-columns: repeat(2, 1fr);}
  .pre-info-list li a {font-size: 15px;}
  .pre-info-list li .icon { margin-bottom: 10px; transform: scale(0.6); transform-origin: center center; margin-top: -10px; margin-bottom: -5px; 
  }
}

@media screen and (max-width: 640px) {
  .pre-info-list {grid-template-columns: repeat(2, 1fr);}
  .pre-info-list li a {font-size: 14px; padding: 15px 10px;}
}






/**************************************************
    050401 서브 진단 소개 박스
***************************************************/
.sub-diagnosis-intro {position: relative; margin-top: 94px; padding: 100px 80px 70px; background: #F2F2F2; border-radius: 10px;}
.sub-diagnosis-intro-title {position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); min-width: 280px; padding: 14px 32px; background: var(--primary-1); color: var(--white); border-radius: 50px; font-size: var(--fs-h4); font-weight: 700; line-height: 1.2; text-align: center;}

.sub-diagnosis-img-list {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 45px;}
.sub-diagnosis-img-list li {overflow: hidden; border-radius: 4px;}
.sub-diagnosis-img-list img {width: 100%; height: 180px; object-fit: cover;}

.sub-diagnosis-txt-list {display: flex; flex-direction: column; gap: 12px;}
.sub-diagnosis-txt-list > li {font-size: var(--fs-20); color: var(--text); line-height: 1.6;}

@media screen and (max-width: 1024px) {
    .sub-diagnosis-intro {padding: 80px 30px 50px;}
    .sub-diagnosis-img-list {grid-template-columns: repeat(2, 1fr);}
    .sub-diagnosis-img-list img {height: 200px;}
}

@media screen and (max-width: 640px) {
    .sub-diagnosis-intro {margin-top: 50px; padding: 65px 20px 35px;}
    .sub-diagnosis-intro-title {min-width: auto; width: calc(100% - 40px); font-size: var(--fs-24);}
    .sub-diagnosis-img-list {grid-template-columns: 1fr; gap: 14px; margin-bottom: 30px;}
    .sub-diagnosis-img-list img {height: auto;}
}

/**************************************************
    050401 파란색헤더박스
***************************************************/
.sub-diagnosis-service {margin-top:80px;}
.sub-diagnosis-card-list {display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.sub-diagnosis-card {overflow:hidden;min-height:220px;border:1px solid var(--border);border-radius:8px;background:var(--white);}
.sub-diagnosis-card-title {display:flex;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:14px 20px;background:var(--primary-4);color:var(--white);font-size:var(--fs-20);font-weight:700;line-height:1.4;text-align:center;}
.sub-diagnosis-card-title span {display:inline-block;font-size:var(--fs-16);font-weight:400;opacity:.9;}
.sub-diagnosis-card .com-txt-list-01 {padding:28px 36px 30px;}
.sub-diagnosis-card .com-txt-list-01 > li {color:var(--text-muted);line-height:1.7;}

@media screen and (max-width:1400px){
    .sub-diagnosis-card-title {flex-direction:column;}
    .sub-diagnosis-card-title span {display:block;}
}

@media screen and (max-width:1024px){
    .sub-diagnosis-card-list {grid-template-columns:repeat(2,1fr);}
}

@media screen and (max-width:640px){
    .sub-diagnosis-service {margin-top:50px;}
    .sub-diagnosis-card-list {grid-template-columns:1fr;gap:20px;}
    .sub-diagnosis-card-title {min-height:56px;padding:12px 16px;}
    .sub-diagnosis-card .com-txt-list-01 {padding:22px 24px 24px;}
}

.sub-solution-wrap {margin-top:80px;}

/**************************************************
    050401 주요고객
***************************************************/
.client-section {margin-top:80px;}
.client-group + .client-group {margin-top:80px;}
.client-group-title {margin-bottom:32px;font-size:24px;font-weight:700;color:#082a63;}
.client-list {display:grid;grid-template-columns:repeat(5,1fr);gap:52px 34px;}
.client-list li {text-align:center;}
.client-logo {display:flex;align-items:center;justify-content:center;height:120px;padding:18px;border:1px solid #ddd;background:#fff;box-sizing:border-box;}
.client-logo img {max-width:100%;max-height:60px;object-fit:contain;}
.client-list p {margin-top:16px;font-size:17px;color:#555;line-height:1.5;word-break:keep-all;}

@media (max-width:1200px){
  .client-list {grid-template-columns:repeat(4,1fr);}
}

@media (max-width:900px){
  .client-list {grid-template-columns:repeat(3,1fr);}
}

@media (max-width:640px){
  .client-list {grid-template-columns:repeat(2,1fr);gap:30px 16px;}
  .client-logo {height:100px;padding:16px;}
  .client-logo img {max-height:50px;}
  .client-list p {font-size:15px;}
}




/**************************************************
  050501 신고/감사창구
***************************************************/
.report-wrap { border: 1px solid var(--border); border-radius: 16px; padding: 50px; background: #fff; }
.report-top-box { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.report-top-box .txt-area h3 { font-size: var(--fs-24); font-weight: 700; margin-bottom: 20px; }
.report-top-box .txt-area p { color: var(--text-muted); }
.report-top-box .com-sub-btn.type-02 {margin-top: 30px;}
.report-top-box .btn-area { display: flex; gap: 20px; flex-shrink: 0; margin-left: 40px; }
.report-top-box .btn-area a { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 240px; height: 130px; border-radius: 8px; border: 1px solid var(--border); font-weight: 600; color: var(--text-muted); transition: all 0.3s; background:#fff;}
.report-top-box .btn-area .btn-report-submit { border-color: var(--primary-1); color: var(--primary-1); }
.report-top-box .btn-area a:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.06); transform: translateY(-5px); }

.report-top-box .btn-area .btn-report-submit::before { content: ''; display: block; width: 26px; height: 27px; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat -1274px -363px; margin-bottom: 16px;  }
.report-top-box .btn-area .btn-report-result::before { content: ''; display: block; width: 22px; height: 27px; background: url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat -1337px -363px; margin-bottom: 16px; }

.report-info-grid { display: flex; gap: 30px; }
.report-info-box { flex: 1; background: var(--surface); border-radius: 12px; padding: 40px; }
.report-info-box h4 { font-weight: 700; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
.report-info-box h4 i { display: inline-flex; align-items: center; justify-content: center; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1056px -366px;width: 20px;height: 23px;}
.report-info-box.guide h4 i {background-position: -1110px -366px;}

.report-info-box .target-list {color: var(--text-muted);}
.report-info-box .target-list.col-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 20px; }

.report-info-box .guide-list { display: flex; flex-direction: column;}
.report-info-box .guide-list li { color: var(--text-muted); padding-left: 20px; position: relative; }
.report-info-box .guide-list li .num { position: absolute; left: 0; top: 0; }


@media screen and (max-width: 1024px) {
  .report-wrap { padding: 30px; }
  .report-top-box { flex-direction: column; gap: 30px; }
  .report-top-box .btn-area { margin-left: 0; width: 100%; justify-content: center; }
  .report-info-grid { flex-direction: column; }
}

@media screen and (max-width: 768px) {
  .report-wrap { padding: 25px 20px; }
  .report-top-box .txt-area h3 { font-size: 22px; }
  .report-top-box .btn-area { gap: 10px; }
  .report-top-box .btn-area a { width: 100%; height: 120px; }
  .report-top-box .btn-area .btn-report-submit::before, .report-top-box .btn-area .btn-report-result::before { margin-bottom: 10px; transform: scale(0.8); }
  .report-info-box { padding: 30px 20px; }
  .report-info-box .target-list { grid-template-columns: 1fr; }
  .report-info-box .target-list.col-2 {grid-template-columns: 1fr;}
}



/**************************************************
  0510 소셜미디어
***************************************************/
.sns-card-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 40px; }
.sns-card-list > li > a { display: flex; flex-direction: column; justify-content: flex-start; position: relative; height: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 30px 30px 70px; background: #fff; transition: all 0.3s; }
.sns-card-list > li > a:hover,
.sns-card-list > li > a:focus-visible { border-color: var(--primary-1); box-shadow: 0 10px 30px rgba(11, 80, 208, 0.08); transform: translateY(-5px); }
.sns-card-list .card-top { display: flex; align-items: center; gap: 24px; margin-bottom: 20px; }
.sns-card-list .card-top strong { font-size: var(--fs-24); font-weight: 700; }
.sns-card-list .card-desc { color: var(--text-muted); }

.sns-card-list .sns-icon { display: block; width: 36px; height: 36px; border-radius: 50%; background-image: url('/resources/user/web/images/icon/icon_sprite_sub.svg'); background-repeat: no-repeat; transform: scale(1.3); }
.sns-card-list .sns-icon.blog { background-position: -1112px -585px; }
.sns-card-list .sns-icon.insta { background-position: -1168px -584px;
	width: 36px; }
.sns-card-list .sns-icon.fb { background-position: -1224px -585px; }
.sns-card-list .sns-icon.yt { background-position: -1280px -585px; }

.sns-card-list .ico-outlink { position: absolute; bottom: 30px; right: 30px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 4px; background: #E8F0F9; transition: all 0.3s; }
.sns-card-list .ico-outlink::before { content: ''; width: 20px; height: 20px; background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -888px -3px;transition: all 0.3s;}
.sns-card-list > li > a:hover .ico-outlink,
.sns-card-list > li > a:focus-visible .ico-outlink { background: var(--primary-1); }
.sns-card-list > li > a:hover .ico-outlink::before,
.sns-card-list > li > a:focus-visible .ico-outlink::before { filter: invert(1) brightness(10); }

@media screen and (max-width: 1200px) {
  .sns-card-list { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media screen and (max-width: 768px) {
  .sns-card-list { grid-template-columns: 1fr; }
  .sns-card-list > li > a { padding: 20px 20px 50px; }
  .sns-card-list .ico-outlink { bottom: 20px; right: 20px; }
}


/**************************************************
  050601 청탁금지법 위반신고 (신고접수 폼)
***************************************************/
.report-write-table { width: 100%; border-top: 2px solid var(--black); border-bottom: 1px solid var(--border); border-collapse: collapse; margin-bottom: 30px; }
.report-write-table th, .report-write-table td { border-bottom: 1px solid var(--border); padding: 15px 20px; text-align: left; vertical-align: middle; }
.report-write-table th { background-color: #f7f7f7; font-weight: 600; color: #333; }
.report-write-table th.group-th { border-right: 1px solid var(--border); text-align: center; background-color: #999; color: #fff; font-weight: bold;}
.report-write-table th.group-th span { display: block; font-size: 14px; font-weight: normal; margin-top: 4px; }
.report-write-table th.sub-th { }
.report-write-table .req { color: var(--point-red); margin-right: 4px; font-weight: bold; }
.report-write-table td .td-inner { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.report-write-table td .com-input { height: 45px; }
.report-write-table td .com-select { height: 45px; }
.report-write-table td .com-textarea { width: 100%; height: 150px; padding: 15px; border: 1px solid var(--border); outline: none; resize: vertical; font-size: var(--fs-16); }
.report-write-table td .com-textarea:focus { border: 2px solid var(--primary-1); }

.report-write-table .agree-box { border: 1px solid #ddd; background: #fff; padding: 20px; height: 120px; overflow-y: auto; font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 10px; }
.report-write-table .agree-check-row { display: flex; align-items: center; justify-content: flex-end; gap: 20px; font-weight: 600; }
.report-write-table .agree-check-row label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.report-write-table .agree-check-row input[type="radio"] { width: 18px; height: 18px; cursor: pointer; }
.report-write-table .receive-options { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.report-write-table .receive-options label { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 15px; }

.report-inner-table { width: 100%; border-top: 2px solid #555; border-collapse: collapse; }
.report-inner-table th, .report-inner-table td { border-bottom: 1px solid var(--border); border-right: none; border-left: none; padding: 12px; }
.report-inner-table th { background: #f7f7f7; font-weight: 600; text-align: left; }
.report-inner-table td { text-align: left; }
.report-inner-table td .com-input { width: 100%; }

.report-sign-area { text-align: center; margin-bottom: 60px; font-weight: 600; border: 5px solid #E9E9E9; padding: 40px;}
.report-sign-area .tit {color: var(--primary-5);}
.report-sign-area p.text { font-size: 18px; color: #000; margin-bottom: 20px; }
.report-sign-area .date-name { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; margin-bottom: 15px; color: var(--text-muted) }
.report-sign-area .date-name strong {margin-left: 10px; color: #333;}

@media (max-width: 768px) {
    .report-write-table colgroup, .report-inner-table colgroup { display: none; }

    .report-write-table, 
    .report-write-table tbody, 
    .report-write-table tr, 
    .report-write-table th, 
    .report-write-table td {
        display: block !important; 
        width: 100% !important; 
        box-sizing: border-box !important;
    }

    .report-write-table th.group-th br { display: none; }
    .report-write-table th.group-th span { display: inline-block; margin-left: 10px; margin-top: 0; }
    
    .report-write-table th.sub-th,
    .report-write-table th.sub-th-02 { 
        border-bottom: none !important; 
        padding: 10px 20px !important; 
        border-bottom: 1px solid var(--border) !important; 
    }

    .report-write-table th.sub-th-02 {
        border-right: none !important;  
        padding: 20px !important; 
    }

    .report-write-table td { padding: 10px 20px 20px !important; }
    
    .report-inner-table th { display: none; }
    .report-inner-table td { display: block; padding: 10px 0; }
    .report-inner-table td::before { 
        content: attr(data-th); display: block; font-weight: bold; margin-bottom: 5px; text-align: left; 
    }
    .report-sign-area {padding: 20px;}
}



/**************************************************
  070301 반부패 청렴센터 CEO메시지
***************************************************/
.iec-wrap {}
.iec-wrap .ceo-intro-top {position: relative; z-index: 0; min-height: 296px; background: url(/resources/user/web/images/sub/img_ceo_intro_bg.jpg) center no-repeat; border-radius: 20px 0 20px 0; overflow: hidden; display: flex; flex-direction: column; gap: 20px; padding: 65px 75px;} 
.iec-wrap .ceo-intro-top::after {content: '';background: linear-gradient(90deg, #052663 0%, rgba(5, 38, 99, 0.00) 100%); width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1}
.iec-wrap .ceo-intro-top.type-02 {background: url(/resources/user/web/images/sub/img_ceo_intro_bg_02.jpg) center no-repeat;}
.iec-wrap .ceo-intro-top p {font-size: var(--fs-h4); font-weight: 600; color: var(--white);}
.iec-wrap .ceo-intro-top .icon-wrap {background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1214px -214px; width: 60px; height: 49px; display: block;}

.iec-wrap .ceo-intro-content {border: 8px solid var(--surface); padding: 50px; display: flex; gap: 40px; }
.iec-wrap .ceo-intro-content p {flex: 1}
.iec-wrap .ceo-intro-content .ceo-sign {display: block; max-width: 210px; padding-top: 20px; border-top: 1px solid var(--border); margin-top: 30px;}
.iec-wrap .ceo-intro-content .ceo-sign strong.name {display: block; font-size: var(--fs-24);}


@media (max-width: 1024px) {
  .iec-wrap .ceo-intro-top {padding: 40px; min-height: auto;}
  .iec-wrap .ceo-intro-content {gap: 30px; padding: 24px;}
  
}

@media (max-width: 768px) {
  .iec-wrap .ceo-intro-content {flex-direction: column;}
}




/**************************************************************************************************
    sub2.css start
***************************************************************************************************/




/**************************************************
    공통 유틸 보완
***************************************************/
.mt-16 {margin-top: 16px;}

/**************************************************
    040401~040418 KPS기술 - 특화기술 - 고객사/적용처 보완
***************************************************/
.client-group-title { margin-bottom: 8px; font-size: 20px; }


/**************************************************
    0403, 040401~040429 KPS기술 - 종합진단서비스/특화기술 공통 보완
***************************************************/
.com-grid {display: grid; gap: 24px; }
.com-grid.col-1 {grid-template-columns: 1fr;}
.com-grid.col-2 {grid-template-columns: repeat(2, 1fr);}
.com-grid.col-3 {grid-template-columns: repeat(3, 1fr);}
.com-grid.col-4 {grid-template-columns: repeat(4, 1fr);}

.sub-diagnosis-img-list.com-grid {display: grid; margin-bottom: 40px;}
.sub-diagnosis-img-list.col-1 {max-width: 475px; margin-inline: auto;}
.sub-diagnosis-img-list.col-1 img {height: auto;}
.sub-diagnosis-img-list.col-3 {grid-template-columns: repeat(3, 292px); justify-content: center;}
.sub-diagnosis-img-list.col-3 img {width: auto; height: auto;}
.diagnosis-step-list .step-card {flex: 1;}
.diagnosis-step-list .step-item:nth-child(4) .step-card {border-color: var(--primary-1);}
.diagnosis-step-list .step-item:nth-child(4) .card-title {color: var(--primary-1); border-bottom-color: var(--primary-1);}
.com-grid.cgid-intro-img-list {grid-template-columns:repeat(2,292px);justify-content:center;gap:20px;}
.cgid-intro-img-list img {height:185px;}
.sub-diagnosis-txt-list strong {display: block; margin-bottom: 4px; font-weight: 500;}
.sub-diagnosis-detail-list {margin-top: 4px;}
.sub-diagnosis-detail-list li {position: relative; padding-left: 17px; color: var(--text-muted); font-size: var(--fs-18); line-height: 1.6;}
.sub-diagnosis-detail-list li::before {content: "-"; position: absolute; left: 0; top: 0;}
.sub-detail-list {margin-top: 4px; list-style: none;}
.sub-detail-list li {position: relative; padding-left: 17px; color: var(--gray-400); font-size: var(--fs-16); line-height: 1.5;}
.sub-detail-list li::before {content: "-"; position: absolute; left: 0; top: 0;}
.com-tbl-wrap.type-01.sub-diagnosis-table {margin-top: 16px;}
.com-tbl-wrap.type-01.sub-diagnosis-table :where(th, td) {height: 56px; padding-top: 0; padding-bottom: 0; vertical-align: middle;}
.com-tbl-wrap.type-01.sub-diagnosis-table tbody :where(th, td) {background: var(--white);}
.com-tbl-wrap.type-01.sub-diagnosis-table tbody th {color: var(--text); font-weight: 400;}

.sub-diagnosis-card-desc{display:flex;align-items:center;justify-content:center;min-height:48px;margin:25px 25px 0;padding:12px 16px;background:#f2f6fb;color:var(--text);font-size:var(--fs-16);line-height:1.5;text-align:center;word-break:keep-all;}
.sub-diagnosis-card-desc em{color:var(--primary-1);font-style:normal;}
.client-list.client-list-col-4{grid-template-columns:repeat(4,1fr);}
.client-list.client-list-col-5{grid-template-columns:repeat(5,1fr);}
.client-logo {font-size: 24px; font-weight: 700;}
.client-logo-text{display:block;color:var(--gray-500);font-size:24px;font-weight:700;line-height:1.45;text-align:center;word-break:keep-all;}

/**************************************************
    040416~040428 KPS기술 - 특화기술 - 작업절차/주요업무/보유장비 보완
***************************************************/

.rotor-process-list {display:grid;grid-template-columns:repeat(4,1fr);gap:18px 0;}
.rotor-process-spacer {min-height:136px;}
.rotor-process-card {position:relative;min-height:136px;border:1px solid var(--border);border-left:0;background:var(--white);text-align:center;}
.rotor-process-card:nth-child(4n+1) {border-left:1px solid var(--border);}
.rotor-process-card.has-left-line {border-left:1px solid var(--border);}
.rotor-process-card strong {display:flex;align-items:center;justify-content:center;min-height:46px;background:#f5f5f5;color:var(--primary-4);font-size:var(--fs-18);font-weight:700;line-height:1.2;}
.rotor-process-card p {display:flex;align-items:center;justify-content:center;min-height:88px;padding:18px 14px;color:var(--gray-500);font-size:var(--fs-18);font-weight:700;line-height:1.25;letter-spacing:-0.54px;word-break:keep-all;}
.rotor-process-card:nth-child(4)::after,
.rotor-process-card:nth-child(5)::after,
.rotor-process-card:nth-child(12)::after {content:"";position:absolute;left:50%;bottom:-20px;z-index:1;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:18px solid var(--border);}
.rotor-process-card:nth-child(4)::before,
.rotor-process-card:nth-child(5)::before,
.rotor-process-card:nth-child(12)::before {content:"";position:absolute;left:50%;bottom:-17px;z-index:2;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:16px solid var(--white);}
.turbine-repair-process {margin:0;padding:0;list-style:none;}
.turbine-repair-process .step-1 {grid-column:1;grid-row:1;}
.turbine-repair-process .step-2 {grid-column:2;grid-row:1;}
.turbine-repair-process .step-3 {grid-column:3;grid-row:1;}
.turbine-repair-process .step-4 {grid-column:4;grid-row:1;}
.turbine-repair-process .step-5 {grid-column:4;grid-row:2;}
.turbine-repair-process .step-6 {grid-column:3;grid-row:2;}
.turbine-repair-process .step-7 {grid-column:2;grid-row:2;}
.turbine-repair-process .step-8 {grid-column:1;grid-row:2;}
.turbine-repair-process .step-9 {grid-column:1;grid-row:3;}
.turbine-repair-process .step-10 {grid-column:2;grid-row:3;}
.turbine-repair-process .step-11 {grid-column:3;grid-row:3;}
.turbine-repair-process .step-12 {grid-column:4;grid-row:3;}
.turbine-repair-process .step-13 {grid-column:4;grid-row:4;}
.turbine-repair-process .step-14 {grid-column:3;grid-row:4;}
.turbine-repair-process .rotor-process-card {border-left:0;}
.turbine-repair-process .step-1,
.turbine-repair-process .step-8,
.turbine-repair-process .step-9,
.turbine-repair-process .step-14 {border-left:1px solid var(--border);}
.turbine-repair-process .rotor-process-card:nth-child(5)::before,
.turbine-repair-process .rotor-process-card:nth-child(5)::after {display:none;}
.turbine-repair-process .step-8::after {content:"";position:absolute;left:50%;bottom:-20px;z-index:1;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:18px solid var(--border);}
.turbine-repair-process .step-8::before {content:"";position:absolute;left:50%;bottom:-17px;z-index:2;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:16px solid var(--white);}
.rotor-balancing-process {margin:0;padding:0;list-style:none;}
.rotor-balancing-process .step-1 {grid-column:1;grid-row:1;}
.rotor-balancing-process .step-2 {grid-column:2;grid-row:1;}
.rotor-balancing-process .step-3 {grid-column:3;grid-row:1;}
.rotor-balancing-process .step-4 {grid-column:4;grid-row:1;}
.rotor-balancing-process .step-5 {grid-column:4;grid-row:2;}
.rotor-balancing-process .step-6 {grid-column:3;grid-row:2;}
.rotor-balancing-process .step-7 {grid-column:2;grid-row:2;}
.rotor-balancing-process .step-8 {grid-column:1;grid-row:2;}
.rotor-balancing-process .step-9 {grid-column:1;grid-row:3;}
.rotor-balancing-process .step-10 {grid-column:2;grid-row:3;}
.rotor-balancing-process .step-11 {grid-column:3;grid-row:3;}
.rotor-balancing-process .step-12 {grid-column:4;grid-row:3;}
.rotor-balancing-process .step-13 {grid-column:4;grid-row:4;}
.rotor-balancing-process .step-14 {grid-column:3;grid-row:4;}
.rotor-balancing-process .step-15 {grid-column:2;grid-row:4;}
.rotor-balancing-process .step-16 {grid-column:1;grid-row:4;}
.rotor-balancing-process .rotor-process-card {border-left:0;}
.rotor-balancing-process .step-1,
.rotor-balancing-process .step-8,
.rotor-balancing-process .step-9,
.rotor-balancing-process .step-16 {border-left:1px solid var(--border);}
.rotor-balancing-process .rotor-process-card:nth-child(5)::before,
.rotor-balancing-process .rotor-process-card:nth-child(5)::after {display:none;}
.rotor-balancing-process .step-8::after {content:"";position:absolute;left:50%;bottom:-20px;z-index:1;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:18px solid var(--border);}
.rotor-balancing-process .step-8::before {content:"";position:absolute;left:50%;bottom:-17px;z-index:2;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:16px solid var(--white);}
.rotor-work-card .com-txt-list-01 > li + li {margin-top:6px;}
.rotor-work-card .com-txt-list-01 strong {display:block;margin-bottom:10px;color:var(--gray-400);font-size:var(--fs-18);font-weight:700;line-height:1.45;}
.rotor-work-card .com-txt-list-01 p,
.rotor-work-desc {color:var(--gray-400);font-size:17px;font-weight:400;line-height:1.8;word-break:keep-all;}
.rotor-work-desc {padding:28px 36px 30px;}
.rotor-work-desc + .sub-detail-list {margin:-16px 36px 30px;padding:0;}
.cleaning-work-list {grid-template-columns:1fr;gap:20px;}
.cleaning-work-list .sub-diagnosis-card {min-height:auto;padding:40px;border:5px solid #e9e9e9;border-radius:0;}
.cleaning-work-list .sub-diagnosis-card-title {justify-content:flex-start;min-height:auto;margin-bottom:15px;padding:0;background:none;color:var(--primary-5);font-size:var(--fs-24);line-height:32px;text-align:left;}
.cleaning-work-list .rotor-work-desc {padding:0;color:var(--gray-400);font-size:var(--fs-18);line-height:32px;}
.equipment-section,
.performance-section {margin-top:80px;}
.rotor-equipment-list .sub-list-box {min-height:115px;padding:28px;border-radius:8px;}
.rotor-equipment-list .sub-list-box .num {display:block;margin-bottom:14px;color:#999;font-size:var(--fs-18);font-weight:400;line-height:1;}
.rotor-equipment-list .sub-list-box .tit {margin:0;padding-left:0;color:var(--primary-1);font-size:var(--fs-20);font-weight:700;line-height:1.35;word-break:keep-all;}
.rotor-equipment-list .sub-list-box .tit::before {display:none;}
.decommission-service-list .sub-diagnosis-card-title {min-height:60px;}
.decommission-service-list .sub-diagnosis-card .com-txt-list-01 {min-height:242px;padding:25px;box-sizing:border-box;}
.decommission-service-list .sub-diagnosis-card .com-txt-list-01 > li {font-size:var(--fs-18);line-height:1.8;}
.sub-list-grid.decommission-equipment-list {gap:12px 40px;}
.decommission-equipment-list .sub-list-box {min-height:215px;padding:30px;}
.decommission-equipment-list .sub-list-box .desc {margin-top:16px;color:var(--text);font-size:var(--fs-18);line-height:1.45;word-break:keep-all;}
.rotor-performance-box {padding:28px 30px;}
.rotor-performance-box > strong {display:block;margin-bottom:10px;color:var(--text);font-size:var(--fs-18);font-weight:700;line-height:1.4;}
.rotor-performance-box .com-txt-list-01 + strong {margin-top:20px;}
.steam-generator-performance-box {display:flex;flex-direction:column;gap:30px;}
.steam-generator-performance-item h4 {margin-bottom:15px;color:var(--primary-5);font-size:var(--fs-24);font-weight:700;line-height:1.35;}
.steam-generator-performance-item .com-txt-list-01 > li {color:var(--text-muted);font-size:var(--fs-18);line-height:1.8;}

@media screen and (max-width: 1200px) {
    .client-list.client-list-col-5 {grid-template-columns: repeat(4, 1fr);}
    .sub-diagnosis-img-list.col-3 {grid-template-columns: repeat(3, 292px);}
}

@media screen and (max-width: 640px) {
    .com-grid.cgid-intro-img-list {grid-template-columns:1fr;gap:14px;}
    .cgid-intro-img-list img {height:auto;}
    .decommission-service-list .sub-diagnosis-card .com-txt-list-01 {min-height:auto;}
    .decommission-equipment-list .sub-list-box {min-height: auto;}

}

@media screen and (max-width: 1024px) {
    .com-grid.col-3,
    .com-grid.col-4 {grid-template-columns: repeat(2, 1fr);}
    .sub-diagnosis-img-list.col-3 {grid-template-columns: repeat(2, 292px);}

    .rotor-process-list {grid-template-columns:repeat(2,1fr);}
    .rotor-process-spacer {display:none;}
    .turbine-repair-process .rotor-process-card {grid-column:auto;grid-row:auto;}
    .turbine-repair-process .step-8::before,
    .turbine-repair-process .step-8::after {display:none;}
    .rotor-balancing-process .rotor-process-card {grid-column:auto;grid-row:auto;}
    .rotor-balancing-process .step-8::before,
    .rotor-balancing-process .step-8::after {display:none;}
    .rotor-process-card:nth-child(odd) {border-left:1px solid var(--border);}
    .turbine-repair-process .step-8,
    .turbine-repair-process .step-14 {border-left:0;}
    .rotor-balancing-process .step-8,
    .rotor-balancing-process .step-16 {border-left:0;}
    .rotor-process-card:nth-child(4)::before,
    .rotor-process-card:nth-child(4)::after,
    .rotor-process-card:nth-child(5)::before,
    .rotor-process-card:nth-child(5)::after,
    .rotor-process-card:nth-child(12)::before,
    .rotor-process-card:nth-child(12)::after {display:none;}
}

@media screen and (max-width: 900px) {
    .client-list.client-list-col-4,
    .client-list.client-list-col-5 {grid-template-columns: repeat(3, 1fr);}
}

@media screen and (max-width: 640px) {
    .com-grid.col-2,
    .com-grid.col-3,
    .com-grid.col-4 {grid-template-columns: 1fr; gap: 14px;}
    .sub-diagnosis-img-list.col-3 {grid-template-columns: 292px;}
    .diagnosis-step-list .step-card {flex: none;}

    .rotor-process-list {grid-template-columns:1fr;}
    .rotor-process-card {min-height:auto;border-left:1px solid var(--border);}
    .rotor-process-card:nth-child(1) {order:1;}
    .rotor-process-card:nth-child(2) {order:2;}
    .rotor-process-card:nth-child(3) {order:3;}
    .rotor-process-card:nth-child(4) {order:4;}
    .rotor-process-card:nth-child(8) {order:5;}
    .rotor-process-card:nth-child(7) {order:6;}
    .rotor-process-card:nth-child(6) {order:7;}
    .rotor-process-card:nth-child(5) {order:8;}
    .rotor-process-card:nth-child(9) {order:9;}
    .rotor-process-card:nth-child(10) {order:10;}
    .rotor-process-card:nth-child(11) {order:11;}
    .rotor-process-card:nth-child(12) {order:12;}
    .rotor-process-card:nth-child(16) {order:13;}
    .rotor-process-card:nth-child(15) {order:14;}
    .rotor-process-card:nth-child(14) {order:15;}
    .rotor-process-card:nth-child(13) {order:16;}
    .turbine-repair-process .rotor-process-card,
    .rotor-balancing-process .rotor-process-card {order:initial;border-left:1px solid var(--border);}
    .rotor-process-card strong {min-height:42px;}
    .rotor-process-card p {min-height:70px;padding:16px 12px;font-size:var(--fs-16);}
    .sub-list-grid.col-3.rotor-equipment-list {grid-template-columns:1fr;}

    .sub-diagnosis-card-desc {margin: 20px 20px 0;}

    .client-list.client-list-col-4,
    .client-list.client-list-col-5 {grid-template-columns: repeat(2, 1fr); gap: 30px 16px;}

    .client-logo-text {font-size: 17px;}
}

/**************************************************
    040409 KPS기술 - 특화기술 - 발전기 기술특성시험
***************************************************/
.sub-certificate-section {margin-top:80px;}
.sub-list-grid .sub-list-box .desc span.deepblue {color: var(--primary-5);}

/**************************************************
  040101 KPS기술 - 교육훈련 - 일반사항
***************************************************/

.training-intro-box {margin-bottom: 70px; padding: 28px 40px; border: 1px solid #e1e5ee; border-radius: 10px; color: var(--text); font-size: var(--fs-18); line-height: 1.7; text-align: center; word-break: keep-all;}
.training-section:last-child {margin-bottom: 0;}
.training-system {width: 100%;}
.training-system-vision {display: flex; align-items: center; justify-content: center; min-height: 80px; margin-bottom: 40px; border-radius: 999px; background: linear-gradient(90deg, #0f6ed8 0%, #25b85d 100%); color: var(--white); font-size: 28px; font-weight: 800; line-height: 1.3; text-align: center; word-break: keep-all; width: 100%;}
.training-system-row {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; min-height: 162px; border-top: 1px solid #ccc; width:100%;}
.training-system-row strong {display: inline-flex; align-items: center; justify-content: center; min-width: 160px; min-height: 42px; padding: 6px 24px; border-radius: 999px; background: var(--secondary-1); color: var(--white); font-size: var(--fs-20); font-weight: 800;}
.training-system-row p {display: block; width: 357px; max-width: 100%; color: var(--black); font-size: var(--fs-20); font-weight: 400; line-height: 28px; letter-spacing: -0.6px; text-align: center; word-break: keep-all;}
.training-system-ace {min-height: 122px; border-top: 0;}
.training-system-career {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 27px; padding: 40px 0; border-top: 1px solid #ccc; width:100%;}
.training-system-career span {display: flex; align-items: center; justify-content: center; min-height: 80px; padding: 18px 20px; border: 2px solid var(--secondary-1); border-radius: 4px; color: #0072bc; font-size: var(--fs-20); font-weight: 800; line-height: 1.35; text-align: center; word-break: keep-all;}
.training-system-career span:nth-child(3) {border-color: #00a889; color: #009e93;}
.training-system-career span:nth-child(4) {border-color: #1bb56e; color: #16a663;}
.training-system-career em {margin: 0 6px; color: #c1c7d0; font-style: normal;}
.training-system-arrow {width: 640px; max-width: 100%; height: 130px; margin: -28px auto -10px; background: url("/resources/user/web/images/sub/bg_shape_arrow.svg") center / 100% 100% no-repeat; transform: scaleY(-1);}
.training-hrd {display: grid; gap: 15px; width:100%;}
.training-hrd-row {display: grid; grid-template-columns: 118px 1fr; gap: 15px; align-items: stretch;}
.training-hrd-title {display: flex; align-items: center; justify-content: center; min-height: 64px; border-radius: 5px; background: #0F6ED8; color: var(--white); font-size: var(--fs-16); font-weight: 500; line-height: 1.35; text-align: center;}
.training-hrd-row:nth-child(2) .training-hrd-title {background: #034ea2;}
.training-hrd-row:nth-child(3) .training-hrd-title {background: #0d2259;}
.training-hrd-card {display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 64px; padding: 13px 24px; border: 4px solid #E9E9E9; background: var(--white); text-align: center; word-break: keep-all;}
.training-hrd-card strong {color: var(--text); font-size: var(--fs-24); font-weight: 600; line-height: 1.35;}
.training-hrd-card em {color: var(--point-blue);}
.training-hrd-card p {margin-top: 2px; color: var(--text-muted); font-size: var(--fs-16); line-height: 1.45;}
.training-core-values {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-bottom: 36px;}
.training-core-values li {position: relative; display: flex; align-items: center; justify-content: center; min-height: 46px; border: 2px dashed #013977; border-radius: 5px; color: var(--text); font-size: var(--fs-20); line-height: 28px; letter-spacing: -0.6px; text-align: center;}
.training-core-values strong {display: block; color: var(--primary-1); font-size: var(--fs-18); font-weight: 700; line-height: 1.3;}
.training-core-values span {position: absolute; top: calc(100% + 12px); left: 0; display: block; width: 100%; color: var(--text); font-size: var(--fs-20); line-height: 28px; letter-spacing: -0.6px;}
.training-desc {margin-top: 42px; padding: 32px 40px; border: 1px solid #dfe4ec; background: #fbfcff; color: var(--text-muted); font-size: var(--fs-18); line-height: 1.8; word-break: keep-all;}
.training-certification {display: grid; grid-template-columns: minmax(0, 722px) minmax(0, 626px); align-items: center; justify-content: center; gap: 40px; margin-top: 5px;}
.training-certification-img {width: 100%; min-width: 0;}
.training-certification-img img {display: block; width: 100%; height: auto;}
.certification-pyramid {position: relative; width: 100%; max-width: 711px; aspect-ratio: 711 / 511; margin: 0 auto;}
.certification-level-list {position: absolute; inset: 0; margin: 0; padding: 0; list-style: none;}
.certification-level {position: absolute; inset: 0;}
.certification-shape {position: absolute;}
.certification-shape img {display: block; width: 100%; height: 100%;}
.certification-shape strong {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--text); font-size: clamp(16px, 3.4vw, 24px); font-weight: 600; line-height: 1;}
.level-sqc .certification-shape strong {top: 61%; color: var(--white);}
.certification-line {position: absolute; height: 1px; background: #d9d9d9;}
.certification-line::before {content: ""; position: absolute; top: 50%; left: var(--dot-x); width: 22px; height: 22px; border: 1px dashed var(--dot-color, #ccc); border-radius: 50%; background: var(--white); transform: translate(-50%, -50%);}
.certification-line::after {content: ""; position: absolute; top: 50%; left: var(--dot-x); width: 9px; height: 9px; border-radius: 50%; background: var(--dot-color, #ccc); transform: translate(-50%, -50%);}
.certification-info {position: absolute; color: var(--text); word-break: keep-all;}
.certification-info strong {display: block; margin-bottom: 10px; color: var(--text); font-size: clamp(12px, 2.35vw, 18px); font-weight: 800; line-height: 1.25;}
.certification-info p {display: flex; align-items: center; gap: 10px; color: var(--text); font-size: clamp(11px, 2.1vw, 16px); line-height: 1.5; white-space: nowrap;}
.certification-info p span {display: inline-block; color: #aaa;}
.level-sqc .certification-shape {top: 5.48%; left: 29.96%; width: 25.46%; height: 29.35%;}
.level-sqc .certification-line {top: 34.83%; left: 58%; width: 31.73%; --dot-x: 12%; --dot-color: #004098;}
.level-sqc .certification-info {top: 19.18%; left: 64.1%;}
.level-eqc .certification-shape {top: 37.18%; left: 22.22%; width: 41.07%; height: 17.42%;}
.level-eqc .certification-line {top: 54.4%; left: 65.8%; width: 23.93%; --dot-x: 15%;}
.level-eqc .certification-info {top: 40.12%; left: 71.5%;}
.level-pqc .certification-shape {top: 56.95%; left: 14.06%; width: 56.96%; height: 17.42%;}
.level-pqc .certification-line {top: 74.17%; left: 73.5%; width: 16.23%; --dot-x: 18%;}
.level-pqc .certification-info {top: 60.47%; left: 79.2%;}
.level-jqc .certification-shape {top: 76.71%; left: 6.33%; width: 72.57%; height: 17.61%;}
.level-jqc .certification-line {top: 94.12%; left: 81.2%; width: 16.11%; --dot-x: 16%;}
.level-jqc .certification-info {top: 80.43%; left: 86%;}
.training-license-map {position: relative; width: 626px; max-width: 100%; min-height: 572px; margin-left: auto;}
.license-axis-y {position: absolute; top: 62px; left: 0; width: 35px; height: 499px;}
.license-axis-x {position: absolute; left: 35px; bottom: 0; width: 590px; max-width: calc(100% - 35px); height: 35px;}
.license-card {position: absolute; display: flex; flex-direction: column; width: 250px; min-height: 150px; padding: 16px 20px; border: 2px solid var(--card-color); border-radius: 5px; background: var(--white); box-sizing: border-box; word-break: keep-all;}
.license-card::after {content: ""; display: block; order: 3; height: 1px; margin: 16px 0 13px; background: #d9d9d9;}
.license-card strong {display: block; color: var(--title-color, var(--card-color)); font-size: var(--fs-18); font-weight: 800; line-height: 1.3;}
.license-card strong em {color: var(--text-muted); font-size: var(--fs-14); font-style: normal; font-weight: 400;}
.license-card span {display: block; margin-top: 5px; color: var(--text); font-size: var(--fs-16); line-height: 1.4;}
.license-card p {order: 4; display: flex; align-items: center; gap: 5px; color: var(--text); font-size: var(--fs-16); line-height: 24px;}
.license-card b {font-size: var(--fs-20); font-weight: 800;}
.license-card.is-small {display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; width: 250px; min-height: 72px; padding: 13px 15px; border-style: dashed;}
.license-card.is-small::after {display: none;}
.license-card.is-small strong {grid-column: 1; grid-row: 1; font-size: var(--fs-16);}
.license-card.is-small span {grid-column: 1; grid-row: 2; font-size: var(--fs-14);}
.license-card.is-small p {grid-column: 2; grid-row: 1 / span 2; align-items: flex-end; white-space: nowrap;}
.license-card.supervisor {--card-color: #0295cd; --title-color: #006fbe; top: 0; left: 340px;}
.license-card.special {--card-color: #006fbe; --title-color: #006fbe; top: 84px; left: 60px;}
.license-card.pre-supervisor {--card-color: #0295cd; --title-color: #006fbe; top: 84px; left: 340px;}
.license-card.engineer {--card-color: #029e93; --title-color: #029e93; top: 279px; left: 60px;}
.license-card.general {--card-color: #12ad71; --title-color: #12ad71; top: 279px; left: 340px;}
.license-card.practical {--card-color: #029e93; --title-color: #029e93; top: 440px; left: 60px;}
.training-education-box {padding: 34px 40px; border: 1px solid #dfe4ec; background: var(--white);}
.training-education-box .com-txt-list-01 > li {font-size: var(--fs-18); line-height: 1.8;}
.training-goal {display: grid; gap: 30px;}
.training-goal-item {position: relative; display: grid; grid-template-columns: 265px 1fr; align-items: center; min-height: 150px; border: 1px solid #ccc; border-radius: 15px; background: #f8faff; overflow: hidden;}
.training-goal-item::before {content: ""; position: absolute; top: 24px; bottom: 24px; left: 0; width: 7px; background: var(--primary-1);}
.goal-title {display: flex; flex-direction: column; justify-content: center; min-height: 102px; padding: 0 66px; border-right: 1px solid #c7ccdd;}
.goal-title span {color: var(--primary-1); font-size: var(--fs-16); line-height: 1.5;}
.goal-title strong {margin-top: 3px; color: var(--text); font-size: var(--fs-24); font-weight: 800; line-height: 1.35;}
.training-goal-item > p, .goal-policy {padding: 28px 48px; color: #2452a7; font-size: 28px; font-weight: 800; line-height: 1.4; text-align: center; word-break: keep-all;}
.goal-policy p {color: #2452a7; font-size: 28px; font-weight: 800; line-height: 1.4;}
.goal-policy ul {display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 14px;}
.goal-policy li {display: flex; align-items: center; justify-content: center; min-width: 100px; height: 35px; padding: 0 14px; border: 1px solid #ccc; border-radius: 18px; background: var(--white); color: var(--primary-1); font-size: var(--fs-16); font-weight: 400;}

@media screen and (max-width: 1200px) {
    .training-certification {grid-template-columns: 1fr; gap: 40px;}
    .training-certification-img {max-width: 722px; margin: 0 auto;}
    .training-license-map {max-width: 720px; margin: 0 auto; width: 100%;}
}

@media screen and (max-width: 1024px) {
    .training-system-career {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .training-goal-item {grid-template-columns: 220px 1fr;}
    .goal-title {padding: 0 40px;}
    .training-goal-item > p, .goal-policy, .goal-policy p {font-size: var(--fs-24);}
}

@media screen and (max-width: 768px) {
    .training-intro-box, .training-desc, .training-education-box {padding: 24px 20px; font-size: var(--fs-16); text-align: left;}
    .training-system-row {flex-direction: column; gap: 10px; padding: 18px 0;}
    .training-system-career, .training-core-values {grid-template-columns: 1fr;}
    .training-core-values {gap: 46px; padding-bottom: 0;}
    .training-system-arrow {height: 90px; margin-top: 28px;}
    .training-hrd-row {grid-template-columns: 1fr;}
    .training-license-map {min-height: auto; padding: 0;}
    .license-axis-y, .license-axis-x {display: none;}
    .license-card, .license-card.is-small {position: static; width: 100%; min-height: auto; margin-bottom: 14px;}
    .license-card.is-small {display: block;}
    .license-card.is-small p {margin-top: 10px;}
    .training-goal {gap: 18px;}
    .training-goal-item {display: block; min-height: auto;}
    .goal-title {min-height: auto; padding: 22px 24px; border-right: 0; border-bottom: 1px solid #c7ccdd;}
    .training-goal-item > p, .goal-policy {padding: 24px; font-size: var(--fs-20); text-align: left;}
    .goal-policy p {font-size: var(--fs-20); text-align: left;}
    .goal-policy ul {justify-content: flex-start;}
    .training-certification {gap: 28px;}
    .training-certification-img {max-width: 640px; overflow: hidden;}
    .certification-info {max-width: 28%;}
    .certification-info strong {margin-bottom: 5px;}
    .certification-info p {gap: 5px;}
    .level-sqc .certification-line {left: 56%; width: 28%;}
    .level-sqc .certification-info {left: 62%;}
    .level-eqc .certification-line {left: 64%; width: 22%;}
    .level-eqc .certification-info {left: 67%;}
    .level-pqc .certification-line {left: 71%; width: 17%;}
    .level-pqc .certification-info {left: 72%;}
    .level-jqc .certification-line {left: 78%; width: 17%;}
    .level-jqc .certification-info {left: 77%;}
    .certification-line::before {width: 16px; height: 16px;}
    .certification-line::after {width: 7px; height: 7px;}
}

@media screen and (max-width: 480px) {
    .training-system-career span { min-height: 0;} /* 260618 수정*/
    .training-system-career em {display: none;}
    .training-certification {gap: 22px;}
    .certification-info {max-width: 31%; word-break: normal;}
    .certification-info strong {font-size: 11px; line-height: 1.2;}
    .certification-info p {display: block; font-size: 10px; line-height: 1.3; white-space: normal;}
    .certification-info p span {display: none;}
    .level-sqc .certification-info {left: 60%;}
    .level-eqc .certification-info {left: 64%;}
    .level-pqc .certification-info {left: 68%;}
    .level-jqc .certification-info {left: 72%;}

    .training-system-vision {font-size:20px; margin-bottom:20px;}
    .training-system-career {gap:16px;}
    .training-system-arrow {margin-top:-28px;}
    .com-info-box.type-02 {margin-bottom:40px;}
}

/**************************************************
  060106 정보공개 - 정보공개제도 - 수수료안내 테이블 관련
***************************************************/

.fee-guide-tbl td strong{display:block;margin-bottom:12px;text-align:left;font-weight:700;}
.fee-guide-tbl td .com-txt-list-01{text-align:left;}
.fee-guide-tbl td li{line-height:1.7;}
.fee-guide-tbl td ul>li{margin-bottom:8px;}
.fee-guide-tbl td li em{color:var(--gray-300);font-style:normal;font-size:var(--fs-14);}
.fee-guide-tbl td li:has(em){padding-left:14px;}
.fee-guide-tbl td li:has(em)::before{display:none;}

/**************************************************
  060203 정보공개 - 비공개정보 세부기준
***************************************************/

.disclosure-standard-box{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.disclosure-standard-box .btn-wrap{flex-shrink:0;}

@media screen and (max-width:768px){
.disclosure-standard-box{flex-direction:column;align-items:flex-start;}
}



/**************************************************
  0609 정보공개 - 경영공시
***************************************************/
.disclosure-section{padding:40px;border:1px solid var(--border);}
.disclosure-link-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 60px;}
.disclosure-link-list.type-org{grid-template-rows:repeat(10,auto);grid-auto-flow:column;}
.disclosure-link-list.type-esg{grid-template-rows:repeat(8,auto);grid-auto-flow:column;}
.disclosure-link-list.type-performance{grid-template-rows:repeat(6,auto);grid-auto-flow:column;}
.disclosure-link-list.type-evaluation{grid-template-rows:repeat(4,auto);grid-auto-flow:column;}
.disclosure-link-list.type-extra{grid-template-rows:repeat(3,auto);grid-auto-flow:column;}
.disclosure-link-list li{border-bottom:1px solid var(--border);}
.disclosure-link-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font-size:var(--fs-basic);font-weight:500;color:var(--text);}
.disclosure-link-list a:hover{color:var(--primary);}
.disclosure-link-list .icon-sprite{flex-shrink:0;}

@media (max-width:1024px){
    .disclosure-link-list{grid-template-columns:repeat(2,minmax(0,1fr));}
    .disclosure-link-list.type-org{grid-template-rows:repeat(14,auto);}
    .disclosure-link-list.type-esg{grid-template-rows:repeat(12,auto);}
    .disclosure-link-list.type-performance{grid-template-rows:repeat(9,auto);}
    .disclosure-link-list.type-evaluation{grid-template-rows:repeat(6,auto);}
    .disclosure-link-list.type-extra{grid-template-rows:repeat(4,auto);}
}

@media (max-width:768px){
    .disclosure-section{padding:24px;}
    .disclosure-link-list{grid-template-columns:1fr;}
    .disclosure-link-list.type-org,
    .disclosure-link-list.type-esg,
    .disclosure-link-list.type-performance,
    .disclosure-link-list.type-evaluation,
    .disclosure-link-list.type-extra{grid-template-rows:none;grid-auto-flow:row;}
}

.com-title-04{font-size:var(--fs-24);color:var(--primary-1);}

/* 링크아이콘 */
.icon-sprite.icon-link{display:block;width:18px;height:18px;background:url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat -888px -3px;}

/**************************************************
  040602 KPS기술 - 품질활동 - 고객만족경영현황
***************************************************/
.cs-wrap .sub-charter-box{margin-bottom:80px;}
.cs-wrap .sub-charter-box .charter-list .desc{font-size:16px !important;}
.cs-wrap .sub-charter-box .charter-tit{margin-bottom:8px;}
.cs-wrap .sub-charter-box .charter-tit + .com-title-04{margin-bottom:24px !important;line-height:1.3;}
.cs-wrap .sub-charter-box .charter-head{position:relative;z-index:1;}
.cs-wrap .sub-charter-box .charter-footer .com-info-box{margin-bottom:0;}

@media screen and (max-width:768px){
    .cs-wrap .sub-charter-box .charter-tit{font-size:32px;}
    .cs-wrap .sub-charter-box .charter-footer .com-info-box {padding: 14px;}
}

.cs-strategy-wrap{margin-bottom:80px;}
.cs-strategy-wrap .vision-strategy-section{width:100%;margin-bottom:0;}
.cs-strategy-wrap .vision-strategy-section::before,
.cs-strategy-wrap .vision-strategy-section::after{display:none;}

.cs-strategy-summary{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;margin-bottom:55px;background:#f2f6fb;color:var(--text);font-size:var(--fs-24); font-weight: 600; text-align:center;}
.cs-strategy-summary::after{display:none;}
.cs-strategy-summary span{color:var(--primary-1);}

.cs-strategy-wrap .vision-strategy-head>div{min-height:80px;}
.cs-strategy-wrap .vision-strategy-list li{min-height:180px;}

.cs-strategy-wrap .vision-strategy-list p{position:relative;padding-left:14px;color:var(--text);font-size:var(--fs-18);line-height:1.45;}
.cs-strategy-wrap .vision-strategy-list p::before{content:"";position:absolute;top:.7em;left:0;width:4px;height:4px;border-radius:50%;background:currentColor;}

@media screen and (max-width:768px){
    .cs-strategy-wrap .vision-strategy-list li{min-height:auto;}
}

.cs-system-framework .sf-box.style-solid.border-blue{min-height:80px;border:5px solid rgba(11,80,208,.2) !important;color:var(--primary-1);font-size:var(--fs-h4);}
.cs-system-framework .sf-box.style-light-bg-blue{min-height:80px;justify-content:center;color:var(--primary-4);font-weight:700;}
.cs-system-framework .sf-box.style-light-bg{min-height:96px;background:var(--white);border:2px dashed currentColor;border-radius:5px;}

.cs-system-framework .sf-grid.col-3 .sf-box.style-light-bg:nth-child(1){color:#0295cd;}
.cs-system-framework .sf-grid.col-3 .sf-box.style-light-bg:nth-child(2){color:#029e93;}
.cs-system-framework .sf-grid.col-3 .sf-box.style-light-bg:nth-child(3){color:#12ad71;}

.cs-system-framework .sf-list li{position:relative;padding-left:14px;color:var(--text);font-size:var(--fs-20);line-height:1.4;}
.cs-system-framework .sf-list li::before{content:"";position:absolute;top:.65em;left:0;width:4px;height:4px;border-radius:50%;background:currentColor;}

.cs-system-framework .cs-system-slogan{width:100%;min-height:80px;border:3px solid var(--gray-200);color:var(--gray-400);font-size:var(--fs-20);}
.cs-system-framework .cs-system-slogan-row{display:block;}

.cs-system-framework .sf-row:last-child .sf-th{display:none;}
.cs-system-framework .sf-row:last-child{grid-template-columns:1fr;display:block;}
.cs-system-framework .sf-row:last-child .sf-grid{gap:30px;}
.cs-system-framework .sf-row:last-child .sf-box{min-height:40px;padding:6px 20px;border-color:#013977 !important;color:var(--text);font-size:var(--fs-20);}

.cs-service-list .com-txt-list-01{margin-left:10px;}
.cs-service-list .sub-list-box{min-height:auto;padding:28px 30px;}

.cs-measure-box{margin-bottom:80px;padding:37px 8.2% 41px;border-radius:20px;background:var(--gray-100);}
.cs-measure-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,263px));justify-content:space-between;gap:32px;}

.cs-measure-grid::before,
.cs-measure-grid::after{content:"";position:absolute;top:27px;border-top:1px dotted currentColor;}

.cs-measure-grid::before{left:13%;right:50%;color:#029e93;}
.cs-measure-grid::after{left:50%;right:13%;color:#0295cd;}

.cs-measure-col{--cs-measure-color:var(--primary-1);position:relative;z-index:1;color:var(--cs-measure-color);text-align:center;}
.cs-measure-col::before{content:"";position:absolute;top:54px;left:50%;z-index:-1;height:340px;border-left:1px dotted currentColor;}

.cs-measure-col.type-kps::before,
.cs-measure-col.type-partner::before{height:148px;}

.cs-measure-col .head{display:flex;align-items:center;justify-content:center;min-height:54px;margin-bottom:30px;padding:12px 20px;border-radius:30px;background:var(--cs-measure-color);color:var(--white);font-size:var(--fs-20);font-weight:700;line-height:1.3;}

.cs-measure-col.type-customer,
.cs-measure-col .head.bg-customer{--cs-measure-color:#029e93;}

.cs-measure-col.type-kps,
.cs-measure-col .head.bg-kps{--cs-measure-color:var(--primary-1);}

.cs-measure-col.type-partner,
.cs-measure-col .head.bg-partner{--cs-measure-color:#0295cd;}

.cs-measure-col ul{display:flex;flex-direction:column;gap:10px;}

.cs-measure-col li{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 20px;border:1px solid currentColor;border-radius:30px;background:var(--white);color:var(--cs-measure-color);font-size:var(--fs-18);line-height:1.4;word-break:keep-all;}

@media screen and (max-width:1024px){
    .cs-strategy-summary {margin-bottom: 30px;}
    .cs-measure-box{padding:32px 24px;}
    .cs-measure-grid{grid-template-columns:1fr;gap:28px;}
    .cs-measure-grid::before,
    .cs-measure-grid::after,
    .cs-measure-col::before{display:none;}
}
@media screen and (max-width:768px){
  .cs-system-framework .sf-list li {font-size: 16px;}
    /* 260618 수정 */
  .cs-measure-col .head {margin-bottom: 15px;}
}
.cs-score-table table{width:100%;border-top:2px solid var(--primary);}
.cs-score-table th,
.cs-score-table td{padding:16px 12px;border:1px solid var(--border);text-align:center;font-size:15px;}

.cs-score-table th{background:#f5f7fa;font-weight:800;}


/**********************************************************************
  040603 KPS기술 - 품질활동 - 품질경영시스템체계구축 
***********************************************************************/
.lead-innovation-wrap{padding:30px 0 0;}
.lead-innovation-title{margin-bottom:30px;padding:18px 20px;background:#f3f7fb;color:var(--primary-1);font-size:var(--fs-20);font-weight:700;text-align:center;}
.lead-system{display:grid;grid-template-columns:120px 1fr;gap:30px;align-items:start;margin-bottom:50px;}
.lead-step{display:block;}
.lead-step .lead-label{margin-bottom:30px;}
.lead-label{color:var(--primary-1);font-size:var(--fs-18);font-weight:700;}
.lead-system-diagram{position:relative;width:min(882px,100%);height:349px;margin:0 auto;text-align:center;}

.lead-top,
.lead-bottom{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:330px;min-height:80px;padding:18px 24px;border:2px solid currentColor;border-radius:5px;background:var(--white);font-size:var(--fs-16);line-height:1.4;}

.lead-top{top:0;left:50%;color:var(--primary-1);transform:translateX(-50%);}

.lead-top strong,
.lead-bottom strong{display:block;margin-top:4px;font-size:var(--fs-20);line-height:1.2;}

.lead-center{position:absolute;top:165px;left:50%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:137px;height:137px;padding:26px;border-radius:29px;background:var(--white);box-shadow:0 4px 10px rgba(87,87,87,.16);color:var(--text);font-size:var(--fs-18);font-weight:700;line-height:1.15;transform:translateX(-50%);}

.lead-center-icon{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:10px;border-radius:11px;background:#eaebef;}

.lead-center-icon::before,
.lead-center-icon::after{content:"";position:absolute;border-radius:50%;}

.lead-center-icon::before{width:14px;height:14px;border:4px solid var(--primary-1);}
.lead-center-icon::after{width:4px;height:4px;background:var(--white);}

.lead-bottom{top:271px;}
.lead-bottom-left{left:0;color:#0295cd;}
.lead-bottom-right{right:0;color:#029e93;}

.lead-line{position:absolute;z-index:1;border-color:var(--primary-1);}

.lead-line-left,
.lead-line-right{top:80px;left:50%;width:1px;height:238px;border-left:1px dashed var(--primary-1);transform-origin:top center;}

.lead-line-left{transform:rotate(35deg);}
.lead-line-right{transform:rotate(-35deg);}

.lead-line-bottom{top:310px;left:165px;right:165px;border-top:1px dashed var(--primary-1);}


.lead-step-grid {position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:100px;}
.lead-step-col {position:relative;z-index:1;}
.lead-step-col h5 {margin-bottom:14px;padding:12px 20px;border-radius:6px;color:var(--white);font-size:var(--fs-18);font-weight:700;text-align:center;}
.lead-step-col ol {display:flex;flex-direction:column;gap:12px;}
.lead-step-col li {position:relative;min-height:76px;padding:18px 24px;border:1px dashed var(--secondary-1);border-radius:6px;background:var(--white);}
.lead-step-col li span {display:block;margin-bottom:6px;color:var(--gray-400);font-size:var(--fs-14);font-weight:300;}
.lead-step-col li strong {display:block;font-size:var(--fs-20);font-weight:800;}
.lead-step-col:first-child h5 {background:var(--secondary-1);}
.lead-step-col:first-child li {border-color:var(--secondary-1);}
.lead-step-col:first-child li strong {color:var(--secondary-1);}
.lead-step-col:last-child h5 {background:var(--primary-1);}
.lead-step-col:last-child li {border-color:var(--primary-1);}
.lead-step-col:last-child li strong {color:var(--primary-1);}
.lead-step-col:first-child ol li::after {content:"";position:absolute;top:50%;right:-101px;width:100px;border-top:1px dashed var(--border);transform:translateY(-50%);}

@media screen and (max-width:1024px){
    .lead-system {grid-template-columns:1fr;gap:20px;}
    .lead-step-grid {gap:30px;}
    .lead-step-col:first-child ol li::after {right:-31px;width:30px;}
}
@media screen and (max-width:768px){
    .lead-system-diagram {display:flex;flex-direction:column;height:auto;}
    .lead-top,
    .lead-center,
    .lead-bottom {position:relative;top:auto;left:auto;right:auto;width:100%;margin:0 auto 16px;transform:none;}
    .lead-center {order:1;width:137px;}
    .lead-top {order:2;}
    .lead-bottom-left {order:3;}
    .lead-bottom-right {order:4;}
    .lead-line,
    .lead-step-col:first-child ol li::after {display:none;}
    .lead-step-grid {grid-template-columns:1fr;}
}



/**********************************************************************
  040603 KPS기술 - 품질활동 - 품질경영시스템체계구축 > 품질시스템 문서체계
***********************************************************************/
.qms-doc-system {display:flex;flex-direction:column;gap:22px;}
.qms-doc-row {display:grid;grid-template-columns:188px 1fr;gap:17px;align-items:stretch;}
.qms-doc-label {display:flex;align-items:center;justify-content:center;min-height:80px;border-radius:5px;color:var(--white);font-size:var(--fs-24);font-weight:400;text-align:center;}
.qms-doc-label.bg-blue {min-height:199px;background:#388ceb;}
.qms-doc-label.bg-blue-1 {background:#0f6ed8;}
.qms-doc-label.bg-blue-2 {min-height:168px;background:#034ea2;}
.qms-doc-rule-flow {position:relative;display:flex;flex-direction:column;align-items:center;gap:38px;}
.qms-doc-rule-flow::before {content:"";position:absolute;top:80px;left:50%;height:38px;border-left:1px solid var(--gray-200);transform:translateX(-50%);}
.qms-doc-pill {display:flex;align-items:center;justify-content:center;width:167px;min-height:80px;border-radius:5px;color:var(--white);font-size:var(--fs-h4);font-weight:700;text-align:center;}
.qms-doc-pill.bg-blue {background:var(--primary-1);}
.qms-doc-outline {display:flex;align-items:center;justify-content:center;width:100%;min-height:80px;border:1px solid var(--gray-200);border-radius:5px;color:var(--gray-500);font-size:var(--fs-20);font-weight:400;text-align:center;}
.qms-doc-plan-list {display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.qms-doc-plan {display:flex;align-items:center;justify-content:center;min-height:80px;border-radius:5px;color:var(--white);font-size:var(--fs-24);font-weight:700;line-height:1.35;text-align:center;word-break:keep-all;}
.qms-doc-plan.bg-teal {background:#0094b7;}
.qms-doc-plan.bg-blue {background:#0074df;}
.qms-doc-plan.bg-navy {background:var(--primary-4);}
.qms-doc-plan.bg-green {background:#19b56d;}
.qms-doc-note {min-height:80px;display:flex;align-items:center;justify-content:center;padding:24px 30px;background:var(--white);border:1px solid var(--gray-200);border-radius:5px;color:var(--gray-500);font-size:var(--fs-20);font-weight:400;text-align:center;}
.qms-doc-procedure-list {display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:22px;}
.qms-doc-procedure-list > div {min-height:65px;display:flex;align-items:center;justify-content:center;border:2px dashed currentColor;border-radius:5px;background:var(--white);color:var(--gray-500);font-size:var(--fs-20);font-weight:400;text-align:center;}
.qms-doc-procedure-list > div:nth-child(1) {border-color:#0295cd;}
.qms-doc-procedure-list > div:nth-child(2) {border-color:#0074df;}
.qms-doc-procedure-list > div:nth-child(3) {border-color:var(--primary-4);}
.qms-doc-procedure-list > div:nth-child(4) {border-color:#19b56d;}

@media screen and (max-width:1024px){
    .qms-doc-row {grid-template-columns:1fr;}
    .qms-doc-plan-list {grid-template-columns:repeat(2,1fr);}
    .qms-doc-label.bg-blue  {min-height: 80px; margin-top:30px;}
    .qms-doc-label.bg-blue-1 {min-height: 80px; margin-top:30px;}
    .qms-doc-label.bg-blue-2 {min-height: 80px; margin-top:30px;}
}
@media screen and (max-width:640px){
    .qms-doc-rule-flow,
    .qms-doc-plan-list,
    .qms-doc-row:nth-child(3) > div:last-child {padding:20px;border:1px solid var(--gray-200);border-radius:5px;background:var(--gray-100);}
    .qms-doc-rule-flow {gap:20px;background:var(--white);}
    .qms-doc-rule-flow::before {display:block;top:100px;height:20px;}
    .qms-doc-plan-list {grid-template-columns:1fr;gap:12px;}
    .qms-doc-procedure-list {grid-template-columns:1fr;gap:12px;margin-top:12px;}
}


/**********************************************************************
  040604 KPS기술 - 품질활동 - 품질혁신성과
***********************************************************************/
.quality-card-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.quality-card {display:flex;flex-direction:column;align-items:flex-start;min-height:276px;padding:30px;border:1px solid var(--gray-200);border-radius:11px;background:var(--white);}
.quality-card-count {display:flex;align-items:flex-end;gap:4px;margin-bottom:10px;white-space:nowrap;}
.quality-card-count strong {color:var(--primary-1);font-size:44px;font-weight:800;line-height:1;}
.quality-card-count span {margin-bottom:4px;color:var(--gray-400);font-size:var(--fs-18);font-weight:700;line-height:1.3;}
.quality-card-icon-box {display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 0 20px;border-radius:6px;background:#f1f5f9;}
.quality-card-icon-box .icon-sprite {display:block;width:28px;height:28px;background:url(/resources/user/web/images/icon/icon_sprite_sub.svg) no-repeat;}
.quality-card-icon-box .icon-sprite.icon-medal {background-position:-605px -364px;}
.quality-card-icon-box .icon-sprite.icon-crown{background-position:-836px -364px;}
.quality-card-icon-box .icon-sprite.icon-like {background-position:-889px -366px;}
.quality-card-icon-box .icon-sprite.icon-user{background-position: -944px -365px;}
.quality-card-icon-box .icon-sprite.icon-building{background-position:-998px -365px;}
.quality-card .tit {margin-bottom:0;color:var(--text);font-size:var(--fs-20);font-weight:700;line-height:1.45;}
.quality-card .txt {margin-top:10px;color:var(--gray-400);font-size:var(--fs-16);font-weight:600;line-height:1.5;}
.quality-card-list {margin-top:10px;color:var(--gray-400);font-size:var(--fs-15);font-weight:600;line-height:1.55;}
.quality-card-list > li {position:relative;padding-left:10px;}
.quality-card-list > li::before {content:"";position:absolute;left:0;top:.72em;width:3px;height:3px;border-radius:50%;background:var(--gray-400);}
.quality-card-years {display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px;}
.quality-card .year {display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:40px;padding:0 16px;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-100);color:var(--gray-400);font-size:var(--fs-16);font-weight:600;line-height:1;}

.sub-list-box-names {display: grid;gap: 16px;margin-top: auto;padding-top: 10px;}
.sub-list-box .name {display: inline-flex;align-items: center;justify-content: center;width: 100%; min-height: 40px; white-space: nowrap; overflow: hidden;text-overflow: ellipsis; padding: 6px 12px; border: 1px solid var(--gray-200);border-radius: 8px;background: var(--gray-100);color: var(--gray-400);font-size: var(--fs-16); font-weight: 600; line-height: 1.2; box-sizing: border-box; }
.sub-list-grid.col-1 .sub-list-box-names {grid-template-columns: repeat(4, 1fr);}
.sub-list-grid.col-2 .sub-list-box-names {grid-template-columns: repeat(2, 1fr);}

@media (max-width: 1200px) {
    .sub-list-grid.col-1 .sub-list-box-names {grid-template-columns: repeat(3, 1fr);gap: 14px; }
}

@media screen and (max-width:1024px){
    .quality-card-grid {grid-template-columns:repeat(2,1fr);}
    .sub-list-grid.col-1 .sub-list-box-names,
    .sub-list-grid.col-2 .sub-list-box-names {grid-template-columns: repeat(2, 1fr);gap: 12px; }
    .sub-list-box .name {padding: 6px 10px; }
}
@media screen and (max-width:640px){
    .quality-card-grid {grid-template-columns:1fr;}
    .sub-list-grid.col-1 .sub-list-box-names,
    .sub-list-grid.col-2 .sub-list-box-names {grid-template-columns: repeat(1, 1fr);gap: 10px;}
    .sub-list-box .name {font-size: var(--fs-16)}
}



/**************************************************
  060401 정보공개 - 공공데이터개방
***************************************************/
.public-data-ebook {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:40px;border:8px solid rgba(11,80,208,.1);}
.public-data-ebook p {color:var(--text-muted);font-size:var(--fs-20);line-height:1.4;}
.public-data-ebook strong {color:var(--primary-1);font-weight:700;}
.public-data-ebook .btn-wrap {display:flex;gap:16px;flex-shrink:0;}
.public-data-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.public-data-card {min-height:189px;padding:33px;border:1px solid var(--border);border-radius:24px;background:var(--white);}
.public-data-card h3 {position:relative;margin-bottom:12px;padding-left:20px;color:#0f172a;font-size:var(--fs-20);font-weight:700;line-height:1.35;}
.public-data-card h3::before {content:"";position:absolute;left:0;top:.25em;width:5px;height:20px;border-radius:10px;background:var(--primary-1);}
.public-data-card p {color:#475569;font-size:var(--fs-18);line-height:1.45;}
.public-data-process {display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;padding:46px 54px;background:#f8f8f8;border-radius:10px;}
.public-data-process .icon-sprite {display:block;width:67px;height:67px;background-image:url('/resources/user/web/images/icon/icon_sprite_sub.svg');background-repeat:no-repeat;}
.process-side {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;gap:14px;min-height:420px;color:var(--primary-1);text-align:center;}
.process-side::after {content:"";position:absolute;top:180px;right:-28px;width:28px;height:358px;border:1px solid #cfd6e1;border-right:0;}
.process-side .icon-area {display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--primary-1);}
.process-side .icon-sprite {background: url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -1129px -51px;width: 29px;height: 29px;}
.process-flow {display:grid;gap:86px;padding-top:44px;}
.process-group {position:relative;}
.process-label {position:absolute;left:0;top:-44px;display:inline-flex;align-items:center;justify-content:center;height:31px;padding:0 15px;border:1px solid var(--border);border-radius:5px;background:var(--white);color:var(--text-muted);font-size:var(--fs-16);}
.process-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:84px;}
.process-provided .process-list {grid-template-columns:minmax(220px,307px);max-width:307px;}
.process-item {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:272px;padding:48px 24px 28px;border:1px solid #ddd;border-radius:10px;background:var(--white);text-align:center;}
.process-request .process-item:not(:last-child)::after {content:"";position:absolute;top:50%;right:-58px;width:24px;height:18px;background:url('/resources/user/web/images/icon/icon_sprite.svg') no-repeat -254px -51px;transform:translateY(-50%);}
.process-item .step-badge {position:absolute;top:-19px;left:50%;display:inline-flex;align-items:center;justify-content:center;min-width:132px;height:42px;padding:0 18px;border-radius:21px;background:var(--primary-1);color:var(--white);font-size:var(--fs-18);transform:translateX(-50%);}
.process-item .icon-area {display:flex;align-items:center;justify-content:center;width:130px;height:130px;margin-bottom:22px;border-radius:50%;background:var(--surface);}
.process-item .icon-area .icon-sprite {transform:scale(1);}
.process-item strong {color:var(--text);font-size:var(--fs-20);font-weight:700;line-height:1.35;}

@media (max-width:1200px){
    .public-data-process {grid-template-columns:1fr;padding:36px;}
    .process-side {min-height:auto;}
    .process-side::after {display:none;}
    .process-flow {gap:72px;}
    .process-list {gap:42px;}
    .process-request .process-item:not(:last-child)::after {right:-37px;}
}

@media (max-width:1024px){
    .public-data-ebook {align-items:flex-start;flex-direction:column;}
    .public-data-card-grid {grid-template-columns:1fr;}
    .process-list,.process-provided .process-list {grid-template-columns:1fr;max-width:none;}
    .process-request .process-item:not(:last-child)::after {display:none;}
}

@media (max-width:768px){
    .public-data-ebook {padding:24px;border-width:5px;}
    .public-data-ebook .btn-wrap {flex-direction:column;width:100%;}
    .public-data-ebook .com-sub-btn {width:100%;}
    .public-data-card {min-height:auto;padding:24px;border-radius:14px;}
    .public-data-process {padding:24px 16px;gap:22px;}
    .process-flow {gap:46px;padding-top:34px;}
    .process-label {top:-34px;height:28px;font-size:var(--fs-14);}
    .process-list {gap:14px;}
    .process-item {min-height:auto;flex-direction:row;justify-content:flex-start;gap:14px;padding:28px 18px 18px;text-align:left;}
    .process-item .step-badge {top:-14px;left:50%;right:auto;min-width:auto;height:28px;padding:0 14px;border-radius:14px;font-size:var(--fs-14);transform:translateX(-50%);}
    .process-item .icon-area {flex-shrink:0;width:58px;height:58px;margin-bottom:0;}
    .process-item .icon-area .icon-sprite {transform:scale(.62);}
    .process-item strong {font-size:var(--fs-18);line-height:1.35;}
    .process-side {flex-direction:row;justify-content:flex-start;gap:14px;padding:18px;background:var(--white);border:1px solid var(--border);border-radius:10px;text-align:left;}
    .process-side .icon-area {flex-shrink:0;width:48px;height:48px;}
    .process-side strong {font-size:var(--fs-18);line-height:1.35;}
}


/**********************************************************************
  060801 정보공개 - 사업실명제 - 실명제 개요
***********************************************************************/
.realname-model-grid {grid-template-columns:repeat(2,1fr);}
.realname-model-grid .qms-model-card {align-items:flex-start;}
.realname-model-grid .qms-model-card span {color:#9a9a9a;}
.realname-model-grid .qms-model-card strong {color:var(--text);line-height:1.5;}
.realname-model-grid .qms-model-card p {margin-top:10px;color:var(--text-gray);font-size:var(--fs-15);line-height:1.5;}
@media screen and (max-width:768px){
    .realname-model-grid {grid-template-columns:1fr;}
}

/**********************************************************************
  061001 정보공개 - 정보보호 - 개인정보처리방침 알기쉬운방침
***********************************************************************/
.privacy-visual-wrap img {display:block;height:auto;margin:0 auto;}




/**********************************************************************
  061001 정보공개 - 정보보호 - 개인정보처리방침
***********************************************************************/
.privacy-wrap {width:100%;}
.privacy-intro {min-height:164px;margin-bottom:96px;}
.privacy-intro .desc {color:var(--text);font-size:var(--fs-20);line-height:1.4;}
.privacy-label-list {gap:36px 55px;}
.privacy-label-list .sub-list-box {position: relative; min-height:220px;padding:0;border-radius:10px;}
.privacy-label-list .sub-list-box:hover {border-color: var(--primary-1);}
.privacy-label-list button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;height:100%;padding:28px 30px;border-radius:10px;background:transparent;color:var(--primary-1);font-size:var(--fs-20);font-weight:700;text-align:center;}
.privacy-label-list button:hover {color:var(--primary-1);}

.privacy-label-list .sub-list-box .privacy-icon {display:block;width:88px;height:89px;background-image:url("/resources/user/web/images/icon/icon_sprite_sub.svg") !important;background-repeat:no-repeat !important;background-size:auto;flex-shrink:0;}
/* 개인정보 라벨 아이콘 */
.privacy-label-list .sub-list-box .privacy-label-01 {background-position:3px -419px;}
.privacy-label-list .sub-list-box .privacy-label-02 {background-position:-98px -412px;}
.privacy-label-list .sub-list-box .privacy-label-03 {background-position:-195px -412px;}
.privacy-label-list .sub-list-box .privacy-label-04 {background-position:-292px -412px;}
.privacy-label-list .sub-list-box .privacy-label-05 {background-position:-389px -412px;}
.privacy-label-list .sub-list-box .privacy-label-06 {background-position:-486px -422px;}

.privacy-mini-icon {display:inline-block;width:32px;height:33px;background:url("/resources/user/web/images/icon/icon_sprite_sub.svg") no-repeat;flex-shrink:0;}
.icon-privacy-sm-01{background-position:-2px -586px;}
.icon-privacy-sm-02{background-position:-52px -586px;}
.icon-privacy-sm-03{background-position:-105px -586px;}
.icon-privacy-sm-04{background-position:-158px -588px;}
.icon-privacy-sm-05{background-position:-210px -587px;}
.icon-privacy-sm-06{background-position:-262px -587px;}
.icon-privacy-sm-07{background-position:-315px -586px;}
.icon-privacy-sm-08{background-position:-367px -587px;}
.icon-privacy-sm-09{background-position:-417px -588px;}
.icon-privacy-sm-10{background-position:-468px -587px;}
.icon-privacy-sm-11{background-position:-522px -586px;}
.icon-privacy-sm-12{background-position:-573px -587px;}
.icon-privacy-sm-13{background-position:-624px -586px;}
.icon-privacy-sm-14{background-position:-677px -587px;}
.icon-privacy-sm-15{background-position:-728px -586px;}
.icon-privacy-sm-16{background-position:-780px -586px;}

.privacy-label-list .label-layer {  display: none;  position: absolute; top: 40px; left: 50%;  transform: translateX(-50%); width: 440px; background-color: #fff;  border-radius: 6px;  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);  z-index: 9999;  border: 1px solid var(--border);  overflow: hidden; }
.privacy-label-list .label-layer.show { display: block; }
.privacy-label-list .label-desc-top { background-color: var(--primary); color: #fff; padding: 15px 20px; font-size: var(--fs-16); font-weight: 600; }
.privacy-label-list .label-desc-top p { margin: 0; }
.privacy-label-list .label-desc-btm { padding: 15px 20px; max-height: 350px; overflow-y: auto; }
.privacy-label-list .desc-info-text { font-size: var(--fs-14); color: var(--text-muted); margin-bottom: 10px; }
.privacy-label-list .desc-wrap { font-size: var(--fs-14);}
.privacy-label-list .desc-box { display: flex; justify-content: space-between; align-items: center; padding: 12px 10px; border-radius: 4px; border: 1px solid #eee; margin-bottom: 8px; }
.privacy-label-list .desc-box:last-child { margin-bottom: 0; }
.privacy-label-list .desc-tit { flex: 0 0 50%; margin: 0; font-weight: 500; line-height: 1.4; }
.privacy-label-list .desc-cnt { flex: 1; margin: 0; color: var(--text-muted); text-align: right; line-height: 1.4; }

.privacy-note {margin-top:24px;color:var(--point-red);font-size:var(--fs-18);line-height:1.45;}
.privacy-toc-box {padding:50px;border:1px solid var(--border);border-radius:10px;background:var(--surface);}
.privacy-toc-desc {margin-bottom:28px;font-size:var(--fs-20); font-weight: 600;}
.privacy-toc-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 90px;}
.privacy-toc-list a {display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--text);font-size:var(--fs-20);line-height:1.4;}
.privacy-link-icons,.privacy-title-icons {display:inline-flex;align-items:center;gap:4px;flex-shrink:0;}
.privacy-toc-list a:hover {color:var(--primary-1);}
.privacy-control {display:flex;justify-content:center;gap:20px;}
.privacy-accordion {counter-reset:privacy-article;border-top:0;}
.privacy-accordion > li {counter-increment:privacy-article;scroll-margin-top:120px;margin-bottom:30px;border:1px solid var(--gray-200);border-radius:10px;background:var(--white);overflow:hidden;}
.privacy-accordion > li:last-child {margin-bottom:0;}
.privacy-accordion .accordion-hd {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:120px;padding:38px 50px;background:var(--white);font-size:var(--fs-24);font-weight:400;line-height:1.333;}
.privacy-accordion .accordion-hd:hover {background:var(--white);}
.privacy-accordion .accordion-hd.active {font-weight:700;}
.privacy-accordion .accordion-title {display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;text-align:left;}
.privacy-accordion .accordion-title::before {content:counter(privacy-article) ".";flex-shrink:0;color:var(--text);font-weight:inherit;}
.privacy-accordion .accordion-icon {position:relative;display:block;width:32px;height:32px;background:none;flex-shrink:0;transition:.3s;}
.privacy-accordion .accordion-icon::before {content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-right:2px solid var(--text);border-bottom:2px solid var(--text);transform:translate(-50%,-65%) rotate(45deg);}
.privacy-accordion .accordion-hd.active .accordion-icon {transform:rotate(180deg);}
.privacy-accordion .accordion-ctt {padding:0;background:var(--white);margin-bottom:0;}
.privacy-accordion .accordion-ctt > .inner {padding:0 50px 38px;color:var(--gray-400);line-height:1.333;}
.privacy-accordion .accordion-ctt p+p {margin-top:16px;}
.privacy-accordion .accordion-ctt .com-tbl-wrap {font-size:var(--fs-18); }
.privacy-accordion .com-txt-list-02 > li {color: var(--text);}
.privacy-link {color:var(--primary-1);text-decoration:underline;text-underline-offset:4px;}
.privacy-sub-title {margin:32px 0 10px;color:var(--text);font-size:var(--fs-20);font-weight:700;}
.privacy-destroy-panel {display:flex;flex-direction:column;gap:30px;width:100%;margin:16px 0;padding:40px;background:var(--gray-100);color:var(--gray-400);;}
.privacy-destroy-section {display:flex;flex-direction:column;gap:10px;width:100%;}
.privacy-destroy-section h4 {color:var(--text);font-size:var(--fs-24);font-weight:400;line-height:1.333;}
.privacy-destroy-list {display:flex;flex-direction:column;gap:20px;margin-top:14px;}
.privacy-destroy-list li {position:relative;padding-left:28px;}
.privacy-destroy-list li::before {content:"";position:absolute;left:10px;top:.75em;width:4px;height:4px;border-radius:50%;background:var(--text);}
.privacy-destroy-list strong {display:block;margin-bottom:10px;color:var(--text);font-size:var(--fs-20);font-weight:700;line-height:1.4;}
.privacy-remedy-panel {display:flex;flex-direction:column;gap:16px;margin:16px 0;padding:32px 40px;background:var(--gray-100);color:var(--gray-400);}
.privacy-accordion .accordion-ctt .privacy-remedy-panel p+p {margin-top:0;}
.privacy-revision-panel .privacy-sub-title {margin:16px 0 0;}
.privacy-revision-panel .privacy-sub-title:first-child {margin-top:0;}


@media screen and (max-width:1024px){
    .privacy-label-list {gap:24px;}
    .privacy-toc-list {gap:16px 40px;}
}
@media screen and (max-width:768px){
    .privacy-intro {margin-bottom:50px;}
    .privacy-label-list .sub-list-box {min-height:170px;}
    .privacy-toc-box {padding:30px 24px;}
    .privacy-toc-list {grid-template-columns:1fr;}
    .privacy-control {flex-direction:column;}
    .privacy-accordion .accordion-hd {min-height:80px;padding:20px;}
    .privacy-accordion .accordion-ctt > .inner {padding: 0 24px 24px 24px;font-size:var(--fs-18);}
    .privacy-destroy-panel {padding:24px;}
    .privacy-remedy-panel {padding: 20px;}
}
@media screen and (max-width:480px){
  .privacy-label-list .sub-list-box { position: relative; }
  .privacy-label-list .label-layer { display: none;  width: 100%; margin-top: 10px; background-color: #fff;  border-radius: 6px;  border: 1px solid #ccc; overflow: hidden; top: 0px;}
  .privacy-label-list .label-layer { width: 340px;}
  .privacy-label-list .label-desc-btm {max-height: 280px; padding: 14px;}
}

/* **************************************************
 * 061001 정보공개 - 정보보호 - 개인정보처리방침
 * 개인정보 열람청구 프로세스 플로우
 ************************************************** */
.privacy-flow {margin:30px 0;padding:40px;background:var(--gray-100);color:var(--text);text-align:center;}
.privacy-flow * {box-sizing:border-box;}
.privacy-flow-scroll {overflow-x:auto;padding-bottom:24px;}
.privacy-flow-inner {position:relative;display:flex;flex-direction:column;align-items:center;min-width:960px;min-height:826px;margin:0 auto;}
.privacy-flow-root {position:relative;display:flex;flex-direction:column;align-items:center;}
.privacy-flow-start {position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:144px;height:144px;border:2px solid #cbd5e1;border-radius:50%;background:var(--white);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);color:#1e293b;font-size:var(--fs-18);font-weight:700;line-height:1.25;letter-spacing:0;}
.privacy-flow-start::after {content:"";position:absolute;left:50%;top:100%;width:2px;height:48px;background:#cbd5e1;transform:translateX(-50%);}
.privacy-flow-start::before {content:"";position:absolute;left:50%;top:calc(100% + 42px);z-index:1;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #cbd5e1;transform:translateX(-50%);}
.privacy-flow-line-top {position:relative;width:535px;height:24px;margin-top:48px;border-top:2px solid #cbd5e1;border-left:2px solid #cbd5e1;border-right:2px solid #cbd5e1;border-radius:12px 12px 0 0;}
.privacy-flow-cols {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;width:100%;max-width:1024px;}
.privacy-flow-col {position:relative;display:flex;flex-direction:column;align-items:center;min-height:556px;}
.privacy-flow-title {position:relative;display:flex;align-items:center;justify-content:center;width:280px;min-height:58px;margin:0 0 48px;padding:15px 25px;border:1px solid var(--primary-1);border-radius:12px;background:var(--primary-1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);color:var(--white);font-size:var(--fs-20);font-weight:700;line-height:1.25;}
.privacy-flow-title::after,
.privacy-flow-step::after {content:"";position:absolute;left:50%;top:100%;width:2px;height:32px;background:#cbd5e1;transform:translateX(-50%);}
.privacy-flow-title::before {content:"";position:absolute;left:50%;top:calc(100% + 32px);z-index:1;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #cbd5e1;transform:translateX(-50%);}
.privacy-flow-step:first-of-type::before {content:"";position:absolute;left:50%;top:calc(100% + 26px);z-index:1;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #cbd5e1;transform:translateX(-50%);}
.privacy-flow-step {position:relative;display:flex;align-items:center;justify-content:center;width:280px;height:88px;margin-bottom:40px;padding:17px;border:1px solid #ccc;border-radius:12px;background:var(--white);box-shadow:0 1px 1px rgba(0,0,0,.05);color:var(--text);font-size:var(--fs-18);line-height:26px;}
.privacy-flow-step + .privacy-flow-step {margin-bottom:73px;}
.privacy-flow-step + .privacy-flow-step::before {content:"";position:absolute;left:50%;top:calc(100% + 32px);width:238px;height:24px;border-top:2px solid #cbd5e1;border-left:2px solid #cbd5e1;border-right:2px solid #cbd5e1;border-radius:12px 12px 0 0;transform:translateX(-50%);}
.privacy-flow-step + .privacy-flow-step::after {height:32px;}
.privacy-flow-result-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;}
.privacy-flow-result {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;padding:17px;border:1px solid #e2e8f0;border-radius:12px;background:var(--white);box-shadow:0 1px 1px rgba(0,0,0,.05);}
.privacy-flow-result.has-end::after {content:"";position:absolute;left:50%;top:100%;width:2px;height:32px;background:#cbd5e1;transform:translateX(-50%);}
.privacy-flow-result.has-end::before {content:"";position:absolute;left:50%;top:calc(100% + 26px);z-index:2;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #cbd5e1;transform:translateX(-50%);}
.privacy-flow-badge {display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;padding:2px 6px;border-radius:4px;font-size:var(--fs-14);line-height:20px;}
.privacy-flow-badge.type-green {background:#ecfdf5;color:#059669;}
.privacy-flow-badge.type-red {background:#fff1f2;color:var(--point-red);}
.privacy-flow-result-title {display:block;color:#1e293b;font-size:var(--fs-18);font-weight:700;line-height:1.25;}
.privacy-flow-result-desc {display:block;margin-top:1px;color:var(--gray-400);font-size:var(--fs-14);line-height:20px;}
.privacy-flow-end {position:absolute;left:50%;top:calc(100% + 32px);display:flex;align-items:center;justify-content:center;width:130px;height:44px;border-radius:8px;background:var(--primary-5);box-shadow:0 1px 1px rgba(0,0,0,.05);color:var(--white);font-size:var(--fs-18);font-weight:700;line-height:1;transform:translateX(-50%);}

@media (max-width:1280px) {
    .privacy-flow-line-top {width:500px;}
}

@media (max-width:768px) {
    .privacy-flow {padding:24px;}
    .privacy-flow-inner {min-width:860px;}
    .privacy-flow-line-top {width:453px;}
}

/* **************************************************
 * 061001 정보공개 - 정보보호 - 개인정보처리방침
 * 개인정보 관리수준진단 그래프
 ************************************************** */
.privacy-chart-wrap {margin:30px 0;padding:40px;background:var(--gray-100);}
.privacy-chart-scroll {overflow-x:auto;}
.privacy-chart {position:relative;width:100%;min-width:1000px;height:313px;overflow:hidden;}
.privacy-chart-svg {position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.privacy-chart-guide {stroke:#d9d9d9;stroke-width:1;stroke-dasharray:3 3;}
.privacy-chart-axis {stroke:var(--gray-300);stroke-width:1;}
.privacy-chart-line {fill:none;stroke:var(--primary-1);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.privacy-chart-point {position:absolute;width:84px;text-align:center;transform:translateX(-50%);}
.privacy-chart-grade {display:block;margin-bottom:8px;color:var(--primary-1);font-size:var(--fs-18);font-weight:700;line-height:1;}
.privacy-chart-grade.type-purple {color:#4f46e5;}
.privacy-chart-dot {display:block;width:16px;height:16px;margin:0 auto;border:3px solid var(--primary-1);border-radius:50%;background:var(--white);}
.privacy-chart-point-01 {left:14%;top:60%;}
.privacy-chart-point-02 {left:32%;top:42%;}
.privacy-chart-point-03 {left:50%;top:13%;}
.privacy-chart-point-04 {left:71%;top:27%;}
.privacy-chart-point-05 {left:92%;top:27%;}
.privacy-chart-year-list {position:absolute;left:0;right:0;top:267px;height:26px;}
.privacy-chart-year {position:absolute;top:0;display:block;width:84px;color:var(--gray-400);font-size:var(--fs-18);font-weight:400;line-height:26px;text-align:center;transform:translateX(-50%);}
.privacy-chart-year-01 {left:14%;}
.privacy-chart-year-02 {left:32%;}
.privacy-chart-year-03 {left:50%;}
.privacy-chart-year-04 {left:71%;}
.privacy-chart-year-05 {left:92%;}
.privacy-chart-caption {display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;color:var(--gray-400);font-size:var(--fs-16);line-height:24px;}
.privacy-chart-caption-line {display:block;width:17px;height:6px;border-radius:999px;background:var(--primary-1);}
.privacy-chart-caption-text {display:block;}

@media(max-width:768px){
    .privacy-chart-wrap {padding:28px 20px;}
    .privacy-chart-caption {justify-content:flex-start;min-width:1000px;}
}

/**********************************************************************
  061003 정보공개 - 정보보호 - 영상정보처리기기운영관리방침
  표하단 *처리 - 밝은 그레이컬러 텍스트
***********************************************************************/
.com-txt-list-02.type-asterisk > li {color:var(--gray-300);}
.com-txt-list-02.type-asterisk > li::before {content:"*";top:0;background:none;color:var(--gray-300);}

.color-gray-300 {color:var(--gray-300);}
.color-primary {color:var(--primary-1);}

/**********************************************************************
  061006 정보공개 - 정보보호 - 저작권 정책
***********************************************************************/
.copyright-wrap {color:var(--text);}
.copyright-intro {align-items:center;margin-bottom:60px;}
.copyright-intro .desc {color:var(--text);font-size:var(--fs-18);line-height:1.55;word-break:keep-all;}
.copyright-kogl-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;}
.copyright-kogl-list .sub-list-box {min-height:314px;padding:33px;border-radius:10px;}
.copyright-kogl-list .sub-list-box:nth-child(n+5) {min-height:404px;}
.copyright-kogl-list .tit {display:block;margin-bottom:20px;color:var(--primary-1);}
.copyright-kogl-list .kogl-img {display:flex;align-items:center;justify-content:center;width:100%;height:120px;margin-bottom:20px;border-radius:5px;background:#f7f7f7;}
.copyright-kogl-list .kogl-img img {display:block;max-width:100%;height:80px;object-fit:contain;}
.copyright-kogl-list .desc {color:var(--gray-400);font-size:var(--fs-16);line-height:1.55;word-break:keep-all;}
.copyright-ai-list {margin-top:16px;color:var(--gray-400);font-size:var(--fs-14);line-height:1.55;}
.copyright-ai-list li {position:relative;padding-left:12px;word-break:keep-all;}
.copyright-ai-list li::before {content:"";position:absolute;left:0;top:.75em;width:3px;height:3px;border-radius:50%;background:var(--gray-400);}
.copyright-guide {display:flex;flex-direction:column;gap:22px;color:var(--gray-400);font-size:var(--fs-18);line-height:1.55;word-break:keep-all;}
.copyright-guide p {position:relative;padding-left:12px;}
.copyright-guide p::before {content:"";position:absolute;left:0;top:.75em;width:3px;height:3px;border-radius:50%;background:var(--gray-400);}
.copyright-guide .copyright-example {padding:20px 38px;border:1px dashed var(--border);background:var(--gray-100);font-size:var(--fs-16);}
.copyright-guide .copyright-example::before {display:none;}
.copyright-btn-wrap {margin-top:26px;}

@media screen and (max-width:1024px){
    .copyright-kogl-list {grid-template-columns:1fr;}
    .copyright-kogl-list .sub-list-box,
    .copyright-kogl-list .sub-list-box:nth-child(n+5) {min-height:auto;}
}

@media screen and (max-width:768px){
    .copyright-intro .desc,
    .copyright-guide {font-size:var(--fs-16);}
    .copyright-kogl-list .sub-list-box {padding:24px;}
    .copyright-kogl-list .kogl-img {height:100px;}
    .copyright-kogl-list .kogl-img img {height:64px;}
    .copyright-guide .copyright-example {padding:18px 20px;}
}

/**************************************************
  070401 청렴윤리센터 - 적극행정 소개
***************************************************/
.active-admin-wrap .com-info-box-02 {margin-bottom:0;}
.active-admin-rule {color:var(--gray-400);font-size:var(--fs-20);line-height:1.4;}
.active-admin-rule span {color:var(--primary-1);}
.active-admin-framework {position:relative;gap:130px;z-index:0;}
.active-admin-framework .sf-row {position:relative;gap:15px;z-index:1;}
.active-admin-framework .sf-th {width:188px;font-weight:400;}
.active-admin-framework .sf-row:first-child .sf-th {min-height:80px;}
.active-admin-framework .sf-row:first-child .sf-td::after {content:"";position:absolute;left:calc(188px + 15px + ((100% - 203px) / 2));top:97px;width:min(58vw,703px);height:165px;background:linear-gradient(180deg,rgba(244,248,255,.9),rgba(244,248,255,.25));clip-path:polygon(50% 0,100% 100%,0 100%);transform:translateX(-50%);pointer-events:none;z-index:-1;}
.active-admin-framework .active-admin-vision {min-height:80px;border:5px solid rgba(11,80,208,.2);border-radius:50px;background:var(--white);color:var(--primary-1);font-size:var(--fs-h4);font-weight:700;}
.active-admin-task-row .sf-th {min-height:492px;background:#0f6ed8;}
.active-admin-task-list {display:grid;gap:23px;}
.active-admin-task-item {display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:stretch;}
.active-admin-task-item .task-title {position:relative;display:flex;align-items:center;justify-content:center;min-height:80px;border:2px solid currentColor;border-radius:5px;background:var(--white);font-size:var(--fs-20);font-weight:700;line-height:1.35;text-align:center;word-break:keep-all;}
.active-admin-task-item .task-title span {position:absolute;top:-14px;left:50%;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--white);border-radius:50%;color:var(--white);font-size:var(--fs-16);font-weight:700;line-height:1;transform:translateX(-50%);}
.active-admin-task-item.theme-teal {color:#029e93;}
.active-admin-task-item.theme-blue {color:#0295cd;}
.active-admin-task-item.theme-teal .task-title span {background:#029e93;}
.active-admin-task-item.theme-blue .task-title span {background:#0295cd;}
.active-admin-task-item.theme-teal .task-detail div {border-color:#029e93;}
.active-admin-task-item.theme-blue .task-detail div {border-color:#0295cd;}
.active-admin-task-item .task-detail {display:grid;gap:16px;}
.active-admin-task-item .task-detail.col-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
.active-admin-task-item .task-detail.col-4 {grid-template-columns:repeat(4,minmax(0,1fr));}
.active-admin-task-item .task-detail div {display:flex;align-items:center;justify-content:center;min-height:80px;padding:16px;border:2px dashed currentColor;border-radius:5px;background:var(--white);color:var(--text);font-size:var(--fs-20);line-height:1.4;text-align:center;word-break:keep-all;}

@media (max-width:1200px){
    .active-admin-task-item {grid-template-columns:180px 1fr;}
    .active-admin-task-item .task-detail.col-4 {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:1024px){
    .active-admin-framework {gap:30px;}
    .active-admin-framework .sf-row {flex-direction:column;}
    .active-admin-framework .sf-th {width:100%;min-height:64px !important;}
    .active-admin-task-item {grid-template-columns:1fr;}
}

@media (max-width:768px){
    .active-admin-task-item .task-detail,
    .active-admin-task-item .task-detail.col-3,
    .active-admin-task-item .task-detail.col-4 {grid-template-columns:1fr;}
    .active-admin-framework .active-admin-vision {font-size:var(--fs-20); border-radius: 40px;}
  .active-admin-framework .sf-row:first-child .sf-td::after {display:none;}
}

@media screen and (max-width:768px){
    .sub-diagnosis-card {min-height: auto;}
}

/**********************************************************************
  020305 ESG경영 - 안전보건 관리활동
***********************************************************************/
.safety-activity-wrap {color:var(--text);}
.safety-section {position:relative;}
.safety-section-desc {color:var(--primary-5);font-size:var(--fs-24);font-weight:700;line-height:1.4;}
.safety-system-panel {padding:28px 28px 34px;border:1px solid var(--border);border-radius:5px;background:var(--white);}
.safety-management-system {gap:24px;}
.safety-management-system .sf-row {gap:15px;}
.safety-management-system .sf-th {width:188px;min-height:80px;font-weight:400;}
.safety-vision-box {min-height:80px;border:1px solid var(--border);border-radius:5px;background:var(--white);font-size:var(--fs-24);font-weight:400;}
.safety-goal-box {min-height:80px;border:5px solid rgba(11,80,208,.2);border-radius:40px !important;background:var(--white);font-size:var(--fs-h4);font-weight:700;}
.safety-em {color:var(--primary-1);font-style:normal;}

.safety-system-head {display:grid;grid-template-columns:minmax(0,1fr) 40px 256px;gap:16px;margin:28px 0 14px;padding-left:0;}
.safety-system-head-task,
.safety-system-head-kpi {display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px;border-radius:12px;background:rgba(226,232,240,.5);color:var(--gray-400);font-size:var(--fs-20);font-weight:700;}
.safety-system-head-task {grid-column:1 / 2;}
.safety-system-head-kpi {grid-column:3 / 4;}
.safety-strategy-list {display:grid;gap:20px;margin-left:0;margin-right:0;padding-left:0;}
.safety-strategy-item {--safety-color:var(--primary-1);--safety-border:var(--safety-color);display:grid;grid-template-columns:minmax(0,1fr) 40px 256px;gap:16px;align-items:stretch;}
.safety-strategy-item.theme-blue {--safety-color:#0295cd;--safety-bg:rgba(2,149,205,.03);}
.safety-strategy-item.theme-cyan {--safety-color:#029e93;--safety-bg:rgba(2,158,147,.03);}
.safety-strategy-item.theme-navy {--safety-color:#0074df;--safety-bg:rgba(0,116,223,.03);}
.safety-strategy-item.theme-green {--safety-color:#12ad71;--safety-border:rgba(0,0,0,.3);--safety-bg:rgba(18,173,113,.03);}
.safety-strategy-item.theme-indigo {--safety-color:#2452a7;--safety-bg:rgba(36,82,167,.03);}
.safety-task-card {position:relative;min-height:118px;padding:26px 26px 26px 32px;border:2px solid var(--safety-border);border-radius:16px;background:var(--safety-bg);box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden; }
.safety-task-card::before {content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--safety-color);}
.safety-task-title {display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--text);font-size:var(--fs-20);font-weight:700;line-height:1.35;word-break:keep-all;}
.safety-task-icon {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#eff6ff;}
.safety-task-icon::before {content:"";display:block;width:36px;height:37px;background:url('/resources/user/web/images/icon/icon_sprite_sub.svg') no-repeat -832px -584px;background-size:auto;}
.safety-task-icon.icon-risk::before {background-position: -888px -584px;}
.safety-task-icon.icon-edu::before {background-position:-944px -584px;}
.safety-task-icon.icon-disaster::before {background-position: -1000px -584px;:}
.safety-task-icon.icon-culture::before {background-position:-1056px -584px;}
.safety-task-list {display:grid;gap:6px;padding-left:20px;color:var(--text);font-size:var(--fs-18);line-height:1.45;}
.safety-task-list > li {list-style:disc;}
.safety-arrow {position:relative;display:flex;align-items:center;justify-content:center;color:var(--safety-color);}
.safety-arrow::before {content:"";position:absolute;left:50%;top:50%;width:30px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%);}
.safety-arrow::after {content:"";position:absolute;left:calc(50% + 9px);top:50%;width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-50%,-50%) rotate(45deg);}
.safety-kpi-card {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:22px;border:2px dashed var(--safety-color);border-radius:16px;background:var(--white);box-shadow:0 1px 2px rgba(0,0,0,.05);text-align:center;}
.safety-kpi-title {margin-bottom:7px;color:var(--gray-400);font-size:var(--fs-18);font-weight:700;line-height:1.35;}
.safety-kpi-value {display:flex;align-items:flex-end;justify-content:center;gap:4px;}
.safety-kpi-num {color:var(--primary-1);font-size:30px;font-style:normal;font-weight:900;line-height:36px;}
.safety-kpi-value .safety-kpi-num:only-child {font-size:24px;}
.safety-kpi-unit {color:var(--text);font-size:24px;font-weight:900;line-height:32px;}

.safety-rule-system {display:grid;gap:24px;}
.safety-rule-row {display:grid;grid-template-columns:188px minmax(0,1fr);gap:17px;align-items:stretch;}
.safety-rule-label {display:flex;align-items:center;justify-content:center;min-height:80px;border-radius:5px;color:var(--white);font-size:var(--fs-24);line-height:1.35;text-align:center;}
.safety-rule-label.bg-blue-1 {background:#388ceb;}
.safety-rule-label.bg-blue-2 {background:#0f6ed8;}
.safety-rule-label.bg-blue-3 {background:#034ea2;}
.safety-rule-label.bg-blue-4 {background:#013977;}
.safety-rule-label.bg-blue-6 {background:#2e3d4e;}
.safety-rule-content {position:relative;min-width:0;}
.safety-rule-head {display:flex;align-items:center;justify-content:center;width:167px;height:80px;margin:0 auto 68px;border-radius:5px;background:var(--primary-1);color:var(--white);font-size:28px;font-weight:700;}
.safety-rule-row-regulation .safety-rule-content::before {content:"";position:absolute;left:50%;top:80px;width:1px;height:36px;background:#c7ccdd;transform:translateX(-50%);}
.safety-rule-branch {position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.safety-rule-branch::before {content:"";position:absolute;left:16.66%;right:16.66%;top:-32px;height:34px;border-top:1px solid #c7ccdd;border-left:1px solid #c7ccdd;border-right:1px solid #c7ccdd;}
.safety-rule-branch > li {display:flex;align-items:center;justify-content:center;min-height:88px;padding:20px;border:2px solid #0295cd;border-radius:5px;background:var(--white);color:#0295cd;font-size:var(--fs-20);font-weight:700;line-height:1.35;text-align:center;word-break:keep-all;}
.safety-rule-box {display:flex;align-items:center;justify-content:center;min-height:80px;padding:18px 30px;border:1px solid var(--border);border-radius:5px;background:var(--white);font-size:var(--fs-20);line-height:1.4;text-align:center;word-break:keep-all;}
.safety-rule-em {color:var(--primary-1);font-style:normal;font-weight:700;margin: 0 6px;}

.safety-cert-table :where(th,td) {height:56px;padding-top:14px;padding-bottom:14px;}
.safety-status-table tbody th {color:var(--text);font-weight:400;background:var(--white);}
.safety-note-box {padding:36px 40px;border:5px solid #e9e9e9;background:var(--white);color:var(--gray-400);font-size:var(--fs-18);line-height:1.75;word-break:keep-all;}

.safety-award-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.safety-award-card {min-height:335px;padding:28px;border:1px solid var(--border);border-radius:5px;background:var(--white);}
.safety-award-card.is-main {grid-column:span 2;min-height:132px;padding:28px 32px;border-color:#dfe8f8;background:var(--white);}
.safety-award-badge {display:inline-flex;align-items:center;height:31px;margin-bottom:14px;padding:0 14px;border-radius:16px;background:#eef4ff;color:var(--primary-1);font-size:var(--fs-16);font-style:normal;font-weight:700;line-height:1;}
.safety-award-title {display:block;margin-bottom:8px;color:var(--text);font-size:var(--fs-18);font-weight:700;line-height:1.35;}
.safety-award-desc {color:var(--primary-1);font-size:var(--fs-20);font-weight:700;line-height:1.45;}
.safety-award-year {display:block;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border);color:#c5cbd5;font-size:36px;font-weight:700;line-height:1;}
.safety-award-list {display:grid;gap:12px;color:var(--text);font-size:var(--fs-16);line-height:1.55;}
.safety-award-list > li {position:relative;padding-left:12px;}
.safety-award-list > li::before {content:"";position:absolute;left:0;top:.7em;width:3px;height:3px;border-radius:50%;background:var(--gray-400);}

@media screen and (max-width:1200px){
    .safety-strategy-item {grid-template-columns:minmax(0,1fr) 32px 220px;}
    .safety-system-head {grid-template-columns:minmax(0,1fr) 32px 220px;}
    .safety-award-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
    .safety-award-card:not(.is-main) {min-height:auto;}
}

@media screen and (max-width:1024px){
    .safety-management-system .sf-row,
    .safety-rule-row {grid-template-columns:1fr;}
    .safety-management-system {margin-bottom:12px;}
    .safety-management-system .sf-row {flex-direction:column;}
    .safety-management-system .sf-th,
    .safety-rule-label {width:100%;min-height:64px;}
    .safety-strategy-item {grid-template-columns:1fr;}
    .safety-system-head {display:none;}
    .safety-task-card,
    .safety-kpi-card {padding-top:56px;}
    .safety-task-card::after,
    .safety-kpi-card::before {position:absolute;left:24px;top:18px;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;background:#eef4ff;color:var(--safety-color);font-size:var(--fs-15);font-weight:700;line-height:1;}
    .safety-task-card::after {content:"전략과제";}
    .safety-kpi-card::before {content:"주요 KPI";}
    .safety-arrow {display:flex;min-height:40px;}
    .safety-arrow::before {width:2px;height:26px;transform:translate(-50%,-50%);}
    .safety-arrow::after {left:50%;top:calc(50% + 9px);transform:translate(-50%,-50%) rotate(135deg);}

    .safety-strategy-item {gap:0px;}
    .safety-strategy-list {gap:30px;}
}

@media screen and (max-width:768px){
    .safety-goal-box {border-radius:24px;font-size:var(--fs-20);}
    .safety-system-panel {padding:24px 20px;}
    .safety-task-card,
    .safety-kpi-card,
    .safety-note-box,
    .safety-award-card {padding:24px;}
    .safety-task-card,
    .safety-kpi-card {padding-top:56px;}
    .safety-rule-head {width:140px;margin-bottom:42px;font-size:var(--fs-24);}
    .safety-rule-branch {grid-template-columns:1fr;}
    .safety-rule-branch::before {display:none;}
    .safety-award-grid {grid-template-columns:1fr;}
    .safety-award-card.is-main {grid-column:auto;}
    .safety-award-year {margin-bottom:16px;padding-bottom:12px;font-size:30px;}
}


.safety-award-subtxt {margin-top:6px;padding-left:14px;font-size:var(--fs-16);color:var(--gray-400);line-height:1.6;word-break:keep-all;font-weight: 300;}

/**************************************************
  040603 KPS기술 - 품질활동 - 품질경영시스템체계 구축
  060801 정보공개 - 사업실명제 - 실명제 개요 공유
***************************************************/
.qms-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.qms-model-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:111px;padding:30px;border:1px solid var(--border);border-radius:10px;background:var(--white);}
.qms-model-card span{margin-bottom:16px;color:var(--gray-300);font-size:var(--fs-18);line-height:1;}
.qms-model-card strong{color:var(--primary-1);font-size:var(--fs-20);line-height:1.3;word-break:keep-all;}

@media screen and (max-width:1200px){
.qms-model-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}


@media screen and (max-width:768px){
.qms-model-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap: 14px;}
.qms-model-card{min-height:92px;padding:24px;}
}

/**************************************************
  020301 ESG경영 - 한전KPS 한마음 봉사단 소개 연도별 주요활동
  040102 KPS기술 - 인재개발원 공유
***************************************************/
@media screen and (max-width: 768px) {
    .history-tab-nav::before { display: none; }
    .history-tab-nav .tab-list::before { content: ''; position: absolute; top: 5px; left: 20px; right: 20px; height: 1px; background-color: var(--border); z-index: 1; }
    .history-tab-nav .tab-list li { position: relative; z-index: 2; }
}

/**************************************************
  040201 KPS기술 - 연구개발 수행체계
***************************************************/
.org-tree-box-rnd .rnd-card { display: flex; flex-direction: column; }
.org-tree-box-rnd .rnd-card-title { display: flex; align-items: center; justify-content: center; min-height: 54px; line-height: 1.35; word-break: keep-all; box-sizing: border-box; }
.org-tree-box-rnd .rnd-card-body { flex: 1; min-height: 174px; box-sizing: border-box; }

@media screen and (max-width: 1024px) {
    .org-tree-box-rnd .rnd-card-title { min-height: 48px; }
    .org-tree-box-rnd .rnd-card-body { min-height: 0; }
}

/**************************************************
  040601 KPS기술 - 품질활동 - 품질비전체계
***************************************************/
.quality-vision-system{--qv-blue:#0295cd;--qv-teal:#029e93;--qv-green:#12ad71;--qv-navy-1:#388ceb;--qv-navy-2:#0f6ed8;--qv-navy-3:#034ea2;--qv-navy-4:#013977;--qv-navy-5:#2e3d4e;--qv-label-w:188px;--qv-gap:15px;display:flex;flex-direction:column;gap:24px;width:100%;}
.qv-row{display:grid;grid-template-columns:var(--qv-label-w) minmax(0,1fr);gap:var(--qv-gap);align-items:stretch;}
.qv-head{display:flex;align-items:center;justify-content:center;min-height:80px;padding:20px 12px;border-radius:5px;color:var(--white);font-size:var(--fs-24);line-height:1.35;text-align:center;word-break:keep-all;}
.qv-head-1{background:var(--qv-navy-1);}
.qv-head-2{background:var(--qv-navy-2);}
.qv-head-3{background:var(--qv-navy-3);}
.qv-head-4{background:var(--qv-navy-4);}
.qv-head-5{background:var(--qv-navy-5);}
.qv-content{min-width:0;}
.qv-policy-box{display:flex;align-items:center;justify-content:center;min-height:80px;padding:18px 30px;border:5px solid rgba(11,80,208,.2);border-radius:40px;color:var(--primary-1);font-size:var(--fs-h4);font-weight:700;line-height:1.35;text-align:center;word-break:keep-all;}
.qv-method-grid,.qv-task-grid,.qv-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;height:100%;}
.qv-task-grid,.qv-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}

.qv-method-card{display:flex;align-items:center;justify-content:space-evenly;gap:24px;min-height:180px;padding:24px 30px 24px 50px;border:1px solid var(--gray-200);border-radius:5px;background:var(--white);}
.qv-method-text{min-width:0;}
.qv-method-text strong{display:flex;align-items:center;justify-content:center;width:230px;min-height:40px;margin-bottom:20px;border-radius:20px;background:#2452a7;color:var(--white);font-size:var(--fs-18);font-weight:700;line-height:1.2;text-align:center;}
.qv-method-text p{margin:0;color:var(--text);font-size:var(--fs-18);line-height:1.45;letter-spacing:-.54px;word-break:keep-all;}
.qv-method-text span{display:block;margin-top:8px;color:var(--gray-400);font-size:var(--fs-14);line-height:1.45;letter-spacing:-.42px;word-break:keep-all;}
.qv-method-text em{color:var(--primary-1);font-style:normal;}

.qv-method-img{flex:0 0 auto;display:block;object-fit:contain;}
.qv-method-img-imq{width:97px;height:88px;}
.qv-method-img-bis{width:117px;height:86px;}

.qv-task-card{--qv-theme:var(--qv-blue);position:relative;display:flex;flex-direction:column;padding-top:104px;}
.qv-theme-blue{--qv-theme:var(--qv-blue);}
.qv-theme-teal{--qv-theme:var(--qv-teal);}
.qv-theme-green{--qv-theme:var(--qv-green);}

.qv-task-card span{position:absolute;top:-18px;left:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:101px;min-height:32px;transform:translateX(-50%);border:1px solid var(--white);border-radius:16px;background:var(--qv-theme);color:var(--white);font-size:var(--fs-20);font-weight:700;line-height:1.2;}

.qv-task-card strong{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;min-height:80px;padding:17px 20px;border-radius:5px;background:var(--qv-theme);color:var(--white);font-size:var(--fs-24);font-weight:700;line-height:1.35;text-align:center;word-break:keep-all;}

.qv-task-card ul{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:150px;margin:0;padding:36px 20px 28px 48px;border:2px solid var(--qv-theme);border-radius:5px;background:var(--white);}

.qv-task-card li{position:relative;color:var(--text);font-size:var(--fs-20);line-height:1.4;letter-spacing:-.6px;word-break:keep-all;}
.qv-task-card li::before{content:"";position:absolute;top:.65em;left:-14px;width:4px;height:4px;border-radius:50%;background:var(--text);}
.qv-task-card li+li{margin-top:6px;}

.qv-kpi-box{--qv-theme:var(--qv-blue);display:flex;align-items:center;justify-content:center;min-height:80px;padding:20px;border:2px dashed var(--qv-theme);border-radius:5px;color:var(--text);font-size:var(--fs-20);line-height:1.4;text-align:center;word-break:keep-all;}

.qv-result-box{display:flex;align-items:center;justify-content:center;min-height:80px;padding:20px 30px;border:1px solid var(--gray-200);border-radius:5px;color:var(--gray-400);font-size:var(--fs-20);font-weight:700;line-height:1.4;text-align:center;word-break:keep-all;}

@media screen and (max-width:1200px){
.qv-method-card{padding-inline:28px;}
.qv-method-grid{gap:15px;}
}

@media screen and (max-width:1138px){
.qv-method-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;}
.qv-method-text{min-height:134px;}
}

@media screen and (max-width:1024px){
.qv-method-grid,.qv-task-grid,.qv-kpi-grid{grid-template-columns:1fr;}
.qv-task-grid{gap:34px;}
.qv-method-text{min-height:auto;}
.qv-method-card{justify-content: center;}
.qv-method-card{flex-direction: initial;}
}

@media screen and (max-width:768px){
.quality-vision-system{gap:18px;}
.qv-row{grid-template-columns:1fr;gap:10px;}
.qv-head{min-height:58px;padding:14px 18px;}
.qv-policy-box{min-height:68px;padding:16px 20px;font-size:var(--fs-24);}
.qv-method-card{min-height:auto;padding:24px;align-items:flex-start;}
.qv-method-text{min-height:0;}
.qv-method-text strong{width:auto;min-width:210px;}
.qv-task-card ul{min-height:auto;}
.qv-result-box{align-items:flex-start;justify-content:flex-start;text-align:left;}
}

@media screen and (max-width:480px){
.qv-method-card{align-items:center;text-align:center;}
.qv-method-text{width:100%;}
.qv-method-text strong{margin-inline:auto;}
.qv-method-img{margin-inline:auto;}
.qv-method-text p br{display:none;}
.qv-task-card li,.qv-kpi-box,.qv-result-box{font-size:var(--fs-18);}
}

@media screen and (max-width:400px){
    .qv-method-card {flex-direction:column;}
}


/**************************************************
  0403, 040401~040429 KPS기술 - 종합진단서비스/특화기술 공통 보완
***************************************************/
.sub-diagnosis-intro {padding-top:80px;}




/* 이벤트 임시 css */
.event-keppy img {transition:.3s}
.event-keppy img:hover {transform:scale(1.05)}
/* 회사소개 - CEO이미지 */
.greeting-sign {position:relative;}
.greeting-sign .event-keppy{ position: absolute; top: -160px; right: 10%;z-index: 10;} 

@media (max-width: 768px) { 
.greeting-sign .event-keppy { right: 10px; transform: scale(.6);}
}

/* 회사소개 - 주요사업 */
.card-flex-container .right-cluster {position:relative;}
.card-flex-container .right-cluster .event-keppy { position: absolute; bottom: 10px; right: 10px; z-index: 100;}

/* ESG경영 - 이사회*/
.director-card .photo-box a {width:100%; height:100%; display: flex; align-items:center; justify-content:center;}
.director-card .photo-box a img {object-fit: contain;}

/* ESG경영 - 중소기업동반성장 메인 */
.banner-area {position:relative;}
.banner-area .event-keppy {position: absolute; top: -150px; left: 0; z-index: 10;}

@media (max-width: 1024px) {
.banner-area .event-keppy {left: auto; right: -25px; top: -20px;  transform: scale(.6);}
}


/* KPS기술 - 일반사항 */
.training-certification-img {position:relative;}
.training-certification-img .event-keppy {position: absolute; top: -118px;left: 50%;transform: translateX(-72%);}

@media (max-width: 768px) {
  .training-certification-img {overflow: visible;}
.training-certification-img .event-keppy {top: -94px;transform: translateX(-72%) scale(.6);}
  }