#esg-diagnosis {}
#esg-diagnosis .wrap {}

#esg-diagnosis .esg-head {
    margin-bottom:20px;
    display:flex;
    justify-content: center;
    text-align:center;
}
#esg-diagnosis .esg-head ul {
    display:flex;
    gap:5rem;
}
#esg-diagnosis .esg-head li {
    position:relative;
    width:40px;
}

#esg-diagnosis .esg-head li:after {
    content:'';
    position:absolute;
    top:16px;
    left:-45px;
    width:4rem;
    height:3px;
    background:#D1D2D3;
    border-radius:10px;
}
#esg-diagnosis .esg-head li:first-child:after {
    display:none;
}

#esg-diagnosis .esg-head .cat {
    width:100%;
    height:32px;
    background-size:32px 32px;
    background-position:center;
    background-repeat:no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
}
#esg-diagnosis .esg-head .cat img {}

#esg-diagnosis .esg-head .cat span {
    display:none;
}

#esg-diagnosis .esg-head li.P     .cat { background-image:url('/images/content/layout/icon-p.png'); }
#esg-diagnosis .esg-head li.E     .cat { background-image:url('/images/content/layout/icon-e.png'); }
#esg-diagnosis .esg-head li.S     .cat { background-image:url('/images/content/layout/icon-s.png'); }
#esg-diagnosis .esg-head li.G     .cat { background-image:url('/images/content/layout/icon-g.png'); }

/* ----- 활성 PNG ----- */
#esg-diagnosis .esg-head li.P.active .cat { background-image:url('/images/content/layout/icon-p-active.png'); }
#esg-diagnosis .esg-head li.E.active .cat { background-image:url('/images/content/layout/icon-e-active.png'); }
#esg-diagnosis .esg-head li.S.active .cat { background-image:url('/images/content/layout/icon-s-active.png'); }
#esg-diagnosis .esg-head li.G.active .cat { background-image:url('/images/content/layout/icon-g-active.png'); }

/* ----- active 라인 색상 ----- */
/* #esg-diagnosis .esg-head li.active:after {
    background:#6f6f6f;
} */
#esg-diagnosis .esg-head li:nth-child(2).active:after {
    background: #277FC8; /* 1번 색 */
}

#esg-diagnosis .esg-head li:nth-child(3).active:after {
    background: #549D97; /* 2번 색 */
}

#esg-diagnosis .esg-head li:nth-child(4).active:after {
    background: #8A51A3; /* 3번 색 */
}



/* ----- 숫자(num)는 그대로 표시 ----- */
#esg-diagnosis .esg-head .num {
    color:#777e8c;
    font-family: "LINE Seed Sans KR";
    font-size:1.2rem;
    font-weight:400;
    margin-top:4px;
    width:40px;
    display:none;
}

#esg-diagnosis .esg-head li.active .num {
    display:block;
}

/**/
#esg-diagnosis .esg-foot {
    margin-top:2.4rem;
    display:flex;
    justify-content: center;
    gap:8px;
    position:relative;
    z-index:10;
}
#esg-diagnosis .esg-foot .btn-esg-prev {display:none;}
#esg-diagnosis .esg-foot .btn-esg-next {}


/**/
.diagnosis-form {
    width:100%;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    border:1px solid #D1D2D3;
    box-shadow: 0 8px 16px rgba(0,0,0,0.08); /* 부드러운 그림자 */
}
.diagnosis-form .tab-page {
    border: 3px solid transparent;
    border-radius: 8px;
    display:none;
}

.diagnosis-form .tab-page#tab-P.active { border-color:#277FC8; }
.diagnosis-form .tab-page#tab-E.active { border-color:#549D97; }
.diagnosis-form .tab-page#tab-S.active { border-color:#8A51A3; }
.diagnosis-form .tab-page#tab-G.active { border-color:#D2731F; }

.diagnosis-form .tab-page.active {
    display: block;
}

.diagnosis-form .tab-page .title {
    border-top:14px solid transparent;
    border-bottom:1px solid #D1D2D3;
    font-family: "LINE Seed Sans KR";
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.2rem;
    padding: 2rem 6.4rem 1.7rem 6.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.diagnosis-form .tab-page .title .time {
    color: var(--4-b-4-b-4-b, #727887);
    text-align: right;
    font-family: "LINE Seed Sans KR";
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 18.2px */

    padding-left: 22px;   /* 아이콘 공간 */
    background-image: url('/images/content/esg/icon_time.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 18px;
}

.diagnosis-form .tab-page#tab-P .title {border-top-color: #277FC8;}
.diagnosis-form .tab-page#tab-E .title {border-top-color: #549D97;}
.diagnosis-form .tab-page#tab-S .title {border-top-color: #8A51A3;}
.diagnosis-form .tab-page#tab-G .title {border-top-color: #D2731F;}
.diagnosis-form .tab-page .value-list {
    display:flex;
    padding:4rem 6.4rem;
    flex-direction: column;
    gap:4rem;
}

/* ------------------------------------ */

.ex {
    margin-top: 3.2rem;
    padding: 2.4rem;
    background-color: #F4F6F8;
    border-radius: 8px;
}

.ex-2 {
    padding: 2.4rem;
    margin-top: 8px;
    margin-bottom: 4rem;
    background-color: #F4F6F8;
    border-radius: 8px;
}

.ex-info .ex-subject {
    font-family: "LINE Seed Sans KR";
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color:#000;
}
.ex-info ul.ex-txt {
    margin-bottom:2.0rem;
    margin-top:0.6rem;
    display:flex;
    flex-direction: column;
    gap:1px;
}

.ex-info:last-child .ex-txt {
    margin-bottom: 0;
}

.ex-info ul.ex-txt li {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    color: var(--333950, #333950);
    font-family: "LINE Seed Sans KR";
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 160% */
    position: relative;
    list-style: none;
    padding: 0;
}

.ex-info ul.ex-txt li:before,
.ex-info2 ul.ex-txt li:before {
    content: '';
    display: inline-block;     /* 아이콘이 주변 레이아웃 영향 안 받게 */
    width: 24px !important;    /* 고정 크기 */
    height: 24px !important;   /* 고정 크기 */
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px 24px !important; /* auto/contain 대신 절대 크기 */
    flex-shrink: 0;            /* flex 상에서도 줄어들지 않게 */
    line-height: 0;            /* 줄간격 영향 제거 */
}

/* 각 그룹용 이미지만 분리 */
.ex-info ul.ex-txt li:before {
    background-image: url('/images/content/esg/icon_paper.png');
}

.ex-info2 ul.ex-txt li:before {
    background-image: url('/images/content/esg/icon_dot_24.png');
}

.ex-info-ad .ex-subject {
    font-family: "LINE Seed Sans KR";
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color:#000;
}

.ex-info-ad ul.ex-txt li {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    color: var(--4-b-4-b-4-b, #4B4B4B);
    font-family: "LINE Seed Sans KR";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    position: relative;
    list-style: none;
    padding: 0;
}
.ex-info-ad ul.ex-txt li:before {
    content: '';
    display: inline-block;     /* 주변 레이아웃 영향 제거 */
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;

    background: url('/images/content/esg/icon_dot_24.png') no-repeat center center;
    background-size: 24px 24px !important; /* contain 대신 절대 고정 */
    flex-shrink: 0;            /* flex 줄어듦 방지 */
    line-height: 0;            /* 줄간격 영향 제거 */
}

.value-list .question {
    /*display:none;*/
}
.value-list .question.active {
    /*display:block;*/
}
.value-list .question .rid {}
.value-list .question .type {}
.value-list .question .subject {
    font-family: "LINE Seed Sans KR";
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 4.4rem;
    /* margin-bottom:4rem; */
}
.value-list .question ul.choice-head {
    background:#F4F6F8;
    font-family: "LINE Seed Sans KR";
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 2rem;
    color:#727887;
}
.value-list .question ul.choice-head li {
    padding:0.6rem 2.4rem;
}
.value-list .question ul.choice {}
.value-list .question ul.choice-head{
    display:flex;
    color: var(--727887, #727887);
    font-family: "LINE Seed Sans KR";
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 153.846% */
}
.value-list .question ul.choice li {
    display:flex;
    font-family: "LINE Seed Sans KR";
    font-size:1.5rem;
    color:#000;
}

.value-list .question ul.choice li:hover {
    background: #f3f6fc;
    transition: 0.2s ease;
    cursor: pointer;
    /* outline:1px solid #264993; */
    /* border-radius: 8px; */
}

.value-list .question ul.choice-head .num,
.value-list .question ul.choice li .num {
    flex:0 0 80px;
    padding:0.6rem;
    display:flex;
    justify-content: center;
    align-items: center;
}
.value-list .question ul.choice-head .txt{
    flex:1 1 auto;
    /* padding:2rem 2.4rem; */
    display:flex;
    justify-content: flex-start;
    align-items: center;
}
.value-list .question ul.choice li .txt {
    flex:1 1 auto;
    padding:2rem 2.4rem;
    display:flex;
    justify-content: flex-start;
    align-items: center;
}
.value-list .question ul.choice li .txt label {}
.value-list .question ul.choice-head .radio,
.value-list .question ul.choice li .radio {
    flex:0 0 80px;
    padding:0.6rem;
    text-align:center;
    display:flex;
    justify-content: center;
    align-items: center;
}

.value-list .question ul.choice li label {
    cursor:pointer;
}

.value-list .question ul.type-a {
}
.value-list .question ul.type-a li {
    background:#fff;
    border-bottom: 0.5px solid #EAEDEF;
}

.value-list .question ul.type-w {}
.value-list .question ul.type-w li {}
.value-list .question ul.type-w .num {width:auto; flex:0 0 60px;}
.value-list .question ul.type-w .radio {flex:0 0 20px; width:auto;}
.value-list .question ul.type-w .txt {flex:0 1 auto;}

.value-list .question ul.type-f {}
.value-list .question ul.type-f li {}
.value-list .question ul.type-f li.radio-group {
    gap:2rem;
    margin-top:2rem;
}
.value-list .question .radio-group.type-f {
    display:flex;
    gap:1.6rem;
    height:64px;
    background:#F6F8FB;
    justify-content: center;
    align-items: center;
}
.value-list .question .radio-group.type-f .item {}

/* gsap setup */
.question {position:absolute;z-index:0;}
.question.active {position:relative;z-index:1;}
.question .subject,
.question .ex,
.question .ex-2,
.question .choice-head,
.question .choice,
.question .radio-group {
    opacity: 0;
    transform: rotateX(90deg);
}



/**/
#esg-ready {
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    padding:3.2rem 0;
    display:flex;
    flex-direction: column;
    align-items: center;
}

#esg-ready .txt {
    font-family: "LINE Seed Sans KR";
    font-weight: 700;
    font-size: 2rem;
    line-height: 140%;
    text-align: center;
    margin-bottom:2.4rem;
}

#esg-ready .txt-2 {
    color: var(--4-b-4-b-4-b, #727887);
    text-align: center;
    font-family: "LINE Seed Sans KR";
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 19.6px */
    margin-bottom:2.4rem;
}

#esg-ready .img {
    margin-bottom:2.4rem;
}

.pc-br {
    display: inline; /* PC용은 그대로 보임 */
}

.mobile-br {
    display: none;
}

@media (max-width: 767px) {
    .pc-br {
        display: none;
    }

    .mobile-br {
        display: inline;
    }
}

@media (max-width: 767px) {

  #esg-ready {
      padding: 2rem 0;          /* 상하 여백 축소 */
  }

  #esg-ready .txt {
      font-size: 1.6rem;        /* 텍스트 조금 축소 */
      font-family: "LINE Seed Sans KR";
      line-height: 150%;
      margin-bottom: 1.8rem;    /* 간격 축소 */
      padding: 0 12px;          /* 모바일 가독성 위해 좌우 여백 추가 */
  }

  #esg-ready .txt-2 {
      font-size: 1.2rem;        /* 텍스트 조금 축소 */
      font-family: "LINE Seed Sans KR";
      line-height: 150%;
      margin-bottom: 1.8rem;    /* 간격 축소 */
      padding: 0 12px;    
  }

  #esg-ready .img {
      margin-bottom: 2rem;      /* 이미지 아래 간격 줄임 */
  }


}


/* ============================
   a타입
   ============================ */

/* a타입에 들어가는 라디오 */
.choice .radio {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.choice .radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.choice .radio-label {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #D1D2D3;
    background: #fff;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}

.choice .radio-label:hover::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #264993;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.4;
}

.choice .radio input[type="radio"]:checked + .radio-label {
    /* border-color: #264993; */
    border: 8px solid #264993;
}

.choice .radio input[type="radio"]:checked + .radio-label::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
}


/* ============================
   f타입
   ============================ */

/* f타입에 들어가는 라디오 */
.radio-group {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.radio-group .item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.radio-group .item input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #D1D2D3;
    background: #fff;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}


.radio-group .item input[type="radio"]:hover::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #264993;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.4;
}

.radio-group .item input[type="radio"]:checked {
    /* border-color: #264993; */
    border: 8px solid #264993;
}

.radio-group .item input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
}

.radio-group .item label {
    font-size: 14px;
    cursor: pointer;
    color: #333;
    user-select: none;
}


.choice li {
    border-bottom: 0.5px solid var(--d-1-d-2-d-3, #D1D2D3);
}

/*------------------------------------
    MOBILE (max-width: 767px)
------------------------------------*/
@media (max-width: 767px) {

  /* 전체 wrap */
  #esg-diagnosis .wrap {}

  #esg-diagnosis .esg-head {
      margin-bottom: 16px;
  }

  #esg-diagnosis .esg-head ul {
      gap: 20px;
  }

  #esg-diagnosis .esg-head li {
      width: 28px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      height: auto;
      position: relative;
  }

  #esg-diagnosis .esg-head .cat {
      height: 26px;
      background-size: 26px 26px;
      margin-bottom: 2px;
  }

  /* 연결 라인 */
  #esg-diagnosis .esg-head li:after {
      content: '';
      position: absolute;
      top: 13px;
      left: -20px;
      width: 20px;
      height: 2px;
      background: #D1D2D3;
      border-radius: 10px;
  }

  #esg-diagnosis .esg-head li:first-child:after {
      display: none;
  }

  /* num: 기본 숨김, active만 표시 */
  #esg-diagnosis .esg-head .num {
      display: none !important;
      font-family: "LINE Seed Sans KR";
      font-size: 10px;
      line-height: 12px;
      margin-top: 4px;
      text-align: center;
  }

  #esg-diagnosis .esg-head li.active .num {
      display: block !important;
  }

  #esg-diagnosis .esg-head li.done .num,
  #esg-diagnosis .esg-head li.complete .num {
     display: none !important;
  }

  /* 버튼 영역 */
  #esg-diagnosis .esg-foot {
      gap: 4px;
      margin-top: 14px;
  }

  #esg-diagnosis .esg-foot .btn-esg-prev,
  #esg-diagnosis .esg-foot .btn-esg-next {
      font-size: 13px;
      font-family: "LINE Seed Sans KR";
      padding: 8px 12px;
  }

  .diagnosis-form {
      border-radius: 10px;
  }

  .diagnosis-form .tab-page .title {
        flex-direction: column;      /* 세로 정렬 */
        align-items: flex-start;     /* 왼쪽 정렬 */
        gap: 4px;    
      font-size: 20px;
      font-family: "LINE Seed Sans KR";
      padding: 18px 20px 10px 20px;
      line-height: 26px;
  }

.diagnosis-form .tab-page .title .time {
      margin-top: 2px;
      font-size: 11px;       /* 모바일 글씨 조금 줄임 */
      line-height: 130%;

      padding-left: 18px;    /* 아이콘 여백 축소 */
      background-size: 14px; /* 모바일 아이콘 더 작게 */
      background-position: left 2px center; /* 수직 정렬 미세조정 */
  }

  .diagnosis-form .tab-page .value-list {
      padding: 18px 20px;
      gap: 20px;
  }

  .ex {
      margin-top: 16px;
      margin-bottom: 20px;
      padding: 14px;
  }

  .ex-info .ex-subject {
      font-size: 14px;
      font-family: "LINE Seed Sans KR";
      line-height: 20px;
  }

  .ex-info ul.ex-txt li {
      font-size: 13px;
      font-family: "LINE Seed Sans KR";
      line-height: 20px;
  }

  .ex-info ul.ex-txt li:before {
      width: 18px;
      height: 18px;
  }

  /* ex 박스 전체 여백 축소 */
  .ex {
      margin-top: 16px;
      margin-bottom: 20px;
      padding: 14px;
  }
  .ex-2 {
      margin-top: 16px;
      margin-bottom: 20px;
      padding: 14px;
  }

  /* ▶ ex-info-ad 제목 (PC 1.6rem → 모바일 14px) */
  .ex-info-ad .ex-subject {
      font-size: 14px;
      font-family: "LINE Seed Sans KR";
      line-height: 20px;
  }

  /* ▶ ex-info-ad 본문 리스트 (PC 14px → 모바일 13px) */
  .ex-info-ad ul.ex-txt li {
      font-size: 12px;
      font-family: "LINE Seed Sans KR";
      line-height: 18px;
  }

  /* ▶ 아이콘 크기 줄이기 (PC 24px → 모바일 18px) */
  .ex-info-ad ul.ex-txt li:before {
      width: 18px;
      height: 18px;
      background-size: contain;
  }


  .value-list .question .subject {
      font-size: 17px;
      font-family: "LINE Seed Sans KR";
      line-height: 24px;
      margin-bottom: 6px;
  }

  .value-list .question ul.choice-head {
      font-size: 11px;
      font-family: "LINE Seed Sans KR";
      padding: 0 10px;
      line-height: 16px;
  }

  .value-list .question ul.choice-head li {
      padding: 6px 8px;
  }

  .value-list .question ul.choice li .txt {
      padding: 12px 14px;
      font-size: 13px;
      font-family: "LINE Seed Sans KR";
      line-height: 18px;
  }

  .value-list .question ul.choice-head .num,
  .value-list .question ul.choice li .num {
      flex: 0 0 24px;
      font-size: 11px;
      font-family: "LINE Seed Sans KR";
      padding: 4px 0;
      text-align: center;
  }

  .value-list .question ul.type-w .num {
      flex: 0 0 28px;
  }

  .choice .radio-label {
      width: 16px;
      height: 16px;
  }

  .choice .radio-label:hover::after,
  .choice .radio input[type="radio"]:checked + .radio-label::after {
      width: 7px;
      height: 7px;
  }

  .radio-group {
      gap: 8px;
      margin-top: 10px;
  }

  .radio-group .item input[type="radio"] {
      width: 16px;
      height: 16px;
  }

  .radio-group .item input[type="radio"]:hover::after,
  .radio-group .item input[type="radio"]:checked::after {
      width: 7px;
      height: 7px;
  }

  .radio-group .item label {
      font-size: 12px;
      font-family: "LINE Seed Sans KR";
  }

  #esg-ready {
      padding: 18px 0;
  }

  #esg-ready .txt {
      font-size: 14px;
      font-family: "LINE Seed Sans KR";
      padding: 0 10px;
      line-height: 20px;
  }

  #esg-ready .img {
      margin-bottom: 14px;
      max-width: 90%;
  }

  /*------------------------------------
      🔥 type-f 라디오 (모바일 전용)
  ------------------------------------*/
  .value-list .question ul.type-f li.radio-group {
      flex-direction: column !important;   /* 세로 배치 */
      gap: 16px !important;
      margin-top: 12px !important;
      align-items: flex-start !important;
      width: 100%;
  }

  .value-list .question .radio-group.type-f .item,
  .radio-group .item {
      width: 100% !important;             /* 한 줄 전체 차지 */
      display: flex;
      align-items: center;
      gap: 6px;
  }

  .radio-group .item input[type="radio"] {
      width: 16px !important;
      height: 16px !important;
  }

  .radio-group .item label {
      font-size: 14px !important;
      font-family: "LINE Seed Sans KR";
      line-height: 20px;
  }

  .value-list .question .radio-group.type-f {
      padding: 12px !important;
      gap: 16px !important;
      height: auto !important;
  }

}
