html, body { font-size: 62.5%; line-height: 1.285; letter-spacing: -0.025rem; }
/* 반응형 폰트 기본 크기 설정 */
@media (max-width:1024px) {
  html, body {         /* 50% => 1rem === 9px */
    font-size: 55%; }
}

/* 영어 폰트 - Montserrat */
.e-ff1 { font-family: 'Montserrat'; }
/* 스크린 리더 감지 , 화면 표출 제거(웹접근성) */
.sr-only { overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; white-space: nowrap; clip: rect(0, 0, 0, 0); }
.sr-only-focusable:active, .sr-only-focusable:focus { overflow: visible; position: static; width: auto; height: auto; white-space: normal; clip: auto; }


input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px white inset;
  box-shadow: 0 0 0 1000px white inset;
}

/* styleGuide.html*/
.guide {
  margin-top: 100px;
}

.guide h3 {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
}

:root {
  /* [Color 설정] ------------------------------*/
  --main: #2647b5;
  --primary: #3e359b;
  --openLAB: #3e359b; /* 오픈랩 */
  --sub: #36adbb; /* 오픈랩 */
  --sub1: #04acdf;
  --sub2: #05addf; /* 오픈랩 */
  --point1: #d54a60;
  --point2: #238cd7;
  --point3: #fa8e9f;
  --point4: #ff5f78;
  --point5: #3c5fd4;
  --point6: #3549b1;
  --point7: #3c3a95; /* 오픈랩 */
  --point8: #008ab2; /* 오픈랩 */
  --point9: #9f68e6; /* 오픈랩 */
  --msg-basic: #969faf;
  --msg-error: #b22c45;
  --msg-success: #3b5bc6;
  /* btn - hover */
  --btn-01-hover: #1b2c64; /* 호버 전 : --primary: #253c89; */
  --btn-02-hover: #2a2f3e; /* 호버 전 : --bg-box-tit: #424756; */
  --btn-03-hover: #f3f3f3; /* 호버 전 : #fff; */
  --btn-red-hover: #8f1b30; /* 호버 전 : #a84053; */
  --aiMaket-hover: #0098c2; /* 호버 전 : #00addf; */
  /* background-color */
  --bg-sub: #323a55;
  --bg-basic: #ebf0fa;
  --bg-footer: #39415d;
  --bg-box: #ebf0fa;
  --bg-tb: #f7f7f7;
  --bg-from: #f2f2f2;
  --bg-gra: linear-gradient(270deg, #6256f1, #2399ca);
  --bg-box-tit: #424756;
  --bg-sub-vi: #f0efff;
  --light-gray: #91a2ba;
  --light-gray-hover: #8194ae;
  /* font-color */
  --fc-sub: #03c4db;
  --fc-basic: #8b90a7;
  --fc-normal: #5e6169;
  --fc-before: #7f8599;
  --fc-date: #9598a6;
  --fc-bold: #1e2029;
  --fc-point1: #e3546a;
  --fc-tit: #252830;
  --fc-con-tit: #282a30;
  --fc-sub-tit: #848ea1;
  --fc-info: #969faf;
  --fc-h4: #1f2c59;
  /* list-dot */
  --li-dot: #bec3d4;
  --li-dot2: #5480ff;
  --li-dot3: #3b5bc6;
  /* 가격 - color */
  --charge-pay: #ec4b65; /* 유료 */
  --charge-free: #0042ca; /* 무료 */
  /* border-color */
  --bd-basic: #e5e5e5;
  --bd-basic2: #c9d1df;
  --bd-tb-t: #474b53;
  --bd-form: ;
  --divide-bar: #ecedf0;
  --divide-bar2: #e1e1e3;
  /* box-color */
  --box-basic: #f7f8fa;
  --box-select: #3b5bc6;
  /* button-color */
  --btn-basic: #f2f3f6;
  --btn-basic2: #193182;
  --btn-icon: #757c90;
  --btn-red: #a84053;
  --btn-navy: #485582; /* AI마켓 */
  /* 자주 쓰는 색상 설정 */
  --white: #fff;
  --black: #000;
  --gray1: #111;
  --gray2: #222;
  --gray3: #333;
  --gray4: #444;
  --gray5: #555;
  --gray6: #666;
  --gray7: #777;
  --gray8: #888;
  --gray9: #999;
  --light-red: #cd4c64;
  --fc-badge2-1: #ff2644;
  /*------------------------------------------------*/
  /* [font-family 설정] -----------------------------*/
  /* 한글 종류 사용: font - 폰트명 */
  --k-ff1: "Pretendard";
  --k-ff2: "SCDream";
  /* 영문 종류 사용: font - 폰트명 */
  --e-ff1: "Montserrat";
  /*------------------------------------------------*/
}

/*=============================================
=                    input                    =
=============================================*/
/* input [type='text'] */
input[type=text],
select,
textarea {
  height: 5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
  font-size: 1.7rem;
  color: #424756;
}

input[type=text],
input[type=password],
select {
  padding-left: 2rem;
}

select {
  min-width: 13rem;
  background: url("../images/openlab/arrow3_i.png") no-repeat right 2.5rem center;
  background-color: #fff;
}

/* input[type='date'] */
input[type=date] {
  position: relative;
  width: 20rem;
  padding-left: 2rem;
  background: #fff url(/images/openlab/calendar_i.svg) no-repeat right 2rem center/15px auto;
}
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  color: transparent;
  cursor: pointer;
}
input[type=date]:before {
  width: 100%;
  height: 100%;
}
input[type=date]:valid:before {
  display: none;
}

/* readonly */
input[readonly=readonly],
textarea[readonly=readonly] {
  color: #a8adbb;
  cursor: not-allowed;
  background-color: #f7f8fa;
}

/*=====           End of input          ======*/

input,
select,
textarea {
  height: 5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  font-size: 1.7rem;
  color: #424756;
}

input[type=text],
input[type=password],
input[type=number],
select {
  padding-left: 2rem;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/**
 *
 * 게시판 필터 - 최신순, 인기순...
 *
 */
.board-list__filter {
  display: flex;
  gap: 1rem;
}
.board-list__filter li {
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1;
}
.board-list__filter li:not(:last-child) {
  padding-right: 1rem;
}
.board-list__filter li:not(:last-child):after {
  display: inline-block;
  position: absolute;
  right: 0;
  width: 2px;
  height: 100%;
  content: "";
  background-color: var(--divide-bar2);
}
.board-list__filter li.active a {
  font-weight: 600;
}
.board-list__filter a {
  font-size: 1.7rem;
  font-weight: 400;
  color: #424756;
}

/* 표 - 스크린리더기 */
.table-common caption {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
}

.th-point {
  margin-left: 5px;
  color: var(--fc-point1);
}

/* 표 - 스크린리더기 */
.table-common caption {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
}

.th-point {
  margin-left: 5px;
  color: var(--fc-point1);
}

/* 공지 - icon(공지사항 상단) */
.board-notice--i {
  padding-left: 20px;
  font-size: 1.5rem;
  font-weight: 800;
  color: #3b5bc6;
}
.board-notice--i:before {
  left: 0;
  width: 13px;
  height: 14px;
  margin-right: 5px;
  background-image: url("/images/openlab/board_notice_i.svg");
}

/* 첨부파일 - icon */
.board-file--i {
  width: 14px;
  height: 10px;
}
.board-file--i:before {
  width: 14px;
  height: 13px;
  background-image: url("/images/openlab/file_i.png");
}

/* 비공개 - icon */
.lock--i {
  display: flex;
  align-items: center;
  width: 13px;
  height: 15px;
  margin-right: 1rem;
}
.lock--i:before {
  width: 13px;
  height: 16px;
  background-image: url("/images/openlab/lock_i.svg");
}

/* OPEN API 신청 - icon */
.box-noti--i {
  display: inline-block;
  width: 8.9rem;
  height: 6rem;
  background: url("/images/openlab/noti-i.png") center/contain no-repeat;
}

/* reset - icon */
.reset--i {
  width: 1.4rem;
  height: 1.6rem;
}
.reset--i:before {
  left: 0;
  background: url("/images/openlab/reset_i.svg") center/contain no-repeat;
}

/* link - icon */
.link--i {
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  background: url("/images/openlab/link_i.svg") center/contain no-repeat;
}

/* 휴대폰 인증 - icon */
.phone-certi--i {
  width: 7.4rem;
  height: 8.6rem;
  background: url("/images/openlab/mo-certi-i.png") center/contain no-repeat;
}

/* 아이디 찾기(인증) - icon */
.acnt-certi--i {
  width: 8.8rem;
  height: 8rem;
  background: url("/images/openlab/acnt-certi-i.png") center/contain no-repeat;
}

/* 인증(컴퓨터) - icon */
.com-certi--i {
  width: 9.8rem;
  height: 8.6rem;
  background: url("/images/openlab/com-certi-i.png") center/contain no-repeat;
}

.td-flex {
  display: flex;
  gap: 1rem;
}

/* 구분바 있을 경우 */
.divide-bar__list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.divide-bar__list li {
  position: relative;
  padding-right: 3rem;
}
.divide-bar__list li:not(:last-child) {
  display: flex;
  align-items: center;
}
.divide-bar__list li:not(:last-child):after {
  display: inline-block;
  position: absolute;
  right: 0;
  height: 1.5rem;
  border-right: 2px solid var(--divide-bar);
  content: "";
}
.divide-bar__list .tit {
  font-weight: 700;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .reset--i {
    width: 2.4rem;
    height: 2.6rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .divide-bar__list {
    gap: 1rem !important;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .box-noti--i {
    width: 7.9rem;
    height: 5rem;
  }
}
/*=============================================
 =                      btn                   =
 =============================================*/
/* 테이블 안의 버튼 */
.td-btn__list {
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: 0.5rem;
}

.td-btn__list [class*=btn] {
  flex-grow: 1;
  align-items: center;
  width: 7rem;
  height: auto;
  padding: 1rem 0;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 0.9;
  text-align: center;
}

.td-btn__list .basic-btn-w {
  border: 1px solid var(--bd-basic2);
}

.td-btn {
  width: 7rem;
  height: 2.5rem;
  font-size: 1.4rem;
}

/* 인증키 */
.author-key span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .td-btn__list {
    width: 50%;
    margin-bottom: 0.5rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .td-btn__list {
    width: auto;
  }
}
/*=====           End of btn           ======*/
/*=============================================
=            checkbox, radio 공통            =
=============================================*/
.input--checkbox__wrap,
.input--radio__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem;
}
.input--checkbox__wrap label:hover,
.input--radio__wrap label:hover {
  cursor: pointer;
}

/*=====  End of checkbox, radio 공통  ======*/
/*=============================================
=               선택 : checkbox               =
=============================================*/
.chkbox-type-01 {
  display: flex;
  align-items: center;
  position: relative;
  font-size: 1.7rem;
  color: #424756;
}

.chkbox-type-01 input[type=checkbox] {
  visibility: visible; /* 기본적으로 보이도록 설정 */
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  padding: 0;
  border: 1px solid var(--bd-basic2);
  border-radius: 3px;
  cursor: pointer;
  opacity: 1; /* 기본적으로 보이도록 설정 */
  background-color: #fff;
  -webkit-appearance: none;
  box-sizing: border-box;
  vertical-align: middle;
}

.chkbox-type-01.hidden input[type=checkbox] {
  visibility: hidden; /* 체크박스를 시각적으로 숨김 */
  position: absolute; /* 레이아웃에서 제거 */
  opacity: 0; /* 체크박스를 시각적으로 숨김 */
  pointer-events: none; /* 클릭 불가 */
}

.chkbox-type-01 input[type=checkbox]::before {
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1;
  content: "✓"; /* 체크 표시 */
  transform: scale(0) translate(-50%, -50%);
}

.chkbox-type-01 input[type=checkbox]:checked {
  color: white;
  background-color: var(--li-dot3) !important;
  border-color: var(--li-dot3) !important;
}

.chkbox-type-01 input[type=checkbox]:checked::before {
  border-radius: 4px;
  transform: scale(1) translate(-50%, -50%);
}

/*=====     End of 선택 : checkbox     ======*/
/*=============================================
=                 선택 : radio                =
=============================================*/
.input--radio__wrap .item {
  display: flex;
  align-items: center;
  line-height: 1;
}

[type=radio] {
  line-height: 1;
  vertical-align: middle;
}

[type=radio] {
  width: 18px;
  height: 18px;
  border: 6px solid var(--bd-basic2);
  border-radius: 50%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

[type=radio] + span,
[type=radio] + label {
  margin-left: 7px;
  font-size: 1.7rem;
}

[type=radio]:checked {
  border: 6px solid var(--li-dot3);
}

[type=radio]:hover {
  cursor: pointer;
}

input:disabled {
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.5;
}

/*=====       End of 선택 : radio       ======*/
/**
 *
 * 표 : badge
 *
 */
.table-common .badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9rem;
  height: 3.2rem;
  margin: 0 auto;
  border-radius: 0.4rem;
  font-size: 13px;
  font-weight: 700;
  box-sizing: border-box;
}
.table-common .badge.sub {
  margin: 0 auto;
}
.table-common .badge.sub span {
  display: flex;
}
.table-common .td-badge .inner {
  align-items: center;
}
.table-common .td-badge > div {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.table-common .td-badge .badge {
  width: 7rem;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .table-common .badge {
    margin: initial;
  }
}
/* 묻고 답하기 : 진행 상태 - badge → 접수 */
.table-common .progress--receipt {
  border: 1px solid var(--fc-badge2-1);
  color: var(--fc-badge2-1);
}

/* 묻고 답하기 : 진행 상태 - badge → 답변완료 */
.table-common .progress--complete {
  border: 1px solid var(--bd-basic2);
  color: #576274;
  background-color: #f5f5f5;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .table-common .td-badge .badge {
    width: 6rem;
    height: 100%;
  }
  .table-common .td-badge .badge span {
    width: 100%;
    height: 2.5rem;
    border-radius: 0.3rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .table-common .badge {
    margin: initial;
  }
  .table-common .badge.sub {
    margin: inherit;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .table-common .dp_flex {
    flex-direction: column;
    align-items: flex-start;
  }
}
/*=============================================
=                   검색박스                  =
=============================================*/
.board-search {
  display: flex;
  width: 100%;
  margin: 5rem 0;
  padding: 3.5rem 0;
  border-radius: 1rem;
  background-color: var(--box-basic);
  gap: 1rem;
}

.board-search__inner {
  display: flex;
  gap: 1rem;
}
.board-search__inner.w-100 {
  width: calc(100% - 10rem - 4rem) !important;
}

.board-search__box {
  display: flex;
  gap: 1rem;
}
.board-search__box button {
  position: absolute;
  width: 5rem;
  height: 5rem;
  margin-left: -5rem;
  border-radius: 0.7rem;
  background-color: #424756;
}
.board-search__box button .search--i {
  display: flex;
  justify-content: center;
}
.board-search__box button .search--i:before {
  width: 21px;
  height: 21px;
}
.board-search__box .process--select {
  min-width: 17rem;
}

.board-search.type-01 {
  justify-content: center;
}
.board-search.type-01 .board-search__wrap.short .search__input input[type=text] {
  width: 40rem;
}
.board-search.type-01 .board-search__wrap.long .board-search__box .item select {
  width: 100%;
}
.board-search.type-01 .board-search__wrap.long .search__input input[type=text] {
  min-width: 30rem;
}
.board-search.type-02 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 4.5rem 9.5rem;
  border-radius: 1rem;
  font-family: var(--k-ff1);
  background-color: var(--box-basic);
  gap: 4rem;
}
.board-search.type-02 .item fieldset {
  display: flex;
  align-items: center;
}
.board-search.type-02 .search__input input[type=text] {
  width: 45rem;
}
.board-search.type-02 .cate--tit {
  display: block;
  position: relative;
  width: 10rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--fc-tit);
}
.board-search.type-02 .cate--tit:after {
  position: absolute;
  right: 0;
  width: 2px;
  height: 100%;
  content: "";
  background-color: rgba(37, 40, 48, 0.2);
}
.board-search.type-02 .cate__list,
.board-search.type-02 .board-search__inner,
.board-search.type-02 .board-date__wrap,
.board-search.type-02 .board__select__wrap {
  margin-left: 4rem;
}
.board-search.type-02 .info--i.gray {
  width: 1.3rem;
  height: 1.3rem;
}
.board-search.type-02 button[type=reset] {
  width: 16rem;
  gap: 1rem;
}
.board-search.type-02 label {
  display: flex;
  align-items: center;
  line-height: 1;
}

.info--i.gray {
  background-image: url("/images/openlab/gray-info_i.png");
}

/* 게시물 개수 */
.board-table--count,
.board-list--count,
.board-page--count {
  display: inline-block;
  padding-bottom: 1.5rem;
  font-family: var(--k-ff1);
  font-size: 1.7rem;
  line-height: 1;
}
.board-table--count .total,
.board-table--count .page--current,
.board-list--count .total,
.board-list--count .page--current,
.board-page--count .total,
.board-page--count .page--current {
  font-weight: 700;
}

.list-item__wrap.dp_flex {
  gap: 2.6rem;
}
.list-item__wrap .item:not(:last-child) {
  position: relative;
}
.list-item__wrap .item:not(:last-child):after {
  display: inline-block;
  position: absolute;
  width: 0.2rem;
  height: calc(100% - 1.5rem);
  margin-left: 1.3rem;
  content: "";
  background-color: rgba(66, 71, 86, 0.2);
}

/* select-box 3개 */
.board__select__wrap {
  display: flex;
  width: calc(100% - 10rem - 4rem);
  gap: 1rem;
}
.board__select__wrap select {
  flex-grow: 1;
}

/* 태그 리스트 */
.board__tag__list {
  display: flex;
  gap: 2rem;
}
.board__tag__list li {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--bg-box-tit);
}
.board__tag__list li:before {
  content: "#";
}

/**
 *
 * 페이징 처리(list)
 *
 */
.pagination ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.pagination ol .page-num--btn a {
  font-size: 1.7rem;
}
.pagination ol li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  font-family: var(--k-ff1);
  font-weight: 600;
  text-align: center;
  color: #969faf;
  box-sizing: border-box;
}
.pagination ol li a.active {
  color: #fff;
  background-color: var(--primary);
}
.pagination ol li.btn a {
  border: 1px solid var(--bd-basic2);
}
.pagination ol li.btn a:before {
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 12px;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}
.pagination ol li.btn a:hover {
  background-color: rgba(201, 209, 223, 0.2);
}
.pagination ol li.first a:before {
  background-image: url("/images/openlab/arrow2_i.png");
}
.pagination ol li.prev a:before {
  background-image: url("/images/openlab/arrow1_i.png");
}
.pagination ol li.next a:before {
  transform: rotate(180deg);
  background-image: url("/images/openlab/arrow1_i.png");
}
.pagination ol li.last a:before {
  transform: rotate(180deg);
  background-image: url("/images/openlab/arrow2_i.png");
}

/**
 *
 * 검색박스(+ 기간 선택)
 *
 */
.date__choice {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.select-period__btn {
  gap: 0.5rem !important;
}
.select-period__btn button {
  width: 9rem;
  background-color: #fff;
}
.select-period__btn button.on {
  color: var(--box-select);
  border-color: var(--box-select);
}

/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .board-search.type-02 {
    padding: 4.5rem 5rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .board-search.type-02 button[type=reset] {
    width: 16rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .board-search.type-02 {
    min-width: 32rem;
    gap: 3rem;
  }
  .board-search.type-02 .item {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  .board-search.type-02 .item ul {
    gap: 1.5rem;
  }
  .board-search.type-02 .item ul, .board-search.type-02 .item > div {
    padding-left: 0rem;
  }
  .board-search.type-02 .search__input input[type=text] {
    width: 35rem;
  }
  .board-search.type-02 .cate--tit:after {
    display: none;
  }
  .board-search.type-02 .cate__list,
  .board-search.type-02 .board-date__wrap,
  .board-search.type-02 .board-search__inner,
  .board-search.type-02 .board__select__wrap {
    width: calc(100% - 10rem);
    margin-left: 0rem;
  }
  .board-search.type-02 .date__choice {
    width: 100%;
  }
  .board-search.type-02 .date__choice input {
    flex-grow: 1;
    width: auto;
  }
  .board-search.type-02 .board-date__wrap {
    flex-direction: column;
  }
  .board-search.type-02 .reset--i:before {
    width: 2.4rem;
    height: 2.6rem;
  }
  button[type=reset] {
    width: 6rem;
  }
  button[type=reset] span {
    display: none;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .select-period__btn button {
    flex-grow: 1;
  }
  .board-search.type-02 .item fieldset {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .board-search.type-02 .search__input input[type=text] {
    width: auto;
  }
  .board-search.type-02 .cate__list,
  .board-search.type-02 .board-date__wrap,
  .board-search.type-02 .board-search__inner,
  .board-search.type-02 .board__select__wrap {
    width: 100% !important;
  }
  .board-search.type-02 .board__select__wrap {
    flex-wrap: wrap;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .board-search.type-02 {
    padding: 4rem 3rem;
  }
  .board-search.type-02 .search__input.type-02 input[type=text] {
    min-width: auto !important;
    width: 100%;
  }
  .board-search.type-02 .search__input.type-02 input[type=text]::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: transparent;
  }
  .board-search.type-02 .search__input.type-02 input[type=text]::placeholder {
    color: transparent;
  }
  .board-search.type-01 .board-search__wrap.short .search__input input[type=text] {
    width: auto;
  }
  .list-item.grid {
    flex-direction: column-reverse !important;
    align-items: initial;
    gap: 3rem;
  }
  .list-item.grid .board-list--count,
  .list-item.grid .board-page--count {
    position: relative;
  }
  .list-item.grid .btn__wrap {
    display: flex;
    justify-content: flex-end;
  }
  /* 게시판 리스트(전체 게시물 옆 최근 업데이트 있을 경우) */
  .board-table__wrap div.grid.between {
    flex-direction: column-reverse;
    position: relative;
  }
  .board-table__wrap div.grid.between .last-update {
    margin-bottom: 4rem;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .board-search.type-02 .item fieldset {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .board-search.type-02 .searchbox__wrap input[type=text],
  .board-search.type-02 .searchbox__wrap button[type=reset] {
    width: 100%;
  }
  .board-search.type-02 .board-search__inner {
    flex-direction: column;
  }
}
/*=====         End of 검색박스         ======*/
/*=============================================
=            게시판 - 자주하는 질문            =
=============================================*/
.faq__list .item.active {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0 1rem 1rem 1rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  background-color: var(--box-basic);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.faq__list .item.active .depth1 {
  padding-left: 2.5rem !important;
  border: none;
  background-color: var(--box-basic);
}
.faq__list .item.active .faq--question,
.faq__list .item.active i.faq-q--i {
  color: var(--primary) !important;
}
.faq__list .item.active .depth2 {
  border-radius: 0.7rem;
  background-color: #fff;
  box-sizing: border-box;
}
.faq__list i.icon {
  margin-right: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary);
}
.faq__list p {
  display: inline-block;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 2.4rem;
}
.faq__list .depth1,
.faq__list .depth2 > div {
  display: flex;
}
.faq__list .depth1 {
  padding: 2rem 0 2rem 3.5rem !important;
  line-height: normal;
}
.faq__list .depth1 p {
  width: 85%;
}
.faq__list .depth2 {
  padding: 3rem;
}
.faq__list .board__btn__list a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12rem !important;
  height: 5rem !important;
  padding-left: 0 !important;
}

/* 첨부파일 있는 경우 */
.faq__list .board-view__file {
  border: 0;
}
.faq__list .board-view__file .file__list {
  padding: 2.5rem 0 1.5rem 4rem;
}
.faq__list .board-view__file .file__list li:not(:last-child) {
  margin-bottom: 1rem;
}

/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .faq__list .depth1 p {
    width: 80%;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .faq__list .depth1 {
    padding-left: 2rem;
  }
  .faq__list .depth1 p {
    width: 70%;
  }
  .faq__list .depth1 .arrow--i {
    right: 2rem;
  }
}
/*=====  End of 게시판 - 자주하는 질문  ======*/
/*=============================================
=                표, 게시판(공통)              =
=============================================*/
table {
  word-break: break-all;
}

.table-common {
  width: 100%;
  border-top: 2px solid var(--primary);
  border-bottom: 1px solid var(--bd-basic2);
  font-size: 1.6rem;
  text-align: center;
  word-break: break-all;
  table-layout: fixed;
}
.table-common .txt-overflow {
  width: 97%;
  margin-top: 3px;
}
.table-common em {
  display: flex;
  align-items: center;
}
.table-common tr {
  padding: 1rem 2rem;
}
.table-common th,
.table-common td {
  padding: 2.2rem 0.5rem;
  line-height: 1;
  vertical-align: middle;
}
.table-common th {
  position: relative;
  font-weight: bold;
  color: var(--primary);
  background-color: var(--box-basic);
}
.table-common td {
  border-top: 1px solid var(--bd-basic2);
  font-family: var(--k-ff1);
  font-weight: 500;
  color: #424756;
}
.table-common.board_list tr {
  transition: 0.3s;
}
.table-common.board_list tr:hover {
  background-color: var(--box-basic);
}
.table-common textarea {
  padding: 1.5rem;
}
.table-common .td--tit {
  display: flex;
  gap: 0.5rem;
}

table .file-table {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  border: 0;
}
table .file-upload {
  position: relative;
  padding: 0;
}
table .file-upload label {
  position: absolute;
  right: 0;
  margin-right: 0;
}
table .file-info--txt {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: var(--fc-info);
}

/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .table-common th,
  .table-common td {
    padding: 2rem 0.5rem;
    line-height: 1;
    vertical-align: middle;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .table-common.write td {
    height: auto;
  }
  .table-common .txt-overflow {
    margin-top: 0;
  }
  .table-common td {
    height: auto;
  }
  .td-lg-long td {
    padding-left: 20rem !important;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .divide-bar__list {
    gap: 2rem;
  }
  .divide-bar__list li {
    padding-right: 2rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  ul.apply-sort {
    flex-direction: column;
  }
  .apply-sort.divide-bar__list li:not(:last-child):after {
    display: none;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .table-common tr {
    padding: 1rem 0;
  }
}
/*=====           End of 표(공통)       ======*/
/*=============================================
=              게시판 - view(상세)             =
=============================================*/
.board-view__top {
  margin-top: 4rem;
  font-family: var(--k-ff1);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}

.board-view__tit {
  display: inline-block;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--fc-tit);
}
.board-view__tit .lock--i {
  width: 15px;
  height: 18px;
  margin-right: 0;
}

.board-view__sub-tit {
  font-size: 1.7rem;
  color: var(--fc-info);
}

.board-view__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  /* 리스트형 - deco */
}
.board-view__list li {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.board-view__list strong {
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color: var(--fc-tit);
  gap: 1rem;
}
.board-view__list .list-deco--i {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 1.6rem;
}
.board-view__list .list-deco--i:before, .board-view__list .list-deco--i:after {
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  content: "";
}
.board-view__list .list-deco--i:before {
  z-index: 1;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #fff;
}
.board-view__list .list-deco--i:after {
  width: 1.6rem;
  height: 1.6rem;
  background-color: var(--li-dot3);
}

.board--td--keyword span:not(:last-child) {
  padding-right: 0.5rem;
}
.board--td--keyword span:not(:last-child):after {
  content: ",";
}

.sort-arrow {
  display: flex;
  gap: 2rem;
}
.sort-arrow li {
  display: flex;
  gap: 1.1rem;
}
.sort-arrow li span:not(:last-child) {
  position: relative;
  padding-right: 1.5rem;
}
.sort-arrow li span:not(:last-child):after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #969faf;
  border-right: 2px solid #969faf;
  content: "";
  transition: 0.5s;
  transform: translateY(-50%) rotate(45deg);
}

.board-view__info {
  margin-bottom: 3.5rem;
}
.board-view__info span {
  margin-left: 2rem;
  font-weight: 0;
  color: var(--fc-info);
}

.board-view__txt {
  padding: 4rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  color: var(--bg-box-tit);
  min-height: 20rem;
}

/* 묻고 답하기 - 관리자 글쓰기(파일첨부) */
.file-table.admin .file__list {
  padding: 1.5rem 1rem;
}

.board-view__file {
  display: flex;
  border-top: 1px solid var(--bd-basic2);
  border-bottom: 1px solid var(--bd-basic2);
  font-size: 1.6rem;
  box-sizing: border-box;
}
.board-view__file > span {
  display: flex;
  align-items: center;
  padding: 0 5rem;
  border-right: 1px solid var(--bd-basic2);
  font-weight: 600;
  word-break: keep-all;
  background-color: var(--box-basic);
}
.board-view__file .file__list {
  width: 100%;
  padding: 1.5rem 0 1.5rem 4rem;
  padding-right: 1rem;
}
.board-view__file .file__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 100%;
  padding-left: 24px;
}
.board-view__file .file__list li:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 13px;
  background: url("/images/openlab/file_i.png") center/contain;
  content: "";
  transform: translateY(-50%);
}
.board-view__file .file__list li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.board-view__file .file__list__name {
  font-weight: 500;
  color: var(--fc-normal);
}
.board-view__file .file__list__btn {
  display: flex;
  gap: 1rem;
}
.board-view__file .file__list__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10rem;
  height: 3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--bg-box-tit);
  transition: 0.2s;
  box-sizing: border-box;
}
.board-view__file .file__list__btn a:hover {
  color: #fff;
  background-color: var(--primary);
  border-color: var(--primary);
}

.board-view__txt .txt__box {
  margin-top: 6rem;
  padding: 0 5px;
}
.board-view__txt .txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.6rem;
  color: var(--fc-normal);
}

.board__btn__list {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

button.btn-file {
  position: relative;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
}
button.btn-file:not(:last-child) {
  margin-right: 3px;
}
button.btn-file i {
  width: 10px;
  height: 10px;
}
button.btn-file i:before, button.btn-file i:after {
  display: inline-block;
  background-color: #95a1b8;
}
button.btn-file .plus--i {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: -1px;
  width: 3rem;
  height: 3rem;
  box-sizing: border-box;
}
button.btn-file .plus--i:before, button.btn-file .plus--i:after {
  position: absolute;
  width: 10px;
  height: 2px;
  content: "";
}
button.btn-file .plus--i:after {
  transform: rotate(90deg);
}
button.btn-file .delete--i:before {
  width: 10px;
  height: 2px;
}

/**
 *
 * 상세 페이지(view) → page navigation(이전, 다음 페이지 이동)
 *
 */
.page__control {
  border-top: 1px solid var(--bd-basic2);
  border-bottom: 1px solid var(--bd-basic2);
}
.page__control li:first-child {
  border-bottom: 1px solid var(--bd-basic2);
}
.page__control li > div {
  display: flex;
  height: 5rem;
}
.page__control li > div div {
  display: flex;
  align-items: center;
}
.page__control li .btn--page {
  height: 100%;
  padding: 0 5.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  word-break: keep-all;
  color: var(--fc-tit);
  background-color: var(--box-basic);
}
.page__control li .link--tit {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
  margin-right: 2.8rem;
  margin-left: 2.7rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--fc-normal);
}
.page__control li .link--tit:after {
  content: "";
}
.page__control li .link--tit span {
  width: 90%;
}
.page__control li .link--tit a.txt-clamp {
  width: 90%;
}
.page__control li .link--tit a.txt-clamp:hover {
  text-decoration: underline;
}
.page__control li .prev__tit:after {
  display: inline-block;
  position: absolute;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #969faf;
  border-right: 3px solid #969faf;
  transform: rotate(315deg);
}
.page__control li .next__tit:after {
  display: inline-block;
  position: absolute;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #969faf;
  border-right: 3px solid #969faf;
  transform: rotate(135deg);
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .board__btn__list {
    gap: 5px;
  }
  button.btn-file:not(:last-child) {
    margin-right: 1px;
  }
  table .file-th {
    height: auto;
  }
  .table-common.basic-01 th {
    border-bottom: 1px solid var(--bd-basic2);
  }
  .board-view__file .file__list li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .board-search__wrap.short .item select {
    width: 100%;
  }
  .board-search__wrap.short .search__input input[type=text] {
    width: 100%;
  }
  .board-view__file {
    flex-direction: column;
    border-right: none;
  }
  .board-view__file > span {
    justify-content: center;
    padding: 1.5rem 0;
    border-right: none;
    border-bottom: 1px solid var(--bd-basic2);
    text-align: center;
  }
  .board-view__file .file__list {
    padding: 1rem;
  }
  .board-view__file .file__list__btn {
    flex-direction: column;
    gap: 0.5rem;
  }
  .board-view__btm .txt__box {
    margin-top: 4rem;
  }
  .page__control li .btn--page {
    padding: 0 2rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .board-search__wrap.long .search__input input[type=text] {
    min-width: auto;
  }
  .board-search__wrap .inner input::-moz-placeholder {
    font-size: 0;
  }
  .board-search__wrap .inner input::placeholder {
    font-size: 0;
  }
  .board-search__wrap input[type=reset].btn--reset.basic-btn-w {
    width: 8rem;
  }
  .board-search__box {
    flex-direction: column;
  }
  .pagination ol {
    gap: 0.5rem;
  }
  .pagination ol li a {
    width: 3.5rem;
    height: 3.5rem;
  }
  .board__btn__list {
    justify-content: center;
  }
  .board-view__file .file__list__btn a {
    width: 8rem;
  }
}
/*=====   End of 게시판 - view(상세)    ======*/
/*====================================================
=            게시판 -table basic-01 : 기본            =
====================================================*/
.table-common.basic-01 th {
  padding-left: 2.8rem;
  text-align: left;
}

.table-common.basic-01 tr:nth-child(1) {
  border-top: none;
}
.table-common.basic-01 tr:nth-child(1) td {
  border-top: none;
}
.table-common.basic-01 td {
  padding: 0.7rem 1.5rem;
  text-align: left;
}
.table-common.basic-01 td span {
  display: inline-block;
}

.table-common.basic-01 tr:not(:last-child) th {
  border-bottom: 1px solid var(--bd-basic2);
}

@media (max-width: 1200px) {
  .table-common.basic-01 colgroup {
    display: none;
  }
  .table-common.basic-01 th,
  .table-common.basic-01 td {
    display: block;
    width: 100%;
    border-top: none;
    text-align: left;
  }
  .table-common.basic-01 tr:not(:last-child) {
    border-bottom: 1px solid var(--bd-basic2);
  }
  .board-write--tit .chkbox-type-01 {
    width: auto !important;
  }
  .board-view__txt {
    padding: 3rem 2rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  input[type=date] {
    width: 16rem;
    padding-left: 1rem;
    background: #fff url(/images/openlab/calendar_i.svg) no-repeat right 1rem center/15px auto;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  input[type=date] {
    width: 14rem;
    font-size: 1.5rem;
  }
}
/*=====  End of 게시판 -table basic-01 : 기본  ======*/
/*=============================================
=                table basic-02               =
=============================================*/
.table-common.basic-02 {
  width: 100%;
  text-align: center;
  word-break: break-all;
  table-layout: fixed;
}

@media (max-width: 1024px) {
  .table-common.basic-02 colgroup {
    display: none;
  }
  .table-common.basic-02 thead {
    display: none;
  }
  .table-common.basic-02 tbody tr {
    display: block;
    width: 100%;
  }
  .table-common.basic-02 tbody th,
  .table-common.basic-02 tbody td {
    display: block;
    width: 100%;
  }
  .table-common.basic-02 tr {
    text-align: left;
    vertical-align: middle;
  }
  .table-common.basic-02 tr:not(:first-child) {
    border-top: 1px solid var(--bd-basic2);
  }
  .table-common.basic-02 th,
  .table-common.basic-02 td {
    width: 100%;
    padding: 0;
    border: none;
    line-height: 1.7;
    text-align: left;
  }
  .table-common.basic-02 th {
    text-align: left;
  }
  .table-common.basic-02 td {
    position: relative;
    padding-left: 13rem;
  }
  .table-common.basic-02 td:before {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 700;
    content: attr(data-title);
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .table-common .txt-overflow {
    width: 100%;
  }
}
/*=====      End of table basic-02     ======*/
/*==================================================
=           표 : 스크롤 처리(th - 고정X)            =
==================================================*/
.table-common.scroll-x-01 {
  min-width: 700px;
}

.table-common.scroll-x-01 tr:not(:last-child) th {
  border-bottom: 1px solid var(--bd-basic2);
}

@media screen and (max-width: 768px) {
  .table-scroll {
    overflow-x: auto;
  }
  .table-common.scroll-x-01 tr {
    position: relative;
  }
}
/*=====  End of 표 : 스크롤 처리(th - 고정X) ======*/
/*===============================================
=         표 : 스크롤 처리(th - 고정O)            =
================================================*/
.tb-th-fixed {
  overflow: auto;
  border-top: 2px solid var(--primary) !important;
}
.tb-th-fixed .table-common {
  border-top: initial !important;
  border-collapse: collapse;
}
.tb-th-fixed .table-common.basic-02 {
  margin-top: 0;
}
.tb-th-fixed .mCSB_inside > .mCSB_container {
  margin-right: 0 !important;
}
.tb-th-fixed thead {
  position: sticky;
  top: 0;
}

/*===== End of 표 : 스크롤 처리(th - 고정O) ======*/
/*================================================
=            table toggle-01 : 토글형            =
================================================*/
.basic-03 {
  max-width: 100%;
  width: 100%;
  padding: 0;
  border: 0;
  empty-cells: show;
  border-collapse: collapse;
}

.basic-03 * {
  box-sizing: border-box;
}

.basic-03-btn {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0.5em 0.85em 0.4em 0.85em;
  border: 1px solid #ccc;
  border-radius: 0.25em;
  box-shadow: 0 1px 0 rgb(255, 255, 255);
  background: none;
  text-align: center;
  text-decoration: none;
  color: #4a4a4a;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.basic-03-advance .basic-03-btn {
  border-radius: 0.25em;
  text-shadow: 0 1px 0 #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
}

.basic-03-advance .basic-03-btn.btn-micro {
  padding: 2rem;
  font-size: 1rem;
}

.basic-03-advance a.basic-03-nav-btn {
  position: relative;
  width: 2rem;
  height: 2rem;
}

.basic-03-advance a.basic-03-nav-btn.down:before,
.basic-03-advance a.basic-03-nav-btn.up:before {
  overflow: hidden;
  position: absolute;
  width: 0;
  height: 0;
  content: " ";
}

.basic-03-advance a.basic-03-nav-btn.down:before {
  top: 0.65em;
  left: 0.5em;
  border-top: 5px solid #808080;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

.basic-03-advance a.basic-03-nav-btn.up:before {
  top: 0.65em;
  left: 0.5em;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #808080;
  border-left: 5px solid transparent;
}

.basic-03-bar {
  clear: both;
}

.basic-03-bar * {
  box-sizing: border-box;
}

.basic-03-bar .basic-03-bar-section .basic-03-btn {
  margin-top: 0;
  margin-left: 0.4em;
  padding-left: 0.3em;
  border: none;
  box-shadow: none;
  background: transparent;
  font-size: 1em;
  text-transform: uppercase;
}

.basic-03-bar .basic-03-bar-section .btn-select:after {
  padding-top: 0.9em;
}

.basic-03-bar-section ~ table {
  clear: both;
}

.basic-03-columntoggle-btn span {
  display: inline-block;
  text-indent: -9999px;
}

.basic-03-columntoggle-btnwrap {
  position: relative;
}

.basic-03-columntoggle-btnwrap .dialog-content {
  padding: 0.5em;
}

.basic-03-columntoggle tbody td {
  line-height: 1.5;
}

/* 토글 체크박스 창 */
.basic-03-columntoggle-popup {
  display: none;
}

.basic-03-columntoggle-btnwrap.visible .basic-03-columntoggle-popup {
  display: block;
  position: absolute;
  top: 2em;
  right: 0;
  z-index: 1;
  padding: 0.5em 0.8em;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  box-shadow: 0 1px 2px #ccc;
  background-color: #fff;
}

.basic-03-columntoggle-popup fieldset {
  margin: 0;
}

@media (min-width: 320px) {
  .basic-03-columntoggle th.basic-03-priority-1,
  .basic-03-columntoggle td.basic-03-priority-1 {
    display: table-cell;
  }
}
@media (min-width: 375px) {
  .basic-03-columntoggle th.basic-03-priority-2,
  .basic-03-columntoggle td.basic-03-priority-2 {
    display: table-cell;
  }
}
@media (min-width: 576px) {
  .basic-03-columntoggle th.basic-03-priority-3,
  .basic-03-columntoggle td.basic-03-priority-3 {
    display: table-cell;
  }
  .basic-03-columntoggle tbody td {
    line-height: 2;
  }
}
@media (min-width: 768px) {
  .basic-03-columntoggle th.basic-03-priority-4,
  .basic-03-columntoggle td.basic-03-priority-4 {
    display: table-cell;
  }
}
@media (min-width: 1024px) {
  .basic-03-columntoggle th.basic-03-priority-5,
  .basic-03-columntoggle td.basic-03-priority-5 {
    display: table-cell;
  }
}
@media (min-width: 1200px) {
  .basic-03-columntoggle th.basic-03-priority-6,
  .basic-03-columntoggle td.basic-03-priority-6 {
    display: table-cell;
  }
}
@media only all {
  .basic-03-columntoggle th.basic-03-toggle-cellhidden,
  .basic-03-columntoggle td.basic-03-toggle-cellhidden {
    display: none;
  }
  .basic-03-columntoggle th.basic-03-toggle-cellvisible,
  .basic-03-columntoggle td.basic-03-toggle-cellvisible {
    display: table-cell;
  }
}
.basic-03-columntoggle-popup .basic-03-btn-group > label {
  display: block;
  padding: 0.2em 0;
  white-space: nowrap;
  cursor: default;
}

.basic-03-columntoggle-popup .basic-03-btn-group > label input {
  margin-right: 0.8em;
}

.basic-03-advance {
  float: right;
}

.toggle-01 {
  border-top: 2px solid var(--primary);
  border-bottom: 1px solid var(--bd-basic2);
}

/*=====  End of table toggle-01 : 토글형  ======*/
/*=============================================
=            게시판 : board-type-q            =
=============================================*/
.board-qna-q {
  border-bottom: 1px solid var(--bd-basic2);
}
.board-qna-q .board-view__btm {
  margin-bottom: 7rem;
}

/*=====  End of 게시판 : board-type-q  ======*/
/*=============================================
=            게시판 : board-type-a            =
=============================================*/
@media screen and (max-width: 1400px) {
  .table-common.board-type-a colgroup,
  .table-common.board-type-a thead {
    display: none;
  }
  .table-common.board-type-a tr:after {
    display: block;
    clear: both;
    content: "";
  }
  .table-common.board-type-a tbody tr {
    border-top: 1px solid var(--bd-basic2);
  }
  .table-common.board-type-a tbody,
  .table-common.board-type-a tr,
  .table-common.board-type-a td {
    display: block;
    width: 100%;
    border: none;
    text-align: left;
  }
  .table-common.board-type-a td {
    padding: 0.7rem 0 !important;
  }
  .table-common.board-type-a td:nth-child(n+3):nth-child(-n+6) {
    width: auto;
  }
}
/*=====  End of 게시판 : board-type-a  ======*/
/*=========================================================
=       게시판 : board-type-b(갤러리형-1:텍스트 박스)       =
=========================================================*/
.board-type-b {
  max-width: 105rem;
}
.board-type-b > .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.board-type-b .item {
  flex-basis: 32%;
  flex-grow: 0;
  flex-shrink: 1;
  padding: 2.5rem 2rem 1.5rem 2rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  min-height: 150px;
  min-height: 37rem;
  box-sizing: border-box;
}
.board-type-b .item__city {
  display: inline-block;
  border-radius: 1.7rem;
}
.board-type-b .item__city.city-01 {
  color: #425cb4;
  background-color: #ebf0fa;
}
.board-type-b .item__city.city-02 {
  color: #35919c;
  background-color: #e9f4f5;
}
.board-type-b .item__city .inner {
  display: flex;
  padding: 1rem 2rem;
  gap: 1rem;
}
.board-type-b .item__city .inner span {
  font-size: 1.4rem;
  font-weight: 600;
}
.board-type-b .item__city .inner span:not(:last-child) {
  position: relative;
  padding-right: 1rem;
}
.board-type-b .item__city .inner span:not(:last-child):after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.2rem;
  height: 80%;
  content: "";
  transform: translateY(-50%);
  background-color: rgba(66, 71, 86, 0.2);
}
.board-type-b .item__info {
  margin: 2.5rem 0 3rem;
}
.board-type-b .item__info--tit,
.board-type-b .item__info--txt {
  display: -webkit-box;
  overflow: hidden;
  word-wrap: break-word;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.board-type-b .item__info--tit {
  margin-bottom: 1.8rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--fc-tit);
}
.board-type-b .item__info--txt {
  margin-bottom: 2.5rem;
  font-size: 1.6rem;
  color: var(--fc-info);
}
.board-type-b .item__info__orga {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  line-height: 1;
  gap: 1rem;
}
.board-type-b .item__info__orga li {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 1.3rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #424756;
}
.board-type-b .item__info__orga li:before {
  position: absolute;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  content: "";
  background-color: var(--primary);
}
.board-type-b .item__info__tag {
  display: flex;
  align-items: center;
  height: 2rem;
  gap: 1rem;
}
.board-type-b .item__info__tag span {
  display: flex;
  align-items: center;
  font-family: var(--k-ff1);
  font-size: 1.4rem;
  font-weight: 500;
}
.board-type-b .item__info__tag i {
  display: inline-block;
  position: relative;
  width: 2rem;
  height: 2rem;
  margin-right: 0.6rem;
}
.board-type-b .item__info__tag i:before {
  display: inline-block;
  position: absolute;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  line-height: 2rem;
  text-align: center;
  color: #fff;
  content: "#";
  background-color: #20acdd;
}
.board-type-b .btn__list {
  padding: 0;
}
.board-type-b .btn__list a {
  width: 100%;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .board-type-b .item {
    flex-basis: 49%;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .board-type-b .item {
    flex-basis: 100%;
  }
}
/*== End of 게시판 : board-type-b(갤러리형-1:텍스트 박스) ==*/
/*=============================================
=            게시판 : 글쓰기(write)            =
=============================================*/
.board-write--tit {
  display: flex;
  width: 100%;
  gap: 3rem;
}
.board-write--tit input {
  width: 80%;
}
.board-write--tit .chkbox-type-01 {
  width: 20%;
}

.file-table {
  display: flex;
  border-bottom: 1px solid var(--bd-basic2);
  font-family: var(--k-ff1);
  font-size: 1.6rem;
  box-sizing: border-box;
}
.file-table .th {
  display: flex;
  align-items: center;
  width: 18rem !important;
  height: 6.9rem;
  padding-left: 2.8rem;
  font-weight: 600;
  text-align: left;
  color: var(--primary);
  background-color: var(--box-basic);
}
.file-table .td {
  position: relative;
  width: calc(100% - 18rem);
  text-align: left;
}

/* 첨부파일 삭제(btn) - 241011추가(정시안) */
.file-table.type-02 button.btn-file.btn--delete {
  position: absolute;
  top: 50%;
  left: 2rem;
  width: auto;
  height: auto;
  margin-left: 2rem;
  border: 0;
  transform: translateY(-50%);
}
.file-table.type-02 button.btn-file.btn--delete:hover {
  background-color: initial !important;
}

.file-upload {
  display: flex;
  align-items: center;
  position: absolute;
  width: 100%;
  padding: 1rem 0 1rem 2rem;
}
.file-upload input[type=file] {
  overflow: hidden;
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  border: 0;
}
.file-upload .file-upload--name {
  width: 95%;
  height: 5rem;
  padding: 0 5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  font-size: 1.6rem;
  line-height: 4.8rem;
  color: #999;
  box-sizing: border-box;
}
.file-upload .file-upload--name .txt-clamp {
  width: 90%;
}
.file-upload label {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 0;
  height: 5rem !important;
  height: 100%;
  margin-right: 2rem;
  padding: 0 3rem;
  border-radius: 7px;
  font-size: 1.7rem;
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
  background-color: var(--bg-box-tit);
}
.file-upload .btn--delete:hover {
  background-color: transparent;
}

.busi-manager__wrap span {
  display: flex;
  align-items: center;
}

.table-common.basic-01.write fieldset.select__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.table-common.basic-01.write fieldset.select__wrap .item {
  flex-grow: 1;
}
.table-common.basic-01.write fieldset.select__wrap select {
  width: 100%;
}
.table-common.basic-01.write.col4 td input[type=text],
.table-common.basic-01.write.col4 td select {
  width: 100%;
}

/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .table-common.basic-01.write fieldset {
    margin: 1rem 0;
    gap: 1.5rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .table-common.basic-01 tr th,
  .table-common.basic-01 tr td {
    display: flex;
    align-items: center;
  }
  .board-write--tit {
    gap: 2rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .file-table {
    display: block;
  }
  .file-table .th {
    display: flex;
    align-items: center;
    width: 100% !important;
    height: auto;
    padding: 0.8rem 0;
    padding-left: 2.8rem;
  }
  .file-table .td {
    position: initial;
    width: 100%;
  }
  .file-upload {
    position: relative;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .table-common.basic-01 td {
    padding: 0.7rem 1rem;
  }
  .file-upload {
    padding: 0.7rem 1rem;
  }
  .file-upload label {
    margin-right: 1rem;
    padding: 0 1rem;
  }
  .select__wrap select {
    padding-left: 1rem;
    background-position: center right 1rem;
  }
  .busi-manager__wrap .item:first-child {
    width: 13rem;
  }
  .busi-manager__wrap .item:last-child {
    width: 21rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .board-write--tit {
    flex-direction: column;
    gap: 1rem;
  }
  .board-write--tit input {
    width: 100%;
  }
  .file-upload label {
    padding: 0 1rem;
    font-size: 1.6rem;
  }
  .table-common.basic-01.write fieldset.select__wrap {
    flex-direction: column;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .table-common.basic-01.write.col4 input[type=date] {
    width: 100%;
  }
  .busi-manager__wrap {
    flex-direction: column;
    width: 100%;
  }
  .busi-manager__wrap span {
    display: none !important;
  }
  .busi-manager__wrap input {
    width: 100% !important;
  }
  .busi-manager__wrap em {
    display: none;
  }
}
/* 글쓰기 - 설명 */
.board-info__box .tit {
  font-size: 1.8rem;
}
.board-info__box > div span {
  display: inline-block;
  padding-bottom: 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
}
.board-info__box ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.board-info__box ul li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--fc-tit);
}
.board-info__box ul li:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  content: "";
  background-color: var(--primary);
  transform: translateY(-50%);
}
.board-info__box .box-noti--tit {
  font-size: 1.8rem;
  color: var(--fc-tit);
}
.board-info__box .txt,
.board-info__box .sm-txt {
  width:80%;
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.board-info__box .txt p {
  margin-bottom: 1rem;
  line-height: 160%;
}
.board-info__box .txt strong {
  font-weight: 700;
}
.board-info__box .sm-txt {
  padding-bottom: 0;
}

.robot--i {
  width: 10.8rem;
  height: 7.5rem;
  background-image: url("/images/openlab/robot_i.png") !important;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  /* 글쓰기 - 설명 */
  .board-info__box {
    gap: 3rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  /* 글쓰기 - 설명 */
  .board-info__box {
    display: flex;
    align-items: center;
    border: 1px solid var(--bd-basic2);
    gap: 3rem;
  }
  .board-info__box > div span {
    display: inline-block;
    padding-bottom: 1.5rem;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .board-info__box ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .board-info__box ul li {
    position: relative;
    padding-left: 1.7rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--fc-tit);
  }
  .board-info__box ul li:before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    content: "";
    background-color: var(--primary);
    transform: translateY(-50%);
  }
  .board-info__box .txt br {
    display: none;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .board-info__box {
    flex-direction: column;
  }
  .board-info__box .txt,
  .board-info__box .txt p {
    text-align: center;
  }
}
/* 묻고 답하기 - 관리자 답변 보기 */
.file-table .th {
  font-weight: bold;
  min-height: 5rem;
}
.file-table .file__list li {
  width: 100%;
}
.file-table .board-view__file {
  border: none;
}

.file-upload {
  display: inline-block;
  width: 100%;
  height: auto;
}

/* 파일 업로드(drag & drop) */
.file-upload-td {
  position: relative;
  height: 13rem !important;
}

.file-upload.drag {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  width: calc(100% - 4rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
  transform: translateY(-50%);
  gap: 1.5rem;
}

.file-upload--i {
  width: 2.7rem;
  height: 2rem;
}
.file-upload--i:before {
  width: 2.7rem;
  height: 2rem;
  background-image: url("/images/openlab/file-upload_i.png");
}

/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .file-upload.drag {
    width: calc(100% - 2rem);
  }
}
/*=====  End of 게시판 : 글쓰기(write)   ======*/
/*=============================================
=          게시판 : 수정하기(modify)           =
=============================================*/
.file-table.type-02.origin .td {
  display: flex;
  align-items: center;
}
.file-table.type-02.origin button.btn-file.btn--delete {
  position: static;
  margin-right: 0.5rem;
  margin-left: 0;
  transform: translateY(0);
}
.file-table.type-02 .file-upload .file-upload--name {
  padding: 0 4rem;
}
.file-table.type-02 .file-upload .file-upload--name .txt-clamp {
  width: 85%;
}
.file-table.type-02 .file--name__wrap.origin {
  display: flex;
  align-items: center;
  margin-top: 1rem;
  gap: 0.5rem;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .file-table.type-02.origin .th {
    padding: 2rem 0 2rem 2.8rem;
    border-bottom: 1px solid var(--bd-basic2);
    min-height: auto;
  }
}
/*===== End of 게시판 : 수정하기(modify) ======*/
/* 새 비밀번호 */
.member-pw__wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: left;
  align-items: center;
  gap: 1rem;
}

/* 핸드폰 번호 */
.member-info__phone .item__wrap {
  display: flex;
  gap: 3rem;
}
.member-info__phone .item {
  width: 50%;
}

/* 핸드폰 번호 input 3개*/
.member-info__phone.type-02 .item__wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
.member-info__phone.type-02 em {
  display: inline-block;
  justify-content: center;
}

/* 이메일 */
.email__wrap .item__wrap {
  display: flex;
  gap: 3rem;
}
.email__wrap .item:nth-child(1) {
  display: flex;
  width: 50%;
  gap: 1.5rem;
}
.email__wrap .item:nth-child(2) {
  width: 50%;
}

/* 이메일 readonly 경우(input 2개) */
.email__wrap.type-02 .item__wrap {
  align-items: center;
  gap: 0;
}

/* */
/* 주소 */
.address__wrap fieldset {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.address__wrap .item__wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.address__wrap .item:nth-child(1) {
  max-width: 36rem;
}
.address__wrap .item:nth-child(2) {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.address__wrap button {
  width: 18rem;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .member-info__modify .address__wrap {
    width: 100%;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .member-info__modify .email__wrap {
    width: 100%;
  }
  .member-info__modify .email__wrap .item__wrap {
    flex-direction: column;
    gap: 1rem;
  }
  .member-info__modify .email__wrap .item:nth-child(1), .member-info__modify .email__wrap .item:nth-child(2) {
    width: 100%;
  }
  .member-pw__wrap {
    flex-direction: column-reverse;
    align-items: baseline;
    gap: 0.5rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .member-info__modify .address__wrap > div:nth-child(1) input {
    max-width: 36rem;
  }
  .member-info__modify .address__wrap > div:nth-child(2) {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .member-info__modify .address__wrap button {
    width: 15rem;
  }
  .member-info__phone .item__wrap {
    gap: 1rem;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .member-info__phone .item__wrap .item:nth-child(1) {
    width: 70%;
  }
  .member-info__phone button {
    width: auto !important;
    padding: 0 1rem;
  }
}
/*=====      End of 회원 정보 수정      ======*/
/*=====================================================
=              서브페이지 팝업, 모달(공통)             =
=====================================================*/
.modal.type-02,
.modal.type-03,
.mfp-pop {
  top: 50%;
  min-width: 32rem;
  margin-left: 5rem;
  transform: translateY(-50%);
  max-height: 74rem;
}
.modal.type-02.active,
.modal.type-03.active,
.mfp-pop.active {
  width: auto;
  height: auto;
  background: none;
  -webkit-backdrop-filter: initial;
  backdrop-filter: initial;
}
.modal.type-02 .modal-btn--close,
.modal.type-03 .modal-btn--close,
.mfp-pop .modal-btn--close {
  margin-top: 3rem;
  background-color: var(--primary);
}
.modal.type-02 .site-modal__inner,
.modal.type-03 .site-modal__inner,
.mfp-pop .site-modal__inner {
  max-width: 90rem;
  padding: 9.5rem 5rem 4.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 2rem;
  background-color: #fff;
}
.modal.type-02 .site-modal__box,
.modal.type-03 .site-modal__box,
.mfp-pop .site-modal__box {
  width: 100%;
}
.modal.type-02 .tit__wrap,
.modal.type-03 .tit__wrap,
.mfp-pop .tit__wrap {
  text-align: center;
}
.modal.type-02 .tit__wrap strong,
.modal.type-03 .tit__wrap strong,
.mfp-pop .tit__wrap strong {
  display: block;
  margin: 2.5rem 0 3rem;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #1f2c59;
}
.modal.type-02 .tit__wrap p,
.modal.type-03 .tit__wrap p,
.mfp-pop .tit__wrap p {
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--fc-tit);
}
.modal.type-02 .txt__wrap,
.modal.type-03 .txt__wrap,
.mfp-pop .txt__wrap {
  overflow: auto;
  margin-top: 3rem;
  text-align: left;
}
.modal.type-02 .txt__wrap .tit-deco,
.modal.type-03 .txt__wrap .tit-deco,
.mfp-pop .txt__wrap .tit-deco {
  font-size: 1.8rem;
}
.modal.type-02 .txt__wrap textarea,
.modal.type-03 .txt__wrap textarea,
.mfp-pop .txt__wrap textarea {
  width: 100%;
  height: 14rem;
  margin-top: 1rem;
  padding: 2rem;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--bg-box-tit);
}
.modal.type-02 .txt__wrap textarea::-moz-placeholder, .modal.type-03 .txt__wrap textarea::-moz-placeholder, .mfp-pop .txt__wrap textarea::-moz-placeholder {
  font-size: 1.4rem;
  font-weight: 600;
}
.modal.type-02 .txt__wrap textarea::placeholder,
.modal.type-03 .txt__wrap textarea::placeholder,
.mfp-pop .txt__wrap textarea::placeholder {
  font-size: 1.4rem;
  font-weight: 600;
}
.modal.type-02 .txt__wrap .chkbox-type-01,
.modal.type-03 .txt__wrap .chkbox-type-01,
.mfp-pop .txt__wrap .chkbox-type-01 {
  margin-bottom: 3.5rem;
}
.modal.type-02 .board__btn__list,
.modal.type-03 .board__btn__list,
.mfp-pop .board__btn__list {
  justify-content: center;
  margin-top: 3.5rem;
}

/* mfp-popup 내부 탭메뉴 */
.white-popup .tab__area {
  width: 100%;
}
.white-popup .tab__area .contents__wrap {
  margin: 0;
}

.modal.type-03 .txt__wrap {
  border: 1px solid var(--bd-basic2);
  font-size: 1.6rem;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .modal.type-02,
  .modal.type-03 {
    top: 50%;
    left: 50%;
    margin-left: 0;
    padding: 3rem 0;
    transform: translate(-50%, -50%);
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .modal.type-02,
  .modal.type-03 {
    overflow: auto;
    top: 50%;
    left: 50%;
    margin-left: 0;
    padding: 3rem 0;
    transform: translate(-50%, -50%);
  }
  .modal.type-02 .site-modal__inner,
  .modal.type-03 .site-modal__inner {
    max-width: auto;
    width: 100%;
    min-height: 60rem;
  }
  .modal.type-02 .site-modal__box,
  .modal.type-03 .site-modal__box {
    width: 100%;
  }
  .modal.type-02 .tit__wrap p,
  .modal.type-03 .tit__wrap p {
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--fc-tit);
  }
  .modal.type-02 .txt__wrap,
  .modal.type-03 .txt__wrap {
    overflow: auto;
    margin-top: 3rem;
    text-align: left;
    max-height: 37rem;
  }
  .modal.type-02 .txt__wrap .tit-deco,
  .modal.type-03 .txt__wrap .tit-deco {
    font-size: 1.8rem;
  }
  .modal.type-02 .txt__wrap textarea,
  .modal.type-03 .txt__wrap textarea {
    width: 100%;
    height: 14rem;
    margin-top: 1rem;
    padding: 2rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--bg-box-tit);
  }
  .modal.type-02 .txt__wrap textarea::-moz-placeholder, .modal.type-03 .txt__wrap textarea::-moz-placeholder {
    font-size: 1.4rem;
    font-weight: 600;
  }
  .modal.type-02 .txt__wrap textarea::placeholder,
  .modal.type-03 .txt__wrap textarea::placeholder {
    font-size: 1.4rem;
    font-weight: 600;
  }
  .modal.type-02 .txt__wrap .chkbox-type-01,
  .modal.type-03 .txt__wrap .chkbox-type-01 {
    margin-bottom: 3.5rem;
  }
  .modal.type-02 .board__btn__list,
  .modal.type-03 .board__btn__list {
    justify-content: center;
    margin-top: 3.5rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .modal.type-02.active,
  .modal.type-03.active,
  .mfp-pop.active {
    width: calc(100% - 3rem);
    background: none;
    -webkit-backdrop-filter: initial;
    backdrop-filter: initial;
  }
  .modal.type-02 .site-modal__inner,
  .modal.type-03 .site-modal__inner,
  .mfp-pop .site-modal__inner {
    padding: 9.5rem 2rem 4.5rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .modal.type-02 .txt__wrap,
  .modal.type-03 .txt__wrap,
  .mfp-pop .txt__wrap {
    max-height: 20rem;
  }
}
/*=====    End of 서브페이지 팝업, 모달(공통)   ======*/
/*
 *
 * list deco(ul) - dot 형식
 *
 */
.list-deco-dot li {
  position: relative;
  padding-left: 1.5rem;
  line-height: 1;
}
.list-deco-dot li:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  content: "";
  background-color: var(--primary);
  transform: translateY(-50%);
}

/*
 *
 * tit deco
 *
 */
.tit-deco {
  display: flex;
  align-items: center;
  position: relative;
  font-size:1.8rem;
  font-weight: 600;
  line-height: 1;
  color: var(--fc-tit);
  gap: 0.7rem;
}
.tit-deco i {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 16px;
  height: 16px;
}
.tit-deco i:before, .tit-deco i:after {
  position: absolute;
  border-radius: 50%;
  content: "";
}
.tit-deco i:before {
  width: 100%;
  height: 100%;
  background-color: var(--li-dot3);
}
.tit-deco i:after {
  z-index: 1;
  width: 6px;
  height: 6px;
  background-color: #fff;
}

/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .tit-deco i {
    position: relative;
  }
  .tit-deco i:before {
    width: 12px;
    height: 12px;
  }
  .tit-deco i:after {
    z-index: 1;
    width: 4px;
    height: 4px;
    background-color: #fff;
  }
  .tit-deco__list .tit-deco {
    position: relative;
  }
  .tit-deco__list .tit-deco i.icon {
    position: absolute;
    top: 0;
  }
  .tit-deco__list .tit-deco span,
  .tit-deco__list .tit-deco strong {
    margin-left: 2.5rem;
  }
}
/*=============================================
=            magnific popup 커스텀            =
=============================================*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  opacity: 0;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

.mfp-zoom-in {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 0;
}
.mfp-zoom-in:hover {
  background: none;
}

.mfp-bg {
  height: 100% !important;
  padding: 0;
}

.mfp-content {
  font-family: var(--k-ff1);
}
.mfp-content .modal.active {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mfp-container {
  left: 50%;
  width: 90rem;
  transform: translateX(-50%);
}

.mfp-img--num {
  font-family: var(--k-ff1);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--fc-tit);
}

.mfp-pop {
  margin-left: 0;
}
.mfp-pop .terms__list__check {
  font-size: 1.6rem;
}
.mfp-pop .terms__list__check label {
  margin-top: 2.5rem;
  font-family: var(--k-ff1);
  font-weight: 500;
}
.mfp-pop .site-modal__wrap {
  max-height: 74rem;
}
.mfp-pop .site-modal__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
}
.mfp-pop .site-modal__box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: 2rem;
}
.mfp-pop .tit__wrap {
  padding-top: 11rem;
}
.mfp-pop .tit__wrap strong {
  margin: 0 0 4.5rem;
}
.mfp-pop .tit__wrap .add-info {
  font-size: 1.6rem;
  color: var(--fc-tit);
}
.mfp-pop .txt__wrap {
  display: flex;
  align-items: center;
  height: 55rem;
  margin-top: 0;
  background-color: #000000;
}
.mfp-pop .txt__wrap img {
  width: 52.5rem;
}

.mfp-img--num {
  display: block;
  padding-bottom: 2rem;
}

/* 팝업 닫기 - btn */
button.mfp-close {
  left: 50%;
  width: 5rem !important;
  height: 5rem !important;
  margin-top: 3.5rem;
  padding: 0 !important;
  border-radius: 50%;
  text-align: center !important;
  opacity: 1;
  background-color: var(--primary);
  transform: translateX(-50%);
}

.mfp-close-btn-in .mfp-close {
  color: #fff;
}

/* 팝업 좌,우 조작 - btn */
.mfp-arrow,
.mfp-arrow:active {
  margin-top: 6rem;
}

.mfp-arrow {
  z-index: 9999;
  width: 3.3rem;
  height: 3.5rem;
  opacity: 0.5;
  background-size: cover !important;
  background-position: center;
  background-repeat: no-repeat;
}
.mfp-arrow:before, .mfp-arrow:after {
  display: none;
}

.mfp-arrow-left {
  margin-left: 6rem;
  background-image: url("/images/openlab/prev_i.svg") !important;
}

.mfp-arrow-right {
  margin-right: 6rem;
  background-image: url("/images/openlab/next_i.svg") !important;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .modal.type-02 .txt__wrap,
  .modal.type-03 .txt__wrap,
  .mfp-pop .txt__wrap {
    max-height: 70rem;
  }
}
/*
 *
 * mfp-pop : table, basic 형
 *
 */
.tb__pop .txt__box,
.tb__pop .txt__wrap,
.basic__pop .txt__box,
.basic__pop .txt__wrap {
  padding: 0 3rem;
}
.tb__pop .table-common,
.basic__pop .table-common {
  min-width: auto !important;
}
.tb__pop .mfp-pop .txt__wrap,
.basic__pop .mfp-pop .txt__wrap {
  flex-direction: column;
  height: auto;
  margin-bottom: 5rem;
  background-color: transparent;
}
.tb__pop .mfp-pop .site-modal__wrap,
.basic__pop .mfp-pop .site-modal__wrap {
  height: auto !important;
}
.tb__pop .txt__box .tit-deco,
.basic__pop .txt__box .tit-deco {
  font-size: 1.8rem;
}
.tb__pop .pop-tb-form tr,
.basic__pop .pop-tb-form tr {
  padding: 0;
}
.tb__pop .pop-tb-form td,
.basic__pop .pop-tb-form td {
  padding: 0.7rem 0;
  border-top: none;
}
.tb__pop td,
.basic__pop td {
  line-height: 1.4 !important;
}
.tb__pop .pop-scroll,
.basic__pop .pop-scroll {
  height: 40%;
  min-height: 20rem;
}
.tb__pop .td-btn__list,
.basic__pop .td-btn__list {
  height: 4rem;
}
.tb__pop .board-date__wrap,
.basic__pop .board-date__wrap {
  flex-direction: column;
  width: 100%;
}
.tb__pop .board-date__wrap > span,
.basic__pop .board-date__wrap > span {
  display: flex;
}
.tb__pop .board-date__wrap > span input,
.tb__pop .board-date__wrap > span button,
.basic__pop .board-date__wrap > span input,
.basic__pop .board-date__wrap > span button {
  flex-grow: 1;
}

/*
 *
 * popup - 알림창
 *
 */
.alert__pop .site-modal__inner {
  display: flex;
  justify-content: center;
  max-width: 60rem;
}
.alert__pop .txt__wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem !important;
  padding-top: 6rem;
  border-radius: 0;
  font-size: 1.6rem;
}
.alert__pop .txt__wrap p {
  text-align: center;
}
.alert__pop .btn__wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 4rem;
  gap: 0.5rem;
}
.alert__pop button.mfp-close {
  display: none !important;
}

/*
 *
 * popup - loading(의료영상 공유하기 팝업)
 *
 */
.basic__pop .share-info__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.basic__pop .share-info__wrap > strong {
  margin: 2rem 0 3rem;
  font-size: 1.8rem;
}
.basic__pop .share-info__wrap .loader {
  margin: 0 auto;
}
.basic__pop .share-info__wrap strong {
  font-weight: 600;
}
.basic__pop .share-info__wrap p {
  font-size: 1.6rem;
  line-height: 1.4;
}

/* 공유 진행 중 - loading */
.loader {
  width: 4rem;
  padding: 0.7rem;
  border-radius: 50%;
  background: #c6cede;
  animation: loaderSpin 1s infinite linear;
  aspect-ratio: 1;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
}

@keyframes loaderSpin {
  to {
    transform: rotate(1turn);
  }
}
/* 공유 진행 중 - progress bar */
@keyframes progress {
  0% {
    width: 0px;
  }
  100% {
    width: 100%;
  }
}
.progressbar,
.progressbar:after {
  background: var(--bg-gra2);
}

.progressbar {
  overflow: hidden;
  position: relative;
  max-width: 60rem;
  width: 100%;
  height: 3.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 3.5rem;
  background: #fff;
}
.progressbar:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3.5rem;
  content: "";
  animation: progress 4.2s ease forwards;
}

.progress {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 99;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1c252c;
  transform: translate(-50%, -50%);
}
.progress:after {
  content: "%";
}

/* 공유 완료 */
#mediVideoShare_complete .complete .share-complete--i {
  display: inline-block;
  width: 8rem;
  height: 7.7rem;
  background: url("../images/sub/share-complete_icon.png") center/contain no-repeat;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .mfp-content .modal.active .site-modal__inner,
  .mfp-content .mfp-container {
    min-width: 76rem;
    width: auto;
  }
  .mfp-arrow-right {
    margin-right: 0;
  }
  .mfp-arrow-left {
    margin-left: 0;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .mfp-content .modal.active .site-modal__inner {
    min-width: 53rem;
    width: auto;
  }
  .mfp-container {
    width: 100%;
  }
  .mfp-arrow-right {
    margin-right: 3rem;
  }
  .mfp-arrow-left {
    margin-left: 3rem;
  }
  .mfp-pop .tit__wrap .add-info {
    padding: 0 5rem;
  }
  .mfp-pop .tit__wrap .add-info br {
    display: none;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .mfp-content .modal.active .site-modal__inner,
  .mfp-content .mfp-container {
    min-width: 32rem;
  }
  .mfp-arrow-right {
    margin-right: 1rem;
  }
  .mfp-arrow-left {
    margin-left: 1rem;
  }
  .mfp-pop .mfp-content .modal.active {
    min-width: 30rem;
    width: 100%;
    height: 80%;
  }
  .mfp-container {
    padding-right: 0;
    padding-left: 0;
  }
  .mfp-content .modal.active .site-modal__wrap {
    overflow: auto;
  }
  .tb__pop .mfp-pop .txt__wrap,
  .basic__pop .mfp-pop .txt__wrap {
    padding: 0 1rem 0 2rem;
  }
}
/*=====  End of magnific popup 커스텀  ======*/
/* 마우스 오버 - underline */
.hover-underline:hover {
  text-decoration: underline;
}

/*
 *
 * tooltip - 공통 스타일
 *
 */
.tooltip {
  position: relative;
}

.tooltip-content {
  visibility: hidden;
  position: absolute;
  top: 50%;
  z-index: 100;
  padding: 0.6rem 1rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 3px;
  background: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--light-red);
  transform: translateY(-50%);
}

.tooltip-content:after {
  display: block;
  position: absolute;
  top: 50%;
  left: -6px;
  width: 10px;
  height: 10px;
  border-bottom: 1px solid var(--bd-basic2);
  border-left: 1px solid var(--bd-basic2);
  border-radius: 2px;
  background: #fff;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.tooltip:hover .tooltip-content {
  visibility: visible;
}

/* tooltip : type-01(center) */
.tooltip.type-01 .tit {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  line-height: 1;
}
.tooltip.type-01 .tit i.info--i {
  margin-right: 0.5rem;
}
.tooltip.type-01 .txt {
  line-height: 1.4;
}
.tooltip.type-01 .tooltip-content {
  top: 0;
  max-width: 25rem;
  margin-top: 5rem;
  padding: 1.8rem 1.6rem;
  border-radius: 0.7rem;
  color: var(--fc-tit);
  transform: initial;
}
.tooltip.type-01 .tooltip-content:after {
  top: 0;
  left: 50%;
  margin-top: -0.5rem;
  transform: translateX(-50%) rotate(130deg);
}
.tooltip.type-01 .tooltip-content strong {
  font-weight: 700;
}

/*====================================================
=           부가정보 - 회원가입, 정보입력 폼           =
====================================================*/
/* 상단 박스 - list(공통) */
.join-list__box {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
  gap: 2rem;
}
.join-list__box > div {
  display: flex;
  padding: 10rem 6rem;
  border: 1px solid var(--bd-basic2);
  gap: 4rem;
}
.join-list__box > div i {
  display: inline-block;
  width: 11.3rem;
}
.join-list__box > div i:before {
  display: inline-block;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}
.join-list__box .box__info__link {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
  gap: 1.5rem;
}
.join-list__box .box__info__link li {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  gap: 3.3rem;
}
.join-list__box .box__info__link li:nth-child(1) a {
  background-color: var(--bg-box-tit);
}
.join-list__box .box__info__link li:nth-child(2) a {
  background-color: var(--primary);
}
.join-list__box .box__info__link a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 32rem;
  max-width: 34rem;
  height: 7rem;
  border-radius: 0.7rem;
  font-size: 1.7rem;
  font-weight: 500;
  text-align: center;
  color: #fff;
}
.join-list__box .box__info__link a span {
  font-size: 1.4rem;
}

.box__info__txt {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.box__info__txt li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.6rem;
}
.box__info__txt li:before {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 3px;
  height: 3px;
  margin-top: 0.7rem;
  border-radius: 50%;
  content: "";
  background-color: var(--primary);
}

.box__info > strong {
  display: inline-block;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  color: var(--fc-tit);
}

/* 회원가입 단계 */
.join-step__wrap,
.step__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  gap: 1.7rem;
}
.join-step__wrap li,
.step__wrap li {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: #91939b;
  gap: 1.2rem;
}
.join-step__wrap li:not(:last-child),
.step__wrap li:not(:last-child) {
  position: relative;
  padding-right: 9.4rem;
}
.join-step__wrap li:not(:last-child):after,
.step__wrap li:not(:last-child):after {
  position: absolute;
  right: 0;
  width: 7.7rem;
  height: 2px;
  border: 1px dashed #bbc6db;
  content: "";
}
.join-step__wrap li.active,
.step__wrap li.active {
  color: #1f2c59;
}
.join-step__wrap li.active span,
.step__wrap li.active span {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  font-family: var(--e-ff1);
  font-size: 1.3rem;
  font-weight: 600;
  color: #fff;
  background-color: var(--li-dot3);
}
.join-step__wrap li.active:after,
.step__wrap li.active:after {
  border: 1px dashed var(--li-dot3);
}
.join-step__wrap span,
.step__wrap span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  font-family: var(--e-ff1);
  font-size: 1.3rem;
  font-weight: 600;
  color: #fff;
  background-color: #bbc6db;
}

/* 내용 영역 */
.form--txt,
.form__txt {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--fc-tit);
}

.join .inner {
  gap: 4.5rem;
}
.join .btn__list {
  justify-content: center;
}
.join .btn__list li {
  max-width: 12rem;
}

.add-info__col .inner {
  flex-direction: column;
  align-items: center;
}
.add-info__col .add-info__txt {
  flex-direction: column;
  text-align: center;
}
.add-info__col .board__btn__list {
  justify-content: center;
}

/* step01 -  회원유형 선택 */
.join-step01 .box01 i:before {
  width: 11.3rem;
  height: 8.5rem;
  background-image: url("../images/sub/doctor--i.png");
}
.join-step01 .box02 i:before {
  width: 10rem;
  height: 7.9rem;
  background-image: url("../images/sub/hospital--i.png");
}

.all-sites__list {
  display: flex;
}
.all-sites__list li:first-child {
  width: 28%;
}
.all-sites__list li:not(:first-child) {
  width: 24%;
}
.all-sites__list li:nth-child(1) .txt__wrap {
  padding-left: 1rem;
}
.all-sites__list li:nth-child(2) .txt__wrap {
  padding-left: 1.3rem;
}
.all-sites__list li:nth-child(3) .txt__wrap {
  padding-left: 2rem;
}
.all-sites__list li:nth-child(4) .txt__wrap {
  padding-left: 1.8rem;
}
.all-sites__list li > .inner {
  display: flex;
  align-items: center;
  gap: 0;
}
.all-sites__list li > .inner img {
  height: 9.5rem;
}
.all-sites__list li > .inner span {
  display: inline-block;
}
.all-sites__list .site--name {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--fc-tit);
}
.all-sites__list .site--info {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--fc-info);
}

/* step02 - 약관동의 */
.join-step02 .content_area,
.terms .content_area {
  display: flex;
  flex-direction: column-reverse;
}
.join-step02 .contents-box--tit,
.terms .contents-box--tit {
  justify-content: flex-start !important;
  margin-bottom: 6rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--bd-basic2);
}
.join-step02 .contents-box--tit input[type=checkbox],
.terms .contents-box--tit input[type=checkbox] {
  width: 2rem;
  height: 2rem;
}
.join-step02 .contents-box--tit label,
.terms .contents-box--tit label {
  font-size: 2rem;
  color: #1f2c59;
}
.join-step02 ul.terms__list,
.terms ul.terms__list {
  display: flex;
  flex-direction: column;
  color: var(--bg-box-tit);
  gap: 5rem;
}
.join-step02 ul.terms__list li,
.terms ul.terms__list li {
  display: flex;
  flex-direction: column-reverse;
}
.join-step02 ul.terms__list button,
.terms ul.terms__list button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.2rem;
  height: 3.2rem;
  margin-left: 1.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.5rem;
}
.join-step02 ul.terms__list button .arrow--i,
.terms ul.terms__list button .arrow--i {
  width: 1rem;
  height: 0.6rem;
  background: url(/images/openlab/arrow3_i.png) center/contain no-repeat;
}
.join-step02 .terms__list__check,
.terms .terms__list__check {
  margin-bottom: 2.5rem;
  font-size: 1.7rem;
}
.join-step02 .terms__list__check label,
.terms .terms__list__check label {
  font-weight: 500;
}
.join-step02 .terms__list__box,
.terms .terms__list__box {
  overflow: auto;
  padding: 4rem 2.5rem 4rem 3.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  box-sizing: border-box;
  max-height: 20rem;
}
.join-step02 .terms__list__box .inner > div,
.terms .terms__list__box .inner > div {
  font-size: 1.6rem;
}
.join-step02 .terms__list__box .inner > div > strong,
.terms .terms__list__box .inner > div > strong {
  display: inline-block;
  padding-bottom: 2.5rem;
}
.join-step02 .terms__list__box .inner > div ul,
.terms .terms__list__box .inner > div ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.join-step02 .terms__list__box .inner > div ul strong,
.terms .terms__list__box .inner > div ul strong {
  font-weight: 600;
  color: var(--point1);
}

/* step03 - 인증 */
.join-step03 .add-info__txt .inner {
  border-top: 1px solid var(--bd);
}
.join-step03 .add-info__txt li {
  text-align: left;
}
.join-step03 .box01 i:before {
  width: 7.4rem;
  height: 8.6rem;
  background-image: url(/images/openlab/mo-certi-i.png);
}
.join-step03 .box__info button {
  width: 18rem;
  margin-top: 4rem;
}

/* 사업자등록번호 */
.busi-number {
  width: auto;
}
.busi-number .account-info {
  width: auto;
}
.busi-number .account-info.add-info__btns button {
  max-width: 18rem;
  width: 100%;
  margin-top: 4rem;
}
.busi-number .add-info__txt {
  width: 80%;
}
.busi-number form {
  display: flex;
  align-items: center;
}

.busi-number__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 60rem;
  gap: 1rem;
}
.busi-number__wrap .item {
  width: calc(33.3% - 1rem);
}

/* step04 - 정보입력 */
.join-step04 .contents-box--tit,
.aprc-form .contents-box--tit {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--bd-basic2);
}
.join-step04 .contents-box--tit > span:nth-child(1) .form-sm--txt,
.aprc-form .contents-box--tit > span:nth-child(1) .form-sm--txt {
  color: var(--primary);
}
.join-step04 .contents-box--tit > span:nth-child(2),
.aprc-form .contents-box--tit > span:nth-child(2) {
  font-weight: 500;
}
.join-step04 .msg,
.aprc-form .msg {
  display: block;
  line-height: 1;
}
.join-step04 .id-check__wrap,
.aprc-form .id-check__wrap {
  margin-top: -0.5rem;
  gap: 2.5rem;
}
.join-step04 .form-sm--txt,
.aprc-form .form-sm--txt {
  font-size: 1.4rem;
  color: var(--bg-box-tit);
}
.join-step04 .join__form,
.join-step04 .form__wrap,
.aprc-form .join__form,
.aprc-form .form__wrap {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.join-step04 .form--tit,
.aprc-form .form--tit {
  display: block;
  padding-bottom: 1.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--primary);
}
.join-step04 .form-col-1,
.join-step04 .form-col-2,
.aprc-form .form-col-1,
.aprc-form .form-col-2 {
  display: flex;
  gap: 3rem;
}
.join-step04 .form-col-2 > div,
.aprc-form .form-col-2 > div {
  max-width: 51rem;
  width: 50%;
}
.join-step04 .form-col-2 > div input[type=text],
.join-step04 .form-col-2 > div input[type=password],
.join-step04 .form-col-2 > div input[type=number],
.aprc-form .form-col-2 > div input[type=text],
.aprc-form .form-col-2 > div input[type=password],
.aprc-form .form-col-2 > div input[type=number] {
  width: 100%;
}
.join-step04 .email__wrap input,
.aprc-form .email__wrap input {
  width: 20rem;
}
.join-step04 .email__wrap em,
.aprc-form .email__wrap em {
  padding: 0 1rem;
  font-size: 1.7rem;
  color: #a8adbb;
}
.join-step04 .email__wrap select,
.aprc-form .email__wrap select {
  width: 18.5rem;
  margin-left: 0.8rem;
}
.join-step04 .search--input__wrap,
.aprc-form .search--input__wrap {
  display: flex;
  max-width: 51rem;
  gap: 1rem;
}
.join-step04 .search--input__wrap input,
.aprc-form .search--input__wrap input {
  max-width: 36rem;
  width: 100%;
}
.join-step04 .search--input__wrap button,
.aprc-form .search--input__wrap button {
  width: 14rem;
}
.join-step04 .manager__info,
.join-step04 .gap-group,
.aprc-form .manager__info,
.aprc-form .gap-group {
  gap: 3rem;
}
.join-step04 .file-upload,
.aprc-form .file-upload {
  position: relative;
  padding: 0;
}
.join-step04 .file-upload label,
.aprc-form .file-upload label {
  right: auto;
  margin-right: 0;
}
.join-step04 .file-upload span,
.aprc-form .file-upload span {
  display: flex;
  line-height: 1;
}
.join-step04 .input--radio__wrap,
.aprc-form .input--radio__wrap {
  gap: 3rem;
}

.aprc-form .file-upload__wrap {
  display: flex;
  align-items: flex-end;
}
.aprc-form .board__btn__list .basic-btn-w {
  min-width: 12rem;
  width: auto;
  padding: 0 3rem;
}

/* 회원가입 step4 - 소속 검색(modal) */
.search__pop {
  display: flex;
  justify-content: center;
  align-items: center;
}
.search__pop .site-modal__inner {
  max-width: 90rem;
  padding: 9rem 5rem 9rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 2rem;
  min-height: 60rem;
  background-color: #fff;
}
.search__pop .modal-btn--close {
  margin-top: 3rem;
  background-color: var(--primary);
}
.search__pop strong {
  display: block;
  margin: 2.5rem 0 3rem;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #1f2c59;
}
.search__pop .site-modal__box {
  width: 100%;
}
.search__pop .board-search__box {
  position: relative;
  width: 100%;
  height: 5rem;
}
.search__pop .board-search__box .search--input {
  position: absolute;
  width: 100%;
}
.search__pop .board-search__box .search--input input[type=text] {
  min-width: auto;
  width: 100%;
}

/* 표 : 소속 기관 찾기 */
#comSearch .verti-fixed__tb .tr span {
  text-align: center;
}
#comSearch .verti-fixed__tb .tr span:nth-child(1) {
  width: 10%;
}
#comSearch .verti-fixed__tb .tr span:nth-child(2) {
  width: 20%;
}
#comSearch .verti-fixed__tb .tr span:nth-child(3) {
  width: 15%;
}
#comSearch .verti-fixed__tb .tr span:nth-child(4) {
  width: 25%;
}
#comSearch .verti-fixed__tb .tr span:nth-child(5) {
  width: 10%;
}
#comSearch .verti-fixed__tb .tr span:nth-child(6) {
  width: 20%;
}

/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1600px) {
  .all-sites__list li {
    width: 25% !important;
  }
  .all-sites__list li > .inner {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 1.5rem;
  }
  .all-sites__list li .txt__wrap {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    gap: 0.5rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .join-step__wrap {
    gap: 1rem;
  }
  .join-step__wrap li {
    gap: 0.5rem;
  }
  .join-step__wrap li:not(:last-child) {
    padding-right: 3rem;
  }
  .join-step__wrap li:not(:last-child):after {
    width: 2rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .join-list__box > div {
    flex-direction: column;
    align-items: center;
  }
  .join-list__box > div i {
    width: 100%;
    text-align: center;
  }
  .join-list__box .box01 i:before {
    width: 18rem;
    height: 13.6rem;
  }
  .join-list__box .box02 i:before {
    width: 16.4rem;
    height: 12.6rem;
  }
  .box__info__link div {
    gap: 2rem;
  }
  .join-step03 .box01 i:before {
    width: 12rem;
    height: 13.6rem;
  }
  .join-step03 .box__info button {
    margin: 4rem auto 0;
  }
  .join-step04 .contents-box--tit,
  .aprc-form .contents-box--tit {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .join-step04 .contents-box--tit > span:nth-child(2),
  .aprc-form .contents-box--tit > span:nth-child(2) {
    line-height: 1.5;
  }
  .join-step04 .form-col-2,
  .aprc-form .form-col-2 {
    flex-direction: column;
  }
  .join-step04 .form-col-2 > div,
  .aprc-form .form-col-2 > div {
    max-width: 100%;
    width: auto;
  }
  .join-step04 .msg,
  .aprc-form .msg {
    line-height: 1.2;
  }
  .join-step04 .email__wrap input,
  .join-step04 .email__wrap select,
  .aprc-form .email__wrap input,
  .aprc-form .email__wrap select {
    width: 30%;
  }
  .join-step04 .com-search__wrap input,
  .aprc-form .com-search__wrap input {
    width: 100% !important;
  }
  .join-step04 .join-search--input,
  .aprc-form .join-search--input {
    width: 90%;
  }
  .join-step04 .manager__info,
  .join-step04 .gap-group,
  .aprc-form .manager__info,
  .aprc-form .gap-group {
    gap: 1rem;
  }
  .join-step04 .input--radio__wrap,
  .aprc-form .input--radio__wrap {
    gap: 1.5rem;
  }
  .join-step04 .join-file__wrap,
  .aprc-form .join-file__wrap {
    position: relative;
  }
  .join-step04 .join-file__wrap .file-upload,
  .aprc-form .join-file__wrap .file-upload {
    position: absolute;
    right: 0;
  }
  .join-step04 .join-file__wrap .file-upload label,
  .aprc-form .join-file__wrap .file-upload label {
    top: 2.9rem;
    right: 0;
    width: 8rem;
    transform: translateY(0);
  }
  .aprc-form .contents-box--tit {
    flex-direction: row !important;
  }
  .aprc-form .file-upload__wrap {
    display: block;
    position: relative;
  }
  .aprc-form .file-upload {
    position: absolute;
    top: 0;
    right: 0;
  }
  .aprc-form .file-upload label {
    top: 2.9rem;
    right: 0;
    width: 8rem;
    transform: translateY(0);
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .all-sites__list {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .all-sites__list li {
    width: 50% !important;
  }
  .all-sites__list .txt__wrap br {
    display: none;
  }
  .add-info__wrap .add-info__txt {
    flex-direction: column;
    min-width: 25rem;
    width: 80%;
  }
  .box__info__txt li {
    padding-left: 1rem;
  }
  .box__info__txt li:before {
    margin-top: 0.8rem;
  }
  .join-list__box > div {
    padding: 5rem 4rem;
    gap: 3rem;
  }
  .join-list__box .box__info__link {
    gap: 3rem;
  }
  .join-list__box .box__info__link li {
    flex-direction: column;
    gap: 1.5rem;
  }
  .join-list__box .box__info__link a {
    min-width: auto;
    max-width: 100%;
    width: 100%;
    padding: 2rem;
  }
  .join-list__box .box__info__link a,
  .join-list__box .box__info__link span {
    text-align: center;
  }
  .join-list__box .box01 i:before {
    width: 15rem;
    height: 10.6rem;
  }
  .join-list__box .box02 i:before {
    width: 12.4rem;
    height: 8.6rem;
  }
  .join-step03 .box01 i:before {
    width: 10rem;
    height: 11.6rem;
  }
  .join-step04 .email__wrap,
  .aprc-form .email__wrap {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .join-step04 .email__wrap span,
  .aprc-form .email__wrap span {
    width: 100%;
  }
  .join-step04 .email__wrap span input,
  .aprc-form .email__wrap span input {
    width: calc(50% - 2rem);
  }
  .join-step04 .email__wrap select,
  .aprc-form .email__wrap select {
    width: 100%;
    margin-left: 0;
  }
  .aprc-form .board__btn__list li {
    flex-grow: 1;
  }
  .aprc-form .board__btn__list .basic-btn-w {
    width: 100%;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .join-step__wrap {
    gap: 1rem;
  }
  .join-step__wrap li {
    gap: 0.5rem;
  }
  .join-step__wrap li:not(:last-child) {
    padding-right: 2rem;
  }
  .join-step__wrap li:not(:last-child):after {
    width: 1rem;
  }
  .box__info > strong {
    display: block;
    text-align: center;
  }
  .join-step02 .terms__list__box,
  .terms .terms__list__box {
    padding: 3rem 0.5rem 3rem 2.5rem;
  }
  .join-step03 .box__info button {
    width: 100%;
  }
  .join-step04 .search--input__wrap button,
  .aprc-form .search--input__wrap button {
    font-size: 1.5rem;
  }
  .search__pop .site-modal__inner {
    padding: 3rem;
  }
}
.aprc-form .form__txt {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.aprc-form .status {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.aprc-form .status .dp_flex {
  align-items: center;
  gap: 2rem;
}
.aprc-form .acnt-num__wrap {
  display: flex;
  gap: 1rem;
}

/*=====         부가정보 - 회원가입, 정보입력 폼= =====*/
/*------------------------------------------------------------------------
File : layout.css
Author : 정시안
Create date : 2024-06-17
Version : 1.0
Editable : O
※ 공통으로 사용 되는 레이아웃 스타일 정의(common)
------------------------------------------------------------------------*/
/* 영어 폰트 - Montserrat */
.e-ff1 {
  font-family: var(--e-ff1);
}

/* 한글 폰트 - pretendard */
.k-ff1 {
  font-family: var(--k-ff1);
}

/* 타겟 이동 : 스크롤 부드럽게 */
html {
  scroll-behavior: smooth;
}

body {
  /*overflow: visible;*/
  font-family: var(--e-ff1), var(--k-ff1), var(--k-ff2), san-serif;
}

#wrap {
  overflow-y: auto;
  /*overflow: hidden;*/
  min-width: 140rem;
  width: 100%;
  height: 100%;
}

.container {
  min-width: 32rem;
  max-width: 160rem;
  margin: 0 auto;
}
.container.sub {
  max-width: 140rem;
}

@media (max-width: 1600px) {
  #wrap {
    min-width: 32rem;
  }
  .container {
    margin: 0 auto;
  }
  .container.sub {
    margin: 0 3rem;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .container.sub {
    margin: 0 2rem;
  }
}
select:hover,
button.btn--search:hover {
  cursor: pointer;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 버튼 - hover(Animation) */
@keyframes pulse {
  from {
    box-shadow: 0 0 0 0 var(--btn-basic);
  }
}
/* 버튼 - hover(Animation) */
.back-to-position {
  opacity: 0;
  transition: 1s;
}

.back-to-position.to-right {
  transform: translateX(-150px);
}

.back-to-position.to-left {
  transform: translateX(150px);
}

.back-to-position.to-top {
  transform: translateY(150px);
}

.back-to-position.to-btm {
  transform: translateY(-150px);
}

.show .back-to-position {
  opacity: 1;
  transform: translateX(-150px);
}

.show .back-to-position {
  opacity: 1;
  transform: translateY(0);
}

.show .back-to-position.delay-0 {
  transition-delay: 0s;
}

.show .back-to-position.delay-1 {
  transition-delay: 0.3s;
}

.show .back-to-position.delay-2 {
  transition-delay: 0.6s;
}

.show .back-to-position.delay-3 {
  transition-delay: 0.9s;
}

.show .back-to-position.delay-4 {
  transition-delay: 1.2s;
}

.show .back-to-position.delay-5 {
  transition-delay: 2s;
}

/* h4 - 서브 제목 */
.blue--tit {
  margin: 5rem 0 3rem;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--fc-h4);
}

/*
 *
 * 스크롤 플러그인 커스텀
 *
 */
body {
  -ms-overflow-style: none;
}

/*::-webkit-scrollbar {*/
/*  display: none;*/
/*}*/

/*특정 부분 스크롤바 없애기*/
.scroll {
  -ms-overflow-style: none;
}

.scroll::-webkit-scrollbar {
  display: none;
}

.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent !important;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 0.6rem;
  background-color: #95a1b8 !important;
}

.mCSB_scrollTools .mCSB_draggerContainer {
  width: 0.6rem;
  border-radius: 0.3rem;
  background-color: #d7dbe4 !important;
}

.health-map .content__area .loca-result__list ul {
  border-radius: 0;
}

.mCSB_container {
  overflow: visible !important;
}

.mCSB_scrollTools .mCSB_draggerRail {
  display: none;
}

.info--i {
  display: inline-block;
  background: url("../images/main/box-info_i.png") top 2px center/contain no-repeat;
}

/* 가로 스크롤 */
.scroll-x .mCSB_draggerContainer {
  width: auto !important;
}
.scroll-x .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 100%;
  margin: auto;
}
.scroll-x .mCSB_scrollTools .mCSB_draggerContainer {
  height: 0.6rem !important;
}

/*=============================================
=                     btn                     =
=============================================*/
[class*=btn] {
  transition: 0.3s;
}
[class*=btn]:hover {
  cursor: pointer;
}

/* 버튼 스타일 : btn-type-01 */
button.btn-type-01 {
  position: relative;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background-color: var(--btn-basic);
}

/* btn(기본 스타일) */
.basic-btn-w {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12rem;
  height: 5rem;
  border: 1px solid var(--bd-basic);
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  color: #424756;
  box-sizing: border-box;
}
.basic-btn-w:hover {
  background-color: var(--btn-03-hover) !important;
}

.basic-btn-c {
  border: none;
  color: #fff;
}

/* 버튼 비활성화 */
.basic-btn-w.btn--disable {
  color: rgba(66, 71, 86, 0.5);
}

.basic-btn-c.btn--disable {
  color: rgba(255, 255, 255, 0.5);
}

.btn--modify,
.btn--primary {
  background-color: var(--primary) !important;
}
.btn--modify:hover,
.btn--primary:hover {
  background-color: var(--btn-01-hover) !important;
}

.btn--delete {
  background-color: var(--btn-red);
}
.btn--delete:hover {
  background-color: var(--btn-red-hover) !important;
}

.btn--cancel,
.btn--gray {
  background-color: var(--bg-box-tit);
}
.btn--cancel:hover,
.btn--gray:hover {
  background-color: var(--btn-02-hover) !important;
}

.btn--l-gray {
  background-color: var(--light-gray);
}
.btn--l-gray:hover {
  background-color: var(--light-gray-hover) !important;
}

.btn--submit {
  background-color: var(--openLab) !important;
}
.btn--submit:hover {
  background-color: var(--aiMaket-hover) !important;
}

/* table 내부 - btn(닫기) */
.close-cir--btn {
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 50%;
}

/*=====            End of btn          ======*/
/* icon(공통) */
i.icon {
  /*display: inline-block;*/
  position: relative;
}
i.icon:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 100%;
  height: 100%;
  content: "";
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}

/* ⓘ(icon) */
.info-sm--txt {
  display: flex !important;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  gap: 0.4rem;
}
.info-sm--txt i:before {
  font-family: var(--k-ff2);
  content: "ⓘ";
}

/* +,- icon */
.delete--i {
  display: inline-block;
  position: relative;
}
.delete--i:before, .delete--i:after {
  display: inline-block;
  position: absolute;
}

.delete--i {
  /* width: 1.6rem; */
  /* height: 1.6rem; */
}
.delete--i:before {
  top: 50%;
  left: 0;
  /* width: 2px; */
  height: 100%;
  content: "";
  transform: translateY(-50%);
  /* background-color: #fff; */
}
.delete--i:before {
  transform: rotate(180deg);
}

/* 검색 - icon */
.search--i {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.search--i:before {
  display: inline-block;
  background: url("/images/openlab/search_i.svg") no-repeat center/contain;
  content: "";
}

/* 느낌표 - icon */
.info--i {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background: url("/images/openlab/box-info_i.png") center/contain no-repeat;
}

/* X(닫기 버튼) - icon */
.close--i {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.close--i:before, .close--i:after {
  display: inline-block;
  position: absolute;
  width: 2px;
  height: 12px;
  content: "";
  background-color: #fff;
}
.close--i:before {
  transform: rotate(45deg);
}
.close--i:after {
  transform: rotate(-45deg);
}

/* 준비중, 등  - icon*/
i.ready--i,
i.robot--i {
  background: url("/images/icon/const_i.svg") center/contain no-repeat;
}

/* add-info__txt 완료 - icon */
i.check-end--i {
  background: url("/images/openlab/end-i.png") center/contain no-repeat;
}

/* 본인인증 - icon */
i.certi--i {
  background: url("../images/sub/certi-i.png") center/contain no-repeat;
}

/* 모바일 인증 - icon */
i.mo-certi--i {
  background: url("../images/sub/mo-certi-i.png") center/contain no-repeat;
}

/* 중요 내용 표시(* 모양) */
.txt-point {
  margin-left: 5px;
  color: var(--fc-point1);
}

/* 조회수, 날짜, 다운로드, 좋아요 */
.view__info {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  gap: 0.5rem 2rem;
  position: absolute;
  bottom: 19px;
}
.view__info span {
  display: flex;
  align-items: center;
  color: #2d2e33;
  gap: 0.5rem;
}
.view__info i {
  display: flex;
  height: 1.5rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.view__info .view i {
  width: 1.8rem;
  background-image: url("../images/openlab/view_i.svg");
}
.view__info .date i {
  width: 1.4rem;
  background-image: url("../images/openlab/date_i.svg");
}
.view__info .download i {
  width: 1.1rem;
  background-image: url("/images/openlab/down-num_i.svg");
}
.view__info .like i {
  width: 1.3rem;
  background-image: url("/images/openlab/like_i.svg");
}

/*
 *
 * 검색 - placeholder 반응형(숨김)
 *
 */
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .search--input input[type=text]::-webkit-input-placeholder {
    color: #fff;
  }
  .search--input input[type=text]:-moz-placeholder {
    color: #fff;
    opacity: 1;
  }
  .search--input input[type=text]::-moz-placeholder {
    color: #fff;
    opacity: 1;
  }
  .search--input input[type=text]:-ms-input-placeholder {
    color: #fff;
  }
}
/*
 *
 * 말줄임(... 처리)
 *
 */
.txt-overflow {
  display: inline-block;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.txt-clamp {
  display: -webkit-box;
  overflow: hidden;
  word-break: break-all;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

/*
 *
 * 탭메뉴(공통)
 *
 */
.tab_wrap {
  width: 100%;
}
.tab_wrap .content_area {
  display: none;
}
.tab_wrap .content_area.active {
  display: block;
}

.tab_wrap *[data-depth="1"] {
  background: #f4f4f4;
}

.tab {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  height: auto;
  padding: 0.5rem 0;
  border-radius: 1.4rem;
  background-color: var(--box-basic);
}
.tab li {
  display: flex;
  flex-grow: 1;
  align-items: center;
  padding-left: 0.5rem;
}
.tab li:last-child {
  padding-right: 0.5rem;
}
.tab li.active a, .tab li.tab_link:hover a {
  color: #1f2c59;
  background-color: #fff;
}
.tab a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5rem;
  border-radius: 0.8rem;
  font-family: var(--k-ff1);
  font-size: 1.7rem;
  font-weight: 600;
  text-align: center;
  color: #91939b;
}

.tab-menu.type-02 {
  display: flex;
  flex-wrap: wrap;
  margin: 2.5rem 0 5rem;
  gap: 0.8rem;
}
.tab-menu.type-02 li.active a {
  border: 1px solid var(--box-select);
  font-weight: 700;
  color: var(--box-select);
}
.tab-menu.type-02 a {
  display: inline-block;
  padding: 1.5rem 3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--bg-box-tit);
  box-sizing: border-box;
}
.tab-menu.type-02 a:hover, .tab-menu.type-02 a:active {
  border: 1px solid var(--box-select);
  font-weight: 700;
  color: var(--box-select);
}

/*
 *
 * 탭메뉴(공통) : type2
 *
 */
.tab__area.type-02 .tab__menu {
  display: flex;
  margin-bottom: 4rem;
}
.tab__area.type-02 .tab__menu li {
  flex-grow: 1;
  position: relative;
  height: 100%;
  padding: 2rem 0;
  border-bottom: 1px solid var(--bd-basic2);
  line-height: 1;
  text-align: center;
}
.tab__area.type-02 .tab__menu li a {
  font-size: 1.6rem;
  font-weight: 600;
}
.tab__area.type-02 .tab__menu li a.active:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  margin-bottom: -0.1rem;
  content: "";
  background-color: var(--sub1);
}

.scroll-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  border-bottom: 1px solid var(--bd-basic2);
  background-color: #fff;
}
.scroll-fixed .tab__menu {
  max-width: 110rem;
  margin: 0 auto !important;
}
.scroll-fixed .tab__menu li {
  border-bottom: 0 !important;
}

/*
 *
 * 아코디언(공통)
 *
 */
.accordion-body {
  display: none;
}

.inner-accordion-header {
  cursor: pointer;
}

.inner-accordion-body {
  display: none;
}

/* 에러 메세지 : font-color */
.msg {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--msg-basic);
}

.msg--error {
  color: var(--msg-error);
}

.msg--alert {
  color: var(--charge-pay);
}

.msg--success {
  color: var(--msg-success);
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .badge.sub span {
    padding: 0.5rem 0;
  }
}
/*=============================================
=              모달창(공통 스타일)             =
=============================================*/
.modal--active {
  overflow: hidden;
  position: absolute;
  height: 100%;
}

/* background */
.modal {
  display: none;
}
.modal.active {
  display: block;
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.modal.active .site-modal__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
}
.modal.active .site-modal__wrap.pop-sm {
  max-width: 60rem;
}
.modal.active .site-modal__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: 32rem;
  width: 140rem;
  height: auto;
}

/* 닫기 - btn */
.modal-btn--close {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.5);
  transition: 0.2s ease;
}
.modal-btn--close:hover {
  background-color: var(--primary);
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .modal.active .site-modal__wrap {
    padding: 0 3rem;
  }
}
/*=====    End of 모달창(공통 스타일)    ======*/
/*====================================================
=             alert - modal(2024.09.24추가)          =
====================================================*/
.modal-wrap {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.1);
}

.modal-wrap.active {
  display: flex;
}

.modal-wrap.active .modal {
  min-width: 350px;
  max-width: 350px;
  width: 100%;
  padding: 2rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 2rem;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  animation: over-ani 0.4s ease-out;
  background-color: #fff;
}

.modal-wrap .modal .modal-cont {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 3rem;
}

.modal-wrap .modal .modal-cont p {
  font-size: 1.6rem;
  text-align: center;
  color: #333;
}

.modal-wrap .modal .modal-btn {
  display: flex;
  justify-content: center;
}

.modal-wrap .modal .modal-btn a {
  height: 50px;
  line-height: 50px;
}

.modal-wrap .modal .modal-btn02 {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

/*=====  End of alert - modal(2024.09.24추가)  ======*/
/*=============================================
=         주요홈페이지 모아보기 - modal        =
=============================================*/
#linkAll .modal-btn--close {
  right: 0 !important;
  left: auto;
  margin-top: 4.2rem;
  margin-right: 9.5rem;
  transform: initial;
}
#linkAll.active .site-modal__tit {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 28.3rem;
  padding: 4.2rem 9.3rem 0;
  border-radius: 3.5rem;
  background: linear-gradient(90deg, #193283, #03c2da);
  border-top-right-radius: 12rem;
}
#linkAll.active .site-modal__tit .tit__wrap {
  display: flex;
  flex-direction: column;
  font-family: var(--k-ff2);
  color: #fff;
}
#linkAll.active .site-modal__tit span {
  font-size: 1.7rem;
}
#linkAll.active .site-modal__tit strong {
  font-size: 3.4rem;
  letter-spacing: -0.25rem;
}
#linkAll.active .site-modal__list {
  display: flex;
  width: 94%;
  margin-top: -14.6rem;
  padding: 4rem 3rem;
  border-radius: 2rem;
  background-color: #fff;
  gap: 1.4rem;
}
#linkAll.active .site-modal__list .link {
  flex-grow: 1;
}
#linkAll.active .site-modal__list .link > a {
  display: inline-block;
  width: 100%;
  margin-bottom: 4.5rem;
  border-radius: 0.8rem;
  font-family: var(--k-ff2);
  font-size: 2rem;
  line-height: 6.5rem;
  text-align: center;
  color: #fff;
  background-color: #6c7797;
  transition: 0.2s ease;
}
#linkAll.active .site-modal__list .link > a:hover {
  background-color: #424756;
}
#linkAll.active .site-modal__list .link ul {
  margin-left: 4rem;
}
#linkAll.active .site-modal__list .link ul > li {
  line-height: 3.2rem;
}
#linkAll.active .site-modal__list .link ul > li > a {
  position: relative;
  padding-left: 1.5rem;
  font-family: var(--k-ff1);
  font-size: 1.7rem;
  font-weight: 500;
  color: #30374a;
}
#linkAll.active .site-modal__list .link ul > li > a:hover {
  color: var(--main);
}
#linkAll.active .site-modal__list .link ul > li > a:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  content: "";
  background-color: var(--li-dot2);
  transform: translateY(-50%);
}
#linkAll.active .site-modal__list div.link:not(:first-child) ul a {
  display: block;
  position: relative;
}
#linkAll.active .site-modal__list div.link:not(:first-child) ul a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 4.7rem;
  background: url("/images/openlab/more_link.svg") no-repeat;
  opacity: 0.5;
  content: "";
  transform: translateY(-50%);
}
#linkAll.active .site-modal__list div.link:not(:first-child) ul a:hover:after {
  opacity: 1;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  #linkAll.active .site-modal__wrap {
    padding: 5rem 0;
  }
  #linkAll.active .site-modal__tit {
    position: relative;
    width: 100%;
    padding: 4rem 5rem 0;
    border-radius: 3.5rem;
    background: linear-gradient(90deg, #193283, #03c2da);
    border-top-right-radius: 6.5rem;
  }
  #linkAll.active .site-modal__tit .tit__wrap {
    display: flex;
    flex-direction: column;
    font-family: var(--k-ff2);
    color: #fff;
  }
  #linkAll.active .site-modal__tit span {
    font-size: 1.7rem;
  }
  #linkAll.active .site-modal__tit strong {
    font-size: 3.4rem;
    letter-spacing: -0.25rem;
  }
  #linkAll.active .site-modal__list {
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    width: 95%;
    margin-bottom: 1.5rem;
    gap: 1rem;
  }
  #linkAll.active .site-modal__list .link > a {
    margin-bottom: 2rem;
  }
  #linkAll.active .site-modal__inner {
    width: 100%;
    margin: 3rem;
  }
  #linkAll.active .modal-btn--close {
    margin: 4rem 5rem 0 0;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  #linkAll.active {
    overflow-y: auto;
  }
  #linkAll.active .site-modal__wrap {
    height: auto;
  }
  #linkAll.active .site-modal__inner {
    margin: 3rem;
  }
  #linkAll.active .site-modal__tit {
    position: absolute;
    height: 100%;
    padding: 3rem 2rem 0;
    border-radius: 2rem 5rem 2rem 2rem;
  }
  #linkAll.active .site-modal__tit .tit__wrap {
    width: 80%;
  }
  #linkAll.active .site-modal__tit span {
    max-width: 75%;
  }
  #linkAll.active .site-modal__tit strong {
    font-size: 3rem;
  }
  #linkAll.active .site-modal__list {
    flex-wrap: wrap;
    position: relative;
    margin-top: 15rem;
    padding: 2rem 1.5rem;
    gap: 1rem;
  }
  #linkAll.active .site-modal__list .link {
    width: 49%;
  }
  #linkAll.active .site-modal__list .link ul {
    margin-left: 1rem;
  }
  #linkAll.active .site-modal__list .link > a {
    margin-bottom: 2rem;
  }
  #linkAll.active .site-modal__list div.link:not(:first-child) ul a::after {
    margin-right: 0;
  }
  #linkAll.active .modal-btn--close {
    margin: 3rem 2rem 0 0;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  #linkAll.modal.active .site-modal__tit strong {
    margin-top: 1rem;
    font-size: 2.5rem;
  }
}
/*=====  End of 주요홈페이지 모아보기 - modal  ======*/
/*=============================================
=               사이트맵 - modal              =
=============================================*/
#siteMap {
  font-family: var(--k-ff1);
}
#siteMap .modal-btn--close {
  position: absolute;
  top: 5rem;
  background-image: none;
}
#siteMap .site-modal__gnb {
  overflow: auto;
  margin-top: 15rem;
  line-height: 1;
  color: white;
}
#siteMap.modal.active {
  padding: 5rem 0;
}
#siteMap.modal.active .site-modal__inner {
  width: auto;
  height: 90%;
}
#siteMap .depth1 a {
  font-size: 2.4rem;
  font-weight: 600;
}
#siteMap .depth2 {
  height: auto !important;
  margin-top: 6.5rem;
}
#siteMap .depth2 > li:not(:last-child) {
  padding-bottom: 3.3rem;
}
#siteMap .depth2 h3 a {
  font-size: 1.8rem;
  font-weight: 500;
}
#siteMap .depth3 {
  padding-top: 2.7rem;
}
#siteMap .depth3 > li {
  padding-bottom: 1.2rem;
}
#siteMap .depth3 h4 a {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.5rem;
  font-weight: 300 !important;
  opacity: 0.6;
}
#siteMap .depth3 h4 a:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
  background-color: #fff;
}

/* 사이트맵 스크롤 커스텀 */
#siteMap .mCustomScrollBox {
  height: 100%;
}
#siteMap .mCSB_inside > .mCSB_container ul.scroll__inner {
  display: flex;
  flex-wrap: wrap;
  min-width: 102.4rem;
  margin-left: 10rem;
  gap: 6rem 0;
}
#siteMap .mCSB_inside > .mCSB_container ul.scroll__inner > li {
  width: 25rem;
}
#siteMap .mCSB_inside > .mCSB_container a {
  text-align: left;
}
#siteMap .mCSB_inside > .mCSB_container a:hover {
  text-decoration: underline;
  opacity: 1;
}
#siteMap .mCSB_scrollTools .mCSB_draggerRail {
  display: none;
}
#siteMap .mCSB_scrollTools .mCSB_draggerContainer {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1600px) {
  #siteMap .site-modal__gnb > ul > li {
    width: 20rem;
  }
}
/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  #siteMap .mCSB_inside > .mCSB_container ul.scroll__inner > li {
    min-width: 15rem;
    width: 33.3%;
  }
  #siteMap .depth2 {
    margin-top: 3rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  #siteMap .mCSB_inside > .mCSB_container ul.scroll__inner {
    min-width: auto;
    margin-left: 5rem;
  }
}
/*=====     End of 사이트맵 - modal      ======*/
/*=============================================
=               통합검색 - modal               =
=============================================*/
#searchArea {
  color: #fff;
}
#searchArea .site-modal__inner {
  height: 45rem;
}
#searchArea .site-modal__tit {
  padding: 5rem 0 4.5rem;
}
#searchArea .tit__wrap {
  display: flex;
  flex-direction: column;
  line-height: 1;
  text-align: center;
  gap: 2.5rem;
}
#searchArea .tit__wrap strong {
  font-family: var(--k-ff2);
  font-size: 3rem;
}
#searchArea .tit__wrap span {
  padding: 0 4rem;
  font-size: 1.8rem;
  line-height: 1.2;
}
#searchArea .search__inner {
  position: relative;
  white-space: nowrap;
  vertical-align: middle;
}
#searchArea .search__inner #mainSearch {
  width: 72rem;
  height: 8rem;
  margin-bottom: 4rem;
  padding-left: 4.5rem;
  border: 5px solid #4670ff;
  border-radius: 1rem;
  background: transparent;
  font-size: 2.4rem;
  color: #fff;
  box-sizing: border-box;
  transition: background 0.55s ease;
}
#searchArea .search__inner #mainSearch::-webkit-input-placeholder {
  font-family: var(--k-ff1);
  font-size: 2.4rem;
  color: #fff;
}
#searchArea .search__inner #mainSearch::-moz-placeholder {
  font-family: var(--k-ff1);
  font-size: 2.4rem;
  /* Firefox 19+ */
  color: #fff;
}
#searchArea .search__inner #mainSearch:-moz-placeholder {
  font-family: var(--k-ff1);
  font-size: 2.4rem;
  /* Firefox 18- */
  color: #fff;
}
#searchArea .search__inner #mainSearch:-ms-input-placeholder {
  font-family: var(--k-ff1);
  font-size: 2.4rem;
  color: #fff;
}
#searchArea .search__inner #mainSearch:hover,
#searchArea .search__inner #mainSearch:focus,
#searchArea .search__inner #mainSearch:active {
  background: #fff;
  color: var(--fc-bold);
  outline: none;
}
#searchArea .search__inner #mainSearch:hover::-webkit-input-placeholder,
#searchArea .search__inner #mainSearch:focus::-webkit-input-placeholder,
#searchArea .search__inner #mainSearch:active::-webkit-input-placeholder {
  color: var(--fc-bold);
}
#searchArea .search__inner #mainSearch:hover::-moz-placeholder,
#searchArea .search__inner #mainSearch:focus::-moz-placeholder,
#searchArea .search__inner #mainSearch:active::-moz-placeholder {
  /* Firefox 19+ */
  color: var(--fc-bold);
}
#searchArea .search__inner #mainSearch:hover:-moz-placeholder,
#searchArea .search__inner #mainSearch:focus:-moz-placeholder,
#searchArea .search__inner #mainSearch:active:-moz-placeholder {
  /* Firefox 18- */
  color: var(--fc-bold);
}
#searchArea .search__inner #mainSearch:hover:-ms-input-placeholder,
#searchArea .search__inner #mainSearch:focus:-ms-input-placeholder,
#searchArea .search__inner #mainSearch:active:-ms-input-placeholder {
  color: var(--fc-bold);
}
#searchArea .search__inner button.btn--search {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 18rem;
  height: 8rem;
  border: none;
  border-radius: 10px;
  font-size: 2.4rem;
  font-weight: 600;
  color: #fff;
  background-color: #4670ff;
}
#searchArea .search__inner button.btn--search .search--i:before {
  width: 2.1rem;
  height: 2.1rem;
  margin-left: 2rem;
}

.recommend strong {
  display: inline-block;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
}
.recommend ul {
  display: flex;
  gap: 4.5rem;
}
.recommend ul li a {
  position: relative;
  padding-left: 3.5rem;
  font-family: var(--k-ff1);
  font-size: 1.8rem;
}
.recommend ul li a:before {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  line-height: 2.5rem;
  text-align: center;
  color: #fff;
  content: "#";
  background-color: #20acdd;
}

.site-modal__search {
  /* IE의 경우 */
  /* 크롬의 경우 */
}
.site-modal__search input::-ms-clear,
.site-modal__search input::-ms-reveal {
  position: absolute;
  right: 0;
  opacity: 0;
}
.site-modal__search input::-webkit-search-decoration,
.site-modal__search input::-webkit-search-cancel-button,
.site-modal__search input::-webkit-search-results-button,
.site-modal__search input::-webkit-search-results-decoration {
  position: absolute;
  right: 0;
  opacity: 0;
}

/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  #searchArea .search__inner button.btn--search {
    width: 10rem;
    font-size: 1.8rem;
  }
  #searchArea .search__inner button.btn--search .search--i:before {
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 0.5rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  #searchArea {
    padding: 0 3rem;
  }
  #searchArea .search__inner #mainSearch {
    width: 100%;
    height: 6rem;
    padding-left: 2rem;
    border: 3px solid #4670ff;
    border-radius: 5px;
    font-size: 1.6rem;
  }
  #searchArea .search__inner #mainSearch::-webkit-input-placeholder {
    font-size: 1.6rem;
  }
  #searchArea .search__inner #mainSearch::-moz-placeholder {
    font-size: 1.6rem;
    /* Firefox 19+ */
  }
  #searchArea .search__inner #mainSearch:-moz-placeholder {
    font-size: 1.6rem;
    /* Firefox 18- */
  }
  #searchArea .search__inner #mainSearch:-ms-input-placeholder {
    font-size: 1.6rem;
  }
  #searchArea .search__inner button.btn--search {
    height: 6rem;
  }
  #searchArea .recommend ul {
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  #searchArea .recommend ul li a {
    padding-left: 2.5rem;
    font-size: 1.6rem;
  }
  #searchArea .recommend ul li a:before {
    width: 2rem;
    height: 2rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
/*=====     End of 통합검색 - modal     ======*/
/*=============================================
=                    HEADER                   =
=============================================*/
/* 메인 메뉴 - 기본상태 */
/*header {*/
/*  position: absolute;*/
/*  z-index: 60;*/
/*  width: 100%;*/
/*  box-sizing: border-box;*/
/*  background-color: rgba(255, 255, 255, 0);*/
/*  transition: 0.5s;*/
/*}*/

.header.sub {
  height: 13rem;
  background-color: rgb(255, 255, 255);
  transition: 0.3s;
}

.header__gnb__right button svg .cls-1,
.header__gnb__right button svg .cls-2 {
  fill: var(--fc-bold) !important;
}
.header__gnb__right button svg .cls-1 {
  isolation: isolate;
}

/* 주요 홈페이지 모아보기 : btn */
#btnSiteModal {
  display: none;
  position: relative;
  padding-left: 2rem;
  font-weight: 700;
  color: #294ec7;
}
#btnSiteModal:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.1rem;
  height: 1.1rem;
  background: url("/images/openlab/site_popup_btn.svg") center/100% no-repeat;
  content: "";
  transform: translateY(-50%);
}

/* 검색 : btn */
#btnSearchOpen {
  width: 2.6rem;
  height: 2.6rem;
  margin-right: 4.5rem;
}

/* 사이트맵 : btn */
#btnSiteMap {
  width: 2.5rem;
  height: 2rem;
}

/* 유틸메뉴 - 공통 스타일 */
.header__util {
  font-family: var(--k-ff1);
  font-size: 14px;
  font-weight: 700;
  background-color: #fff;
}
.header__util__wrap {
  display: flex;
  justify-content: space-between;
}
.header__util__menu {
  display: flex;
  align-items: center;
}
.header__util__menu li.on {
  margin: 0;
}
.header__util__menu li.on a {
  display: inline-block;
  line-height: 4rem;
  color: #fff;
}

/* 좌측 유틸 - 각 홈페이지 이동 */
.header__util__link {
  display: flex;
  justify-content: space-between;
}
.header__util__link .inner {
  display: flex;
  align-items: center;
}
.header__util__link li {
  position: relative;
}
.header__util__link li a {
  display: inline-block;
  padding: 0 30px;
  font-weight: 500;
  line-height: 40px;
  color: #fff;
  background-color: #3e359b;
}
.header__util__link li i {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 1rem;
  background: url("../images/openlab/arrow_icon_w.svg") center/contain no-repeat;
  opacity: 0.5;
}
.header__util__link li:not(:first-child):before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.2rem;
  height: 0.2rem;
  margin-top: -0.2rem;
  content: "";
  background-color: #6c7aa7;
  transform: translateY(50%);
}
.header__util__link li.on {
  margin: 0;
  padding: 0;
}
.header__util__link li.on:before, .header__util__link li.on.on + li::before {
  display: none;
}
.header__util__link li.on a {
  display: inline-block;
  padding: 0 3rem;
  font-weight: 800;
  color: #2a3242;
  background-color: #fff;
}
.header__util__link li.on i {
  display: none;
}

/* 우측 유틸 */
.header__util__menu {
  margin-right: 3rem;
}
.header__util__menu li:not(:last-child) {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 2.8rem;
}
.header__util__menu li:not(:last-child):before {
  position: absolute;
  right: 0;
  width: 1px;
  height: calc(100% - 0.5rem);
  content: "";
  background-color: rgba(255, 255, 255, 0.3);
}
.header__util__menu li:not(:first-child) {
  padding-left: 2.8rem;
}
.header__util__menu li a {
  color: #fff;
}

.header__util__menu li span {
  color: #fff;
}

.header__util {
  background-color: #3e359b;
}
.header__util.on {
  position: absolute;
  z-index: 9999;
  width: 100%;
}

.header__gnb {
  width: 100%;
  font-family: var(--k-ff1);
}

.header__gnb__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 9rem;
  margin: 0 8rem;
}

.header__gnb__logo {
  position: relative;
  z-index: 100;
}
.header__gnb__logo img {
  height: 3.7rem;
}

.header__gnb__pc {
  position: absolute;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  box-sizing: border-box;
}
.header__gnb__pc .item {
  display: flex;
  position: absolute;
  left: 0;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  background-color: #fff;
}
.header__gnb__pc .item .inner {
  display: flex;
  margin: 0 8rem;
}
.header__gnb__pc .header__gnb__left {
  position: relative;
  z-index: 1;
  min-width: 31.5rem;
  padding: 8.8rem 0 8rem;
  border-right: 1px solid #e5e5e5;
  text-align: left;
}
.header__gnb__pc .header__gnb__left:after {
  position: absolute;
  bottom: 0;
  z-index: -1;
  width: 30rem;
  height: 18.8rem;
  background: url("../images/openlab/gnb_bg.jpg") bottom right/cover no-repeat;
  content: "";
}
.header__gnb__pc .header__gnb__left span {
  display: inline-block;
  margin-bottom: 2.5rem;
  font-family: var(--e-ff1);
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.025em;
  color: #2a3242;
}
.header__gnb__pc .header__gnb__left p {
  font-size: 1.6rem;
  color: #757a87;
}
.header__gnb__pc .header__gnb__menu {
  display: flex;
  justify-content: center;
  margin-top: -1px;
}
.header__gnb__pc .header__gnb__menu > li {
  width: 20rem;
  margin: 0;
}
.header__gnb__pc .header__gnb__menu > li:hover .item {
  display: block;
}
.header__gnb__pc .header__gnb__menu > li .item {
  display: none;
  box-shadow: 0.5rem 0.5rem 0.8rem rgba(100, 110, 144, 0.1);
}
.header__gnb__pc .depth1 a {
  display: inline-block;
  position: relative;
  height: 9rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 9rem;
  color: #303543;
}
.header__gnb__pc .depth1 a:hover {
  color: var(--primary);
}
.header__gnb__pc .depth1 a.active:after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--primary);
  content: "";
}
.header__gnb__pc .depth2 {
  display: flex;
  flex-wrap: wrap;
  margin-left: 6rem;
  padding: 4rem 0 5rem;
  text-align: left;
  gap: 4rem;
}
.header__gnb__pc .depth2 h3 a {
  display: inline-block;
  display: flex;
  align-items: center;
  position: relative;
  width: 24rem;
  height: 5rem;
  padding-left: 2.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.8rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #3e4556;
  box-sizing: border-box;
  background-color: #f7f8fa;
}
.header__gnb__pc .depth2 h3 a:after {
  position: absolute;
  right: 0;
  width: 12px;
  height: 7px;
  margin-right: 2.5rem;
  background: url("../images/openlab/arrow3_i.png") center/contain no-repeat;
  content: "";
}
.header__gnb__pc .depth3 {
  display: flex;
  flex-direction: column;
  margin-top: 2.5rem;
  gap: 2rem;
}
.header__gnb__pc .depth3 > li {
  position: relative;
  padding-left: 1.5rem;
}
.header__gnb__pc .depth3 > li:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  content: "";
  background-color: var(--primary);
  transform: translateY(-50%);
}
.header__gnb__pc .depth3 h4 a {
  font-size: 1.6rem;
  font-weight: 500;
  color: #757a87;
}
.header__gnb__pc .depth3 h4 a:hover {
  font-weight: 600;
  color: var(--main);
}

/* My Health - 로그인 전 */
.login--before .inner {
  justify-content: center;
  padding: 7.5rem 0;
}
.login--before .inner p {
  font-size: 2rem;
  letter-spacing: -0.03em;
}
.login--before .inner strong {
  font-weight: 700;
}
.login--before .btn__list li {
  flex-grow: 1;
}
.login--before .btn__list li.btn--login a {
  background-color: #3b5bc6;
}
.login--before .btn__list li.btn--login a i:before {
  background: url("/images/openlab/login_i.png") center/contain no-repeat;
}
.login--before .btn__list li.btn--join a {
  background-color: var(--sub);
}
.login--before .btn__list li.btn--join a i:before {
  background: url("/images/openlab/join_i.png") center/contain no-repeat;
}
.login--before .btn__list li.btn--logout a {
  background-color: var(--bg-box-tit);
}
.login--before .btn__list li.btn--logout a i:before {
  background: url("/images/openlab/logout_i.png") center/contain no-repeat;
}
.login--before .btn__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13rem !important;
  padding: 2.4rem 0;
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #fff !important;
}
.login--before .btn__list li a i {
  position: relative;
  width: 1.8rem;
  height: 1.9rem;
  margin-right: 1rem;
}
.login--before .btn__list li a i:before {
  display: inline-block;
  position: absolute;
  left: 0;
  width: 1.8rem;
  height: 1.9rem;
  content: "";
}

/* 찾기, 사이트맵 버튼 */
.header__gnb__right {
  display: flex;
  align-items: center;
  z-index: 20;
}
.header__gnb__right button svg .cls-1 {
  isolation: isolate;
}
.header__gnb__right button svg .cls-2 {
  fill: #fff;
  stroke-width: 0px;
}

#btnSearchOpen {
  width: 2.6rem;
  height: 2.6rem;
  margin-right: 4.5rem;
}

#btnSiteMap,
#btnMobileMenu {
  width: 2.5rem;
  height: 2rem;
}

#mobileMenu {
  display: none;
}

/* GNB - 모바일 */
.header__gnb__mo {
  display: none;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .header__gnb__wrap {
    margin: 0 3rem;
  }
  .header__gnb__wrap .header__gnb__menu > li {
    width: 15rem;
  }
  header {
    min-width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .header__gnb__pc {
    display: none;
  }
  .header__util__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 4rem;
    margin: 0 3rem;
  }
  .header__util__link li:not(last-child) {
    display: none;
  }
  .header__util__menu {
    margin-right: 0;
  }
  #mobileMenu {
    position: fixed !important;
    top: 0;
    z-index: 9990;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }
  #mobileMenu .modal-btn--close:hover {
    background-color: inherit;
  }
  #mobileMenu.active {
    display: block !important;
  }
  #mobileMenu.active .header__mo__menu {
    display: flex;
    flex-direction: column;
    top: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: #fff;
    overflow-y: auto;
    gap: 1rem;
  }
  #mobileMenu.active .header__mo__menu .item:not(:last-child),
  #mobileMenu.active .header__mo__menu .header__mo__menu .item:not(:last-child) {
    padding-bottom: 0;
  }
  #mobileMenu.active .header__mo__top {
    margin-top: 4rem;
    border-bottom: 1px solid var(--bd-basic2);
  }
  #mobileMenu.active .header__mo__top .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 9rem;
    margin: 0 3rem;
  }
  #mobileMenu.active .header__mo__top .modal-btn--close {
    position: static !important;
    width: 20px;
    height: 20px;
  }
  #mobileMenu.active .header__mo__top .modal-btn--close .close--i:before, #mobileMenu.active .header__mo__top .modal-btn--close .close--i:after {
    height: 20px;
    background-color: #424756;
  }
  #mobileMenu.active .header__mo__btm {
    padding: 0 3rem 3rem;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn {
    display: flex;
    padding: 2.5rem 0;
    gap: 2rem;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li {
    flex-grow: 1;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--login a {
    background-color: #3b5bc6;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--login a i:before {
    background: url("/images/openlab/login_i.png") center/contain no-repeat;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--join a {
    background-color: var(--sub);
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--join a i:before {
    background: url("/images/openlab/join_i.png") center/contain no-repeat;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--logout a {
    background-color: var(--bg-box-tit);
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--logout a i:before {
    background: url("/images/openlab/logout_i.png") center/contain no-repeat;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--mypage a {
    background-color: #3b5bc6;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li.btn--mypage a i:before {
    background: url("/images/openlab/join_i.png") center/contain no-repeat;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2.4rem 0;
    border-radius: 0.7rem;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    color: #fff;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li a i {
    position: relative;
    width: 1.8rem;
    height: 1.9rem;
    margin-right: 1rem;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn li a i:before {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 1.8rem;
    height: 1.9rem;
    content: "";
  }
  #linkAll.active .site-modal__wrap {
    padding: 5rem 0;
  }
  #linkAll.active .site-modal__tit {
    position: relative;
    width: 100%;
    padding: 4rem 5rem 0;
    border-radius: 3.5rem;
    background: linear-gradient(90deg, #193283, #03c2da);
    border-top-right-radius: 6.5rem;
  }
  #linkAll.active .site-modal__tit .tit__wrap {
    display: flex;
    flex-direction: column;
    font-family: var(--k-ff2);
    color: #fff;
  }
  #linkAll.active .site-modal__tit span {
    font-size: 1.7rem;
  }
  #linkAll.active .site-modal__tit strong {
    font-size: 3.4rem;
    letter-spacing: -0.25rem;
  }
  #linkAll.active .site-modal__list {
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    width: 95%;
    margin-bottom: 1.5rem;
    gap: 1rem;
  }
  #linkAll.active .site-modal__list .link > a {
    margin-bottom: 2rem;
  }
  #linkAll.active .site-modal__inner {
    width: 100%;
    margin: 3rem;
  }
  #siteMap .depth1 {
    flex-wrap: wrap;
    width: auto;
    gap: 15rem;
  }
  #siteMap .depth2 > li {
    padding-bottom: 2.5rem;
  }
  #btnSiteModal {
    display: block;
    position: relative;
    padding-right: 2.2rem;
    color: #fff;
  }
  #btnSiteModal:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-top: 5px solid #fff;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: "";
    transform: translateY(-2px);
  }
  #btnSiteMap {
    display: none;
  }
  .login--before .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--bd-basic2);
    text-align: center;
    gap: 3rem;
  }
  .login--before p,
  .login--before .btn__list {
    width: 80%;
  }
  .login--before .btn__list li a {
    width: auto !important;
    padding: 0 1rem;
  }
}
.accordion,
.header__mo__menu {
  font-family: var(--k-ff1);
  color: #424756;
}
.accordion .item:not(:last-child),
.header__mo__menu .item:not(:last-child) {
  margin-bottom: 1rem;
}
.accordion .item .depth1,
.accordion .item .inner-accordion-header > a,
.header__mo__menu .item .depth1,
.header__mo__menu .item .inner-accordion-header > a {
  padding-left: 3.5rem;
}
.accordion .item.active .depth1,
.header__mo__menu .item.active .depth1 {
  border: 1px solid var(--primary);
  border-radius: 0.7rem 0.7rem 0 0 !important;
  color: #fff;
  background-color: var(--primary);
}
.accordion .item.active .arrow--i,
.header__mo__menu .item.active .arrow--i {
  transform: rotate(315deg);
}
.accordion .item.active .depth2 .inner-accordion.active .plus--i:before,
.header__mo__menu .item.active .depth2 .inner-accordion.active .plus--i:before {
  transform: rotate(0deg);
}
.accordion .item.active .depth2 .inner-accordion-header,
.header__mo__menu .item.active .depth2 .inner-accordion-header {
  position: relative;
}
.accordion .item.active .depth2 .inner-accordion-header a,
.header__mo__menu .item.active .depth2 .inner-accordion-header a {
  display: block;
  width: 100%;
  height: 100%;
}
.accordion .item.active .depth2 .inner-accordion-header .plus--i,
.header__mo__menu .item.active .depth2 .inner-accordion-header .plus--i {
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 13px;
  height: 13px;
  transform: translateY(-50%);
}
.accordion .item.active .depth2 .inner-accordion-header .plus--i:before, .accordion .item.active .depth2 .inner-accordion-header .plus--i:after,
.header__mo__menu .item.active .depth2 .inner-accordion-header .plus--i:before,
.header__mo__menu .item.active .depth2 .inner-accordion-header .plus--i:after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 13px;
  height: 2px;
  content: "";
  transition: 0.3s;
  background-color: #424756;
}
.accordion .item.active .depth2 .inner-accordion-header .plus--i:before,
.header__mo__menu .item.active .depth2 .inner-accordion-header .plus--i:before {
  transform: rotate(90deg);
}
.accordion .depth1,
.header__mo__menu .depth1 {
  position: relative;
  padding-left: 0 !important;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 6.5rem;
  box-sizing: border-box;
}
.accordion .depth1:hover,
.header__mo__menu .depth1:hover {
  cursor: pointer;
}
.accordion .depth1 a,
.header__mo__menu .depth1 a {
  display: block;
  padding-left: 3.5rem;
}
.accordion .depth1 .arrow--i,
.header__mo__menu .depth1 .arrow--i {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 10px;
  height: 10px;
  border-top: 3px solid #969faf;
  border-right: 3px solid #969faf;
  transition: 0.5s;
  transform: translateY(-50%) rotate(135deg);
}
.accordion .depth1.active,
.header__mo__menu .depth1.active {
  border: 1px solid var(--primary);
  border-radius: 0.7rem 0.7rem 0 0;
  color: #fff;
  background-color: var(--primary);
}
.accordion .depth1.active .arrow--i,
.header__mo__menu .depth1.active .arrow--i {
  transform: rotate(315deg);
}
.accordion .depth2,
.header__mo__menu .depth2 {
  font-size: 1.6rem;
  font-weight: 600;
}
.accordion .depth2 > li,
.header__mo__menu .depth2 > li {
  margin-top: -1px;
}
.accordion .depth2 > li h3,
.header__mo__menu .depth2 > li h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--bd-basic2);
  line-height: 5.8rem;
}
.accordion .depth3,
.header__mo__menu .depth3 {
  padding: 2rem 0;
  border: 1px solid var(--bd-basic2);
  border-top: none;
}
.accordion .depth3 a,
.header__mo__menu .depth3 a {
  position: relative;
  margin-left: 3.5rem;
  padding-left: 1.2rem;
  font-size: 1.6rem;
  line-height: 4.5rem;
}
.accordion .depth3 a:before,
.header__mo__menu .depth3 a:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
  background-color: #3b5bc6;
}

/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  #linkAll.modal.active {
    overflow-y: auto;
  }
  #linkAll.modal.active .site-modal__wrap {
    height: auto;
  }
  #linkAll.modal.active .site-modal__inner {
    margin: 3rem;
  }
  #linkAll.modal.active .site-modal__tit {
    position: absolute;
    height: 100%;
    padding: 3rem 2rem 0;
    border-radius: 2rem 5rem 2rem 2rem;
  }
  #linkAll.modal.active .site-modal__tit .tit__wrap {
    width: 80%;
  }
  #linkAll.modal.active .site-modal__tit span {
    max-width: 70%;
  }
  #linkAll.modal.active .site-modal__tit strong {
    font-size: 3rem;
  }
  #linkAll.modal.active .site-modal__list {
    flex-wrap: wrap;
    position: relative;
    margin-top: 15rem;
    padding: 2rem 1.5rem;
    gap: 1rem;
  }
  #linkAll.modal.active .site-modal__list .link {
    width: 49%;
  }
  #linkAll.modal.active .site-modal__list .link ul {
    margin-left: 1rem;
  }
  #linkAll.modal.active .site-modal__list .link > a {
    margin-bottom: 2rem;
  }
  #linkAll.modal.active .site-modal__list div.link:not(:first-child) ul a::after {
    margin-right: 0;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn {
    gap: 1rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  #linkAll.modal.active .site-modal__tit strong {
    margin-top: 1rem;
    font-size: 2.5rem;
  }
  #btnSiteModal {
    font-size: 1.2rem;
  }
  .header__util__menu li {
    font-size: 1.2rem;
  }
  .header__util__menu li:not(:last-child) {
    padding-right: 1rem;
  }
  .header__util__menu li:not(:first-child) {
    padding-left: 1rem;
  }
  .header__util__wrap,
  .header__gnb__wrap,
  #mobileMenu.active .header__mo__top .inner {
    margin-right:2rem;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn {
    gap: 1rem;
  }
}
/*=====           End of HEADER         ======*/
/*=============================================
=                   FOOTER                    =
=============================================*/
#bottom {
  background-color: #39415d;
}

.footer__top {
  display: flex;
  background-color: #323a55;
}
.footer__top .container {
  width: 160rem;
}
.footer__top ul {
  display: flex;
  align-items: center;
  height: 7rem;
}
.footer__top ul li {
  padding: 0 3.2rem;
}
.footer__top ul li:nth-child(1) {
  padding-left: 0;
}
.footer__top ul li:nth-child(1) a {
  color: #6aecff;
}
.footer__top ul li:not(:last-child) {
  position: relative;
}
.footer__top ul li:not(:last-child):after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 70%;
  content: "";
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.2);
}
.footer__top ul li a {
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
}

.footer__btm {
  padding: 6.5rem 3rem 8rem;
}
.footer__btm .container {
  display: flex;
  justify-content: space-between;
  color: rgb(255, 255, 255);
}

.footer__left {
  opacity: 0.6;
}
.footer__left .footer-logo img {
  height: 3.7rem;
}
.footer__left address {
  margin: 3.8rem 0 4.5rem;
  font-family: var(--k-ff1);
  font-size: 1.6rem;
}
.footer__left > p {
  font-size: 1.3rem;
}

.footer__right > div {
  width: 32rem;
  border-radius: 1rem;
  background-color: #323a55;
}

.footer__right__family {
  margin-bottom: 1.3rem;
}
.footer__right__family.active .family__wrap {
  visibility: visible;
  opacity: 1;
}
.footer__right__family.active i:after {
  transform: rotate(180deg);
}
.footer__right__family .family__wrap {
  visibility: hidden;
  position: relative;
  opacity: 0;
  transition: 0.3s;
}
.footer__right__family .family__wrap .inner {
  position: absolute;
  bottom: 0;
}
.footer__right__family .family__wrap .inner ul {
  padding: 1rem 0;
  border: 1px solid var(--bd-basic);
  border-radius: 1rem;
  background-color: #fff;
}
.footer__right__family .family__wrap .inner ul li {
  width: 30rem;
  padding: 1.2rem 3.8rem;
  box-sizing: border-box;
}
.footer__right__family .family__wrap .inner ul li a {
  font-size: 1.4rem;
  font-weight: 600;
  color: #1e2029;
}
.footer__right__family .family__wrap .inner ul li a:hover {
  color: var(--primary);
}
.footer__right__family .family--btn {
  display: block;
  width: 100%;
  height: 6rem;
  border-radius: 1rem;
  font-size: 1.7rem;
  line-height: 6rem;
}
.footer__right__family .family--btn div {
  display: flex;
  justify-content: space-between;
  padding: 0 3.8rem;
}
.footer__right__family .family--btn i {
  display: flex;
  align-items: center;
  position: relative;
}
.footer__right__family .family--btn i:after {
  display: inline-block;
  position: absolute;
  width: 1rem;
  height: 0.8rem;
  background: url(../images/openlab/family_btn_arrow.svg) no-repeat;
  content: "";
  transition: transform 0.3s;
}

.footer__right__certific {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 12rem;
  padding: 0 3.8rem;
  gap: 1.5rem;
}
.footer__right__certific span {
  font-size: 1.3rem;
}

/* top 버튼 */
#topBtn {
  position: fixed;
  right: 3rem;
  bottom: 3rem;
  width: 11.9rem;
  height: 11.9rem;
  border-radius: 50%;
  background-color: #000;
}
#topBtn .btn--top-i {
  display: flex;
  justify-content: center;
  align-items: center;
}
#topBtn .btn--top-i:before {
  display: inline-block;
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../images/openlab/icon_top_arrow_w.svg") no-repeat;
  content: "";
  transform: rotate(-45deg);
}
#topBtn .btn--top-i:after {
  display: inline-block;
  position: absolute;
  width: 8.6rem;
  height: 8.6rem;
  background: url("../images/openlab/top_btn_txt.png") center/contain;
  content: "";
  animation: rotate 8s linear infinite;
}
#topBtn:hover {
  background-color: var(--main);
  transition: 0.3s all;
}

/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1600px) {
  .footer__top .container {
    padding: 0 3rem;
  }
}
/* width(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .footer__btm .container {
    gap: 3rem;
  }
  .family--btn div {
    padding: 0 3rem;
  }
  .footer__right__certific {
    padding: 0 3rem;
  }
  .footer__right__certific span {
    font-size: 1.7rem;
  }
  #topBtn {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  aside {
    position: relative;
    height: auto;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .footer__top ul li {
    padding: 0 1.5rem;
  }
  .footer__top ul li a {
    font-size: 1.7rem;
  }
  .footer__btm {
    padding: 6.5rem 3rem;
  }
  .footer__btm .container {
    flex-direction: column;
  }
  .footer__right > div {
    width: 100%;
  }
  .footer__right__family {
    margin-top: 5rem;
  }
  .footer__right__family .family__wrap .inner {
    width: 100%;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .footer__top .container {
    padding: 0 2rem;
  }
  .footer__right__certific span {
    font-size: 1.4rem;
  }
  .footer__top ul li {
    padding: 0 1rem;
  }
  .footer__top ul li a {
    font-size: 1.5rem;
  }
  .footer__btm {
    padding: 4rem 2rem;
  }
  .footer__btm .container {
    flex-direction: column;
  }
  .footer__right > div {
    width: 100%;
  }
  .footer__right__family {
    margin-top: 5rem;
  }
  .footer__right__family .family__wrap .inner {
    width: 100%;
  }
}
/*=====          End of FOOTER         ======*/
/*=============================================
=                    준비중                   =
=============================================*/
.ready-page__area {
  max-height: 100rem;
}

.ready-page i.ready--i {
  width: 11.6rem !important;
  height: 10.6rem !important;
}
.ready-page .add-info__wrap .inner {
  padding: 14rem 10rem;
  gap: 4rem !important;
}

/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .ready-page .add-info__wrap .inner {
    padding: 7rem 5rem;
    gap: 0 !important;
  }
}
/*=====          End of 준비중         ======*/
/*=============================================
=               서브 페이지(공통)              =
=============================================*/
/* 서브 비주얼 */
@keyframes subViAni {
  0% {
    margin: 0;
    border-radius: 0;
  }
  100% {
    margin: 0 8rem;
    border-radius: 1.7rem;
  }
}
.sub-vi {
  position: relative;
  width: 100%;
  margin-top: 13rem;
}
.sub-vi__box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16rem;
  margin: 0;
  border-radius: 0;
  animation: subViAni 0.8s 0s ease-in-out forwards;
  background-color: var(--bg-sub-vi);
}
.sub-vi h2 {
  font-family: var(--k-ff1);
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary);
}

.sub-vi__btn {
  position: relative;
}

.sub-vi__btn__list {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  left: 50%;
  width: 100%;
  margin-top: -2rem;
  transform: translateX(-50%);
  gap: 0.5rem;
}
.sub-vi__btn__list button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  box-sizing: border-box;
}
.sub-vi__btn__list button:hover {
  cursor: pointer;
}
.sub-vi__btn__list button:before, .sub-vi__btn__list button:after {
  display: inline-block;
  content: "";
}
.sub-vi__btn__list button.btn--zoom-in, .sub-vi__btn__list button.btn--zoom-out {
  border: 1px solid var(--bd-basic2);
  background-color: #fff;
}
.sub-vi__btn__list button.btn--zoom-in:before, .sub-vi__btn__list button.btn--zoom-in:after, .sub-vi__btn__list button.btn--zoom-out:before, .sub-vi__btn__list button.btn--zoom-out:after {
  background-color: #424756;
}
.sub-vi__btn__list button.btn--zoom-in:before {
  width: 2px;
  height: 10px;
}
.sub-vi__btn__list button.btn--zoom-in:after {
  position: absolute;
  width: 10px;
  height: 2px;
}
.sub-vi__btn__list button.btn--zoom-out:before {
  width: 10px;
  height: 2px;
}
.sub-vi__btn__list button.btn--print:before, .sub-vi__btn__list button.btn--share:before {
  height: 14px;
  background-repeat: no-repeat;
  background-size: contain;
}
.sub-vi__btn__list button.btn--print {
  background-color: #95a1b8;
}
.sub-vi__btn__list button.btn--print:before {
  width: 14px;
  background-image: url("/images/openlab/print_i.png");
}
.sub-vi__btn__list button.btn--share {
  background-color: #2c428c;
}
.sub-vi__btn__list button.btn--share:before {
  width: 15px;
  background-image: url("/images/openlab/share_i.png");
}

/* LNB */
#lnb {
  max-width: 28rem;
  width: 100%;
}
#lnb .lnb {
  position: relative;
  margin-bottom: 10rem;
}

.lnb__tit {
  padding: 5rem 0;
  border-radius: 1.8rem 3.8rem 1.8rem 1.8rem;
  background: var(--bg-gra);
}
.lnb__tit h2 {
  font-family: var(--k-ff2);
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.2rem;
  color: #fff;
}

.lnb__menu__list {
  margin-top: 2rem;
}
.lnb__menu__list li.item:hover {
  cursor: pointer;
}
.lnb__menu__list li.item .depth1 {
  padding-left: 0;
}
.lnb__menu__list li.item .depth2 .inner-accordion a {
  width: auto;
}
.lnb__menu__list li.item a {
  display: block;
  width: 100%;
  height: 100%;
  padding-left: 3.5rem;
}
.lnb__menu__list li.item.active h3.depth1 {
  border: 1px solid var(--openLab);
  border-radius: 0.7rem 0.7rem 0 0;
  color: #fff;
  background-color: var(--openLab);
}
.lnb__menu__list li.item.active h3.depth1 .arrow--i {
  border-top: 3px solid rgba(255, 255, 255, 0.5);
  border-right: 3px solid rgba(255, 255, 255, 0.5);
}
.lnb__menu__list li.item.active .bd-radius {
  border-radius: 0.7rem !important;
}
.lnb__menu__list li.item.active ul.depth2 {
  display: block;
  margin-top: -1px;
  padding: 2.5rem 0 2.5rem 3.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0 0 0.7rem 0.7rem;
  background-color: var(--box-basic);
}
.lnb__menu__list li.item.active ul.depth2:hover {
  cursor: default;
}
.lnb__menu__list li.item.active ul.depth2 > li:not(:last-child) {
  margin-bottom: 2rem;
}
.lnb__menu__list li.item.active ul.depth2 > li.active h4 a {
  font-weight: 700;
  color: var(--li-dot3);
}
.lnb__menu__list li.item.active ul.depth2 h4 {
  display: inline-block;
  line-height: 1;
}
.lnb__menu__list li.item.active ul.depth2 h4 a {
  display: inline-block;
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
}
.lnb__menu__list li.item.active ul.depth2 h4 a::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  background-color: var(--li-dot3);
  transform: translateY(-50%);
}

/* sub-main : 서브 비주얼 영역 */
.sub-vi.sub-main .sub-vi__box {
  justify-content: flex-start;
  height: 40rem;
  background: url("../images/sub/sub01_02_bg.jpg") center/cover no-repeat;
}
.sub-vi.sub-main .inner {
  padding-left: 10rem;
  color: #fff;
}
.sub-vi.sub-main .sm--tit {
  display: inline-block;
  padding-bottom: 2rem;
  font-size: 1.4rem;
  line-height: 1;
}
.sub-vi.sub-main .bg__txt {
  margin-left: -0.3rem;
  font-family: var(--k-ff2);
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: -0.25rem;
}
.sub-vi.sub-main .link--btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24rem;
  height: 5rem;
  margin-top: 4rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
}
.sub-vi.sub-main .link--btn:hover {
  color: var(--primary);
  background-color: #fff;
}

/* 서브페이지(콘텐츠 영역) */
.sub__con {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}

.sub__con__wrap {
  max-width: 105rem;
  width: 100%;
  font-family: var(--k-ff1);
}

.navi__wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 5.5rem 0 4.5rem;
  border-bottom: 1px solid var(--bd-basic2);
}
.navi__wrap .current {
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1;
  color: #252830;
}

.navi__inner {
  display: flex;
  justify-content: flex-end;
}
.navi__inner ul {
  display: flex;
}
.navi__inner ul li {
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1;
}
.navi__inner ul li:not(:last-child):after {
  width: 5px;
  height: 6px;
  margin-left: 1rem;
  background: url("../images/openlab/arrow_next_i.svg") no-repeat;
  content: "";
}
.navi__inner ul li:not(:first-child) {
  margin-left: 1rem;
}
.navi__inner ul li a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  color: #424756;
}
.navi__inner .navi__home a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navi__inner .navi__home a .home--i {
  display: inline-block;
  width: 1.4rem;
  height: 1.3rem;
  padding-right: 0.5rem;
  background: url("../images/openlab/home_i.svg") no-repeat;
}

.current-tit {
  display: inline-block;
  margin: 3rem 0 1rem;
  font-size: 2rem;
  font-weight: 700;
  color: #252830;
}

.share__box {
  display: none;
  position: absolute;
  right: 0;
  z-index: 20;
  width: 30rem;
  height: 12rem;
  margin-top: 3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
  box-shadow: 3px 3px 10px 3px rgba(149, 161, 184, 0.28);
  background-color: #fff;
}

.share__box__tit {
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 2rem;
  border-bottom: 1px solid var(--bd-basic2);
  border-radius: 0.7rem 0.7rem 0 0;
  font-weight: 600;
  background-color: var(--bg-box-tit);
}
.share__box__tit span {
  font-size: 1.4rem;
  color: #fff;
}

.share__box__list {
  padding: 1rem 0;
}
.share__box__list ul {
  display: flex;
  justify-content: center;
  gap: 2.2rem;
}
.share__box__list ul a,
.share__box__list ul button {
  font-family: var(--k-ff1);
  font-size: 1.2rem;
  font-weight: 600;
  color: #424756;
}
.share__box__list span.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 4rem;
  height: 4rem;
  margin-bottom: 0.5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 50%;
}
.share__box__list span.btn:before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
}
.share__box__list .btn--url:before {
  display: inline-block;
  width: 15px;
  height: 14px;
  background-image: url("/images/openlab/share_i_url.png");
}

/* sub-main : 콘텐츠 영역 */
.sub__con.sub-main {
  justify-content: center;
}
.sub__con.sub-main .sub__con__wrap {
  max-width: inherit !important;
  width: auto;
}
.sub__con.sub-main .contents__wrap.ai-solution .tit__box .sm--tit span,
.sub__con.sub-main .contents__wrap.ai-solution .step__wrap .txt {
  width: auto;
  height: auto;
  border-radius: initial;
  background-color: initial;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 9rem 0 11rem;
  gap: 7.5rem;
}
.sub__con.sub-main .contents__wrap.ai-solution .tit__box .sm--tit {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}
.sub__con.sub-main .contents__wrap.ai-solution .tit__box .sm--tit span {
  margin-bottom: 0.7rem;
  font-size: 2rem;
  color: #848ea3;
}
.sub__con.sub-main .contents__wrap.ai-solution .tit__box i {
  display: inline-block;
  width: 6.2rem;
  height: 6.1rem;
  background: url("../images/sub/02-01_tit.png") center/contain no-repeat;
}
.sub__con.sub-main .contents__wrap.ai-solution .tit__box strong {
  font-size: 4rem;
  font-weight: 700;
  color: var(--fc-bold);
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list {
  display: flex;
  align-items: center;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child) {
  position: relative;
  padding-right: 14rem;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child):after {
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 2px;
  margin-top: 1.5rem;
  border: 1px dashed #bbc6db;
  content: "";
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list li.active .num:before, .sub__con.sub-main .contents__wrap.ai-solution .step__list li.active .num:after {
  background: linear-gradient(70deg, #15a9de, #4f69ce);
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list li.active:after {
  border-color: #bbc6db;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list .num {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 3.5rem;
  height: 3.5rem;
  margin-top: 0.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background-color: initial;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list .num:before, .sub__con.sub-main .contents__wrap.ai-solution .step__list .num:after {
  position: absolute;
  left: 0;
  border-radius: 50%;
  background: none;
  content: "";
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list .num:before {
  left: 50%;
  z-index: -1;
  width: calc(100% - 0.6rem);
  height: calc(100% - 0.6rem);
  transform: translateX(-50%);
  background-color: #95a1b8;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list .num:after {
  z-index: -2;
  width: 100%;
  height: 100%;
  background: none;
  opacity: 0.5;
  background-color: #95a1b8;
}
.sub__con.sub-main .contents__wrap.ai-solution .step__list .txt {
  font-family: var(--k-ff2);
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: var(--fc-tit);
}

/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1600px) {
  @keyframes subViPCAni {
    0% {
      margin: 0;
      border-radius: 0;
    }
    100% {
      margin: 0 3rem;
      border-radius: 1.7rem;
    }
  }
  .sub-vi__box {
    animation: subViPCAni 0.6s 0s ease-in-out forwards !important;
  }
  .sub-vi__btn__list {
    padding: 0 6rem;
  }
  .sub__con {
    margin-top: 2rem;
    gap: 4rem;
  }
  .sub__con__wrap {
    max-width: none;
    width: 80%;
  }
  aside.lnb {
    margin-top: 2rem;
  }
  .lnb__menu__list h3.depth1 {
    padding-left: 2rem;
  }
  .lnb__menu__list h3.depth1 .arrow--i {
    right: 2rem;
  }
  .lnb__menu__list ul.depth2 > li h3 {
    padding-left: 3rem;
  }
  .lnb__menu__list ul.depth2 > li .plus--i {
    margin-right: 3rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  /* LNB 하위 메뉴 없을 경우 */
  .sub-vi.lnb-menu--no .sub-vi__btn__list {
    padding-top: 6rem !important;
  }
  .sub__con.lnb-menu--no .navi__inner {
    margin-top: 4rem !important;
  }
  .sub__con.lnb-menu--no .navi__wrap .current {
    padding-top: 10rem;
  }
  .sub-vi__btn__list {
    position: absolute;
    padding: 14.7rem 0 0 0;
  }
  .sub-vi__btn__list button {
    display: none;
  }
  .sub-vi__btn__list button:last-child {
    display: flex;
  }
  .sub__con__wrap,
  aside.lnb {
    width: 100%;
  }
  .sub__con {
    display: block;
  }
  .share__box {
    margin-top: 18rem;
  }
  aside {
    height: auto;
  }
  .lnb, .left_menu {
    display: none;
  }
  #lnb {
    max-width: initial;
  }
  .lnb_m {
    position: relative;
    margin-top: 2rem;
    margin-left: 2rem;
    margin-right: 2rem;
  }
  .lnb_m.m_show {
    display: block !important;
  }
  .lnb__menu__list {
    position: absolute;
    z-index: 1;
    width: 100%;
    margin-top: 0;
  }
  .lnb__menu__list li.item.active ul.depth2 {
    padding: 3rem 0;
    border: 1px solid var(--bd-basic2);
    border-radius: 0 0 0.7rem 0.7rem;
    box-shadow: 3px 3px 10px 3px rgba(149, 161, 184, 0.28);
    background-color: #fff;
  }
  .lnb__menu__list li.item.active ul.depth2 li.active h3.depth1 a {
    font-weight: 800;
    color: var(--li-dot3);
  }
  .lnb__menu__list li.item.active ul.depth2 li h3.depth1 {
    border: none;
    background: none;
  }
  .lnb__menu__list li.item.active ul.depth2 li h3.depth1 a {
    margin-left: 2rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 4rem;
    color: var(--bg-box-tit);
  }
  .lnb__menu__list ul.depth2 > li:not(:last-child) {
    margin-bottom: 0;
  }
  .lnb__menu__list ul.depth2 > li h3 {
    border: none;
    line-height: 1;
    background-color: #fff !important;
  }
  .lnb__menu__list ul.depth2 > li h3 a {
    position: relative;
    padding-left: 1.5rem;
  }
  .lnb__menu__list ul.depth2 > li h3 a:before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    content: "";
    background-color: var(--li-dot3);
    transform: translateY(-50%);
  }
  .lnb__menu__list ul.depth2 > li.active a {
    font-weight: 800;
    color: var(--li-dot3);
  }
  .navi__wrap {
    display: initial;
    padding: 8rem 0 4.5rem;
  }
  .navi__wrap .current {
    padding: 18rem 0 3.5rem;
    border-bottom: 1px solid var(--bd-basic2);
  }
  .navi__inner {
    justify-content: flex-start;
    position: absolute;
    width: calc(100% - 6rem - 4rem);
    margin-top: 12rem;
    line-height: 1;
  }
  .sub-vi.sub-main .sub-vi__box {
    background-position: 65%;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .sub-vi.sub-main .inner {
    padding-left: 5rem;
  }
  .sub-vi.sub-main .sub-vi__box {
    background-position: 75%;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__wrap {
    gap: 3rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child) {
    padding-right: 10rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child):after {
    width: 55%;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .sub__con.sub-main .contents__wrap.ai-solution .step__wrap {
    flex-direction: column;
    gap: 3.5rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: calc(50% - 2rem);
    gap: 1rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child) {
    padding-right: 0;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li:not(:last-child):after {
    display: none;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list li:after {
    top: 1.5rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list .txt {
    font-size: 1.7rem;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__wrap {
    padding: 5rem 0 7rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .navi__inner ul li:not(:last-child):after, .navi__inner ul li:not(:first-child) {
    margin-left: 0.5rem;
  }
  .navi__inner ul li a {
    font-size: 13px;
  }
  .sub-vi.sub-main .sub-vi__box {
    height: 35rem;
  }
  .sub-vi.sub-main .inner {
    margin: 0 auto;
    padding: 0 2rem;
  }
  .sub-vi.sub-main .sm--tit {
    display: flex;
    justify-content: center;
  }
  .sub-vi.sub-main .bg__txt {
    font-size: 2.3rem;
    text-align: center;
  }
  .sub-vi.sub-main .step__list {
    gap: 1rem;
  }
  .sub-vi.sub-main .link--btn {
    margin: 4rem auto 0;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  @keyframes subViPCAni {
    0% {
      margin: 0;
      border-radius: 0;
    }
    100% {
      margin: 0 2rem;
      border-radius: 1.7rem;
    }
  }
  .sub-vi__box {
    animation: subViPCAni 0.6s 0s ease-in-out forwards !important;
  }
  .navi__inner {
    width: calc(100% - 4rem - 4rem);
    margin-top: 11rem;
  }
  .navi__inner ul {
    flex-wrap: wrap;
    gap: 0.5rem 0;
  }
  .sub-vi.sub-main .sub-vi__box {
    overflow: hidden;
    position: relative;
    height: 30rem;
    background-position: 68%;
  }
  .sub-vi.sub-main .sub-vi__box:before {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 0, 0, 0.25);
  }
  .sub-vi.sub-main .inner {
    z-index: 2;
  }
  .sub-vi.sub-main .bg__txt {
    font-size: 2rem;
  }
  .sub-vi.sub-main .link--btn {
    width: 20rem;
    margin: 2rem auto 0;
  }
  .sub__con.sub-main .contents__wrap.ai-solution .step__list {
    justify-content: center;
    gap: 2rem;
  }
}
/*=====     End of 서브 페이지(공통)       ======*/
/*================================================
=         부가정보, 마이페이지, step(공통)        =
================================================*/
/* 상단 박스 */
.contents-top__box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 5rem 0;
  padding: 3.5rem 0;
  border-radius: 1rem;
  background-color: var(--box-basic);
  gap: 1rem;
}
.contents-top__box.step {
  margin: 3.5rem 0 4rem;
}

.account-info form {
  display: flex;
  flex-direction: column;
}
.account-info form label {
  padding-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary);
}
.account-info form label:not(:first-child) {
  margin-top: 1.7rem;
}
.account-info .account--input {
  position: relative;
  padding-left: 4.6rem;
}
.account-info .account--input input {
  width: 100%;
  padding-left: 0;
  border: none;
}
.account-info .input__box {
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
}
.account-info .user-id {
  background: #fff url("/images/openlab/login_id_i.svg") no-repeat left 2rem center/13px auto;
}
.account-info .user-pw {
  background: #fff url("/images/openlab/login_pw_i.svg") no-repeat left 2rem center/14px auto;
}
.account-info button {
  width: 100%;
  margin-top: 2.2rem;
}
.account-info label {
  font-weight: 500;
  color: #424756;
}

.contents-box--tit,
.contents-box--txt {
  display: block;
  line-height: 1;
}

.contents-box--tit {
  margin-bottom: 4rem;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1f2c59;
}
.contents-box--tit.fx-start {
  justify-content: flex-start;
}

.btm-line {
  margin-bottom: 3.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--bd-basic2);
}

.contents-box--txt {
  font-size: 1.7rem;
  color: var(--fc-info);
}

/* 버튼 - hover */
a[class*=btn--hover-],
button[class*=btn--hover-] {
  transition: 0.2s;
}
a[class*=btn--hover-]:hover,
button[class*=btn--hover-]:hover {
  color: #fff;
}

.btn--hover-01:hover {
  background-color: var(--btn-hover-01);
}

.btn--hover-02:hover {
  background-color: var(--btn-hover-02);
}

.btn--hover-primary:hover {
  color: #fff;
  background-color: var(--primary) !important;
}

.btn__list {
  display: flex;
  padding: 0 7.5rem;
  gap: 1rem;
}
.btn__list li {
  flex-grow: 1;
  width: 100%;
  height: 5rem;
}
.btn__list li a,
.btn__list li button {
  width: 100% !important;
  height: 100% !important;
  margin-top: 0;
}

/*
 *
 * 상단 포인트(파란색) 박스
 *
 */
/* 가로형 */
.add-info__wrap {
  position: relative;
}
.add-info__wrap.add-info__col .inner {
  align-items: center;
  gap: 3.5rem;
}
.add-info__wrap:before, .add-info__wrap:after {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 2px;
  height: 6rem;
  background: #3b5bc6;
  content: "";
}
.add-info__wrap:before {
  right: 0;
}
.add-info__wrap .inner {
  display: flex;
  align-items: stretch;
  position: relative;
  padding: 7rem 10rem;
  border-top: 2px solid #3b5bc6;
  border-right: 1px solid var(--bd-basic2);
  border-bottom: 1px solid var(--bd-basic2);
  border-left: 1px solid var(--bd-basic2);
  gap: 9rem;
}
.add-info__wrap .add-info__txt {
  display: flex;
  align-items: center;
  min-width: 37rem;
  color: var(--fc-tit);
  gap: 5rem;
}
.add-info__wrap .add-info__txt i {
  display: inline-block;
  width: 8.6rem;
  height: 8rem;
}
.add-info__wrap .add-info__txt span {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}
.add-info__wrap .add-info__txt span strong {
  font-size: 2.4rem;
}
.add-info__wrap .add-info__txt .add-info--point {
  color: var(--point6);
}
.add-info__wrap .add-info__txt p {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
}
.add-info__wrap .add-info__txt p span {
  font-size: 1.6rem;
}

.account-info {
  width: 36rem;
}
.account-info.add-info__btns button {
  width: 12rem;
  margin-top: 0;
}

/* 가로형 - type2 */
.add-info__wrap.type-02:after, .add-info__wrap.type-02:before {
  display: none;
}
.add-info__wrap.type-02 .inner {
  padding: 3.5rem 5rem;
  border: 1px solid var(--bd-basic2);
}

/* 세로형 */
.add-info__wrap.fx-col .inner {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 3rem;
}
.add-info__wrap.fx-col .add-info__txt {
  flex-direction: column;
}
.add-info__wrap.fx-col .board__btn__list {
  justify-content: center;
}

/* 인증번호 */
.certi-num__box .certi-num--msg {
  font-size: 2rem;
  font-weight: 400;
  color: var(--fc-tit);
}
.certi-num__box .certi-num--msg span {
  color: var(--msg-success);
}
.certi-num__box .txt strong {
  font-weight: 600;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .add-info__wrap .add-info__txt {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .add-info__wrap .inner {
    flex-direction: column;
    align-items: center;
    padding: 5rem 2rem;
  }
  .add-info__wrap .inner .account-info {
    max-width: 36rem;
  }
}
/*==  End of 부가정보, 마이페이지, step(공통)  ==*/
/*===============================================
=              부가정보 - 통합로그인             =
================================================*/
.common-login {
  display: flex;
  margin-top: 5rem;
  padding-bottom: 15rem;
  gap: 3rem;
}
.common-login strong,
.common-login p {
  text-align: center;
}
.common-login strong {
  margin: 8.5rem 0 4rem;
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--fc-tit);
}
.common-login p {
  margin-bottom: 3.5rem;
  font-size: 1.6rem;
  color: var(--fc-info);
}

.common-login__wrap {
  width: 50%;
  height: 65rem;
  border-radius: 2rem;
  background-color: var(--box-basic);
}
.common-login__wrap .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 6rem;
}

/* 01. 회원 로그인 */
.login-link__list {
  display: flex;
  justify-content: center;
  margin-top: 2.6rem;
  line-height: 1;
}
.login-link__list li:not(:last-child) {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 3.2rem;
}
.login-link__list li:not(:last-child):after {
  display: inline-block;
  position: absolute;
  right: 0;
  width: 2px;
  height: 100%;
  content: "";
  transform: translateX(-1.6rem);
  background-color: rgba(66, 71, 86, 0.3);
}
.login-link__list a {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--box-tit);
}

/* 02. 간편인증 로그인 */
.certi-01__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 14rem;
  background-color: var(--primary);
  gap: 1.7rem;
}

.certi-01__wrap,
.certi-02--btn {
  width: 100%;
  margin-bottom: 3rem;
  border-radius: 0.7rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #fff;
}

.certi-01__list {
  display: flex;
  gap: 2.7rem;
}
.certi-01__list li i {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  background-size: contain;
}
.certi-01__list li:nth-child(1) i {
  background-image: url("/images/openlab/naver_i.png");
}
.certi-01__list li:nth-child(2) i {
  background-image: url("/images/openlab/kakao_i.png");
}

.certi-02--btn {
  display: block;
  width: 100%;
  height: 5rem;
  background-color: var(--bg-box-tit);
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .common-login__wrap .inner {
    padding: 0 4rem;
  }
  .common-login__wrap .inner br {
    display: none;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .common-login {
    gap: 2rem;
  }
  .common-login strong {
    margin: 7rem 0 2rem;
  }
  .common-login__wrap .inner br {
    display: block;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .common-login {
    flex-direction: column;
  }
  .common-login__wrap {
    width: 100%;
    height: auto;
  }
  .common-login__wrap .inner {
    padding: 0 10rem;
  }
  .common-login__wrap .account-info {
    width: 100%;
  }
  .login-link__list,
  .certi-02--btn {
    margin-bottom: 7rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .common-login .strong {
    font-size: 3rem;
  }
  .common-login__wrap .inner {
    padding: 0 4rem;
  }
  .common-login__wrap .inner br {
    display: none;
  }
}
/*=====  End of 부가정보 - 통합로그인  ======*/
/*=========================================================================
= 부가정보 -아이디/비밀번호 찾기, 마이헬스 - 인증번호 관리, 진료/투약 기록 팝업 =
===========================================================================*/
.contents__wrap {
  margin: 5rem 0 15rem;
}

.find-id,
.certi-manage__box {
  width: 100%;
  margin-top: 5rem;
  padding: 6.5rem 0;
  font-family: var(--k-ff1);
  font-size: 2rem;
  text-align: center;
  color: var(--fc-tit);
  background-color: var(--box-basic);
}
.find-id span,
.certi-manage__box span {
  font-weight: 700;
  color: #3b5bc6;
}

.certi-manage__box {
  margin-top: 1rem;
  padding: 3rem 2rem;
}
.certi-manage__box br {
  display: none;
}

.modify-pw {
  margin-top: 7rem;
}
.modify-pw .account-info {
  display: flex;
  justify-content: center;
  width: auto;
  padding: 5.5rem 0;
  border: 1px solid var(--bd-basic2);
}
.modify-pw form {
  min-width: 52rem;
}
.modify-pw form .account--input {
  padding-left: 2rem;
  background-image: none !important;
}
.modify-pw form .id {
  color: #a8adbb !important;
  background-color: var(--box-basic) !important;
}
.modify-pw form input[type=password]::-moz-placeholder {
  font-size: 1.5rem;
  letter-spacing: -0.025em;
  color: #a8adbb;
}
.modify-pw form input[type=password]::placeholder {
  font-size: 1.5rem;
  letter-spacing: -0.025em;
  color: #a8adbb;
}
.modify-pw .msg {
  display: none;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .certi__wrap .inner {
    justify-content: center;
    padding: 7rem 0;
    gap: 4rem;
  }
  .certi__wrap .certi-txt {
    gap: 3rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .contents-box--tit {
    margin-bottom: 2rem;
  }
  .certi__wrap .inner {
    flex-direction: column;
    align-items: center;
  }
  .certi__wrap .account-info {
    min-width: auto;
    width: 75%;
  }
  .modify-pw form {
    min-width: auto;
    width: 75%;
  }
  .btn__list {
    padding: 0;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .certi__wrap .certi-txt {
    flex-direction: column;
    text-align: center;
  }
  .certi-manage__box {
    font-size: 1.7rem;
  }
  .certi-manage__box br {
    display: block;
  }
  .contents-box--tit {
    display: flex;
    justify-content: center;
  }
  .modify-pw .msg {
    display: block;
  }
  .account-info form .account--input.pw::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #fff;
  }
  .account-info form .account--input.pw:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 모질라 파이어폭스 4 ~ 18 */
    color: #fff;
    opacity: 1;
  }
  .account-info form .account--input.pw::-moz-placeholder {
    /* Mozilla Firefox 19+ 모질라 파이어폭스 19 이상 */
    color: #fff;
    opacity: 1;
  }
  .account-info form .account--input.pw:-ms-input-placeholder {
    /* Internet Explorer 10+ 인터넷 익스플로러 10 이상 */
    color: #fff;
  }
}
/* width(모바일 최소 사이즈 320px 기준) => xxs */
@media (max-width: 320px) {
  .btn__list a,
  .btn__list button {
    font-size: 1.6rem;
    letter-spacing: -0.05em;
  }
}
/*==  End of 부가정보 -아이디/비밀번호 찾기, 마이헬스 - 인증번호 관리, 진료/투약 기록 팝업  ==*/
/*=====================================================
=                     판매회원 전환                   =
=====================================================*/
/*
*
* 승인 상태(색상)
*
*/
.status .status--badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 7rem;
  height: 3.5rem;
  border-radius: 1.75rem;
  color: #1e1f23;
}
.status .status--badge.badge01 {
  background-color: #edf1f6;
}
.status .status--badge.badge02 {
  background-color: #d6f5f2;
}
.status .status--badge.badge03 {
  background-color: #fbf3e6;
}
.status .status--badge.badge04 {
  background-color: #ffe2e7;
}
.status .status--badge.badge05 {
  background-color: #d7eaff;
}

/*=====           End of 판매회원 전환           ======*/
/*
 *
 * select
 *
 */
.board-search__box select:focus {
  border: 1px solid var(--box-select);
}
.board-search__box select option {
  padding: 3px 0;
  border: 0;
  font-size: 16px;
}

.custom-select {
  position: relative;
}
.custom-select select {
  display: none;
}

/* select box  - close */
.select-hide {
  display: none;
}

.select-selected,
.select-items {
  width: 30rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
  font-family: var(--k-ff1);
  font-size: 1.7rem;
  color: #424756;
}

.select-selected {
  display: flex;
  align-items: center;
  position: relative;
  height: 5rem;
  padding-left: 2rem;
  border: 1px solid var(--bd-basic2);
  cursor: pointer;
  background-color: #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.select-selected:after {
  position: absolute;
  right: 0;
  width: 12px;
  height: 7px;
  margin-right: 2.5rem;
  background: url("/images/openlab/arrow3_i.png") center/contain no-repeat;
  content: "";
}

/* select box - active */
.select-arrow-active,
.select-items {
  border: 1px solid var(--box-select);
  box-shadow: 5px 5px 10px rgba(37, 40, 48, 0.2);
}

.select-arrow-active {
  font-weight: 600;
  color: var(--box-select);
  color: #3e4556;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select-items {
  position: absolute;
  top: 100%;
  z-index: 10;
  height: 21rem;
  padding: 0.5rem 0;
  border-top: none;
  border-radius: 0 0 0.7rem 0.7rem;
  overflow-y: auto;
  background-color: #fff;
}
.select-items > div {
  padding: 0.7rem 2.6rem;
}

.select-items div:hover,
.same-as-selected {
  font-weight: 600;
  color: var(--box-select);
  cursor: pointer;
}

.same-as-selected {
  color: #3e4556;
}

/* option - hover */
.select-items div:hover {
  background-color: #e1e8ff;
}

/*
 *
 * 메인 : AI 마켓(gallery), 마이페이지(최근 본 상품) - swiper (공통)
 *
 */
/* 제목 영역 */
.aimarket__area {
  margin-top: 15rem;
}
.aimarket__area .tab__area {
  display: block;
  position: relative;
}
.aimarket__area .tab__tit__area .tab__menu {
  margin-left: 1rem;
}
.aimarket__area .control {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  max-width: 170rem;
  width: 90%;
  transform: translateX(-50%);
}
.aimarket__area .control__wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
  box-sizing: border-box;
}
.aimarket__area button {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
}
.aimarket__area button:hover {
  background-color: var(--btn-navy);
}
.aimarket__area button:hover i .cls-1 {
  stroke: #fff;
}
.aimarket__area button i {
  display: inline-block;
  width: 3rem;
  height: 3rem;
}
.aimarket__area button i .cls-1 {
  fill: none;
  stroke: #6e758a;
  stroke-miterlimit: 10;
  stroke-width: 1.5px;
}
.aimarket__area button.btn--prev {
  left: 0;
  transform: rotate(225deg);
}
.aimarket__area button.btn--next {
  right: 0;
  transform: rotate(45deg);
}
.aimarket__area button.swiper-button-disabled {
  opacity: 0.5;
}
.aimarket__area .tab__tit__area {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 5.5rem;
}
.aimarket__area .tab__tit__area .tab__menu {
  flex-direction: row;
  width: auto;
  gap: 1rem 2rem;
}
.aimarket__area .tab__tit__area .tab__menu li:not(:last-child):after {
  top: auto;
  bottom: 0;
  transform: initial;
}
.aimarket__area .tab__tit__area .tab__menu li a {
  margin-right: 1rem;
}

.aimarket__area .tab__con__area li.swiper-slide,
.aimarket__area .tab__con__area .badge,
.aimarket__area .tab__con__area .gallery__thum img {
  transition: 0.5s;
}

/* 콘텐츠 영역 */
.aimarket__area .tab__con__area {
  margin-top: 4rem;
}
.aimarket__area .swiper-container {
  overflow: hidden;
  padding: 4.9rem 0 4rem;
}
.aimarket__area li.swiper-slide {
  position: relative;
  width: 38rem;
  height: 40rem;
  border-radius: 1.5rem;
  box-sizing: border-box;
  background-color: #fff;
}
.aimarket__area li.swiper-slide:hover {
  box-shadow: 0rem 0.5rem 2rem rgba(95, 105, 125, 0.2);
}
.aimarket__area li.swiper-slide:hover .badge:after {
  display: inline-block;
  position: absolute;
  width: 8.4rem;
  height: 8.4rem;
  border-radius: 50%;
  opacity: 0.12;
  content: "";
}
.aimarket__area li.swiper-slide:hover .badge.type-01:after {
  background-color: var(--openLab);
}
.aimarket__area li.swiper-slide:hover .badge.type-02:after {
  background-color: var(--point9);
}
.aimarket__area li.swiper-slide:hover .badge.type-03:after {
  background-color: var(--aiMarket);
}
.aimarket__area li.swiper-slide:hover img {
  border-bottom-right-radius: 1rem;
}
.aimarket__area .gallery__thum {
  position: relative;
}
.aimarket__area .gallery__thum p {
  width: 100%;
  height: 22rem;
  padding-top: 1rem;
  border-radius: 1.5rem;
}
.aimarket__area .gallery__thum img {
  width: calc(100% - 2rem);
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 5rem;
  -o-object-fit: cover;
  object-fit: cover;
}
.aimarket__area .gallery__thum span {
  position: absolute;
  bottom: 0;
  left: 1rem;
  margin-bottom: 2rem;
  margin-left: 2.5rem;
  font-size: 1.4rem;
  color: #fff;
}
.aimarket__area .gallery__thum p,
.aimarket__area .thum--none {
  display: flex;
  justify-content: center;
}
.aimarket__area .gallery__thum img,
.aimarket__area .thum--none {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 5rem;
}
.aimarket__area .thum--none {
  overflow: hidden;
  width: calc(100% - 2rem);
  height: 22rem;
  margin: 1rem 1rem 0 1rem;
}
.aimarket__area .thum--none .inner {
  width: 100%;
  height: 100%;
  margin: 0;
}
.aimarket__area .thum--none span {
  left: 0;
}
.aimarket__area .gallery__txt {
  padding: 3rem 2.5rem;
  font-family: var(--k-ff1);
  color: var(--fc-con-tit);
}
.aimarket__area .gallery__txt .tit {
  margin: 1.5rem 0 3rem;
  font-size: 1.7rem;
  font-weight: 600;
}
.aimarket__area .gallery__txt .tit.txt-clamp {
  -webkit-line-clamp: 2;
}
.aimarket__area .gallery__txt__cost {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1;
}
.aimarket__area .gallery__txt__cost .agency {
  font-size: 1.5rem;
  font-weight: 600;
}
.aimarket__area .gallery__txt__cost .agency.txt-clamp {
  width: calc(100% - 8rem);
}
.aimarket__area .gallery__txt__cost .cost {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 2.4rem;
  border: 1px solid;
  border-radius: 0.5rem;
  font-size: 1.3rem;
  font-weight: 700;
  box-sizing: border-box;
}
.aimarket__area .gallery__txt__cost .cost.data--none {
  display: none;
}
.aimarket__area .gallery__txt__cost .cost.data--pay {
  color: var(--charge-pay);
  border-color: var(--charge-pay);
}
.aimarket__area .gallery__txt__cost .cost.data--free {
  color: var(--charge-free);
  border-color: var(--charge-free);
}

/*
 *
 * 뱃지
 *
 */
.aimarket__area .badge {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 1rem;
  z-index: 1;
  width: 7rem;
  height: 7rem;
  margin-right: 2rem;
  border-radius: 50%;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  transform: translateY(-50%);
}
/* badge - 솔루션 */
.aimarket__area .badge.type-01 {
  background-color: var(--openLab);
}
/* badge - 데이터 */
.aimarket__area .badge.type-02 {
  background-color: var(--point9);
}
.aimarket__area .badge.type-03 {
  background-color: var(--aiMarket);
}
/* 데이터/솔루션 등록, 분석환경 신청 */
.dataset__link {
  display: flex;
  gap: 4rem;
}
.dataset__link li {
  position: relative;
  width: 50%;
}
.dataset__link li a {
  display: block;
  width: 100%;
  padding: 4.4rem 5.7rem;
  border-radius: 1.8rem;
  line-height: 1;
  background-color: #fff;
}
.dataset__link li a strong {
  display: inline-block;
  margin-bottom: 2rem;
  font-family: var(--k-ff2);
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: -0.2rem;
  color: #193182;
}
.dataset__link li a p {
  width: calc(100% - 10rem);
  font-size: 1.7rem;
  line-height: 1.2;
  color: #8b90a7;
}
.dataset__link li:first-child a {
  transition: 0.3s;
  border-bottom-right-radius: 5.8rem;
}
.dataset__link li:first-child a:hover {
  border-bottom-right-radius: 1.8rem;
}
.dataset__link li:first-child:after {
  background: url("../images/main/dataset_link_img01.png") center/contain no-repeat;
}
.dataset__link li:last-child a {
  transition: 0.3s;
  border-top-left-radius: 5.8rem;
}
.dataset__link li:last-child a:hover {
  border-top-left-radius: 1.8rem;
}
.dataset__link li:last-child:after {
  background: url("../images/main/dataset_link_img02.png") center/contain no-repeat;
}
.dataset__link li:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4.6rem;
  width: 10rem;
  height: 10rem;
  content: "";
  transform: translateY(-50%);
}

/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1700px) {
  .aimarket__area .content_area.container,
  .aimarket__area .dataset__link {
    max-width: auto;
    width: calc(100% - 30rem);
    margin: 0 auto;
  }
}
/* width(데스크탑 1600px 기준) => xxxl */
@media (max-width: 1600px) {
  .aimarket__area .content_area.container,
  .aimarket__area .dataset__link {
    max-width: auto !important;
    margin: 0 auto;
  }
  .aimarket__area .control {
    width: calc(100% - 6rem);
  }
  .dataset__link {
    gap: 2rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .dataset__link li a strong {
    font-size: 2rem;
  }
  .dataset__link li a p {
    font-size: 1.6rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .aimarket__area .content_area.container,
  .dataset__link {
    width: calc(100% - 22rem) !important;
  }
  .dataset__link li {
    width: 100%;
  }
  .dataset__link li a {
    border-radius: 2rem !important;
  }
  .aimarket__area button {
    width: 9rem;
    height: 9rem;
  }
  .aimarket__area button i {
    width: 2.5rem;
    height: 2.5rem;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .aimarket__area .content_area.container {
    min-width: auto !important;
    width: calc(100% - 15rem) !important;
  }
  .aimarket__area .tab__tit__area {
    flex-direction: column;
    align-items: initial;
  }
  .aimarket__area .tab {
    justify-content: center;
  }
  .aimarket__area .tab li {
    flex-grow: 0;
  }
  .aimarket__area .control {
    margin-top: 15%;
  }
  .aimarket__area button,
  .aimarket__area button:hover {
    background-color: transparent !important;
  }
  .aimarket__area button {
    width: 2.5rem;
    height: 2.5rem;
  }
  .aimarket__area button:hover i .cls-1 {
    stroke: #6e758a;
  }
  .dataset__link li {
    position: relative;
  }
  .dataset__link li:after {
    position: absolute;
    top: 2rem;
    right: 0;
    width: 100%;
    transform: translateY(0);
  }
  .dataset__link li a {
    position: relative;
    padding: 13rem 0 4rem 0;
    text-align: center;
  }
  .dataset__link li a p {
    margin: 0 auto;
  }
  .dataset__link li a strong {
    margin: 3rem 0 !important;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .main__tab .tab__area .tab__menu li a {
    font-size: 1.8rem;
  }
  .aimarket__area button i {
    width: 2rem;
    height: 2rem;
  }
}
/* width(모바일 최소 사이즈 320px 기준) => xxs */
@media (max-width: 320px) {
  .aimarket__area .tab__con__area li.swiper-slide {
    height: 32rem;
  }
  .aimarket__area .tab__con__area .gallery__thum p {
    height: 14rem;
  }
  .aimarket__area .tab__con__area .gallery__txt {
    padding: 2rem;
  }
  .aimarket__area .tab__con__area .gallery__txt .tit {
    margin: 1rem 0;
  }
  .aimarket__area .tab__con__area .gallery__txt .view__info {
    flex-direction: column;
    gap: 0.5rem;
  }
}
/*=============================================
=                    mypage                   =
=============================================*/
.mypage .add-info__wrap .inner {
  position: relative;
  color: var(--fc-tit);
}
.mypage .add-info__wrap .last-access__txt {
  display: flex;
  align-items: center;
  position: absolute;
  right: 5rem;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--msg-basic);
}
.mypage .add-info__wrap .last-access__txt i {
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  margin-right: 0.7rem;
  background: url("/images/openlab/time_i.svg") center/contain no-repeat;
}
.mypage .add-info__txt .txt {
  display: flex;
  flex-direction: column;
  color: var(--fc-tit);
  gap: 1rem;
}
.mypage .add-info__txt .txt span {
  font-size: 1.6rem;
  font-weight: 500;
}
.mypage .add-info__txt .txt strong {
  font-size: 2.2rem;
  font-weight: 600;
}

.badge__list.mypage span.badge {
  line-height: 3.2rem;
}

/*
 *
 * 마이페이지 - 메뉴
 *
 */
.mypage__menu {
  display: flex;
  gap: 1rem;
}
.mypage__menu .item {
  width: 20%;
  height: 15rem;
}
.mypage__menu .item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  border-radius: 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: var(--fc-tit);
  background-color: #f7f8fa;
  gap: 1.5rem;
  transition: 0.2s;
}
.mypage__menu .item a:hover {
  border: 1px solid var(--openLab);
  color: var(--openLab);
}
.mypage__menu .item i {
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.mypage__menu .item:nth-child(1) i {
  background-image: url("../images/sub/mypage_icon01.png");
}
.mypage__menu .item:nth-child(2) i {
  background-image: url("../images/sub/mypage_icon02.png");
}
.mypage__menu .item:nth-child(3) i {
  background-image: url("../images/sub/mypage_icon03.png");
}
.mypage__menu .item:nth-child(4) i {
  background-image: url("../images/sub/mypage_icon04.png");
}
.mypage__menu .item:nth-child(5) i {
  background-image: url("../images/sub/mypage_icon05.png");
}

/*
 *
 * 마이페이지 - 내용
 *
 */
.mypage__con {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.mypage__con .item.con03 {
  position: relative;
}
.mypage__con .item.con03.aimarket__area button {
  width: 2rem;
  height: 2rem;
  background: url("/images/openlab/arrow1_i.png") center/contain no-repeat;
}
.mypage__con .item.con03.aimarket__area button.btn--next {
  transform: rotate(180deg);
}
.mypage__con .item.con03.aimarket__area button.btn--prev {
  transform: rotate(360deg);
}
.mypage__con .item.con03 .control {
  width: 100% !important;
}
.mypage__con .item.con03 .swiper-container {
  width: calc(100% - 6rem);
  padding: 3rem 0 3rem;
}
.mypage__con .item.con03 .swiper-slide {
  height: auto;
  border: 1px solid var(--bd-basic2);
}
.mypage__con .item.con03 .gallery__thum .inner {
  height: 16rem;
}
.mypage__con .item.con03 .gallery__thum img {
  border-radius: 1.5rem;
}
.mypage__con .item.con03 .gallery__txt {
  padding: 2rem 2.5rem;
}
.mypage__con .item.con03 .gallery__txt .tit {
  height: 4.5rem;
  margin-bottom: 2.5rem;
}
.mypage__con .item.con03 .gallery__txt .txt {
  font-size: 1.6rem;
}
.mypage__con .item.con03 .badge {
  width: 5.4rem;
  height: 5.4rem;
  font-size: 1.4rem;
  transform: translateY(2.5rem);
}
.mypage__con .tit__wrap h4 {
  display: flex;
  align-items: center;
}
.mypage__con .tit__wrap h4 a {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 4rem;
  color: var(--fc-h4);
}
.mypage__con .tit__wrap h4 i {
  display: inline-block;
  width: 1.4rem;
  height: 1.5rem;
  margin-left: 1.7rem;
  background: url("/images/openlab/arrow_icon.svg") center/cover no-repeat;
  transform: rotate(45deg);
}
.mypage__con .info__wrap {
  color: var(--fc-tit);
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .mypage__con .item.con03 .gallery__thum p {
    height: 25rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .mypage .add-info__txt {
    padding-top: 5rem;
    gap: 3rem;
  }
  .mypage__menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .mypage__menu .item {
    width: auto;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .mypage .add-info__wrap .last-access__txt {
    right: auto;
  }
  .mypage__menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .mypage__menu .item:last-child {
    grid-column: 1/3;
  }
}
/*=====          End of mypage          ======*/



:root {
  /* [Color 설정] ------------------------------*/
  --main: #2647b5;
  --primary: #3e359b;
  --openLab: #3e359b; /* 오픈랩 */
  --openLab-sub: #3969CF; /* 오픈랩 */
  --aiMarket: #00addf; /* AI마켓 */
  --sub: #36adbb; /* AI마켓 */
  --sub1: #04acdf;
  --sub2: #05addf; /* AI마켓 */
  --point1: #d54a60;
  --point2: #238cd7;
  --point3: #fa8e9f;
  --point4: #ff5f78;
  --point5: #3c5fd4;
  --point6: #3549b1;
  --point7: #3c3a95; /* AI마켓 */
  --point8: #008ab2; /* AI마켓 */
  --point9: #564ac7; /* AI마켓 */
  --msg-basic: #969faf;
  --msg-error: #b22c45;
  --msg-success: #3b5bc6;
  /* btn - hover */
  --btn-01-hover: #1b2c64; /* 호버 전 : --primary: #253c89; */
  --btn-02-hover: #2a2f3e; /* 호버 전 : --bg-box-tit: #424756; */
  --btn-03-hover: #f3f3f3; /* 호버 전 : #fff; */
  --btn-red-hover: #8f1b30; /* 호버 전 : #a84053; */
  --aiMaket-hover: #0098c2; /* 호버 전 : #00addf; */
  /* background-color */
  --bg-sub: #323a55;
  --bg-basic: #ebf0fa;
  --bg-footer: #39415d;
  --bg-box: #ebf0fa;
  --bg-tb: #f7f7f7;
  --bg-from: #f2f2f2;
  --bg-gra: linear-gradient(270deg, #6256f1, #2399ca);
  --bg-box-tit: #424756;
  --bg-sub-vi: #f0efff;
  --light-gray: #91a2ba;
  --light-gray-hover: #8194ae;
  /* font-color */
  --fc-sub: #03c4db;
  --fc-basic: #8b90a7;
  --fc-normal: #5e6169;
  --fc-before: #7f8599;
  --fc-date: #9598a6;
  --fc-bold: #1e2029;
  --fc-point1: #e3546a;
  --fc-tit: #252830;
  --fc-con-tit: #282a30;
  --fc-sub-tit: #848ea1;
  --fc-info: #969faf;
  --fc-h4: #1f2c59;
  /* list-dot */
  --li-dot: #bec3d4;
  --li-dot2: #5480ff;
  --li-dot3: #3b5bc6;
  /* 가격 - color */
  --charge-pay: #ec4b65; /* 유료 */
  --charge-free: #0042ca; /* 무료 */
  /* border-color */
  --bd-basic: #e5e5e5;
  --bd-basic2: #c9d1df;
  --bd-tb-t: #474b53;
  --bd-form: ;
  --divide-bar: #ecedf0;
  --divide-bar2: #e1e1e3;
  /* box-color */
  --box-basic: #f7f8fa;
  --box-select: #3b5bc6;
  /* button-color */
  --btn-basic: #f2f3f6;
  --btn-basic2: #193182;
  --btn-icon: #757c90;
  --btn-red: #a84053;
  --btn-navy: #485582; /* AI마켓 */
  /* 자주 쓰는 색상 설정 */
  --white: #fff;
  --black: #000;
  --gray1: #111;
  --gray2: #222;
  --gray3: #333;
  --gray4: #444;
  --gray5: #555;
  --gray6: #666;
  --gray7: #777;
  --gray8: #888;
  --gray9: #999;
  --light-red: #cd4c64;
  --fc-badge2-1: #ff2644;
  /*------------------------------------------------*/
  /* [font-family 설정] -----------------------------*/
  /* 한글 종류 사용: font - 폰트명 */
  --k-ff1: "Pretendard", sans-serif;
  --k-ff2: "SCDream";
  /* 영문 종류 사용: font - 폰트명 */
  --e-ff1: "Montserrat";
  /*------------------------------------------------*/
}