@charset "utf-8";

/********************
** header
********************/
header {top: 0;left: 0;background: rgba(255, 255, 255, 0.2);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border-bottom: 1px solid rgba(255, 255, 255, 0.3);box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);}


/********************
** index
********************/

/**** mainBanner ****/
.mainBanner {background-image: url(/img/mainBanner.jpg); background-position:center; background-size:cover;}
.mainScroll{left:50%; bottom:0; transform:translateX(-50%);}

/**** keysolution ****/
.keysolution {background: url(/img/keysolutionBg.jpg); background-position:center; background-size:cover;}
.keysolutionLine {border-bottom:1px solid rgba(247, 248, 248, 0.1);}
.keysolutionM {background-color: rgba(247, 248, 248, 0.1);}

/**** advantage ****/
.advantage {
    /* 사파리·크롬(WebKit) */
    background: -webkit-linear-gradient(top, #fff 0%, #EEF7FF 100%);  
    /* 파이어폭스(Gecko) */
    background: -moz-linear-gradient(top, #fff 0%, #EEF7FF 100%);  
    /* 표준 */
    background: linear-gradient(to bottom, #fff 0%, #EEF7FF 100%);
  }
  

/* HTML 변경 없이: 기존 래퍼 .wdf.wFw.wJb를 그리드로 강제 */
#program .inner > .wdf.wFw.wJb {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 40px;
  }
  
  @media (max-width: 1199.98px) {
    #program .inner > .wdf.wFw.wJb { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
  }
  @media (max-width: 767.98px) {
    #program .inner > .wdf.wFw.wJb { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  }
  
  /* 자식 카드 reset & 내부 박스 유연화는 동일 */
  #program .inner > .wdf.wFw.wJb > div { width:auto !important; margin:0 !important; }
  #program .inner > .wdf.wFw.wJb [class^="programCntBox"] {
    width:100% !important; height:auto !important; aspect-ratio:1/1;
    display:flex; align-items:center; justify-content:center;
  }
  #program .inner > .wdf.wFw.wJb [class^="programCntBox"] img { width:60%; height:auto; }
  

  
/**** case ****/
.caseBtns button {border:none; background:none; transition: color 0.2s ease}
.caseBtns button.active {font-weight: 700;color: #1B6BF5;border-bottom: 2px solid #1B6BF5;}
.caseLine {border:1px solid #B8BAC1;}

.case-item.hidden {display: none;}

.case-list.collapsed {position: relative; overflow: hidden;}
.case-list.collapsed::after {content: "";position: absolute;left: 0; right: 0; bottom: 0;height: 600px; pointer-events: none;z-index: 10;background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);}
  
/** partner **/
.partner {background:url('/img/partnerBg.jpg')center; background-size:cover;}
.partnerSubTit {color:#26272B; opacity:0.1;}
.partnerSlider { overflow: hidden; }
.partnerSlider .swiper-slide img {display: block; max-width: 100%; height: auto; object-fit: contain;}/* 이미 이전에 적용하신 내용 유지 */
.partnerSlider .swiper-wrapper {transition-timing-function: linear !important;}
.partnerSlider .swiper-slide {display: flex;  align-items: center; justify-content: center;}
.partnerSlider .swiper-slide img {display: block; height: 100%; width: auto !important; max-width: 100%; object-fit: contain;}

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

/**** archive ****/
.archivesLine {border-bottom:1px solid #EEEEF0;}
.archiveLine {border-bottom:1px solid #5D606C;}


.programCntBox1 {background-image: linear-gradient(to bottom, #85D093 0%, #52B568 100%);}
.programCntBox2 {background-image: linear-gradient(to bottom, #85D093 0%, #52B568 100%);}
.programCntBox3 {background-image: linear-gradient(to bottom, #85D093 0%, #52B568 100%);}
.programCntBox4 {background-image: linear-gradient(to bottom, #85D093 0%, #52B568 100%);}
.programCntBox5 {background-image: linear-gradient(to bottom, #85D093 0%, #52B568 100%);}


/********************
** faq
********************/
#faq .faq__btn {border-radius: 8px; transition: border-radius .2s;}
#faq .faq__btn[aria-expanded="true"] {border-radius: 8px 8px 0 0; padding-bottom:20px;}
#faq .faq__panel {border-radius: 0 0 8px 8px; overflow: hidden;}
#faq .faq__panel[hidden] {display: none;}
.FAQ .faqWrap {border-radius: 8px;}
.faq__btn {-webkit-appearance: none; appearance: none;border: 0;cursor: pointer; border-radius:8px;}
.faq__qmark {color: #2f80ff;margin-right: 4px;}
.faq__icon { margin-left: auto; font-size: 22px; width: 1em; text-align: right; }
.faq__btn[aria-expanded="true"]  .faq__icon::before { content: "–"; font-size: 38px;} /* 펼침: 마이너스 */
.faq__btn[aria-expanded="false"] .faq__icon::before { content: "+"; }  /* 닫힘: 플러스 */
.faq__btn { position: relative; }
.faq__btn::after {content: "";background: rgba(47,128,255,0.08);pointer-events: none;}
.faq__item:last-child .faq__btn::after { display: none; } /* 마지막은 바 제거 */

/********************
** contact
********************/
.contact {background:url(/img/contactBg.jpg); background-position:center; background-size:cover;}
.textLine {  text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: currentColor;text-decoration-skip-ink: auto;}
.policyInputVisuallyHidden {position: absolute;opacity: 0;width: 20px;height: 20px;margin: 0;z-index: 1;}
.policyLabel {display: inline-flex;align-items: center; gap: 8px;cursor: pointer;position: relative;}
.policyLabel::before {content: "";display: inline-block;width: 20px;height: 20px;background: url("/img/chkOff.svg") no-repeat center / contain;flex: 0 0 20px; border:1px solid #F7F8F8; border-radius:4px;}
#policy:checked + .policyLabel::before {background-image: url("/img/chkOn.svg");}

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

/********************
** contact
********************/
.contactFormLine {box-shadow: 0px 0px 4px #D9DADE;}
.contactLine {border:1px solid #D9DADE;}
.contactBoxLine {border:1px solid #FEFEFE;}
.contactBtn {border:0;}

/********************
** online, onlineView
********************/
.onlineViews {border-top:1px solid #D9DADE; border-bottom:1px solid #D9DADE;}
.onlineViews tr {border-top:1px solid #D9DADE;}
.onlineListBtn {border:1px solid #D9DADE;}
.styleN {border:none;}
.onlineLine {border:1px solid #D9DADE;}
.onlineLists {border-top:1px solid #D9DADE; border-bottom:1px solid #D9DADE;}
.onlineLists tr{border-top:1px solid #D9DADE;}
.onlineLists tr th:not(:last-child){border-right:1px solid #D9DADE;}
.onlineLists tr td:not(:last-child){border-right:1px solid #D9DADE;}

.policyTp {border-bottom:1px solid #222;}