@charset "utf-8";

/********************
** subBanner
********************/
.subBammerBtns {bottom:0;}

/********************
** header
********************/
header{left:0;top:0;border-bottom:1px solid #91949f;}
.toggleBtn{cursor:pointer;}
.toggleBtn span{transition:ease-in-out 0.3s;}
.toggleBtn span:nth-child(1){left:0;top:0}
.toggleBtn span:nth-child(2){left:0;top:10px;}
.toggleBtn span:nth-child(3){left:0;top:20px}
.toggleBtn.active span:nth-child(1){left:50%;top:50%; transform:translate(-50%,-50%) rotate(45deg); background:#222;}
.toggleBtn.active span:nth-child(2){left:9999px;top:10px;}
.toggleBtn.active span:nth-child(3){left:50%;top:50%; transform:translate(-50%,-50%) rotate(-45deg); background:#222;}
.dropMenuArrow{transform:rotate(0deg);transition:ease-in-out 0.3s;}
.dropDownMenu.active .dropMenuArrow{transform:rotate(180deg);}
.menu{position:relative;}
.dropDownMenu{position:relative;}
.dropDownMenu .dropDownCnt{position:absolute; left:0; top:100%; width:100%; min-width:180px; z-index:1000; background:#fff; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; box-sizing:border-box;}
.dropDownMenu:hover .dropDownCnt{opacity:1; visibility:visible; transform:translateY(0);}
.dropDownCnt > a:hover{background: #E01F1F; color:#F7F8F8;}
.dropDownCnt > a{display:flex; align-items:center; width:100%; box-sizing:border-box; border-bottom:1px solid #eeeef0;}
.dropDownCnt > a:last-child{border-bottom:0;}


/********************
** mainBanner
********************/
.mainBannerVideo {top: 50%; left: 50%; width: 100%; height: 100%; object-fit: cover; transform: translate(-50%, -50%); z-index: 1;}

/********************
** about
********************/
.count {display: inline-block; transition: transform .3s ease;}

/********************
** news
********************/
.newsGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 카드 기본 */
.mainnewsCard {
  text-decoration: none;
  color: inherit;
}

/* 카드 박스 */
.mainnewsCard > div {
  aspect-ratio: 1 / 1;
  width: 100%;
  transition: background-color .25s ease, color .25s ease;
}

/* hover 시 카드 전체 */
.mainnewsCard:hover > div {
  background-color: #E01F1F;
  color: #F7F8F8;
}

/* hover 시 내부 텍스트 전체 */
.mainnewsCard:hover p,
.mainnewsCard:hover .newsDesc {
  color: #F7F8F8;
}

/* 날짜 컬러도 강제 변경 */
.mainnewsCard:hover .co_gray6 {
  color: #F7F8F8;
}

/* 제목 말줄임 */
.mainnewsTit {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* 내용 말줄임 */
.newsDesc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}


/********************
** introduce
********************/
.introduceCnts {display:grid; grid-template-columns:repeat(6, 1fr);}

/********************
** business
********************/
.businessGrid {display: grid; grid-template-columns: repeat(3, 1fr);}
.businessGrid > a {aspect-ratio: 1 / 1; width: 100%; overflow: hidden;}
.business1 {background:url('/img/business-001.jpg'); background-position:center; background-size:cover;}
.business2 {background:url('/img/business-002.jpg'); background-position:center; background-size:cover;}
.business3 {background:url('/img/business-003.jpg'); background-position:center; background-size:cover;}
.business4 {background:url('/img/business-004.jpg'); background-position:center; background-size:cover;}
.business5 {background:url('/img/business-005.jpg'); background-position:center; background-size:cover;}
.business6 {background:url('/img/business-006.jpg'); background-position:center; background-size:cover;}
.business7 {background:url('/img/business-007.jpg'); background-position:center; background-size:cover;}
.business8 {background:url('/img/business-008.jpg'); background-position:center; background-size:cover;}
.business9 {background:url('/img/business-009.jpg'); background-position:center; background-size:cover;}
.business10 {background:url('/img/business-010.jpg'); background-position:center; background-size:cover;}
[id^="business-"] {scroll-margin-top: 120px;}

/********************
** member
********************/
.historyCnts {border-top:2px solid #26272B; border-bottom:2px solid #26272B;}
.historyCnts .historyCnt {border-bottom:1px solid #D9DADE;}
.historyCnts .historyCnt:last-child {border-bottom:none;}

/********************
** member
********************/
.memberGrid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 120px;}
.memberGrid img {width: 100%; height: auto; display: block;}

/********************
** ptrmirt
********************/
.ptrmirt3Cnts {border-top:2px solid #26272B; border-bottom:2px solid #26272B;}
.ptrmirt3Cnts .ptrmirt3Cnt {border-bottom:1px solid #D9DADE;}
.ptrmirt3Cnts .ptrmirt3Cnt:last-child {border-bottom:none;}
.premierGrid {display: grid; grid-template-columns: repeat(4, 1fr);}
.premierGrid img {width: 100%; height: auto; display: block;}

/********************
** parther
********************/
.partherCnts .partherCnt{border-bottom:1px solid #D9DADE;}
.partherCnts .partherCnt:last-child{border-bottom:none;}

/********************
** mainproducts
********************/
.mainproductsBg {background:url('/img/productMain.jpg'); background-position:center; background-size:cover;}

/********************
** Contact
********************/
.online{background:url('/img/contactBg.jpg'); background-size:cover;}
.inputBox{ padding: 24px; border: 1px solid #D9DADE; border-radius: 4px; background:#F7F8F8;}
.inputBox:placeholder-shown{color: #91949f; line-height: 1em;}

.custom-checkbox{width: 20px; height: 20px; padding: 0; border: none; background: url('/img/chkOff.svg') no-repeat center; background-size: 20px 20px; margin-right: 10px; transition: background 0.2s ease; position: relative;}
.checkpolicy input[type="checkbox"] {display: none;}
.checkpolicy input[type="checkbox"]:checked + .custom-checkbox{background: url('/img/chkOn.svg') no-repeat center; background-size: 20px 20px;}
.checkpolicy input[type="checkbox"]:checked + .custom-checkbox::after{content: none;}

.moreBtn{text-decoration: underline;}

.onlineBtn{ cursor: pointer;}

/********************
** subBanner
********************/
.subBanner1{background:url('/img/subBanner-001.jpg')center center; background-size:cover}
.subBanner2{background:url('/img/subBanner-002.jpg')center center; background-size:cover}
.subBanner3{background:url('/img/subBanner-003.jpg')center center; background-size:cover}
.subBanner4{background:url('/img/subBanner-004.jpg')center center; background-size:cover}
.subBanner5{background:url('/img/subBanner-005.jpg')center center; background-size:cover}
.subBanner6{background:url('/img/subBanner-006.jpg')center center; background-size:cover}

/********************
** success
********************/

/** List **/
.successTable th {border-top:2px solid #26272B;}
.successTable td {border-top:1px solid #D9DADE;}
.successTable tbody:last-child {border-bottom:2px solid #26272B;}
.catTabs{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  background:#fff;
  border:1px solid #E6E8EE;
}

.catTabs a{
  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#91949F;
  text-decoration:none;
  white-space:nowrap;

  border-right:1px solid #E6E8EE;
  border-bottom:1px solid #E6E8EE;
}

/* 오른쪽 라인 제거 (4번째마다) */
.catTabs a:nth-child(5n){
  border-right:0;
}

/* ✅ 마지막 줄은 하단 라인 제거 (겹침 방지) */
.catTabs a:nth-last-child(-n+4){
  border-bottom:0;
}

.catTabs a.is-active{
  background:#F7F8F8;
  color:#5D606C;
}


    /* ---------- 갤러리 그리드 ---------- */
    .caseGrid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr)); /* 웹 3개 */
      gap:24px;
      row-gap:56px;
    }
    @media (max-width: 1024px){
      .caseGrid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; row-gap:32px;} /* 태블릿 2개 */
    }
    @media (max-width: 768px){
      .caseGrid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; row-gap:24px;} /* 모바일도 2개 */
    }

    /* ---------- 카드 ---------- */
    .caseCard{
      text-decoration:none;
      color:inherit;
      display:block;
    }
    .caseThumb{
      width:100%;
      aspect-ratio:1 / 1;
      background:#F2F4F7;
      overflow:hidden;
    }
    .caseThumb img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .caseCat{
      display:inline-block;
    }
    .caseTit{
      word-break:keep-all;
    }

/** view **/
.successBLine {border-bottom:1px solid #D9DADE;}
.successBtnLine {border:1px solid #D9DADE;}
.caseMainTxt {min-height:320px;}

/********************
** notice
********************/
.newsDesc p{font-size:20 !important;}
.newsDesc span{font-size:20 !important;}
.newsCard > div{aspect-ratio: 1 / 1; width: 100%;}


/** List **/
.noticeTable {table-layout:fixed; width:100%;}
.noticeTable th {border-top:2px solid #26272B;}
.noticeTable td {border-top:1px solid #D9DADE;}
.noticeTable tbody:last-child {border-bottom:2px solid #26272B;}
.noticeTitleCell {overflow:hidden;}
.noticeTitle {display:block !important; width:100% !important; max-width:100% !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;}
.ellipsis-1 {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}


/** view **/
.noticeBLine {border-bottom:1px solid #D9DADE;}
.noticeBtnLine {border:1px solid #D9DADE;}
.noticeMainTxt {min-height:320px;}

/********************
** notice
********************/
/** List **/
.sonsultTable th {border-bottom:1px solid #D9DADE; border-top:1px solid #D9DADE; border-right:1px solid #D9DADE;}
.sonsultTable th:last-child {border-right:none;}
.sonsultTable td {border-bottom:1px solid #D9DADE; border-top:1px solid #D9DADE; border-right:1px solid #D9DADE;}
.sonsultTable td:last-child {border-right:none;}

.consiltCntLine {border-top:1px solid #EEEEF0;}
.consiltCnts .consiltCntLine:last-child {border-bottom:1px solid #EEEEF0;}

/********************
** footer
********************/
footer {border-top:1px solid #D9DADE;}

/********************
** login
********************/
.loginBg {background:url('/img/loginBg.jpg'); background-position:center; background-size:cover;}
