@charset "UTF-8";

/*
*iconBox
 */
.iconBox{
  width: 100%;
  display: flex;
  justify-content: space-between;
  background-color: #e9e9e9;
  padding: 20px;
  border-radius: 20px;
  flex-wrap: wrap;
}
.iconBox li{
  width: 18%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
}
.iconBox li p{ font-size: 13px;}
.iconBox li img{width:16%}

/*positio icon*/
.ico{width: 20px;height:20px;background: url(../image/icon.svg);}
.ico_del{background-position: 0 0;}

.iconBox i{display: flex;align-items: center;flex-direction: column;justify-content: flex-end;}
.ico{width: 22px;height:22px;background: url(../image/icon_black.svg);}
.ico.home01{background-position: 0 0;}
.ico.home02{background-position: -30px 0;}
.ico.home03{background-position: -59.5px 0;}
.ico.home04{background-position: -89px 0;}
.ico.home05{background-position: -117px 0;}
.ico.home06{background-position: -148px 0;}
.ico.home07{background-position: -177px 0;}
.ico.menu01{background-position: 0px -26px;}
.ico.menu02{background-position: -30px -26px;}
.ico.menu03{background-position: -59.5px -26px;}
.ico.menu04{background-position: -89px -26px;}
.ico.menu05{background-position: -117px -26px;}
.ico.menu06{background-position: -148px -26px;}
.ico.menu07{background-position: -177px -26px;}
.ico.sign01{background-position: 0px -55px;}
.ico.sign02{background-position: -30px -55px;}
.ico.sign03{background-position: -59.5px -55px;}
.ico.sign04{background-position: -89px -55px;}
.ico.sign05{background-position: -117px -55px;}
.ico.sign06{background-position: -148px -55px;}
.ico.sign07{background-position: -177px -55px;}

.ico_b{width: 22px;height:22px;background: url(../image/icon.svg);}
.ico_b.home01{background-position: 0 0;}
.ico_b.home02{background-position: -30px 0;}
.ico_b.home03{background-position: -59.5px 0;}
.ico_b.home04{background-position: -89px 0;}
.ico_b.home05{background-position: -117px 0;}
.ico_b.home06{background-position: -148px 0;}
.ico_b.home07{background-position: -177px 0;}
.ico_b.menu01{background-position: 0px -26px;}
.ico_b.menu02{background-position: -30px -26px;}
.ico_b.menu03{background-position: -59.5px -26px;}
.ico_b.menu04{background-position: -89px -26px;}
.ico_b.menu05{background-position: -117px -26px;}
.ico_b.menu06{background-position: -148px -26px;}
.ico_b.menu07{background-position: -177px -26px;}
.ico_b.sign01{background-position: 0px -55px;}
.ico_b.sign02{background-position: -30px -55px;}
.ico_b.sign03{background-position: -59.5px -55px;}
.ico_b.sign04{background-position: -89px -55px;}
.ico_b.sign05{background-position: -117px -55px;}
.ico_b.sign06{background-position: -148px -55px;}
.ico_b.sign07{background-position: -177px -55px;}
 */

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

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

/* 영어 폰트 - 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: 160rem;
  width: 100%;
}

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


@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;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*
 * 애니메이션(scroll-spy)
 */
.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-top-little {
  transform: translateY(30px);
}

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

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

.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: 1.5s;
}

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

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

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

.tit__wrap h4 {
  display: flex;
  align-items: center;
}
.tit__wrap h4 a {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 4rem;
  color: var(--fc-h4);
}
.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);
}

.info__wrap {
  color: var(--fc-tit);
}

.bd-btm-basic {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--bd-basic2);
}

/*
 * 스크롤 플러그인 커스텀
 */
body {
  -ms-overflow-style: 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;
}

/* 가로 스크롤 */
.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;
}

/*
 * 말줄임(... 처리)
 */
.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 !important;
}
.tab_wrap .content_area.active {
  display: block !important;
}

.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);
}

.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--info {
  color: var(--bg-box-tit);
}

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

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

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

/**========================================================================
 *!                                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;
}

/* 파이어폭스에서의 초기화 방법 */
input[type=number] {
  -moz-appearance: textfield;
}

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

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

/*
 * 달력 커스텀 
 */
input[type=date] {
  position: relative;
  width: 100%;
  max-width: 45rem;
  padding-right: 2rem;
  padding-left: 2rem;
  border: 1px solid #ccc;
  border-radius: 0.7rem;
  background: #fff;
  color: black;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none; /* For Chrome/Safari */
  -moz-appearance: none; /* For Firefox */
}

/* 기본 달력 아이콘 숨기기 -  Chrome, Safari, and Edge */
input[type=date]::-webkit-calendar-picker-indicator {
  background: transparent;
}

/* 커스텀 달력 아이콘 */
input[type=date]::after {
  position: absolute;
  top: 50%;
  right: 2rem; /* Position of the custom icon */
  width: 15px; /* Custom icon size */
  height: 15px; /* Custom icon size */
  background: url(/images/openlab/calendar_i.svg) no-repeat center center; /* Custom icon */
  content: "";
  transform: translateY(-50%);
  background-size: 15px; /* Adjust size */
  pointer-events: none; /* Prevent clicks on this element */
}

input[type=date] {
  z-index: 1;
}

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

/*input type*/
input[type="text"]{
  display: flex;
  width: 100%;
  max-width: 100%;
  height: 43px;
  padding: 10px 10px 10px 16px;
  border-radius: 4px;
  border: 1px solid #c5c5c5;
  background: #fff;
  margin-right: 8px;
}
input[id="list"] {
  display: none;
}
textarea{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;border:1px solid #ccc;padding:10px;width:100%;height:200px;resize:both; font-size:16px;border-radius: 5px;}

/*============================ END OF input ============================*/
select:hover,
button.btn--search:hover {
  cursor: pointer;
}

/*
 * 게시판 필터 - 최신순, 인기순...
 */
.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);
}

/*
 * 마우스 오버 - underline
 */
.hover-underline:hover {
  text-decoration: underline;
}

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

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

/**========================================================================
 *!                                아이콘
 *========================================================================**/
/* 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 */
.delete--i {
  display: inline-block;
  position: relative;
  /* width: 1.6rem; */
  /* height: 1.6rem; */
}
.delete--i:before, .delete--i:after {
  display: inline-block;
  position: absolute;
}
.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-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: "ⓘ";
}

/* 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/openlab/robot_i.png") 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/openlab/certi-i.png") center/contain no-repeat;
}

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

/* 공지 - 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;
}

.info--i.gray {
  width: 1.3rem;
  height: 1.3rem;
}
.info--i.gray:before {
  background-image: url(/images/openlab/gray-info_i.png);
}

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

.info--i {
  width: 1.5rem;
  height: 1.5rem;
}
.info--i:before {
  background-image: url("/images/openlab/box-info_i.png");
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .reset--i {
    width: 2.4rem;
    height: 2.6rem;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .box-noti--i {
    width: 7.9rem;
    height: 5rem;
  }
}
/*============================ END OF 아이콘 ============================*/
/*
 * 구분바 있을 경우
 */
.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(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .divide-bar__list {
    gap: 1rem !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,
.basic-btn-c {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12rem;
  height: 5rem;
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
}

.basic-btn-w {
  border: 1px solid var(--bd-basic);
  color: #424756;
}
.basic-btn-w:hover {
  background-color: var(--btn-03-hover);
}

.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 두개이상 - 가운데 정렬 */
.basic-btn__list.center {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.btn__list {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

@media (max-width: 768px) {
  .btn__list {
    padding: 0;
  }
}
/* width(모바일 최소 사이즈 320px 기준) => xxs */
@media (max-width: 320px) {
  .btn__list a,
  .btn__list button {
    font-size: 1.6rem;
    letter-spacing: -0.05em;
  }
}
input[type="button"]{
  width:100%;
  min-width: 140px;
  max-width: 160px;
  height:50px;
  border-radius: 6px;
  background: var(--main, #346fdb);
  border: 1px solid var(--main, #346fdb);
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
/* 버튼 */
.btn{
  display: flex;
  padding: 12px;
  justify-content: center;
  width: 140px;
  align-items: flex-start;
  gap: 8px;
  border-radius: 6px;
  background: var(--main, #346fdb);
  border: 1px solid var(--main, #346fdb);
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  filter: brightness(1);
}
.btn:hover{filter: drop-shadow(0px 2px 2px #aaaaaa);}

.btn_s{
  display: flex;
  padding: 10px;
  justify-content: center;
  min-width: 110px;
  align-items: flex-start;
  gap: 6px;
  border-radius: 5px;
  background: var(--main, #346fdb);
  border: 1px solid var(--main, #346fdb);
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  filter: brightness(1);
}
.btn_s:hover{filter: drop-shadow(0px 2px 2px #aaaaaa);}

/*bg btn style*/
.btn-main{background: var(--main, #346fdb);border: 1px solid var(--main, #346fdb);color: #fff;} /* 기본 버튼 */
.btn-l-bl{background: #7aa6f8;border: 1px solid #7aa6f8;color: #fff;}
.btn-d-bl{background: #124098;border: 1px solid #124098;color: #fff;}
.btn-red{background: #F46E4E;border: 1px solid #F46E4E;color: #fff;}
.btn-org{background: #ff7a00;border: 1px solid #ff7a00;color: #fff;}
.btn-grn {background: #05c322;border: 1px solid #05c322;color: #fff;}
.btn-gry{background: #949494;border: 1px solid #949494;color: #fff;}
.btn-l-gry{background: #ededed;border: 1px solid #d6d6d6;color: #212121;}
.btn-d-gry{background: #505050;border: 1px solid #505050;color: #fff;}
.btn-w{background: #ffffff;border: 1px solid #b3b3b3;color: #212121;}
.btn-b{background: #212121;border: 1px solid #212121;color: #fff;}

/*light bg btn style*/
.btn-lbg-main{background: #e9f1ff;border: 1px solid var(--main, #346fdb);color: #346fdb;} /* 기본 버튼 */
.btn-lbg-l-bl{background: #f6fafc;border: 1px solid #7aa6f8;color: #7aa6f8;}
.btn-lbg-d-bl{background: #f1f4fa;border: 1px solid #124098;color: #124098;}
.btn-lbg-red{background: #ffece7;border: 1px solid #F46E4E;color: #F46E4E;}
.btn-lbg-org{background: #ffecda;border: 1px solid #ff7a00;color: #ff7a00;}
.btn-lbg-grn {background: #f1f8f2;border: 1px solid #05c322;color: #05c322;}
.btn-lbg-gry{background: #e8eef1;border: 1px solid #bbc6d2;color: #51748c;}
.btn-lbg-l-gry{background: #ededed;border: 1px solid #d6d6d6;color: #212121;}
.btn-lbg-d-gry{background: #c5c5c5;border: 1px solid #848484;color: #505050;}
.btn-lbg-w{background: #f3f3f3;border: 1px solid #b3b3b3;color: #b3b3b3;}
.btn-lbg-b{background: #e2e2e2;border: 1px solid #727272;color: #212121;}


/*line btn style*/
.btn-line-main{background: #ffffff;border: 1px solid var(--main, #346fdb);color: #346fdb;} /* 기본 버튼 */
.btn-line-red{background: #ffffff;border: 1px solid #F46E4E;color: #F46E4E;}/* 삭제 버튼 */
.btn-line-grn {background: #ffffff;border: 1px solid #05c322;color: #05c322;} /* 수정 버튼 */
.btn-line-gry{background: #ffffff;border: 1px solid #949494;color: #949494;} /* 목록 버튼 */
.btn-line-w{background: #ffffff;border: 1px solid #b3b3b3;color: #212121;} /* 화이트 버튼 */
.btn-line-b{background: #ffffff;border: 1px solid #212121;color: #212121;} /* 블랙 버튼 */


/* utililty btn */
.utililty li a{
  display: flex;
  width:34px;
  height:34px;
  border:1px solid #eeeeee;
  border-radius: 3px;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
}
.utililty li a:hover{background-color:#555555;}
.utililty li a:hover img{filter: brightness(100);}
.utililty li span{display: none;}

/* 테이블 안의 버튼 */
.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;
}

.basic-btn-c.disable {
  color: rgba(255, 255, 255, 0.4);
}
.basic-btn-c.disable:hover {
  cursor: not-allowed;
}

/* 인증키 */
.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;
  align-items: center;
  gap: 2rem 4rem;
}
.input--checkbox__wrap label:hover,
.input--radio__wrap label:hover {
  cursor: pointer;
}
.input--checkbox__wrap .item,
.input--radio__wrap .item {
  display: flex !important;
}

/*========= 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;
  -webkit-box-sizing: border-box;
  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%);
}

/*
 * 약관동의 
 */
.agree__chkbox {
  padding: 2.5rem 3rem;
  border-radius: 0.8rem;
  background-color: var(--box-basic);
}
.agree__chkbox label {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--bg-box-tit);
}

/*
* checkbox
*/
.checkbox_img {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url('https://s.wemep.co.kr/ui/v2.8.307/dist/pc/css/spr/common.png') 0 -438px no-repeat;
  vertical-align: top;
}
.checkbox02 input[id="list"]:checked + label span {
  background-position: -75px -438px;
}
.checkbox02 input {
  display: none;
}
.checkbox02 .checkbox_icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: transparent;
  border: 1px solid red;
  position: relative;
  cursor: pointer;
}
.checkbox02 .checkbox_icon::before, .checkbox_icon::after {
  content: ''; // 가상요소 필수값
display: inline-block; // 크기 지정
width: 1px;
  height: 0; // 체크박스가 체크가 되면 변화값으로 커지게 하기 위해 (일단 화면에는 나타나지 않음)
background-color: red;
  position: absolute; // 체크박스 테두리 기준으로 위치조정 가능
transform-origin: left top; // 기울기 지정, 기준점을 왼쪽 상단 모서리로 (기본값은 중심임)
}
.checkbox02 .checkbox_icon::before {
  top: 9px; // 위치값 top
left: 2px; // 위치값 left
transform: rotate(-45deg); // 회전값
}
.checkbox02 .checkbox_icon::after {
  top: 16px; // 위치값 top
left: 9px; // 위치값 left
transform: rotate(-135deg); // 회전값
}
.checkbox02 input:checked + .checkbox_icon {
  border-color: red;
}
.checkbox02 input:checked + .checkbox_icon::before {
  height: 10px; // 높이값 지정
transition: all 0.15s ease; // 0.15초 변화시간 줌
}

// 체크되었을 때 가상요소 after
   .checkbox input:checked + .checkbox_icon::after {
     height: 20px; // 높이값 지정
   transition: all 0.15s ease 0.15s; // 0.15초 변화시간 + 딜레이 시간 줌
   }

.check_btn__box{
  gap: 10px;
}
.check_btn{
  position: relative;
}
.check_btn input{
  position: absolute;
  top: 14px;
  left: 10px;
  height: auto;
}
.check_btn label{
  height: 42px;
  width: 200px;
  display: flex;
  align-items: center;
  padding-left: 40px;
  cursor: pointer;
  border-radius: 10px;
}

/*=============== END OF checkbox ===============*/
/**============================================
 *!                   radio
 *=============================================**/
.input--radio__wrap .item {
  display: flex;
  align-items: center;
  line-height: 1;
}
.input--radio__wrap label {
  display: flex;
}

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

[type=radio] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid var(--bd-basic2);
  appearance: none;
}
[type=radio]:before {
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  content: "";
  background-color: var(--bd-basic2);
}

[type=radio],
[type=radio]:before {
  border-radius: 50%;
}

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

[type=radio]:checked {
  border-color: var(--li-dot3);
}
[type=radio]:checked:before {
  background-color: var(--li-dot3);
}

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

.input-style{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.input-style input{
  margin-bottom: 1em;
}

/*=============== END OF radio ===============*/
/**========================================================================
 *!                                 HEADER
 *========================================================================**/
/* 메인 메뉴 - 기본상태 */
header {
  position: absolute;
  z-index: 60;
  width: 100%;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0);
  transition: 0.5s;
}

/* 주요 홈페이지 모아보기 : btn */
#btnSiteModal {
  position: relative;
  padding-left: 2rem;
  font-weight: 700;
}
#btnSiteModal:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.1rem;
  height: 1.1rem;
  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: 1.4rem;
  font-weight: 700;
}
.header__util.on {
  position: absolute;
  z-index: 9999;
  width: 100%;
}
.header__util__wrap {
  display: flex;
  justify-content: space-between;
}
.header__util__link, .header__util__menu {
  display: flex;
  align-items: center;
}
.header__util__link li.on, .header__util__menu li.on {
  margin: 0;
}
.header__util__link li.on a, .header__util__menu li.on a {
  display: inline-block;
  line-height: 4rem;
}

/* 좌측 유틸 */
.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 i {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 1rem;
  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: rgba(255, 255, 255, 0.3);
  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 {
  padding: 0 3rem;
  font-weight: 800;
}
.header__util__link li.on i {
  display: none;
}

/* GNB */
.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__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 .depth1 a {
  display: inline-block;
  position: relative;
  height: 9rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 9rem;
}

/* 찾기, 사이트맵 버튼 */
.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(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .header__gnb__wrap {
    margin: 0 3rem;
  }
  .header__gnb__pc .depth1 a {
    font-size: 1.8rem;
  }
}
@media (max-width: 1024px) {
  header {
    min-width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .header__util__wrap,
  .header__gnb__wrap {
    margin: 0 3rem;
  }
  .header__util__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 4rem;
  }
  .header__util__link li:not(last-child) {
    display: none;
  }
  .header__gnb__pc {
    display: none;
  }
  #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.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;
    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--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.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 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: "";
  }
  #mobileMenu .modal-btn--close:hover {
    background-color: inherit;
  }
  #btnSiteModal:after {
    border-top: 5px solid #fff;
  }
  #btnSiteMap {
    display: none;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .header__util__menu li:not(:last-child) {
    padding-right: 1rem;
  }
  .header__util__menu li:not(:first-child) {
    padding-left: 1rem;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  #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__wrap,
  .header__gnb__wrap,
  #mobileMenu.active .header__mo__top .inner {
    margin: 0 2rem;
  }
  #mobileMenu.active .header__mo__btm .header__mo__btn {
    gap: 1rem;
  }
}
.accordion,
.header__mo__menu {
  font-family: var(--k-ff1);
  color: #424756;
}
.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;
}
.accordion .item:not(:last-child),
.header__mo__menu .item:not(:last-child) {
  margin-bottom: 1rem;
}
.accordion .item a,
.header__mo__menu .item a {
  display: block;
  width: 100%;
}
.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 .arrow--i,
.header__mo__menu .item.active .arrow--i {
  transform: rotate(315deg);
}
.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 .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);
}

/*============================= END OF HEADER =============================*/
/*
 * 표 : 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;
}

/* 묻고 답하기 : 진행 상태 - 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 .badge {
    margin: initial;
  }
}

/*
* table type 2
*/
.table02{
  input{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;border:1px solid #ccc;padding:0px 5px;}
  textarea{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;border:1px solid #ccc;padding:5px;}

  input{border:1px solid #ccc;margin:0px;padding:0px 5px;background:#fff;height:24px;line-height:1.0;font-family:tahoma;}

  input[type=button]{border:1px solid #ccc;background:#eee;}
  input[type=submit]{border:1px solid #ccc;background:#eee;}
  input[type=cancel]{border:1px solid #ccc;background:#eee;}

  input[type=file]{padding:0px;margin:0px;border:0px;background:#fff;}
  input[type=file]::-webkit-file-upload-button {
    appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;
    border:1px solid #ccc;background:#eee;height:24px;line-height:1.0;margin:0px;padding:0px 5px;
  }
  input[type=file]::-ms-value {border:1px solid #ccc;background:#fff;}
  input[type=file]::-ms-browse {border:1px solid #ccc;background:#eee;}

  input[type=checkbox]{appearance:checkbox;-webkit-appearance:checkbox;-moz-appearance:checkbox;border:0px;padding:0px;margin:0px;height:1em;}
  input[type=radio]{appearance:radio;-webkit-appearance:radio;-moz-appearance:radio;border:0px;padding:0px;margin:0px;height:1em;}
}
.table02 {
  border-top: 2px solid var(--main, #346fdb);
  display: flex;
  flex-wrap: wrap;
}
.table02 > div {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #e1e4d4;
  width: 100%;
}
.table02 > div > div:nth-child(1) {
  background: #f9fafc;
  display: flex;
  width: 200px;
  padding: 20px 16px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.table02 > div > div:nth-child(2) {
  display: flex;
  padding: 10px 16px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex: 1 0 0;
  align-self: stretch;
}
.table02 > .table01-half {
  width: 50%;
}
.table02 p {
  color: #191919;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.54px;
}
.table02 a {
  color: var(--strong);
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.54px;
  font-size: 18px;
}

/**============================================
 *!                  검색박스
 *=============================================**/
.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 {
  align-items: center;
}
.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: "";
  max-height: 1.6rem;
  background-color: rgba(37, 40, 48, 0.2);
}
.board-search.type-02 .cate__box {
  width: calc(100% - 10rem);
}
.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 button.reset--btn {
  width: 16rem;
  gap: 1rem;
}
.board-search.type-02 label {
  display: flex;
  align-items: center;
  line-height: 1;
}

/*
 * 승인 상태
 */
.board-search .apr-status {
  display: flex;
  flex-direction: row !important;
  align-items: center !important;
}
.board-search .apr-status select {
  max-width: 20rem;
  width: 100%;
  margin-left: 4rem;
}

/*
 * 게시물 개수
 */
.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 {
  display: flex;
  gap: 0.5rem;
}
.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.reset--btn {
    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 .cate--tit:after {
    display: none;
  }
  .board-search.type-02 .cate__box {
    width: 100%;
  }
  .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.reset--btn {
    width: 6rem;
  }
  button.reset--btn span {
    display: none;
  }
  .board-search .apr-status {
    gap: 0 !important;
  }
  .board-search .apr-status select {
    margin-left: 0;
  }
}
/* 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;
  }
  .board-search .apr-status {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }
}
/* 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]::-webkit-input-placeholder {
    /* WebKit browsers */
    color: transparent;
  }
  .board-search.type-02 .search__input.type-02 input[type=text]:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: transparent;
  }
  .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]:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    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.reset--btn {
    width: 100%;
  }
  .board-search.type-02 .board-search__inner {
    flex-direction: column;
  }
  /* 검색 - placeholder 반응형(숨김) */
  .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;
  }
}
/*=============== 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;
}

.accordion > .item.active .depth1.faq-accordion-header .arrow--i {
  border-top-color: var(--primary);
  border-right-color: var(--primary);
}

/*
 * 첨부파일 있는 경우
 */
.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) {
  .table-common th,
  .table-common td {
    padding: 1rem 0.5rem;
  }
  .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-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: -1px;
  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;
}


/* 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::placeholder {
    font-size: 0;
  }
  .board-search__wrap input.reset--btn.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 input[type=password] {
  width: 100%;
}

/* 새 비밀번호 */
.member-pw__wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: left;
  align-items: center;
  gap: 1rem;
}
.member-pw__wrap input {
  max-width: 31.5rem;
}

/* 핸드폰 번호 */
table .member-info__phone {
  display: flex;
  flex-direction: column;
}
table .member-info__phone .item__wrap {
  display: flex;
  gap: 0.5rem;
}
table .member-info__phone .item__wrap input {
  width: calc(33.3% - 0.5rem);
}

.member-info__phone .item__wrap {
  display: flex;
  max-width: 40rem;
  gap: 3rem;
}

/* 핸드폰 번호 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;
}

/* table 내부 전화번호 input 3개 */
.table-common .member-info__phone.type-02 .item__wrap {
  max-width: 42rem;
}
.table-common .member-info__phone.type-02 .item__wrap input[type=number] {
  width: 30%;
}
.table-common .manager__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
}
.table-common .manager__info .item {
  flex-grow: 1;
  width: calc(33.3% - 1rem);
}

/* 테이븚 첨부파일(유효성 검사) */
.file-table.alert-msg .th {
  height: 10rem;
}
.file-table.alert-msg .msg {
  position: absolute;
  margin-bottom: 0;
}

/* 이메일 */
.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(2) {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .member-info__modify .address__wrap {
    width: 100%;
  }
  .file-table.alert-msg .th {
    height: auto;
  }
  .file-table.alert-msg .td {
    height: 11rem;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .table-common .chkbox-type-01 {
    justify-content: flex-start;
  }
  table .member-pw__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;
    flex-wrap: wrap;
    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;
  }
  .table-common .manager__info .item {
    max-width: auto;
    width: 33.3%;
  }
}
/* 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;
  }
}
/**========================================================================
 *!                      서브페이지 팝업, 모달(공통)
 *========================================================================**/
.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;
  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::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-pop .txt__wrap {
  scrollbar-width: thin;
}

/* 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;
}

/* mfp-popup일 경우 기존 modal 배경 안보이게 */
.mfp-content .modal.active {
  background-color: transparent !important;
  backdrop-filter: none !important;
}

/*
 * mfp-pop 테이블 내부 닫기(btn)
 */
.white-popup table .mfp-close {
  position: relative !important;
  padding: 0;
  font-family: var(--k-ff1);
  color: var(--fc-tit);
  opacity: 1;
}

/*
 * 이용약관(팝업)
 */
.terms.modal .terms__wrap {
  padding: 2.5rem 2rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 1rem;
  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::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 .txt__wrap,
  .modal.type-03 .txt__wrap,
  .mfp-pop .txt__wrap {
    max-height: 55rem;
  }
  .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 서브페이지 팝업, 모달(공통) =====================*/
/*=============================================
=              모달창(공통 스타일)             =
=============================================*/
.modal--active {
  overflow: hidden auto;
  position: absolute;
  height: 100%;
}

/* background */
.modal {
  display: none;
}
.modal.active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  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__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추가) ==========*/
/*
 * 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 {
    font-size: 1.6rem;
  }
  .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-zoom-in .txt__wrap {
  padding: 0 !important;
}

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

.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: 11.5rem 0 3rem;
}
.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-pop .txt__box {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  color: var(--fc-tit);
}

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

/* 팝업 닫기 - btn */
button.mfp-close {
  left: 50%;
  width: 5rem !important;
  height: 5rem !important;
  margin-top: 3.5rem;
  padding-top: 0.2rem;
  border-radius: 50%;
  text-align: center !important;
  opacity: 1;
  background-color: var(--box-basic);
  transform: translateX(-50%);
  transition: 0.2s;
}
button.mfp-close:hover {
  background-color: #e4e8ee;
}
button.mfp-close .close--i:before, button.mfp-close .close--i:after {
  background-color: #969faf;
}

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

.mfp-close-btn-in .mfp-close.basic-btn-c {
  color: #fff !important;
}

/* 팝업 좌,우 조작 - 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;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .modal.type-02 .txt__wrap,
  .modal.type-03 .txt__wrap,
  .mfp-pop .txt__wrap {
    max-height: 52rem;
  }
}
/* mfp 팝업 - 취소 버튼 width: 12rem */
.basic-btn-c.mfp-close {
  position: relative;
  right: 0;
  left: initial !important;
  width: 12rem !important;
  margin-top: 0;
  border-radius: 0.7rem;
  font-family: var(--k-ff1);
  transform: translateX(0);
  background-color: var(--bg-box-tit);
}
.basic-btn-c.mfp-close:hover {
  background-color: var(--btn-02-hover);
}

/*
 * 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;
}

/* 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 .txt__box,
  .tb__pop .txt__wrap,
  .basic__pop .txt__box,
  .basic__pop .txt__wrap {
    padding: 0 2rem;
  }
  .mfp-pop .txt__wrap,
  .mfp-pop .txt__wrap {
    padding: 0 2rem;
  }
  .mfp-pop .txt__wrap.scroll,
  .mfp-pop .txt__wrap.scroll {
    padding: 0 1rem 0 2rem;
  }
}
/*======================= END OF magnific popup 커스텀 ========================*/
/*
 * 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 {
  width: 1.3rem;
  height: 1.3rem;
  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 {
  font-family: var(--k-ff1);
}
.join .inner {
  gap: 4.5rem;
}
.join .btn__list {
  justify-content: center;
}
.join .btn__list li {
  max-width: 12rem;
}
.join .contents-box--tit,
.join .contents-box--txt {
  line-height: 1.4;
}
.join .contents-box--tit br {
  display: none;
}

.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/openlab/doctor--i.png");
}
.join-step01 .box02 i:before {
  width: 10rem;
  height: 7.9rem;
  background-image: url("/images/openlab/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: 1.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 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%;
}

.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;
}

/*
 * 주민등록번호
 */
.resi-num {
  width: 100%;
}
.resi-num .inner {
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.resi-num .inner input {
  width: calc(50% - 1rem);
}
.resi-num .inner span {
  width: 2rem;
  text-align: center;
}

/* 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 .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,
  .mypage .visit__link__list {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .all-sites__list li,
  .mypage .visit__link__list li {
    width: 50% !important;
  }
  .all-sites__list .txt__wrap br,
  .mypage .visit__link__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 .contents-box--tit,
  .join .contents-box--txt {
    text-align: center;
  }
  .join .contents-box--tit br {
    display: block;
  }
  .join .contents-box--txt br {
    display: none;
  }
  .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;
  }
}
/*=============== END OF 부가정보 - 회원가입, 정보입력 폼 ==============*/
/**=====================================================================
 *!                      본인인증(마이헬스지갑에서 사용
 *====================================================================**/
#myhealthCerti {
  text-align: center;
}
#myhealthCerti .tit__wrap strong {
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--fc-tit);
}
#myhealthCerti .tit__wrap p {
  margin: 2rem 0 4rem;
  font-size: 1.6rem;
  color: var(--fc-info);
}

/*=============== END OF 본인인증(마이헬스지갑에서 사용 ==============*/
/**====================================================================
 *!                            confirm, alert창
 *====================================================================**/
.swal2-popup {
  min-width: 35rem;
  border-radius: 2rem;
}
.swal2-popup .popup-content {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 20px;
  font-family: "Pretendard", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  min-height: 80px;
}
.swal2-popup .popup-btn {
  min-width: 12rem;
  height: 5rem;
  margin-bottom: 2rem;
  border-radius: 0.7rem;
  font-size: 1.6rem;
  font-weight: 600;
}
.swal2-popup .popup-btn.btn-confirm {
  background-color: var(--primary);
}
.swal2-popup .popup-btn.btn-cancel {
  background-color: var(--btn-02-hover);
}

/*====================== END OF confirm, alert창 =======================*/
/**======================================================================
 *!                           사이트맵 - 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;
  }
}
/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  #siteMap .depth1 {
    flex-wrap: wrap;
    width: auto;
    gap: 15rem;
  }
  #siteMap .depth2 > li {
    padding-bottom: 2.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;
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  border-radius: 1rem;
  background: transparent;
  font-size: 2.4rem;
  color: #fff;
  box-sizing: border-box;
  -webkit-transition: background 0.55s ease;
  -moz-transition: background 0.55s ease;
  -ms-transition: background 0.55s ease;
  -o-transition: background 0.55s ease;
  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;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    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 ========================*/
/**========================================================================
 *!                                 FOOTER
 *========================================================================**/
#bottom {
  background-color: var(--bg-footer);
}

.footer__top {
  display: flex;
  background-color: var(--bg-sub);
}
.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: var(--bg-sub);
}

.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: var(--fc-bold);
}
.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 {
  display: none;
  position: fixed;
  right: 3rem;
  bottom: 3rem;
  z-index: 100;
  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/arrow_icon_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%;
}
.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%;
  /*padding-bottom: 10rem;*/
}
#lnb .lnb {
  position: relative;
}
#lnb .accordion .item.active .depth2 .inner-accordion-header a {
  height: auto;
}

.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 a {
  display: block;
  width: 100%;
  padding-left: 3.5rem;
}
.lnb__menu__list li.item.active h3.depth1 {
  border-radius: 0.7rem 0.7rem 0 0;
  color: #fff;
}
.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%);
}

/* 
 * 서브페이지(콘텐츠 영역)
 */
.container.sub {
  font-family: var(--k-ff1);
}

.sub__con {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
  min-height: 80rem;
}

.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");
}

/* width(대형모니터 1800px 기준) */
@media (max-width: 1800px) {
  .container.sub {
    max-width: 150rem;
  }
}
/* 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__con {
    margin-top: 2rem;
    gap: 4rem;
  }
  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(PC 1400px 기준) => xxl */
@media (max-width: 1400px) {
  .sub__con__wrap {
    width: calc(100% - 28rem - 5rem);
  }
  .sub__con {
    gap: 5rem;
  }
}
/* width(노트북 1200px 기준) => xl */
@media (max-width: 1200px) {
  .sub__con__wrap {
    max-width: 100%;
    width: 100%;
  }
  .sub-vi__btn__list {
    z-index: 1;
    margin-top: 0;
    padding-top: 13rem;
  }
  .sub-vi__btn__list button {
    display: none;
  }
  .sub-vi__btn__list button:last-child {
    display: flex;
  }
  /* 하위메뉴 없는 경우 */
  .lnb-menu--no .sub-vi__btn__list {
    padding-top: 5rem;
  }
  .lnb-menu--no #lnb {
    padding-bottom: 5rem;
  }
  .lnb-menu--no .share__box {
    margin-top: 10rem;
  }
  aside.lnb {
    width: 100%;
  }
  .sub__con {
    display: block;
  }
  .share__box {
    margin-top: 18rem;
  }
  aside {
    height: auto;
  }
  .lnb {
    display: none;
  }
  #lnb {
    max-width: initial;
    padding-bottom: 11rem;
  }
  .lnb_m {
    position: relative;
    margin-top: 2rem;
  }
  .lnb_m.m_show {
    display: block !important;
  }
  .lnb__menu__list {
    position: absolute;
    z-index: 5;
    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;
    position: relative;
    padding: 0;
  }
  .navi__wrap ul {
    flex-wrap: wrap;
  }
  .navi__wrap .current {
    margin-top: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--bd-basic2);
  }
  .navi__inner {
    justify-content: flex-start;
    width: calc(100% - 4rem - 1rem);
    height: 4rem;
    line-height: 1;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  .sub-vi h2 {
    font-size: 3rem;
  }
}
/*========================= END OF 서브 페이지(공통) =========================*/
/**=========================================================================
 *!                    부가정보, 마이페이지, step(공통)
 *=========================================================================**/
/* 
 * 상단 박스
 */
.contents-top__box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 5rem 0;
  padding: 3.5rem 2rem;
  border-radius: 1rem;
  background-color: var(--box-basic);
  gap: 1rem;
}

/* 
 * input 대체 텍스트
 */
.form__wrap .form-input--tit {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: left;
  color: var(--primary);
}
.form__wrap .account--input {
  position: relative;
  border: 1px solid var(--bd-basic2);
  border-radius: 7px;
  font-family: var(--k-ff1);
  background-color: #fff !important;
}
.form__wrap .account--input ~ .account--input {
  margin-top: 10px;
}
.form__wrap .account--input label {
  position: absolute;
  top: 1.7rem;
  left: 2rem;
  z-index: 10;
  font-family: var(--k-ff1);
  font-size: 16px;
  font-weight: 500;
  color: #a8adbb;
  transition: all 0.5s;
}
.form__wrap .account--input input {
  width: 100%;
  border: 0;
  background-color: transparent;
}
.form__wrap .account--input input:focus {
  outline: 0;
}
.form__wrap .account--input.on label {
  top: 0.2rem;
  font-size: 1.1rem;
}
.form__wrap.type-02 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.form__wrap.type-02 label {
  left: 4.5rem;
}
.form__wrap.type-02 .account--input.id__input input, .form__wrap.type-02 .account--input.pw__input input {
  padding-left: 4.5rem;
  margin-top: 0.5rem;
}
.form__wrap.type-02 .account--input.id__input {
  background: #fff url("/images/openlab/login_id_i.svg") no-repeat left 2rem center/13px auto;
}
.form__wrap.type-02 .account--input.pw__input {
  background: #fff url("/images/openlab/login_pw_i.svg") no-repeat left 2rem center/14px auto;
}

.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);
}

/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .contents-box--tit {
    display: flex;
    justify-content: center;
  }
  .page__tit .msg {
    text-align: center;
  }
  .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;
  }
}
/* 
 * 버튼 - 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%;
  height: 100%;
  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:after {
  left: 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;
  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,
.add-info__wrap .add-info__txt strong {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}
.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 {
  max-width: 36rem;
  width: 100%;
}
.account-info.add-info__btns button {
  width: 12rem;
  margin-top: 0;
}

/* 세로형 */
.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 .add-info__txt br {
    display: none;
  }
  .add-info__wrap .inner {
    flex-direction: column;
    align-items: center;
    padding: 7rem 2rem;
  }
  .add-info__wrap .inner .account-info {
    max-width: 36rem;
  }
  .form__wrap .account--input label {
    font-size: 1.5rem;
  }
}
/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  .com-search__wrap {
    gap: 1rem !important;
  }
  .com-search__wrap .search--input__wrap,
  .com-search__wrap #comSearch {
    max-width: 100% !important;
  }
  .com-search__wrap .item {
    width: 50%;
  }
}
/* width(모바일 576px 기준) => sm */
@media (max-width: 576px) {
  .tit__wrap.between {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
/*================ END OF 부가정보, 마이페이지, step(공통) ================*/
/**========================================================================
 *!                     주요홈페이지 모아보기 - modal
 *========================================================================**/
#linkAll .modal-btn--close {
  right: 0 !important;
  left: auto;
  margin-top: 4.2rem;
  margin-right: 9.5rem;
  transform: initial;
}
#linkAll.active .site-modal__inner {
  margin: 0 3rem;
}
#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
 *========================================================================**/
/* 주요알림(Animation) */
@keyframes alarmHover {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(20deg);
  }
  20% {
    transform: rotate(-20deg);
  }
  30% {
    transform: rotate(10deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(5deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  70% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
#noticePop .site-modal__inner {
  display: flex;
  justify-content: center;
  position: relative;
  min-width: 70rem;
  width: 87.5rem;
}
#noticePop .notice-pop__con {
  position: relative;
  width: 100%;
}
#noticePop h3 {
  position: relative;
  padding-bottom: 2.4rem;
  font-family: var(--k-ff2);
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
#noticePop .notice-pop__swiper {
  position: relative;
  z-index: 2;
  width: 45rem;
  height: 45rem;
  margin: 0 auto;
}
#noticePop .swiper-container {
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 45rem;
}
#noticePop .swiper-slide p {
  display: block;
}
#noticePop .control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 100%;
  transform: translateY(-50%);
}
#noticePop .control button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 10rem;
  height: 10rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  box-sizing: border-box;
  transition: 0.3s;
}
#noticePop .control button:hover {
  border: 1px solid var(--point1);
  background-color: var(--point1);
}
#noticePop .control button:hover:after {
  opacity: 1;
}
#noticePop .control button:after {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  background: url("/images/openlab/arrow_icon_w.svg") no-repeat;
  opacity: 0.3;
  content: "";
}
#noticePop .control button.btn--prev:after {
  transform: rotate(225deg);
}
#noticePop .control button.btn--next:after {
  transform: rotate(45deg);
}
#noticePop .notice-pop__btns {
  margin-top: 3rem;
}
#noticePop .notice-pop__btns .inner {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
#noticePop .notice-pop__btns .inner li {
  display: flex;
  align-items: center;
  border-radius: 5rem;
  font-size: 1.6rem;
  font-weight: 500;
}
#noticePop .notice-pop__btns .inner li:nth-child(1) {
  padding: 0 2.4rem;
  background-color: #fff;
}
#noticePop .pop--count {
  font-weight: 600;
  color: var(--point1);
}
#noticePop .pop-btn--close {
  display: flex;
  align-items: center;
  padding: 1.5rem 2.5rem;
  border-radius: 5rem;
  color: #fff;
  background-color: var(--btn-basic2);
}
#noticePop .pop-btn--close i {
  padding-left: 1.7rem;
}
#noticePop .swiper-pagination {
  display: none;
}

/* width(모바일 768px 기준) => md */
@media (max-width: 768px) {
  #noticePop .notice-pop__btns {
    position: relative;
  }
  #noticePop .notice-pop__btns .swiper-pagination {
    display: block;
    position: static !important;
    height: 2.5rem;
  }
  #noticePop .notice-pop__btns .swiper-pagination .swiper-pagination-bullet {
    width: 2.5rem;
    height: 2.5rem;
    border: 3px solid rgba(255, 255, 255, 0.5);
    background: none;
    opacity: 1;
  }
  #noticePop .notice-pop__btns .swiper-pagination .swiper-pagination-bullet-active {
    border: none;
    background: #fff;
  }
  #noticePop .notice-pop__btns .inner {
    display: flex;
    margin-top: 4rem;
    gap: 1rem;
  }
  #noticePop .control {
    display: none !important;
  }
}
/* width(모바일 375px 기준) => xs */
@media (max-width: 375px) {
  #noticePop .notice-pop__con {
    max-width: 32rem;
  }
  #noticePop .notice-pop__con img {
    max-width: 32rem;
  }
  #noticePop .notice-pop__btns .inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  #noticePop .notice-pop__btns .inner li:nth-child(1) {
    justify-content: center;
    width: 50%;
  }
  #noticePop .notice-pop__swiper {
    height: 32rem !important;
  }
}
/*======================== END OF 주요알림 - modal ========================*/
/**========================================================================
 *!                                   loading
 *========================================================================**/
#loading {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.8);
}
#loading .inner {
  display: inline-block;
}

.loader {
  width: 50px;
  padding: 8px;
  border-radius: 50%;
  background: #969faf;
  animation: l3 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 l3 {
  to {
    transform: rotate(1turn);
  }
}
/*============================= END OF loading ============================*/
/**========================================================================
 *!                            select2 커스텀
 *========================================================================**/
.select2-container--default .select2-selection--multiple {
  height: 5rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 0.7rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  font-size: 1.4rem;
  font-weight: 500;
  background-color: #fff;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border-right: 0;
  color: var(--li-dot3);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  padding-left: 1.5rem;
  border-radius: 5rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  padding-right: 1rem;
}

.select2-container .select2-search--inline .select2-search__field {
  margin: 0;
  padding-left: 1rem;
  font-size: 1.6rem;
  line-height: 1;
  color: #424756;
}

.select2-container--default .select2-selection--multiple {
  display: flex;
  align-items: center;
  padding: 0;
}

.select2-results__option {
  font-size: 1.6rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  margin-top: 0;
  font-weight: 600;
  color: var(--li-dot3);
  border-color: var(--li-dot3);
}

.select2-selection__rendered {
  margin-left: 1rem;
}

.select2-selection {
  background: url(/images/openlab/arrow3_i.png) no-repeat right 2.5rem center;
}

/* width(태블릿 1024px 기준) => lg */
@media (max-width: 1024px) {
  .board-search.type-02 .select2__area .board__select__wrap {
    flex-direction: column;
  }
  .board-search.type-02 .select2__area .board__select__wrap select {
    width: 100%;
  }
}
/*========================== END OF select2 커스텀 =========================*/

/**========================================================================
 *!                            공용 컴포넌트 스타일
 *========================================================================**/
.w20{width:20%;}
.w30{width:30%;}
.w100{width:100%;}

.right-btn-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.right-btn-wrap > a + a {
  margin-left: 8px;
}
.board01 .right-btn-wrap{
  margin-bottom: 36px;
}
.btn-outline {
  display: flex;
  padding: 12px;
  justify-content: center;
  width: 140px;
  align-items: flex-start;
  gap: 8px;
  border-radius: 6px;
  background: #fff;
  color: var(--black);
  border: 1px solid #c5c5c5;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

/* line style */
.line{width:100%;height:1px;margin-bottom: 20px;}
.line-solid{border-top:1px solid #eeeeee;}
.line-dot{border-top:1px dotted #eeeeee;}
.line-dash{border-top:1px dashed #eeeeee;}
.line-double{border-top:1px double #eeeeee;}
.line-ridge{border-top:2mm ridge rgba(184, 184, 184, 0.6);}


/* 탭 영역 */
#tab-menu {
  width: 100%;
}
#tab-btn{position: relative;}
#tab-btn ul {
  overflow: hidden;
  border-bottom: 2px solid #3e359b;
}
#tab-btn li {
  float: left; text-align: center;
}
#tab-btn li a {
  min-width: 170px;
  display: block;
  color: #7f9db2;
  padding: 10px 20px;
  font-weight: bold;
  cursor: pointer;
  background-color: #e9f2f9;
  font-size:1.7rem;
}
#tab-btn li.active a {
  color: #fff;
  background-color: #3e359b;
}
#tab-btn > div{
  position: absolute;
  right: 0px;
  top:0px;
}
#tab-btn div button{margin-left: 10px;}
#tab-cont {
  width: 100%;
  min-height:200px;
  background: #fff;
  box-sizing: border-box;
  /* border:1px solid #d2d2d2; */
  border-top:0px;
}
#tab-cont .table-common tbody tr:hover{background-color: #fcf9fb;}
/*#tab-cont .sub_style_1, #tab-cont .table01{border:0px;}*/

#tab-cont .img_section,
.dialog__content .img_section{
  width:60%;
  min-height: 350px;
  max-height: 350px;
  background-color: #fafafb;
  border: 1px solid #e5dff5;
  display: flex;
  align-items: center;
  justify-content: space-around;
  background-image: url(/images/openlab/logo_thum.svg);
  background-size: 10%;
  background-repeat: no-repeat;
  background-position: center;
}
#tab-cont .table_section,
.dialog__content .table_section{
  width:30%;
}
.tab_inner{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#tab-cont .img_section p,
.table_section .img_section p{
  font-size: 2em;
  color: #dddddd;
}

/* modal section */

/*#tab-cont .dialog,  #tab-cont .dialog02{*/
/*  width: 1200px;*/
/*}*/
#tab-cont > div{position: relative;font-size: 1.7rem;}

#tab-cont .flex-right{
  position: absolute;
  right: -20px;
  top: -68px;
}
#tab-cont .flex-right button{margin-left: 10px;}

$default--padding: 55px;

.modal_btn, .modal_btn02 {
  border: none;
  background-color: #afb8c9;
  padding: 17px $default--padding 17px $default--padding;
  border-radius: 30px;
  font-size: 15px;
  font-family: 'Nunito', sans-serif;
  color: #fff;
  box-shadow: 0 10px 25px #3c4a5645;
  outline: none;
  cursor: pointer;
}

.dialog h3, .dialog02 h3{
  font-size: 18px;
  margin-bottom: 15px;
}
.dialog p, .dialog02 p{
  font-size: 16px;
}

.button-close {
  padding: 10px;
  align-self: flex-end;
  background-color: transparent;
  box-shadow: none;
  color: #838282;
}

.dialog, .dialog02 {
  padding: 0;
  margin: 0;
  width: 60%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  border: none;
  border-radius: 6px;
  /*animation: appear .8s cubic-bezier(.77,0,.175,1) forwards;*/
  box-shadow: 0 25px 40px -20px #3c4a56;
  max-height: 70vh;
}

.dialog__animate-out{
  animation: dissappear .8s cubic-bezier(.77,0,.175,1) forwards;
}
.dialog__inner {
  display: flex;
  flex-direction: column;
}
.dialog__header{
  width: 100%;
  display: flex;
  padding: 10px 20px;
  font-size: 18px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #d1d1d1;
}
.dialog__header h2{
  margin-bottom: 0px;
  padding-top: 0px;
}
.dialog__close-btn {
  align-self: flex-end;
}
.dialog__content {
  padding: 30px;
}
.dialog__footer{
  padding: 30px 30px 0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* 상태표시 레이아웃 */

.app__step{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
  text-align: center;
}
.app__step li{
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  flex: 1;
  height:100px;
  border-top: 2px solid #cccccc;
  border-bottom: 2px solid #cccccc;
  border-left: 2px solid #cccccc;
  padding: 1%;
  font-size: 18px;
}
.app__step li:last-child{border-right: 2px solid #cccccc;}
.app__step li:first-child{background-color: #cccccc;color:#ffffff;font-size: 22px;font-weight: 600;}
.app__step li p{
  font-size:16px;
}
.app__step li div{
  font-size:20px;
  font-weight: 600;
}
.app__step.col_gr li{border-color: #1ab91a;}
.app__step.col_gr li.bg{background-color: #f2fdf4;}
.app__step.col_gr li:first-child{background-color: #1ab91a;}
.app__step.col_bl li{border-color: #0081d6;}
.app__step.col_bl li.bg{background-color: #e9f6ff;}
.app__step.col_bl li:first-child{background-color: #0081d6;}
.app__step.col_yel li{border-color: #ffd900;}
.app__step.col_yel li.bg{background-color: #fffadf;}
.app__step.col_yel li:first-child{background-color: #ffd900;}

.progress_box #progress {
  appearance: auto;
}

.progress_box #progress::-webkit-progress-bar {
  background: #f0f0f0;
  border-radius: 12px;
  border: 1px solid #eeeeee;
  height: 28px;
  width: 200px;
  overflow: hidden;
}

.progress_box #progress::-webkit-progress-value {
  background: #fdd4d6;
  border-radius: 0px;
  height: 28px;
  width: 48px;
}



.progress__step .steps {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.progress__step .steps .circle {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 50px;
  color: #999;
  font-size: 22px;
  font-weight: 500;
  border-radius: 50%;
  background: #fff;
  border: 4px solid #e0e0e0;
  transition: all 200ms ease;
  transition-delay: 0s;
}
.progress__step .steps .circle.active {
  transition-delay: 100ms;
  border-color: #4070f4;
  color: #4070f4;
}
.progress__step .steps .progress-bar {
  position: absolute;
  height: 4px;
  width: 100%;
  background: #e0e0e0;
  z-index: -1;
}
.progress__step .progress-bar .indicator {
  position: absolute;
  height: 100%;
  width: 0%;
  background: #4070f4;
  transition: all 300ms ease;
}
.progress__step .buttons {
  display: flex;
  gap: 20px;
}
.progress__step .buttons button {
  padding: 8px 25px;
  background: #4070f4;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  cursor: pointer;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
  transition: all 200ms linear;
}
.progress__step .buttons button:active {
  transform: scale(0.97);
}
.progress__step .buttons button:disabled {
  background: #87a5f8;
  cursor: not-allowed;
}

/* 이미지 툴 레이아웃 */
.left_tool{
  background-color: #3C3F41;
  width:80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:20px;
  gap: 20px;
}
.left_tool li{
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #FBFBFB;
  font-size: 16px;
  gap: 10px;
}
.left_tool .tool{
  width:52px;
  height:52px;
  background-color: #5C5C5C;
  border: 1px solid #747474;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.left_tool .tool:hover{background-color:#3a3a3a;transition: 0.1s;}
.tool_content{
  width: calc(100% - 80px);
  border:1px solid #8D9398;
}

/* 이미지 + 테이블 */
.img_table{
  width: 100%;
  flex-direction: row;
  display: flex;
  justify-content: space-between;

}
.img_table li{
  width:100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4rem;
  padding:3rem;
  border: 1px solid var(--bd-basic2);
  border-radius: 20px;
}
.img_table .img{
  width: calc(50% - 4rem);
  height: 100%;
  background-color: #f3f2f4;
  padding: 4rem;
  position: relative;
  border-radius: 10px;
  border: 1px solid #c7c1cb;
}
.img_table .img:before{
  display: none;
  content: "";
  position: absolute;
  width: 116px;
  height: 75px;
  left: 50%;
  top: 50%;
  background: url(/images/openlab/logo_thum.svg) center / contain no-repeat;
  opacity: 0.4;
  transform: translate(-50%, -50%);
}
.img_table .img img{
  position: absolute;
  width: 40%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.img_table .sub-table-wrap{width:50%;}

/* modal table */
.modal__tb{
  width: 420px;
  padding: 20px;
  border: 1px solid #cccccc;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
}
.modal__tb > div{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modal__tb .tb_content{
  flex-direction: column;
  display: flex;
  gap: 10px;
}
.modal__tb .tb_content > div{
  display: flex;
}
.modal__tb .tb_content > div > div{width:30%;display: flex;align-items: center;}
.modal__tb .tb_content > div > input{width:70%;}
.modal__tb .btnBox{
  display: flex;
  justify-content: center;
  gap: 10px;
}

/* div table style */
.div_table {
  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;
}
.div_table .div_table_tbody{
  display: flex;
  border-bottom: 1px solid var(--bd-basic2);
  align-items: stretch;
}
.div_table_td{width: 80%;padding: 0.8rem;}
.div_table_th{
  width: 20%;
  font-weight: bold;
  display: flex;
  color: var(--primary);
  background-color: var(--box-basic);
  justify-content: center;
  align-items: center;
}

@keyframes appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes dissappear {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/*========================== END OF 공용 컴포넌트 스타일 =========================*/

/**========================================================================
 *!                            modal
 *========================================================================**/


/* popup */
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes popupDimbg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.4;
  }
}
.screen-out {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
}
.popup__section {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
}
.popup__section.is-open {
  display: block;
}
.popup__dim {
  background: #000;
  opacity: 0;
}
.is-open .popup__dim {
  opacity: 0.4;
  animation: popupDimbg 0.5s;
}
.popup__inner,
.popup__dim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.popup__inner {
  display: flex;
  justify-content: center;
  align-items: center;
}

.popup__container__group {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100% - 40px);
  max-width: 980px;
  max-height: 60%;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  animation: fade 0.5s;
}
.popup__container__group {
  max-height: 80%;
}
.popup__header__group {
  height: 77px;
  padding: 24px;
  flex-shrink: 0;
}
.popup__header__title {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  line-height: 29px;
  letter-spacing: -0.8px;
}
.popup__header__close {
  width: 24px;
  height: 24px;
  background: url(../image/icon_close.svg) no-repeat center/contain;
  position: absolute;
  top: 24px;
  right: 24px;
}
.popup__contents__group {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
  overflow-y: auto;
  max-height: calc(80vh - 174px);
  margin-bottom: 40px;
}
.popup__button__group {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  height: 56px;
}
.popup__button__group > button + button {
  margin-left: 10px;
}
.alert {
  display: none;
  margin-top: 10px;
  margin-left: 25px;
  color: #f04c23;
  font-size: 18px;
  line-height: 1;
}
.alert.on,
.alert2.on {
  display: block;
}

.popup-sm .popup__container__group {
  max-width: 600px;
}
/* popup 끝 */

/* 검색 popup */
.search-popup .popup__inner {
  align-items: flex-start;
}
.search-popup .popup__container__group {
  width: 100%;
  max-width: inherit;
  border-radius: 0;
}
.top-search-box {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-search{
  position: relative;
  width: 40vw;
}
.top-search-box input{
  border: none;
  border-bottom: 1px solid var(--black);
  padding: 12px 16px;
  width: 100%;
}
.top-search-box button{
  position: absolute;
  top: 8px;
  right: 0;
}
.top-search-pop{
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 100px;
}
.top-search-pop p {
  margin-right: 18px;
}
.top-search-pop a{
  border: 1px solid var(--border);
  padding: 8px 16px;
  display: block;
  border-radius: 100px;
  transition: all 0.3s;
}
.top-search-pop a:hover{
  background-color: var(--main);
  color: #fff;
}
.top-search-pop a + a {
  margin-left: 8px;
}
/* 검색 popup 끝 */


.popup__section .table01 {
  border-top: 1px solid #e1e4d4;
  border-bottom: 1px solid #e1e4d4;
}
/* PC (해상도 1024px)*/
@media all and (min-width: 1024px) {
}
/* 테블릿 가로, 테블릿 세로 (해상도 768px ~ 1023px)*/
@media all and (max-width: 1023px) {
}
/* 모바일 가로, 모바일 세로 (해상도 480px ~ 767px)*/
@media all and (max-width: 767px) {
  /* popup */
  .popup__container__group {
    width: 100%;
    max-height: 90%;
    border-radius: 20px 20px 0 0;
    animation-name: popupYmove;
  }
  @-webkit-keyframes popupYmove {
    0% {
      opacity: 0;
      transform: translateY(50%);
    }
    100% {
      opacity: 0.4;
      transform: translateY(0);
    }
  }

  .popup__inner {
    align-items: flex-end;
  }
  .popup-sm .popup__container__group {
    max-width: initial;
    animation-name: popupYmove;
    width: calc(100% - 32px);
    border-radius: 20px;
  }
  .popup__inner.popup-sm {
    align-items: center;
  }
  /* popup 끝 */

  /* 검색 popup */
  .top-search{
    width: calc(100vw - 36px);
  }
  .top-search-pop{
    padding: 0 16px;
  }
  /* 검색 popup 끝*/
}

/*========================== modal =========================*/

/**========================================================================
 *!                            prom
 *========================================================================**/

/* prom-col01 */
.prom-col01{
  border: 1px solid var(--border);
}
.prom-row01 .prom-col01{
  border: none;
}
.prom-col01-title, .prom-col01-td{
  border-bottom: 1px solid var(--border);
  padding: 16px 24px;
}
.prom-col01-title{
  font-weight: 800;
}
.prom-col01-total-score{
  border-top: 1px solid var(--border);
  padding: 16px 24px;
  text-align: center;
}
.prom-col01-tr:last-child .prom-col01-td:last-child{
  border-bottom: none;
}
.prom-col01-td .s__radio{
  margin-bottom: 8px;
}
.prom-col01-tr:nth-child(2n - 1){
  background-color: #F9F9F9;
}
.prom-col01-td:nth-child(1) p{
  font-weight: 600;
}
/* prom-row01 */
.prom-row01{
  border: 1px solid var(--border);
}
.prom-col01 .prom-row01{
  border: none;
  border-bottom: 1px solid var(--border);
}
.prom-row01-title, .prom-row01-td{
  border-bottom: 1px solid var(--border);
}
.prom-row01-title{
  font-weight: 800;
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.prom-row01-title > div:nth-child(1){
  padding: 16px 24px;
  display: flex;
  align-items: center;
  height: 100%;
}

.prom-row01-title-option{
  display: grid;
}
.prom-row01-title-option.option02{
  grid-template-columns: 1fr 1fr;
}
.prom-row01-title-option.option03{
  grid-template-columns: 1fr 1fr 1fr;
}
.prom-row01-title-option.option04{
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.prom-row01-title-option.option05{
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.prom-row01-title-option p{
  border-left: 1px solid var(--border);
  height: 100%;
  padding: 16px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 20px;
}
.prom-row01-total-score{
  border-top: 1px solid var(--border);
  padding: 16px 24px;
  text-align: center;
}
.prom-row01-tr{
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.prom-row01-td{
  display: grid;
}
.prom-row01-td.option02{
  grid-template-columns: 1fr 1fr;
}
.prom-row01-td.option03{
  grid-template-columns: 1fr 1fr 1fr;
}
.prom-row01-td.option04{
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.prom-row01-td.option05{
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.prom-row01-tr:last-child .prom-row01-td:last-child,.prom-row01-tr:last-child .prom-row01-td:nth-last-child(2){
  border-bottom: none;
}
.prom-row01-td .s__radio{
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--border);
}
.prom-col01-tr:nth-child(2n - 1){
  background-color: #F9F9F9;
}
.prom-row01-td:nth-child(1) p{
  font-weight: 600;
  padding: 16px 24px;
}
.prom-row01-tr
.prom-tr-title{
  font-weight: 600;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  background-color: #F9F9F9;
  font-size: 18px;
}
.prom-tr-title ~ .prom-row01-tr{
  background-color: #fff;
}
.prom-tr-title ~ .prom-col01-tr{
  background-color: #fff;
}
.prom-tr-text{
  display: block;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  background-color: #fff;
}
.prom-row01-contents > *:last-child{
  border-bottom: none;
}
.prom-arrow-wrap{
  display: none;
}
.s__radio input + label + label{
  max-width: calc(100% - 30px);
}
@media all and (max-width:767px) {
  .prom-col01 .prom-row01{
    width: 100%;
  }
  .prom-col01-td:nth-child(1) p{
    width: 100%;
    text-align: center;
    font-size: 28px;
  }
  .prom-arrow-wrap > a.prom-btn-disabled{
    background-color: #F9F9F9;
    pointer-events: none;
  }
  .prom-arrow-wrap > a.prom-btn-disabled img {
    opacity: 0.2;
  }
  .prom-col01-td{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .prom-row01-title{
    display: block;
  }
  .prom-row01-title-option{
    position: absolute;
    bottom: 17%;
    width: 100%;
    display: none;
  }
  .prom-row01-title-option.active-on{
    display: grid;
  }
  .prom-row01-title-option p{
    border-left: none;
  }
  .prom-tr{
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    display: none;
  }
  .prom-tr.active-on{
    display: flex;
  }
  .prom-tr.active-on.prom-row01-tr {
    height: 43vh;
  }
  .prom-tr > .prom-td:nth-child(1){
    height: calc(48% - 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: none;
    overflow: auto;
  }
  .prom-row01-title{
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .prom-row01-title > .prom-td:nth-child(1){
    height: calc(48% - 30px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: none;
    font-size: 28px;
    text-align: center;
    font-weight: 600;
    overflow: auto;
    height: 100%;
  }
  .prom-row01-tr > .prom-row01-td:nth-child(1) p {
    width: 100%;
    text-align: center;
    font-size: 28px;
    line-height: 46px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background-color: #F9F9F9;
  }
  .prom-td .s__radio{
    border: none;
  }
  .prom-td{
    border: none;
  }
  .prom-td:last-child{
    padding-bottom: 30px;

  }
  .prom-td:nth-child(2){
    position: absolute;
    bottom: 8%;
    width: 100%;
    height: 36%;
    overflow: auto;
  }
  .prom-row01-contents .prom-td:nth-child(2){
    height: 10%;
  }
  .prom-arrow-wrap{
    width: 100%;
    position: absolute;
    bottom: 0;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--border);
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    border-right: 1px solid var(--border);
  }
  .prom-arrow-wrap > a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 12px 8px;
    background-color: #fff;

  }
  .prom-arrow-wrap > a:nth-child(1){
    border-right: 1px solid var(--border);
  }
  .prom-tr-title{
    display: none;
  }
  .prom-tr-title.active-on{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 46px;
  }
  .prom-tr-text{
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .active-on-step2{
    display: flex;
  }
  .active-on-step2 .prom-row01-title{
    height: auto;
  }
  .prom-row01-title02{
    border-bottom: none;
    display: none;
  }
  .active-on-step2 .prom-row01-title02 {
    display: flex;
    height: 27vh;
  }
  .prom-row01-title02 .prom-row01-title-option{
    display: none;
  }
  .active-on-step2 .prom-row01-title02 .prom-row01-title-option{
    display: grid;
  }
  .prom-col01-tr:nth-child(2n - 1){
    background-color: #fff;
  }
  .prom-col01-total-score{
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 600;
  }
}

.prom-input-text{
  border: 1px solid #c5c5c5;;
  border-radius: 4px;
  padding: 10px 10px 10px 16px;
  height: 43px;
}
.prom-input-text.input-full{
  width: 100%;
}
/* prom-col01 */
.prom-col01 {
  border: 1px solid var(--border);
  border-bottom: none;
}
.prom-row01 .prom-col01 {
  border: none;
}
.prom-col01-title,
.prom-col01-td {
  border-bottom: 1px solid var(--border);
  padding: 16px 24px;
}
.prom-col01-title {
  font-weight: 800;
}
.prom-col01-total-score {
  padding: 16px 24px;
  text-align: center;
}
.prom-col01-tr:last-child .prom-col01-td:last-child {
  border-bottom: none;
}
.prom-col01-td .s__radio {
  margin-bottom: 8px;
}
.prom-col01-tr:nth-child(2n - 1) {
  background-color: #f9f9f9;
}
.prom-col01-td:nth-child(1) p {
  font-weight: 600;
}
/* prom-col02 */

/* prom-row01 */
.prom-row01 {
  border: 1px solid var(--border);
}
.prom-col01 .prom-row01 {
  border: none;
  border-bottom: 1px solid var(--border);
}
.prom-row01-title,
.prom-row01-td {
  border-bottom: 1px solid var(--border);
}
.prom-row01-title {
  font-weight: 800;
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.prom-row01-title > div:nth-child(1) {
  padding: 16px 24px;
  display: flex;
  align-items: center;
  height: 100%;
}

.prom-row01-title-option {
  display: grid;
}
.prom-row01-title-option.option02 {
  grid-template-columns: 1fr 1fr;
}
.prom-row01-title-option.option03 {
  grid-template-columns: 1fr 1fr 1fr;
}
.prom-row01-title-option.option04 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.prom-row01-title-option.option05 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.prom-row01-title-option p {
  border-left: 1px solid var(--border);
  height: 100%;
  padding: 16px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 20px;
}
.prom-row01-total-score {
  border-top: 1px solid var(--border);
  padding: 16px 24px;
  text-align: center;
}
.prom-row01-tr {
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.prom-row01-td {
  display: grid;
}
.prom-row01-td.option02 {
  grid-template-columns: 1fr 1fr;
}
.prom-row01-td.option03 {
  grid-template-columns: 1fr 1fr 1fr;
}
.prom-row01-td.option04 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.prom-row01-td.option05 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.prom-row01-tr:last-child .prom-row01-td:last-child,
.prom-row01-tr:last-child .prom-row01-td:nth-last-child(2) {
  border-bottom: none;
}
.prom-row01-td .s__radio {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--border);
}
.prom-col01-tr:nth-child(2n - 1) {
  background-color: #f9f9f9;
}
.prom-row02:nth-child(2n - 1) {
  background-color: #f9f9f9;
}
.prom-row01-td:nth-child(1) p {
  font-weight: 600;
  padding: 16px 24px;
}
.prom-row01-tr .prom-tr-title {
  font-weight: 600;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  background-color: #f9f9f9;
  font-size: 18px;
}
.prom-tr-title ~ .prom-row01-tr {
  background-color: #fff;
}
.prom-tr-title ~ .prom-col01-tr {
  background-color: #fff;
}
.prom-tr-text {
  display: block;
}
.prom-row01-contents > *:last-child {
  border-bottom: none;
}
.prom-arrow-wrap {
  display: none;
}
.s__radio input + label + label {
  max-width: calc(100% - 30px);
}
.prom-row01-td > .prom-row01-title-option {
  display: none;
}
.prom-col01-tr > .prom-col01-title {
  display: none;
}
/* row02 */
.prom-row02-title {
  display: none;
}
.row02-title p {
  font-weight: 600;
  padding: 16px 24px;
}
.prom-row02 .prom-row01-tr:last-child .prom-row01-td:last-child ,.prom-row02 .prom-row01-tr:last-child .prom-row01-td:nth-last-child(2) {
  border-bottom: 1px solid var(--border);
}
@media all and (max-width: 767px) {
  .prom-pc-only {
    display: none;
  }
  .prom-col01-tr > .prom-col01-title {
    display: block;
  }
  .prom-col01 .prom-row01 {
    width: 100%;
  }
  .prom-col01-td:nth-child(1) p {
    width: 100%;
    text-align: center;
    font-size: 28px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .prom-arrow-wrap > a.prom-btn-disabled {
    background-color: #f9f9f9;
    pointer-events: none;
  }
  .prom-arrow-wrap > a.prom-btn-disabled img {
    opacity: 0.2;
  }
  .prom-col01-td {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .prom-row01-title {
    display: block;
  }
  .prom-row01-title-option {
    position: absolute;
    bottom: 25px;
    width: 100%;
    display: none;
  }
  .prom-row01-title-option.active-on {
    display: grid;
  }
  .prom-row01-title-option p {
    border-left: none;
  }
  .prom-tr {
    /* min-height: 75vh; */
    min-height: initial;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    display: none;
  }
  .prom-tr-text.prom-tr > .prom-td:nth-child(1) {
    height: 100%;
  }
  .prom-tr-text p {
    margin-bottom: 50px;
  }
  .prom-tr.active-on {
    display: flex;
  }
  .prom-tr.active-on.prom-row01-tr {
    min-height: 43vh;
  }
  .prom-tr > .prom-td:nth-child(1) {
    height: calc(36vh - 30px);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    border-bottom: none;
    overflow: auto;
  }

  .prom-row01-title {
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .prom-row01-title > .prom-td:nth-child(1) {
    height: calc(48% - 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: none;
    font-size: 28px;
    text-align: center;
    font-weight: 600;
    overflow: auto;
    height: 100%;
  }
  .prom-row01-tr > .prom-row01-td:nth-child(1) p {
    width: 100%;
    text-align: center;
    font-size: 20px;
    line-height: 46px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background-color: #f9f9f9;
  }
  .prom-td .s__radio {
    border: none;
  }
  .prom-td {
    border: none !important;
  }
  .prom-td:last-child {
    padding-bottom: 30px;
  }
  .prom-td:nth-child(2) {
    position: absolute;
    bottom: 8%;
    width: 100%;
    height: 36%;
  }
  .prom-col01-tr > .prom-td:nth-child(2) {
    overflow: auto;
  }
  .prom-row01-title02 ~ .prom-row01-contents .prom-row01-td.prom-td:nth-child(1){
    height: auto;
  }
  .prom-row01-title02 ~ .prom-row01-contents .prom-row01-td.prom-td:nth-child(2):not(.row02-title){
    padding-top: 100px;
    position: relative;
  }
  .prom-col01-title + .prom-col01-td.prom-td {
    min-height: calc(36vh - 30px);
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    border-bottom: none;
    overflow: auto;
    position: relative;
  }
  .prom-col01-title + .prom-col01-td.prom-td + .prom-col01-td.prom-td {
    position: relative;
    width: 100%;
    height: 36%;
    overflow: auto;
  }
  .prom-col01-title + .prom-col01-td.prom-td p {
    width: 100%;
    text-align: center;
    font-size: 28px;
    font-weight: 600;
  }
  .prom-row01-contents .prom-td:nth-child(2) {
    height: auto;
  }
  .prom-arrow-wrap {
    width: 100%;
    position: absolute;
    bottom: 0;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--border);
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    border-right: 1px solid var(--border);
  }
  .prom-arrow-wrap > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 12px 8px;
    background-color: #fff;
  }
  .prom-arrow-wrap > a:nth-child(1) {
    border-right: 1px solid var(--border);
  }
  .prom-tr-title {
    display: none;
  }
  .prom-tr-title.active-on {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 46px;
  }
  .prom-tr-text.active-on {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
  }
  .prom-tr-text .prom-col01-title{
    width: 100%;
    text-align-last: left;
  }
  .prom-tr-text.active-on .prom-col01-title + .prom-col01-td.prom-td{
    min-height: 500px;
  }
  .active-on {
    display: flex;
  }
  .active-on .prom-row01-title {
    height: auto;
  }
  .prom-row01-title02 {
    border-bottom: none;
    display: none;
  }

  .active-on .prom-row01-title02 {
    display: flex;
    justify-content: center;
    min-height: 300px;
    height: auto;
  }
  .prom-row01 .prom-row01-title-option {
    display: none;
  }
  .prom-col01-tr:nth-child(2n - 1) {
    background-color: #fff;
  }
  .prom-row02:nth-child(2n - 1) {
    background-color: #fff;
  }
  .prom-col01-total-score {
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 600;
  }
  .active-on .prom-row01-tr {
    min-height: initial;
    display: flex;
    position: relative;
  }
  .prom-row01-td > .prom-row01-title-option {
    position: absolute;
    display: grid;
    transform: translateY(-35px);
  }
  .row02-title {
    min-height: 300px;
    height: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: none !important;
    overflow: auto;
    position: relative !important;
    bottom: auto !important;
  }
  .row02-title p {
    width: 100%;
    text-align: center;
    font-size: 28px;
    font-weight: 600;
  }
  .row02-radio {
    overflow: visible !important;
    position: relative;
    width: 100%;
    bottom: 0;
    height: auto;
    padding-top: 100px;
  }
  .row02-radio .prom-row01-title-option {
    height: auto;
    transform: translateY(-60px);
  }
  .prom-row02-title {
    display: block;
    font-weight: 800;
    border-bottom: 1px solid var(--border);
    padding: 16px 24px;
  }
  .prom-col01-contents{
    padding-bottom: 56px;
  }
}


/*
* mdi-style.css
*/
/* common */
.m_show { display: none !important; }

/* header */
#top_header .inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1400px;
  height: 40px;
  margin: 0 auto;
  font-size: 13px;
}
#top_header .inner .menu-left a{
  padding:13px 30px;
}
#top_header .inner .menu-left .go_menu01{
  background-color:#425170;
  color:#ffffff;
}

header {
  width:100%;
  border-bottom: 1px solid var(--border);
}

header .s__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  height: 100%;
  padding:0px;
}
.menu-link {
  display: flex;
  justify-content: space-between;
  width: 57%;
  height: 100%;
}
.menu-link > li > a {
  cursor: pointer;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pc-menu__step1.active > a {
  border-bottom: 4px solid #89c940;
  color: #89c940;
  font-weight: 600;
}

.pc-menu__step1 {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
}
/* .pc-menu__step1::after {
  content: "";
  display: block;
  height: 18px;
  width: 1px;
  background-color: var(--border);
  margin-left: 28px;
}
.pc-menu__step1:last-child::after {
  display: none;
} */
.pc-menu__step1 {
  position: relative; /* 하위 메뉴의 위치를 상위 메뉴에 상대적으로 설정 */
  width: 200px; /* 상위 메뉴의 너비를 동일하게 설정 */
}

.pc-menu__step2 {
  display: none; /* 기본적으로 하위 메뉴를 숨김 */
  position: absolute; /* 상위 메뉴 아래에 위치하도록 설정 */
  top: 100%; /* 상위 메뉴 바로 아래에 위치 */
  left: 0;
  background-color: white;
  border: 1px solid #ddd;
  width: 100%; /* 하위 메뉴의 너비를 상위 메뉴와 동일하게 설정 */
  z-index: 1000;
}

.pc-menu__step1:hover .pc-menu__step2 {
  display: block; /* 상위 메뉴에 마우스를 올리면 하위 메뉴 표시 */
}

.pc-menu__step2 ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.pc-menu__step2 li {
  padding: 5px 10px; /* 하위 메뉴 항목의 내부 여백 조정 */
}

.pc-menu__step2 li a {
  font-size: 14px; /* 텍스트 크기 조정 */
  color: #333;
  text-decoration: none;
  display: block;
  width: 100%; /* 하위 메뉴의 너비를 상위 메뉴와 동일하게 설정 */
  box-sizing: border-box; /* 패딩이 포함된 너비 계산 */
}

.pc-menu__step2 li a:hover {
  background-color: #f0f0f0; /* 하위 메뉴 항목에 마우스를 올렸을 때의 배경색 */
}


.pc-menu {
  height: 80px;
  color:#333333;
}
.pc-menu__step1 > div {
  position: absolute;
  width: 100%;
  top: calc(100%);
  left: 0;
  background-color: #fff;
  display: none;
  /*height: calc(100vh - 330px);*/
}
.pc-menu__step1.active > div {
  display: block;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.pc-menu__step1 > div > div {
  display: flex;
  height: 100%;
  background: url(/images/openlab/img_sub_menu_back.png) no-repeat 100% 0%;
  background-size: cover;
}
.pc-menu__step1 > div > div > div {
  height: 100%;
  border-right: 1px solid var(--border);
}
.pc-menu__step1 > div > div > div:nth-child(1) {
  background: url(/images/openlab/icon_sub_menu_logo.svg) no-repeat 100% 100%;
  background-color: #89c940;
  width: 500px;
  padding: 48px;
}
.pc-menu__step1 > div > div > div:nth-child(1) > *:nth-child(1),
.pc-menu__step1 > div > div > div:nth-child(1) > *:nth-child(3) {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #fff;
  opacity: 0.7;
  margin-bottom: 8px;
  line-height: 16px;
}
.pc-menu__step1 > div > div > div:nth-child(1) > *:nth-child(2) {
  color: #fff;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 32px;
}
.pc-menu__step1 > div > div > div:nth-child(2) {
  width: 300px;
  background-color: #fff;
}

.pc-menu__step2 {
  position: relative;
}
.pc-menu__step3 {
  width: 100%;
  height: 100%;
  position: absolute;
  right: -100%;
  top: 0;
  background: #f9fafc;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
}
.pc-menu__step3 {
  display: none;
}
li.active > .pc-menu__step3 {
  display: block;
}
.pc-menu__step2 > ul > li:nth-child(1) .pc-menu__step3 {
  display: block;
}
.pc-menu__step2 a {
  width: 100%;
  display: block;
  padding: 16px 24px;
}
.step3-on {
  position: relative;
}
.step3-on::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  top: 19px;
  width: 18px;
  height: 18px;
  background: url(/images/openlab/icon_right_arrow.svg) no-repeat;
  background-size: contain;
}
.pc-menu__step2 > ul > li:hover > a,
.pc-menu__step2 > ul > li:focus > a {
  background-color: #D9E5F4;
  font-weight: 700;
}
.pc-menu__step2 a:hover {
  background-color: rgba(137, 201, 64, 0.2);
}
.menu-link:hover .pc-menu__step1 + ul a,
.pc-menu.menu-on .menu-link ul a {
  opacity: 1;
}

.menu-right {
  display: flex;
  align-items: center;
  font-weight: 600;
}
.menu-right span{
  color:#fff000;
}
.menu-right .logout{
  padding:4px 26px;
  border-radius: 30px;
  background-color:#567ed8;
  margin-left: 20px;
}
.menu-right a {
  margin-right: 16px;
  position: relative;
  font-size: 16px;
  padding-right: 16px;
  position: relative;
}
.menu-right .alarm{

}
.menu-right .alarm span{
  color:#f04f00;
  padding-right: 20px;
}
.menu-right .more_btn{
  color:#4595e0;
  padding-left: 20px;
}
.menu-right .more_btn a{
  font-size: 13px;
}
a.new_data{
  position: relative;
  padding-right: 14px;
}
a.new_data::after {
  content: "";
  display: block;
  position: absolute;
  right: 6px;
  top: 0;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: var(--main);
}
.menu-right a strong {
  font-weight: 700;
  margin-right: 4px;
}
.login-list {
  position: relative;
}
.login-list > li:nth-child(2) {
  display: none;
}
.login-list > li.active-on + li:nth-child(2) {
  display: block;
  position: absolute;
  background-color: #fff;
  padding: 16px;
  border-radius: 12px;
  top: 32px;
  right: 3px;
  border: 1px solid var(--border);
}
.login-list > li.active-on + li:nth-child(2) a {
  margin-right: 0;
  word-break: keep-all;
}
.login-list > li.active-on + li:nth-child(2) a:hover {
  font-weight: 700;
}
.login-list > li.active-on + li:nth-child(2) li + li {
  margin-top: 8px;
}
.menu-right a:nth-child(2)::after {
  content: "";
  position: absolute;
  left: -16px;
  top: 4px;
  width: 1px;
  height: 16px;
  background-color: var(--border);
}
.header-search-box {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}
.header-search-box button {
  width: 20px;
  height: 20px;
  opacity: 0.6;
  margin-right: 8px;
}
.header-search-box input {
  border: none;
  padding: 6px 12px 6px 12px;
  width: 170px;
  background-color: #f9f9f9;
  font-size: 16px;
}
.header-search-box input::placeholder {
  color: #899099;
  font-size: 14px;
  font-weight: 300;
}
/* header-mobile */
.mobile-menu {
  display: none;
  height: 80px;
}
.mobile-menu .s__row {
  align-items: center;
  width: 100%;
  padding: 0rem 3rem;
}
.mobile-menu .s__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.mobile-menu ul ul {
  display: none;
}
.mobile-menu ul ul.menu-on {
  display: block;
}
.mobile-menu__list {
  display: none;
}
.mobile-menu__list.menu-on {
  display: block;
  height: 100vh;
  background-color: #fff;
}
.mobile-menu__step1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid var(--border);
}
.mobile-menu__step1 img, .mobile-menu__step2 img{
  width: 20px;
  transition: all 0.3s;
}
.mobile-menu ul ul{
  display: none;
}
.mobile-menu__step2.menu-on + ul {
  display: block;
}
.mobile-menu__step2 + ul{
  background-color: #fff;
}
.mobile-menu__step1.menu-on > img, .mobile-menu__step2.menu-on > img {
  transform: rotate(180deg);
}
.mobile-menu__step3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px;
}
.mobile-menu__step1.menu-on + ul {
  display: block;
  text-align: center;
}
.mobile-menu__step2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px;
}
.mobile-menu__step1.menu-on + ul {
  border-bottom: 1px solid var(--border);
  background-color: #f7f7f7;
}
.mobile-login-box-wrap{
  padding: 8px;
}
.login-before{
  display: flex;
  align-items: center;
  justify-content: space-around;
  background-color: #f9fafc;
  border-radius: 8px;
  border: 1px solid var(--border);
}
.login-before a{
  padding: 8px;
  position: relative;
  padding: 12px 24px;
  flex: 1;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
}
.login-before a + a::after{
  content: '';
  display: block;
  width: 1px;
  height: 16px;
  left: 0;
  top: 12px;
  background-color: var(--border);
  position: absolute;
}
.login-after{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
}
.login-after > a{
  margin-right: 16px;
}
.login-after__name{
  display: flex;
  align-items: center;
}
.login-after__name p{
  margin-right: 8px;
  margin-left: 16px;
  font-size: 20px;

}
.login-after__name p strong{
  font-weight: 700;
}
.login-after__name a{
  background-color: #f9fafc;
  border: 1px solid var(--border);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 14px;
}
.icon-menu-off {
  display: none;
}
.menu.menu-on .icon-menu-on {
  display: none;
}
.menu.menu-on .icon-menu-off {
  display: block;
}

.tab-container {
  display: flex;
  position: relative;
  padding-top: 80px;
  height: 100%;
}
.contents {
  display: flex;
  width: calc(100%);
  flex-wrap: nowrap;
  justify-content: space-between;
  top: 80px;
  position: fixed;
  z-index: 1;
}
.contents-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.tabs {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 46px;
  background-color: #f9fafc;
  position: relative;
  align-items: flex-end;
  padding: 0 16px;
}
.tab-contents {
  background: url(/images/openlab/img_mdi_bg.png) no-repeat 50% 50%;
  background-size: contain;
  background-color: #f9fafc;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100 - 94px);
  margin-top: 46px;
  position: relative;
}
.contents-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.tab-name {
  background-color: #e6ebee;
  border: 1px solid #e6ebee;
  border-right: 1px solid #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 38px;
}
.tab-name + .tab-name.on {
  border-left: none;
}
.tab-name a {
  padding: 8px 16px;
  display: block;
  font-size: 14px;
}
.tab-name.on {
  background-color: #fff;
  border-right: 1px solid #e6ebee;
  border-bottom: 0;
}
.tab-inner {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: none;
  border-top: 1px solid #e6ebee;
}
.tab-inner.on {
  display: block;
}
.tab-inner.contents01 {
  position: absolute;
  left: 0;
  overflow: hidden;
}
.tab-inner.contents02 {
  position: absolute;
  right: 0;
  overflow: hidden;
}
.close-btn {
  background: url(/images/openlab/icon_close.svg) no-repeat 50% 50%;
  width: 18px;
  height: 18px;
  background-size: contain;
  margin-right: 12px;
  padding: 18px 0;
}
#btnMoveRight {
  position: fixed;
  right: 40px;
  top: 86px;
  z-index: 2;
  width: 32px;
  height: 32px;
}
.btnTabMore-wrap {
  position: fixed;
  right: 8px;
  top: 86px;
  z-index: 2;
  display: flex;
  flex-direction: column;
}
#btnTabMore {
  width: 32px;
  height: 32px;
}
.tab-more-list-bg {
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9;
  display: none;
}
.btnTabMore-wrap ul {
  display: flex;
  position: absolute;
  right: 15px;
  top: 108px;
  width: 98px;
  border: 1px solid #e6ebee;
}

.btnTabMore-wrap ul li {
  padding: 10px 20px;
}
.tab-more-list {
  display: flex;
  background-color: #fff;
}
.right-on > div {
  width: calc(50% - 5px);
  overflow: auto;
}
.contents-inner {
  overflow: inherit !important;
}
iframe {
  height:450px;
}
/* 드래그 */
#dragContainer {
  width: 6px;
  cursor: col-resize;
  height: calc(100% + 6px);
  background-color: #191919;
  position: absolute;
  left: calc(50% - 5px);
  top: 0;
  z-index: 2;
}


/* sub 안내 */
.board-info__box{
  width: 100%;
  background: #FFFFFF;
  border: 1px solid transparent;
  border-radius: 0px 50px 0px 0px;
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #B0C7FF 33%, #6A7799 100%);
  background-origin: border-box;
  background-clip: content-box, border-box;
  margin-bottom: 3rem;
}
.board-info__box .board-info__box_inner{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6rem;
  padding: 30px 60px;
}
.board-info__box img{width:10%;}
.board-info__box .txt {
  font-size: 1.6rem;
  font-weight: 400;
}
.board-info__box strong{font-size:20px; font-weight: 600;}



/* 분석포털 메인 */

.s__logo{
  font-size: 22px;
  font-weight:600;
  color: var(--openLab);
}
.portal_visual{
  width:100%;
  height:210px;
  background-image: url("/images/openlab/portal_visual.png");
  background-size: cover;
  position: relative;
}
.portal_top{
  width:100%;
  background-color:rgba(255,255,255,0.4);
  color:#ffffff;
  backdrop-filter: blur(10px);
}
.portal_top .inner{
  width:1400px;
  margin:0 auto;
  display: flex;
  justify-content: space-between;
}
.portal_top .inner .menu-left{
  display: flex;
  align-items: center;
}
.portal_top .inner .menu-left a{
  display: flex;
  align-items: center;
  padding: 10px 0px;
  padding-right:20px;
}
.portal_top .inner .menu-left a img{
  margin-left: 5px;
}
.portal_top .inner a::after{

}
.portal_visual .t_title{
  color:#ffffff;
  font-size: 32px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.portal_menu{
  width:100%;
  border:1px solid #cccccc;
}
.portal_menu .inner{
  width:1400px;
  margin:0 auto
}
.portal_menu ul{
  display: flex;
}
.portal_menu ul li{
  width: 16%;
  height:50px;
  display: flex;
  align-items: center;
  position: relative;
}
.portal_menu ul li:first-child{
  border-left: 1px solid #cccccc;
}
.portal_menu ul li a{
  font-size:16px;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.portal_menu ul li a.on{
  background-color:#2d2d2d;
  color:#ffffff;
  padding-left: 10%;
  justify-content: flex-start;
}
.portal_menu ul li a.on::after{
  content:"";
  position: absolute;
  right: 20px;
  top:20px;
  width: 0px;
  height: 0px;
  border-top: 8px solid #ffffff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

/* link-list */
.link-list {
  background-color: #fff;
  padding: 60px 0;
}
.link-list .swiper {
  width: calc(100% - 150px);
  height: 50px;
}
.link-list > .s__container > .s__row {
  position: relative;
}
.link-list .swiper-slide .s__container {
  height: 100%;
}
.link-list .swiper-slide .s__row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.link-list .swiper-button-prev:after,
.link-list .swiper-button-next:after {
  content: "";
  width: 40px;
  height: 40px;
}
.link-list .swiper-button-prev:after {
  background: url(/images/openlab/icon_left_arrow.svg) no-repeat;
  background-size: contain;
}
.link-list .swiper-button-next:after {
  background: url(/images/openlab/icon_right_arrow.svg) no-repeat;
  background-size: contain;
}
.link-list .swiper-pagination-bullet-active {
  background-color: #fff;
}
.link-list .swiper-pagination-bullet {
  width: 80px;
  border-radius: 0;
  height: 3px;
}
.swiper-slide .s__row {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  z-index: 2;
}
/* link-list  끝 */

/* 사이트맵 */
.site-map {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: #fff;
  overflow: auto;
}
.btn-site-map-close {
  position: absolute;
  right: 24px;
  top: 20px;
}
.site-map-contents-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 48px 24px;
  max-width: 1500px;
  margin: 0 auto;
  gap: 24px;
}
.site-map-contents-wrap > div {
  width: calc(25% - 24px);
}
.site-map-contents-wrap > div > ul {
  margin-bottom: 24px;
}
.site-map-contents-wrap > div > ul > li {
  border-bottom: 1px solid var(--border);
}
.site-map-contents-wrap > div > ul > li:nth-child(1) {
  color: #191919;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--black);
}
.site-map-contents-wrap > div > ul > li > a {
  color: #191919;
  font-size: 18px;
  display: block;
  padding: 24px 0;
}
.site-map-contents-wrap > div > ul > li > a + ul > li {
  list-style: initial;
  margin-left: 24px;
  margin-bottom: 16px;
  opacity: 0.7;
}
.site-map-contents-wrap > div > ul > li > a + ul > li > a {
  color: #191919;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.site-map-contents-wrap > div > ul > li.step3-on::after {
  display: none;
}
.site-map-contents-wrap > div > ul > li.step3-on > a {
  padding-bottom: 16px;
}
.site-map {
  display: none;
}
/* 플로팅배너 */
.floating-banner {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 20;
}
.site-map-title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--border);
  padding: 20px;
}
.btn-option-more {
  padding: 8px;
  display: block;
  border: 1px solid #fff;
  background-color: var(--main);
  border-radius: 100px;
  transition: transform 0.3s;
  transform: rotate(0deg);
}

.btn-option-more.on {
  transform: rotate(135deg);
}
.floating-banner > ul {
  position: fixed;
  bottom: 84px;
  right: -76px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  gap: 16px;
  border-radius: 100px;
  border: 1px solid #e6ebee;
  transform: translateX(0);
  opacity: 0;
  transition: transform 0.3s, opacity 0.4s;
}
.floating-banner > .btn-option-more.on + ul {
  transform: translateX(-100px);
  opacity: 1;
}
.floating-banner > ul > li::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #e6ebee;
  display: block;
  transform: translateY(8px);
}
.floating-banner > ul > li:last-child::after {
  display: none;
}
/* 플로팅배너 끝 */

@media all{
  .pc_none{display: none;}
}

@media (max-width: 1600px) {

  .sub-page .s__container {
    width: 100%;
    overflow: hidden;
  }
  .s__chart-wrap{
    grid-template-columns: 1fr;
  }
  .s__chart-box.chart-full {
    grid-column: initial;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .s__chart-box.chart-full > div:nth-child(2){
    width: 100%;
  }
  .s__chart-box{
    grid-column: 1 / span 2;
    max-width: 1500px;
  }
  .body-chart-map02-wrap{
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
  }
  .s__chart-wrap{
    gap: 16px 0;
  }
  .body-info01{
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 1400px) {
  header .s__row{padding:0 2rem;}
  .sub_container{padding: 0 2rem;}
  .sub_container .inner .left_menu{
    width: 20% !important;
    padding-right: 2rem;
  }
  .left_mcontent{
    width: calc(100% - 2rem) !important;
  }
  .sub_container .inner .content {
    max-width: none !important;
    width: 80% !important;
  }
}

@media (max-width: 1200px) {
  .w1280{width:100% !important;}
  .dialog, .dialog02{width:80% !important;}
  .sub_container .inner .content {
    width: 100% !important;
  }
  .page-header {
    margin-top: 12rem;
  }
  .m_show { display: block !important; }
  .sub_visual{
    height: 110px;
    margin-bottom: 1rem;
  }
  .sub_container .inner .left_menu{display: none;}
  .s__main-link .s__row li a {
    font-size: 16px;
  }
  .menu-link > li > a {
    font-size: 16px;
  }
  .pc-menu__step1::after {
    margin-left: 16px;
  }
  .pc-menu__step1 {
    padding: 0 8px;
  }
  .pc-menu{display: none;}
  .border-search-box{flex-direction: column;}
  .sub_container{width:100% !important;}
  .search__half{width: 100%;}
  .sub_container .inner .content{width:100% !important;}
  .page-header{padding:0 2rem;}
  .page-content{padding:0 2rem;}
  .select-list-utilization{flex-direction: column !important;}
  .select-list-utilization li{width:100% !important;border-bottom: 1px solid #d7d7d7;}
  .w1280{width:100% !important;}
}

@media (max-width: 1024px) {
  .grid_2{grid-template-columns: repeat(1, 1fr) !important;}
  .portal_visual{height: 16rem;}
  .m_no {
    display: none;
  }
  .all-bow-wrap {
    bottom: 150px;
  }
  .prom-data-num {
    grid-template-columns: 1fr 1fr;
  }
  .sub_style_1 th:nth-last-child(4), .sub_style_1 td:nth-last-child(4){
    width: 200px;
  }
  .sub-table-wrap{
    overflow: auto;
  }
  .border-search01 .right-btn-wrap .btn-add{
    position: relative;
  }

}
@media (max-width: 768px) {
  /* table*/
  .table01 th{width:25% !important;font-size: 1.56rem !important;;}
  .table01 td{font-size: 1.45rem !important;;}
  /* table // */
  .sp60{height: 3rem;}
  .grid_2{grid-template-columns: repeat(1, 1fr) !important;}
  .grid_3{grid-template-columns: repeat(1, 1fr) !important;}
  .grid_4{grid-template-columns: repeat(2, 1fr) !important;}
  .pc_none{display: block;}
  header .s__logo img {
    height: 30px;
  }
  .flex-align .btnBox{
    margin-top: 2% !important;
  }
  .mobile-menu .s__row{
    padding: 0 3rem;
  }
  .tabs {
    padding: 0 8px;
    overflow: auto;
  }
  .tab-contents {
    background-size: cover;
  }
  #btnMoveRight {
    display: none !important;
  }
  #btnTabMore {
    display: none !important;
  }
  .contents-inner {
    overflow: auto !important;
  }
  .s__row {
    padding: 0 24px;
  }
  .tab-container {
    padding-top: 50px;
  }
  .tab-contents {
    height: calc(var(--vh, 1vh) * 100 - 96px);
  }
  .contents {
    top: 50px;
  }
  .pc-menu {
    display: none;
  }
  .mobile-menu {
    display: block;
  }
  .footer__right-wrap {
    position: relative;
    right: auto;
  }
  .footet__link-icon-list {
    justify-content: flex-start;
  }

  .s__main-link .s__row li a {
    font-size: 14px;
  }
  .s__main-link .s__row li a img {
    width: 60%;
  }
  .menu-titte {
    font-size: 24px;
  }
  .menu-sub {
    font-size: 14px;
  }

  .link-list .swiper .s__row {
    padding: 0;
  }
  .link-list .swiper {
    width: calc(100% - 60px);
  }
  .link-list {
    padding: 40px 0;
  }
  .footer__link-list {
    margin-bottom: 16px;
  }
  .menu-category {
    font-size: 14px;
    margin-bottom: 8px;
  }
  .footer__select {
    width: 200px;
    padding: 10px 20px;
    font-size: 14px;
    margin-bottom: 16px;
  }
  .footer__info-list li {
    font-size: 14px;
  }
  .footer__copy {
    font-size: 14px;
  }
  /* 플로팅버튼 */
  .floating-banner > ul {
    bottom: 73px;
    right: -85px;
  }
  .floating-banner {
    bottom: 16px;
    right: 16px;
  }

  p {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
  }
  .pc-only {
    display: none;
  }
  .mobile-only {
    display: block;
  }
  .right-btn-wrap > a {
    margin-top: 8px;
    width: 100px;
    font-size: 14px;
  }
  .sub-page-title {
    font-size: 24px;
    margin-bottom: 0;
  }
  .sub-page-sub-title {
    font-size: 14px;
  }
  .sub-page-title-wrap {
    height: 100px;
    margin-top: 50px;
  }
  .sub-page {
    margin-top: 60px;
    padding-bottom: 100px;
  }
  /* 타이틀1 */
  .title01 p:nth-child(2) {
    font-size: 24px;
  }
  /* 타이틀2 */
  .title02 p:nth-child(1) {
    font-size: 34px;
  }
  .title02 p:nth-child(2) {
    font-size: 24px;
    margin-bottom: 24px;
  }
  /* 타이틀3 */
  .title03 p {
    font-size: 24px;
    margin-bottom: 24px;
  }

  /* 레이아웃1 */
  .rayout01 {
    display: flex;
    flex-direction: column;
  }
  .rayout01 > div {
    width: 100%;
  }
  .rayout01 > div:nth-child(1) p:nth-child(2) {
    margin-bottom: 24px;
  }
  .introduction01 {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
  .rayout03__list02 {
    display: flex;
    flex-direction: column;
  }

  .introduction01 img {
    object-fit: cover;
    height: 300px;
    width: 100%;
  }
  /* 레이아웃3 */
  .rayout03 > div {
    padding: 24px 24px;
  }
  .rayout03 > div > p {
    font-size: 16px;
  }
  .rayout03__list01 > li {
    font-size: 16px;
    line-height: normal;
    margin-bottom: 8px;
  }
  .rayout03__list02 > li {
    font-size: 16px;
    line-height: normal;
    padding: 16px;
  }
  .rayout03__list02 > li img {
    margin-right: 16px;
  }
  .rayout03.business02 p.rayout03__sub-title {
    min-height: auto;
  }
  /* 레이아웃4 */
  .rayout04 {
    display: flex;
    flex-direction: column;
  }
  .rayout04 li {
    border-bottom: 1px solid #e1e1e1;
    padding: 32px 0;
  }
  .rayout04 li:nth-child(1) {
    margin-top: 0;
  }


  /* 테이블1 */
  .table01 > div > div:nth-child(1) {
    width: 100%;
    padding: 16px;
    border-bottom: 1px solid #e1e4d4;
  }
  .table01 > div > div:nth-child(2) {
    padding: 16px;
  }
  .table01 > div {
    flex-direction: column;
  }

  /* 게시판1 */
  .search{width:100%;}
  .search form{width:100%;}
  .border-search01 {
    flex-direction: column;
  }
  .border-search01 > * {
    width: 100% !important;
    margin-bottom: 6px;
  }
  .border-search01 select {
    margin-right: 0 !important;
  }
  .border-search01 input {
    width: 100%;
    margin-right: 0 !important;;
  }
  .border-search01 .btn-main {
    width:100%;

    justify-content: center;
    margin-bottom: 0 !important;;
  }
  /* 비지니스2 */
  .business02__title {
    flex-direction: column;
  }
  .business02__title-img {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .business02 {
    display: flex;
    flex-direction: column;
  }
  .business02 > div {
    margin-bottom: 16px;
  }

  /* 인사말 */
  .greeting-img {
    height: 160px;
  }
  .table01 > .table01-half {
    width: 100%;
  }
  .round-img{
    width:100%;
    height:auto;
    border-radius: 5%;
    margin-top: 50px;
    overflow: hidden;
    margin-bottom: 20px;
  }
  .round-img img{
    width: 100%;
  }
  /* 테이블 */

  .prom-data-num {
    grid-template-columns: 1fr;
  }
  .title02 + .right-btn-wrap {
    position: relative;
    top: auto;
    margin-bottom: 16px;
  }
  .s__chart-box {
    padding: 16px;
  }
  .chart-body-info{
    padding: 0;
  }
  .s__chart01-box-title {
    font-size: 14px;
  }
  .body-info01-data01 > div + div{
    margin-top: 16px;
  }
  .s__chart01-box {
    width: 90%;
    height: auto;
    border: 6px solid transparent;
    position: relative;
  }
  .s__chart01-box p:nth-child(1) {
    font-size: 20px;
    position: absolute;
    transform: translateY(-10px);
  }
  .s__chart01-box p:nth-child(2) {
    position: absolute;
    transform: translateY(10px);
  }
  .s__chart01-box:after {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 100%;
  }
  .chart-body-wrap{
    margin-bottom: 32px;
  }
  .body-info01-data02-datalist p:nth-child(2){
    text-align-last: left;
    font-size: 24px;
  }
  .body-info01-data02{
    padding: 16px 20px;
  }
  .body-chart-map02-02, .chart-body-wrap{
    zoom: 0.7;
  }
  .s__template-wrap{
    grid-template-columns: 1fr;
  }
  .border-search-box > li{
    flex-direction: column;
    height: auto;
    align-items: flex-start;
    margin-bottom: 16px;
  }
  .border-search-box li > div:nth-child(1) label{
    font-size: 16px;
    text-align-last: left;
    margin-bottom: 8px;
  }
  .border-search02 input{
    width: 100%;
  }
  .border-search02 select + input{
    width: calc(100% - 108px);
  }
  .border-search02 input:last-child{
    margin-right: 0;
  }
  .border-search02 select{
    min-width: 100px;
  }
  .border-search02 select:last-child:first-child{
    width: 100%;
    background: url(/images/openlab/icon_down_arrow.svg) no-repeat 96% 50%/15px auto;
    background-color: #fff;
  }
  .border-search-box li > div:nth-child(2){
    width: 100%;
    flex-wrap: wrap;
  }
  .search__innersearch-value{
    margin-left: 0;
  }
  .search__innersearch{
    margin-right: 16px;
  }
  .border-btn-box button{
    font-size: 16px;
    width: 100px;
  }
  .s__input:first-child:last-child{
    width: 100%;
  }
  .s__select:first-child:last-child{
    width: 100%;
    background: url(/images/openlab/icon_down_arrow.svg) no-repeat 96% 50%/15px auto;
    background-color: #fff;
  }
  .board-info__box img {width: 60px;}
  .board-info__box .board-info__box_inner{
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 2rem 1rem;
    flex-direction: column;
  }
  .select-list-utilization{
    flex-direction: column;
  }
  .select-list-utilization li{
    width: 100%;
    border-right: 0px;
    border-bottom: 1px solid #d7d7d7;
  }
  .anl_layout .img{
    width: 30% !important;
  }
  /* 분석포털  */
  .img_table li{
    flex-direction: column;
  }
  .img_table .img{
    width:100%;
    height:300px;
  }
  .img_table .sub-table-wrap{width:100%;}
  .div_img__inner .div_img__btn{width:40%}
  .div_img__inner .div_img__btn{width:40%}
  .div_img__inner .div_img__btn button{width:100%;}

  /* 추출 데이터 정보 */
  .catal-table-wrap{flex-direction: column;}
}
