@charset "UTF-8";

* {
  box-sizing: border-box;
}

@font-face {
  font-family: 'NanumSquareNeo';
  src: url(../fonts//NanumSquareNeo.woff2);
  font-weight: 500;
  font-style: normal;
  /* src: url(../font/NanumSquareNeo-Variable.eot?#iefix) format("embedded-opentype"), 
  url(../font/NanumSquareNeo-Variable.woff) format("woff"), 
  url(../font/NanumSquareNeo-Variable.woff2) format("woff2"); */
}

/* noto-sans-kr-100 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-100.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Thin"), local("NotoSansKR-Thin"), url("../fonts/noto-sans-kr-v12-latin_korean-100.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-100.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-100.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-100.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-100.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

/* noto-sans-kr-300 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-300.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Light"), local("NotoSansKR-Light"), url("../fonts/noto-sans-kr-v12-latin_korean-300.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-300.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-300.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-300.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-300.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

/* noto-sans-kr-regular - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-regular.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Regular"), local("NotoSansKR-Regular"), url("../fonts/noto-sans-kr-v12-latin_korean-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-regular.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-regular.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-regular.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-regular.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

/* noto-sans-kr-500 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-500.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Medium"), local("NotoSansKR-Medium"), url("../fonts/noto-sans-kr-v12-latin_korean-500.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-500.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-500.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-500.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-500.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

/* noto-sans-kr-700 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-700.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Bold"), local("NotoSansKR-Bold"), url("../fonts/noto-sans-kr-v12-latin_korean-700.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-700.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-700.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-700.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-700.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

/* noto-sans-kr-900 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/noto-sans-kr-v12-latin_korean-900.eot");
  /* IE9 Compat Modes */
  src: local("Noto Sans KR Black"), local("NotoSansKR-Black"), url("../fonts/noto-sans-kr-v12-latin_korean-900.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-kr-v12-latin_korean-900.woff2") format("woff2"), url("../fonts/noto-sans-kr-v12-latin_korean-900.woff") format("woff"), url("../fonts/noto-sans-kr-v12-latin_korean-900.ttf") format("truetype"), url("../fonts/noto-sans-kr-v12-latin_korean-900.svg#NotoSansKR") format("svg");
  /* Legacy iOS */
}

@font-face {
  font-family: 'NanumBarunGothic';
  font-style: normal;
  font-weight: 400;
  src: url(../../_resource_admin/fonts/NanumBarunGothic.eot) format("eot"), url(../../_resource_admin/fonts/NanumBarunGothic.woff) format("woff");
}

@font-face {
  font-family: 'NanumBarunGothic';
  font-style: normal;
  font-weight: 700;
  src: url(../../_resource_admin/fonts/nanumbarungothicbold.eot) format("eot"), url(../../_resource_admin/fonts/nanumbarungothicbold.woff) format("woff");
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: 'NanumSquareNeo', sans-serif;
  color:#111;
}

pre {
  font-family: 'NanumSquareNeo', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

/* sprite img */
.icon {
  display: inline-block;
}

/* IR */
legend {color:#111; font-size: 20px; line-height:1.5; font-weight:700; margin-bottom:8px;}


/* legend, */
.hidden,
.blind {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

caption {
  position: relative;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

/* sursor */
button {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

/* float */
.float_left {
  float: left;
}

.float_right {
  float: right;
}

.clearfix:after {
  content: '';
  display: table;
  width: 100%;
  clear: both;
}

/* text 생략 */
.ellipsis, .ellipsis2, .ellipsis3, .ellipsis4 {
  max-width: 100%;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}

.ellipsis2 {
  white-space: normal;
  line-height: 1.2;
  height: 2.4em;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.ellipsis3 {
  white-space: normal;
  line-height: 1.54;
  height: 4.62em;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.ellipsis4 {
  white-space: normal;
  line-height: 1.54;
  height: 6.16em;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

/* form */
select,
input {
  height: 22px;
}

select {
  padding: 0;
}

/* align */
.textLeft {
  text-align: left !important;
}

.textCenter {
  text-align: center !important;
}

.textRight {
  text-align: right !important;
}

.textMiddle::before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.textMiddle > * {
  vertical-align: middle;
}

/* 간격 margin & padding */
.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

/* 너비 10px 부터 500px까지 */
.w10 {
  width: 10px !important;
  min-width: 10px !important;
}

.w20 {
  width: 20px !important;
  min-width: 20px !important;
}

.w30 {
  width: 30px !important;
  min-width: 30px !important;
}

.w40 {
  width: 40px !important;
  min-width: 40px !important;
}

.w50 {
  width: 50px !important;
  min-width: 50px !important;
}

.w60 {
  width: 60px !important;
  min-width: 60px !important;
}

.w70 {
  width: 70px !important;
  min-width: 70px !important;
}

.w80 {
  width: 80px !important;
  min-width: 80px !important;
}

.w90 {
  width: 90px !important;
  min-width: 90px !important;
}

.w100 {
  width: 100px !important;
  min-width: 100px !important;
}

.w110 {
  width: 110px !important;
  min-width: 110px !important;
}

.w120 {
  width: 120px !important;
  min-width: 120px !important;
}

.w130 {
  width: 130px !important;
  min-width: 130px !important;
}

.w140 {
  width: 140px !important;
  min-width: 140px !important;
}

.w150 {
  width: 150px !important;
  min-width: 150px !important;
}

.w160 {
  width: 160px !important;
  min-width: 160px !important;
}

.w170 {
  width: 170px !important;
  min-width: 170px !important;
}

.w180 {
  width: 180px !important;
  min-width: 180px !important;
}

.w190 {
  width: 190px !important;
  min-width: 190px !important;
}

.w200 {
  width: 200px !important;
  min-width: 200px !important;
}

.w210 {
  width: 210px !important;
  min-width: 210px !important;
}

.w220 {
  width: 220px !important;
  min-width: 220px !important;
}

.w230 {
  width: 230px !important;
  min-width: 230px !important;
}

.w240 {
  width: 240px !important;
  min-width: 240px !important;
}

.w250 {
  width: 250px !important;
  min-width: 250px !important;
}

.w260 {
  width: 260px !important;
  min-width: 260px !important;
}

.w270 {
  width: 270px !important;
  min-width: 270px !important;
}

.w280 {
  width: 280px !important;
  min-width: 280px !important;
}

.w290 {
  width: 290px !important;
  min-width: 290px !important;
}

.w300 {
  width: 300px !important;
  min-width: 300px !important;
}

.w310 {
  width: 310px !important;
  min-width: 310px !important;
}

.w320 {
  width: 320px !important;
  min-width: 320px !important;
}

.w330 {
  width: 330px !important;
  min-width: 330px !important;
}

.w340 {
  width: 340px !important;
  min-width: 340px !important;
}

.w350 {
  width: 350px !important;
  min-width: 350px !important;
}

.w360 {
  width: 360px !important;
  min-width: 360px !important;
}

.w370 {
  width: 370px !important;
  min-width: 370px !important;
}

.w380 {
  width: 380px !important;
  min-width: 380px !important;
}

.w390 {
  width: 390px !important;
  min-width: 390px !important;
}

.w400 {
  width: 400px !important;
  min-width: 400px !important;
}

.w410 {
  width: 410px !important;
  min-width: 410px !important;
}

.w420 {
  width: 420px !important;
  min-width: 420px !important;
}

.w430 {
  width: 430px !important;
  min-width: 430px !important;
}

.w440 {
  width: 440px !important;
  min-width: 440px !important;
}

.w450 {
  width: 450px !important;
  min-width: 450px !important;
}

.w460 {
  width: 460px !important;
  min-width: 460px !important;
}

.w470 {
  width: 470px !important;
  min-width: 470px !important;
}

.w480 {
  width: 480px !important;
  min-width: 480px !important;
}

.w490 {
  width: 490px !important;
  min-width: 490px !important;
}

.w500 {
  width: 500px !important;
  min-width: 500px !important;
}

/* 너비 % */
.w5p {
  width: 5% !important;
}

.w10p {
  width: 10% !important;
}

.w15p {
  width: 15% !important;
}

.w20p {
  width: 20% !important;
}

.w25p {
  width: 25% !important;
}

.w33p {
  width: 33.33% !important;
}

.w50p {
  width: 50% !important;
}

.w100p {
  width: 100% !important;
}

/* 웹/모바일 on/off */
.mobile_on {
  display: none !important;
}

.mobile_off {
  display: block !important;
}

.mobile_ion {
  display: none !important;
}

.mobile_ioff {
  display: inline-block !important;
}

.mobile_col_off {
  display: table-column-group !important;
}

.mobile_col_on {
  display: none !important;
}

.mobile_cell_off {
  display: table-cell !important;
}

@media (min-width: 100px) and (max-width: 800px) {
  html,
  body {
    font-size: 1em;
    font-family: 'NanumSquareNeo', sans-serif;
  }
  .mobile_on {
    display: block !important;
  }
  .mobile_off {
    display: none !important;
  }
  .mobile_ion {
    display: inline-block !important;
  }
  .mobile_ioff {
    display: none !important;
  }
  .mobile_col_on {
    display: table-column-group !important;
  }
  .mobile_col_off {
    display: none !important;
  }
  .mobile_cell_off {
    display: none !important;
  }
}

._txt_vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

._w100p {
  width: 100% !important;
}

._mw100p {
  min-width: 100% !important;
  width: 100% !important;
}

._w_auto {
  min-width: auto !important;
  width: auto !important;
}

._ml10 {
  margin-left: 10px;
}

.w297 {
  width: 297px;
}

[class^='icon_'] {
  display: inline-block;
  border: 0;
  background: transparent;
}

.text_center {
  text-align: center !important;
}

.text_right {
  text-align: right !important;
}

.text_left {
  text-align: left !important;
}

.icon_btn {
  border: 0;
  background: transparent;
  cursor: pointer;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.wrap {
  display: flex;
  flex-direction: column;
  min-width: 1340px;
  height: 100%;
}

header {
  position:absolute; z-index:2;
  right:0; top:0; width:calc(100% - 300px);
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  height: 60px;
  padding:17px 52px 16px 52px;
  background-color: #fff;
  border-bottom:1px solid #ddd;
}

.header_logo {display:none;
  flex: 1 1 auto;
  max-width: 310px;
  margin: 0;
  font-size: inherit;
}

.header_logo__link {
  display: inline-block;
  padding: 10px 20px;
}

.header_logo__link img {
  vertical-align: middle;
}

.header_info {
  display: flex;
  width:100%;
  color: #111;
  font-size: 13px;
  letter-spacing: -0.025em;
  align-items: center;
}

.header_info__link {
  margin-right:auto;
  line-height: 25px;
  color: #111;
  text-decoration: none;
  font-size: 18px;
  line-height:1.8;
  font-weight:700;
}

.header_info__link em {font-style:normal; color:#2559E0}


.header_info__item {
  
}

.header_info__item .header_info__link {line-height: 25px;
  color:#666;
  font-size:16px;
  font-weight:500;}

.header_info__item:not(.header_info__link) + .header_info__item:before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius:50%;
  background-color:#aaa;
  vertical-align: middle;
  margin: 0 12px;
}

.header_info__item:first-child:before {
  content: none;
}

.header_info__logout {
  display: block;
  width: 15px;
  height: 15px;
  padding: 5px 10px;
  background: url("../images/bg/bg_login_name.png") no-repeat 50% 50%;
}

.header_info_notify {
  position: relative;
  text-decoration: none;
}

.header_info_notify--num {
  display: block;
  border-radius: 2em;
  background-color: #d32462;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  font-size: 11px;
  line-height: 16px;
  font-weight: 700;
  position: absolute;
  top: -8px;
  right: -8px;
}

.containner {
  /* padding:117px 52px 0 352px; */
  display: flex;
  flex: 1 1 auto;
  height: auto;
  min-width: 0;
  width: 100%;
}

.gnb {
  display: flex;
  height: 100%;
  align-items: center;
}

.gnb_item {
  display: block;
  font-size: 14px;
  line-height: 50px;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  padding: 0 32px;
}

.gnb_item--active {
  background-color: #4d5b5b;
}

.lnb {
  flex: 0 0 auto;
  width: 300px;
  height: 100%;
  background-color: #1D1F43;
  padding: 0 0 120px 0;
  box-sizing: border-box;
  color:#fff;
}

.nav_quick {
  display: block;
  background:url(../images/pc_logo.svg) no-repeat 35px center/auto 24px;
  padding: 0;
  height: 120px;
}

.nav_quick__bar {
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  width: 1px;
  height: 50px;
  background-color: #fff;
}

.nav_quick__link {
  flex: 1 1 auto;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
}

.nav_quick__num,
.nav_quick__txt {
  display: block;
}

.nav_quick__num {
  font-size: 24px;
  line-height: 28px;
}

.nav_quick__txt {
  font-size: 12px;
  line-height: 22px;
  font-weight: 500;
}

.nav_quick__title {
  display: none;
  width: 100%;
  font-weight: 700;
  color: #fff;
  font-size: 18px;
  justify-content: center;
  align-items: center;
}

.nav_menu {
  margin: 0;
  padding: 0 16px;
  display:flex; flex-direction: column; gap:10px 0;
}

.nav_menu__1dep, .nav_menu__1dep--active {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 40px;
  font-size: 14px;
  color: #fff;
  font-weight: 700;
  border-radius: 4px;
  padding:8px 8px 8px 16px;
  background:#23264F;
}

.nav_menu__1dep:after {content:''; width:40px; height:40px; background:url(../images/bg/bg_nav_arrow.svg) no-repeat center/40px}

/* 서버에서 1dep--active가 여러 개 붙어도 클래스 무시, 2dep--active가 있는 1depth만 active 스타일 */
.nav_menu__1dep--active {
  background:#23264F;
}
.nav_menu__1dep--active:after {content:''; width:40px; height:40px; background:url(../images/bg/bg_nav_arrow.svg) no-repeat center/40px}
/* 실제 현재 메뉴: 2dep--active를 가진 li의 1dep에만 active 스타일 */
.nav_menu > li:has(.nav_menu__2dep--active) > a .nav_menu__1dep,
.nav_menu > li:has(.nav_menu__2dep--active) > .nav_menu__1dep {
  background:#2559E0;
}
.nav_menu > li:has(.nav_menu__2dep--active) > a .nav_menu__1dep:after,
.nav_menu > li:has(.nav_menu__2dep--active) > .nav_menu__1dep:after {content:''; width:40px; height:40px; background:url(../images/bg/bg_nav_arrow_active.svg) no-repeat center/40px}


.nav_menu__sub {
  padding: 10px 0 20px;
}

.nav_menu__sub3 {
  margin: 0;
  padding: 0;
}

.nav_menu__2dep, .nav_menu__2dep--active {
  display: flex;
  align-items: center;
  gap:0 8px;
  font-size: 16px;
  color: #BFC2EE;
  line-height: 26px;
  text-decoration: none;
  padding:9px 8px 9px 16px;
}

.nav_menu__2dep:before {content:''; width:4px; height:4px; border-radius: 50%; background-color:#aaa;}

.nav_menu__2dep--active {
  color: #fff;
  border-radius: 4px;
  background: #22254E;
  font-weight:700;
}

.nav_menu__2dep--active:before {content:'';  width:10px; height:26px; background:url(../images/bg/bg_nav_triangle_active.svg) no-repeat center/10px auto;}

.nav_menu__num {
  display: inline-block;
  background: #d32462;
  border-radius: 2em;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  color: #ffffff;
  font-size: 11px;
}

.nav_menu__3dep, .nav_menu__3dep--active {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: #989898;
  padding-left: 40px;
  line-height: 28px;
}

.nav_menu__3dep::before, .nav_menu__3dep--active::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #989898;
  border-radius: 2px;
  margin-right: 5px;
}

.nav_menu__3dep--active {
  color: #000;
  background-color: #f3f3f3;
  border-radius: 5px;
}

.nav_menu__3dep--active::before {
  background-color: #000;
}

main {
  position:relative;
  display: flex;
  flex-direction: column;
  /*width: calc(100% - 279px);*/
  flex: 1 1 auto;
  /*background-color: #f3f3f3;
  padding: 15px 40px 15px 30px;*/
  padding:117px 52px 100px 52px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.content_main_title {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 16px;
  line-height:1.5;
}

.breadcrumb {
  position:absolute; 
  right:52px; top:121px;
  display: flex;
  justify-content: end;
  font-size: 13px;
  margin-bottom: 10px;
  color: #666666;
  letter-spacing: -0.025em;
}

.breadcrumb_list {
  display: flex;
  gap:0 4px;
  margin: 0;
  padding: 0;
  align-items: center;
}

.breadcrumb_list li {
  /* padding-left: 21px; */
  font-size: 16px;
  font-weight: 500;
  line-height:1.6;
  color:#666;
  display:flex; gap:0 4px;
  align-items: center;
  /* background: url("../images/bg/bg_breadcrumb_arrow.png") no-repeat 8px 2px; */
}

.breadcrumb_list li:not(:first-child):before {content:''; width:24px; height:24px; background:url(../images/bg/bg_breadcrumb_arrow.svg) no-repeat center/24px;}

.breadcrumb_list li:last-child {color:#111;}

.breadcrumb_list li:first-child {
  background: none;
  padding-left: 0;
}

.breadcrumb_home {
  display: block;
  width: 24px;
  height: 24px;
  background: url("../images/bg/bg_breadcrumb_home.svg") no-repeat 0 0 /24px;
}

.content,
.main_content {
  display: flex;
  height: auto;
  min-width: 0;
  width: 100%;
}

.content._full,
.main_content._full {
  height: 100%;
}

.doc_num {
  display: flex;
  align-items: flex-end;
  font-size: 14px;
  height: 42px;
  color: #333;
  margin-bottom: 10px;
}

.doc_num strong {
  margin-left: 5px;
}

.doc_num:before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 12px;
  background-color: #666666;
  margin: 0 5px;
}

.content_item_main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-width: 0;
}

.content_item_main .radius_box {
  flex: 1 1 auto;
  min-width: 0;
}

.content_item_main .radius_box:has(.table_wrap) {
  min-width: 0;
  overflow: visible;
}

.content_item_sub {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  width: 315px;
  margin-left: 32px;
}

.content_item_sub .radius_box {
  height: 817px;
}

.content_item_sub .main_notice {
  height: 100%;
  overflow-y: auto;
}

.radius_box {
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 8px;
  padding: 19px 19px 42px;
  margin-bottom: 20px;
  position: relative;
}

.radius_box:has(.table_wrap) {
  border:none; 
  padding:0;
  min-width: 0;
  overflow: visible;
}

.flex_box .radius_box:has(.table_wrap) { 
  border: 1px solid #dddddd; 
  padding: 19px 19px 42px;
  min-width: 0;
  overflow: visible;
}

.content_item_main .radius_box:has(.table_wrap) {
  min-width: 0;
  overflow: visible;
  flex-shrink: 1;
}

.radius_box._h100p {
  height: 100%;
}

.radius_box__title {
  display: flex;
  align-items: center;
 
  font-weight: 500;
  margin: 0 0 8px;
  line-height:1.5;
}



.radius_box__title span {
  margin-left: 6px;
   font-size: 20px; font-weight:700;
}

.radius_box__sub_title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #666666;
  margin: 0;
}

.radius_box__sub_title span {
  margin-left: 6px;
}

.radius_box__sub_title::before {
  content: '';
  display: inline-block;
  width: 2px;
  height: 13px;
  background-color: #666;
  margin-right: 5px;
}

.radius_box__more {
  position: absolute;
  top: 15px;
  right: 20px;
}

[class^=btn_group__]._form {
  height: 48px !important;
  line-height: 48px !important;
  white-space: nowrap;
}

.list_top [class^=btn_group__],
.radius_foot_box [class^=btn_group__] {
  /* min-width: 80px !important;
  height: 32px !important;
  line-height: 32px !important; */
}

.radius_foot_box {
  position: relative;
  min-height: 40px;
  margin-top: 32px;
}

.radius_foot_box .radius_foot__left {
  position: absolute;
  top: 0;
  left: 0;
}

.radius_foot_box .radius_foot__right {
  position: absolute;
  top: 0;
  right: 0;
}

.radius_foot_box .pagination {
  margin: 0 auto;
}

.page_foot_box {
  position: relative;
  min-height: 40px;
}

.page_foot_box .page_foot__left {
  position: absolute;
  top: 0;
  left: 0;
}

.page_foot_box .page_foot__right {
  position: absolute;
  top: 0;
  right: 0;
}

.page_foot_box .pagination {
  margin: 0 auto;
}

.table_wrap__mm {
  text-align: center;
  border-top: 1px solid #becccc;
  table-layout: fixed;
}

.table_wrap__mm .sub_total {
  background-color: #f3f3f3;
  line-height: 1.4;
}

.table_wrap__mm th, .table_wrap__mm td {
  font-size: 13px;
  color: #666;
}

.table_wrap__mm th._day_off, .table_wrap__mm td._day_off {
  background-color: #f0f0f0;
}

.table_wrap__mm th {
  padding: 8px 0;
  line-height: 1.9;
  border-bottom: 1px solid #becccc;
}

.table_wrap__mm td {
  padding: 15px 3px;
  letter-spacing: -0.025em;
  border-bottom: 1px solid #eeeeee;
}

.table_wrap__mm td .form_item_text {
  margin: 0;
}

.table_wrap__mm td._none_data {
  color: #dedede;
}

.table_wrap__mm tfoot td {
  background-color: #dbdbdb;
}

._blue {
  color: #00a2e8 !important;
}

._red {
  color: #f00 !important;
}

.table_wrap {
  width: 100%;
  /* overflow-x: hidden; */
  overflow-y: visible;
  display: block;
  position: relative;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.radius_box:has(.table_wrap) .table_wrap {
  width: 100%;
  /* overflow-x: hidden; */
  overflow-y: visible;
}

.radius_box:has(.table_wrap) {
  overflow: visible;
}

.table_wrap__list {
  border-top:1px solid #aaa;
  border-bottom:1px solid #ddd;
  width: auto;
  min-width: 100%;
  text-align: center;
  table-layout: auto;
  border-collapse: collapse;
  display: table;
}

.table_wrap__list[style*="min-width"] {
  width: auto;
  min-width: inherit;
}

/* 테이블이 부모를 넘어서도록 보장 */
.radius_box:has(.table_wrap) {
  overflow: visible;
}

.content_item_main .radius_box:has(.table_wrap) {
  overflow: visible;
  min-width: 0;
}

input[type="checkbox"], input[type="radio"] {width:28px; height:28px; }
input[type="checkbox"] + label, input[type="radio"] + label {margin-left:8px; vertical-align:top; line-height:28px; color:#666; font-size:18px; font-weight:500;}

label:has(input[type="checkbox"]),  label:has(input[type="radio"]) {display:inline-flex; gap:8px; margin-right:8px; vertical-align:top; line-height:28px; color:#666; font-size:18px; font-weight:500;}


.table_wrap__list thead th {
  border-right:1px solid #eee;
  border-top:1px solid #eee;
  border-left:1px solid #eee;
  background-color:#F6F8FC;
  white-space: nowrap;
  padding:0 16px;
  font-size: 18px;
  height:50px;
  font-weight: 500;
}
.table_wrap__list thead th:last-child {border-right:none;}


.table_wrap__list tbody td {
  font-size: 18px;
  color: #666;
  min-height:62px;
  border-right:1px solid #eee;
  border-top:1px solid #eee;
  border-left:1px solid #eee;
  padding: 15px;
  line-height:1.8;
}
.table_wrap__list tbody td:has(a) {text-align: left;}

.table_wrap__list tbody td:last-child {border-right:none;}

.table_wrap__list tbody td a {
  color: #111;
  text-decoration: none;
}

.table_wrap__list tbody td a:hover {text-decoration: underline; text-underline-offset:3px;}

/* 연수신청자배정관리 등 테이블 셀 텍스트 줄바꿈 */
.table_wrap__list--word-break th,
.table_wrap__list--word-break td {
  word-break: break-word;
  white-space: normal;
}

.steps li a {
  color: #111;
}

.steps li:hover {
  background-color: #eaeaea;
}

.steps li a:hover {
  text-decoration: none;
  text-underline-offset:3px;
}

.table_wrap__list._hover tbody .table_wrap__list--hover,
.table_wrap__list._hover tbody tr:hover {
  cursor: pointer;
  background-color: #e5f2f7;
}

.table_wrap__list._hover tbody .table_wrap__list--hover td,
.table_wrap__list._hover tbody tr:hover td {
  color: #000;
}

.table_cell--active {
  position: relative;
  background-color: #e5f7f7 !important;
}

.table_cell_total_group {
  background-color: #fcf1e9 !important;
}

.table_cell_total_right {
  text-align: right !important;
  padding-right: 20px !important;
}

.paper_title {
  font-size: 21px;
  text-align: center;
  color: #252525;
  margin: 0 0 12px;
}

.radio_sub_title {
  font-size: 16px;
  line-height: 23px;
  color: #252525;
  font-weight: 400;
  margin: 25px 0 15px 0;
}

._seal {
  display: block;
  text-align: center;
  width: 43px;
  height: 43px;
  margin: 0 auto;
}

._seal img {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.table_wrap__data,
.table_wrap__write {
  width: 100%;
  table-layout: fixed;
  border-top:1px solid #aaaaaa;
  border-bottom:1px solid #ddd; 
}

.table_wrap__data {border-top: 1px solid #aaa; border-bottom: 1px solid #ddd;}
.table_wrap__data th {border-right: 1px solid #eee; background-color: #F6F8FC; white-space: nowrap; padding: 0 16px; font-size: 18px; height: 50px; font-weight: 500; border-top: 1px solid #eee;}
.table_wrap__data thead th {border-bottom:0;}
.table_wrap__data thead th:last-child {border-right:0}
.table_wrap__data tbody td {font-size: 18px; color: #666; min-height: 62px; border-right: 1px solid #eee; border-top: 1px solid #eee; padding: 15px; line-height: 1.8;}
.table_wrap__data tbody td:last-child {border-right:0}

.table_wrap__data [class^=btn_group__],
.table_wrap__write [class^=btn_group__] {
  height: 22px;
  line-height: 22px;
  min-width: inherit;
}

.table_wrap__data [class^=form_item_],
.table_wrap__write [class^=form_item_] {
  margin: 0;
}



/* .table_wrap__data._tbody_th tbody th,
.table_wrap__data._tbody_th tbody td, */
.table_wrap__write._tbody_th tbody th,
.table_wrap__write._tbody_th tbody td {
  line-height: 1.6 !important;
}

/* .table_wrap__data._txt_small th, .table_wrap__data._txt_small td, */
.table_wrap__write._txt_small th,
.table_wrap__write._txt_small td {
  font-size: 10px !important;
  line-height: inherit !important;
  padding: 5px !important;
}

.table_wrap__data._center th,
.table_wrap__data._center td,
.table_wrap__write._center th,
.table_wrap__write._center td {
  text-align: center;
}

.table_wrap__data .form_item_select,
.table_wrap__write .form_item_select {
  margin: 0;
  height:48px;
}

.table_wrap__data .this_input,
.table_wrap__write .this_input {
  background: #e5f7f7;
}

/* .table_wrap__data th,
.table_wrap__data td, */
.table_wrap__write th,
.table_wrap__write td {
  border-bottom: 1px solid #eee;
  /* padding: 10px 10px; */
  word-break: keep-all;
}



.table_wrap__write tr:last-child th,  .table_wrap__write tr:last-child td {border-bottom:0;}


/* .table_wrap__data th a,
.table_wrap__data td a, */
.table_wrap__write th a,
.table_wrap__write td a {
  font-weight: 500;
  color: #1a73e8;
}

/* .table_wrap__data th, */
.table_wrap__write th {
  color:#111;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  background-color: #F6F8FC;
  border-right:1px solid #eee;
  text-align:left;
  padding:19px 16px; 
}

.table_wrap__write th label {color:#111;}
.table_wrap__write th .form_required {margin:0 4px;}


/* .table_wrap__data td, */
.table_wrap__write td {
  /* font-size: 13px;
  color: #333;
  line-height: 1.6; 
  word-break: break-all;*/
  padding:8px 16px; 
  
}

.table_wrap__write td > *:only-child:not(input[type="checkbox"]) {width:100%; }



.table_wrap__data td ._content_box,
.table_wrap__write td ._content_box {
  min-height: 400px;
}

.table_wrap__data td.inner_table,
.table_wrap__write td.inner_table {
  padding: 0;
  vertical-align: top;
}

.table_wrap__data td.inner_table table,
.table_wrap__write td.inner_table table {
  width: 100%;
}

.table_wrap__data td.inner_table table td,
.table_wrap__write td.inner_table table td {
  padding: 0;
  text-align: center;
}

.table_wrap__data td.inner_table table td._item01,
.table_wrap__write td.inner_table table td._item01 {
  height: 30px;
}

.table_wrap__data td.inner_table table td._day,
.table_wrap__write td.inner_table table td._day {
  height: 30px;
  font-size: 12px;
}

.table_wrap__data td.inner_table table td._item02,
.table_wrap__write td.inner_table table td._item02 {
  height: 68px;
}

.table_wrap__data ._content_box ul,
.table_wrap__write ._content_box ul {
  list-style-type: disc;
}

.table_wrap__data ._content_box ol,
.table_wrap__write ._content_box ol {
  list-style-type: decimal;
}

.table_view_content {
  min-height: 200px;
}

.table_thead_sticky thead {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.table_thead_sticky thead th {
  position: relative;
}

.table_thead_sticky thead th::after {
  content: '';
  position: absolute;
  border: 1px solid #ddd;
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
}

.list_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.list_top > div {display:inline-flex; gap:8px;}

.list_top .l-txt {
  margin-right: auto;
  font-size: 16px;
}

.list_top .form_item_select {
  min-width: 100px;
}

.list_top._child_right {
  justify-content: end;
  gap:0 8px;
}

.list_top._child_left {
  justify-content: flex-start;
  gap:8px;
} 

.list_top__remove {
  display: flex;
  margin-left: auto;
  width: 80px;
  height: 32px;
  line-height: 32px;
  border: 1px solid #c2c2c2;
  font-size: 13px;
  color: #606060;
  font-weight: 700;
  align-items: center;
  padding-left: 35px;
  border-radius: 7px;
  background: #eaeaea url("../images/bg/bg_remove_btn.png") no-repeat 17px 50%;
  cursor: pointer;
}

.list_top__group_txt {
  display: inline-block;
  text-align: right;
  font-size: 11px;
  line-height: 16px;
  color: #666;
  letter-spacing: -0.025em;
  vertical-align: middle;
}

.list_top__group_txt_point {
  color: #d32462;
}

.list_none {
  font-size: 18px;
  text-align: center;
  color: #111;
  border-bottom: 1px solid #eeeeee;
  padding: 40px 0;
  font-weight:600;
}

.state--progress,
.state--approve,
.state--reject,
.state--negative {
  display: inline-block;
  font-size: 11px;
  width: 60px;
  height: 22px;
  font-weight: 700;
  line-height: 22px;
  color: #ffffff;
  border-radius: 11px;
  text-align: center;
  letter-spacing: 0.025em;
}

.state--progress {
  background-color: #4690ce;
}

.state--approve {
  background-color: #24a165;
}

.state--negative,
.state--reject {
  background-color: #4e4e4e;
}

.main_notice {
  margin: 0;
  padding: 0;
  border-top: 1px solid #becccc;
}

.main_notice__item {
  font-size: 13px;
  line-height: 18px;
  padding: 15px 8px;
  border-bottom: 1px solid #eeeeee;
}

.main_notice__item p {
  margin: 0;
  color: #333333;
}

.main_notice__item span {
  color: #999999;
}

.main_notice__item strong {
  color: #666666;
}

.main_notice__item_point {
  color: #000 !important;
}

/* 검색 영역: wrap으로 자연스럽게 줄바꿈, 검색버튼만 오른쪽 끝(space-between + flex-end) */
.list_search_column {
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e4e8;
  border-radius: 6px;
  padding: 20px 28px;
  margin-bottom: 52px;
  background-color: #F6F8FC;
  min-width: 0;
  overflow: hidden;
}

/* 입력영역(wrap) + 검색버튼: space-between, 버튼은 flex-end */
.list_search_column__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px 24px;
  min-width: 0;
}

/* 입력 필드 영역: flex 1로 남는 영역 전부 사용, gap 15px */
.list_search_column__fields {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-content: flex-end;
  container-type: inline-size;
  container-name: list-search-fields;
}

/* 한 칸: min 33.33% - 10px, gap 15px 기준 줄바꿈, flex:1로 가로 폭 채움 */
.list_search_column__field {
  display: flex;
  align-items: center;
  gap: 0 12px;
  min-width: calc(33.33% - 10px);
  flex: 1 1 0;
  box-sizing: border-box;
}

/* 검색어/키워드: 2칸 너비 */
.list_search_column__field--full {
  min-width: calc(66.66% - 10px);
  flex: 1 1 calc(66.66% - 10px);
}

/* 라디오·체크박스: 무조건 3칸(한 줄 전체) 차지, 표시 순서 1번 */
.list_search_column__field--grow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  min-width: 100%;
  flex: 1 1 100%;
  order: -1;
}

.list_search_column__field--grow .radio_list,
.list_search_column__field--grow .checkbox_list {
  display: inline-flex;
  align-items: center;
}

/* 구성 순서: 라디오/체크박스(-1) → 달력(0) → 셀렉트(1) → 인풋(2) → 과정명·검색어(3) */
.list_search_column__field:has(.form_item_date):not(.list_search_column__field--grow) {
  order: 0;
}
.list_search_column__field:has(.form_item_select):not(.list_search_column__field--full):not(.list_search_column__field--grow) {
  order: 1;
}
.list_search_column__field:has(.form_item_text),
.list_search_column__field--full {
  order: 2;
}
/* 과정명·검색어 입력은 인풋 그룹에서 맨 뒤 */
.list_search_column__field:has(#searchKeyword),
.list_search_column__field:has(input#searchTraiNm.form_item_text) {
  order: 3;
}

/* 라벨 고정 너비: 입력 영역 세로 정렬 맞춤 (종합교육연수원ID 등 긴 라벨 수용) */
.list_search_column__field .list_search__label {
  margin: 0;
  flex-shrink: 0;
  width: 130px;
  min-width: 130px;
  text-align: right;
  font-size: 15px;
  font-weight: 500;
  color: #555;
  line-height: 44px;
}

.list_search_column__field .form_item_text,
.list_search_column__field .form_item_select,
.list_search_column__field .form_item_date {
  height: 44px;
  line-height: 44px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  box-sizing: border-box;
}

/* 셀렉트·달력·인풋 공통: 해당 칸에서 남는 영역 100% 채움 (전역 width/min-width 무시) */
.list_search_column__field .form_item_select,
.list_search_column__field .form_item_date,
.list_search_column__field .form_item_text {
  flex: 1 1 0;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100%;
  padding: 0 12px;
  box-sizing: border-box;
}

/* 셀렉트는 무조건 1칸(33.33% - 10px), 인풋은 남은 영역 차지 */
@container list-search-fields (min-width: 0) {
  .list_search_column__field .form_item_select {
    max-width: calc(33.333% - 10px) !important;
  }
  /* 셀렉트만 있는 필드는 1칸 고정(넓어지지 않음) */
  .list_search_column__field:has(.form_item_select):not(.list_search_column__field--full):not(.list_search_column__field--grow) {
    max-width: calc(33.333% - 10px);
    flex: 0 1 calc(33.333% - 10px);
  }
}

.list_search_column__field--full .form_item_text {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

/* 검색 버튼: 오른쪽 끝, 하단 고정 */
.list_search_column__field--btn {
  flex-shrink: 0;
  align-self: flex-end;
  margin-left: auto;
}

.list_search_column__field--btn .list_search__btn {
  margin-left: 0;
  height: 44px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 500;
  background-color: #474D54;
  color: #fff;
}

.list_search_column__item .form_sub_tilde {
  color: #777;
  margin: 0 5px;
  flex-shrink: 0;
}
.list_search_column__field .form_sub_tilde {
  flex-shrink: 0;
}

.list_search_column__item .list_search__label {
  min-width: 50px;
  flex-shrink: 0;
  text-align: right;
}

.list_search_column__item .form_item_text {
  min-width: 0;
  flex: 1 1 140px;
  max-width: 100%;
  box-sizing: border-box;
}

.list_search_column__item .form_item_select {
  min-width: 0;
  flex: 1 1 120px;
  max-width: 100%;
  box-sizing: border-box;
}

.list_search_column__item.list_search_column__item_select_wrap .form_item_select {
  min-width: 100px;
}

/* 검색 칸 안 인풋: 칸 전체 가로 100% 채우도록(전역 150px·min-width 및 아이템 규칙 우선) */
.list_search_column__item .list_search_column__field .form_item_text,
.list_search_column__item .list_search_column__field .form_item_select,
.list_search_column__item .list_search_column__field .form_item_date {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* 검색어(셀렉트+인풋): 셀렉트 고정 폭, 인풋만 늘어나도록 — 위 규칙보다 뒤에 두어 우선 적용 */
.list_search_column__field--full .form_inline_group {
  flex: 1;
  min-width: 0;
}
.list_search_column__field--full .form_inline_group .form_item_select {
  flex: 0 0 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
}
.list_search_column__field--full .form_inline_group .form_item_text {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.list_search_column__item .list_search__btn {
  flex-shrink: 0;
}

/* 수강생 검색 팝업: 줄바꿈 + 인풋 깨지지 않게 폭 조절 */
#studentSearchPopup .list_search_column {
  min-width: 0;
  overflow: hidden;
}
#studentSearchPopup .list_search_column .list_search_column__item {
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
}
#studentSearchPopup .list_search_column .list_search_column__item .list_search__label {
  flex-shrink: 0;
}
#studentSearchPopup .list_search_column .list_search_column__item .form_item_text {
  min-width: 0;
  flex: 1 1 120px;
  max-width: 100%;
  box-sizing: border-box;
}
#studentSearchPopup .list_search_column .list_search_column__item .form_item_select {
  min-width: 0;
  flex: 1 1 100px;
  max-width: 100%;
  box-sizing: border-box;
}
#studentSearchPopup .list_search_column .list_search_column__item .list_search__btn {
  flex-shrink: 0;
}

.list_search {
  display: flex;
  align-items: center;
  border: 1px solid #dddddd;
  border-radius: 8px;
  padding: 19px;
  margin-bottom: 20px;
}

.form_item_select_year {
  width: 80px;
  min-width: 80px;
}


.form_item_select_moon {
  width: 70px;
  min-width: 70px;
}

.form_item_select_time {
  width: 70px;
  min-width: 70px;
}

.form_item_select {
  min-width: 140px;
}

.list_search_date {
  display: flex; border:1px solid #aaa; background-color:#f6f8fc;
  margin: 0px 5px;
  border-radius: 4px;
  padding: 0px;
  text-align: center;
  height:48px;
}
.list_search_date li {display:flex; align-items: center; justify-content: center;}
.list_search_date li:not(:first-child) {border-left:1px solid #aaa;}
.list_search_date li a {display:flex; align-items: center; justify-content: center; height:100%; font-size:16px; font-weight:500; color:#666; padding:0 20px;}
.list_search_date li a:hover {text-decoration: underline; text-underline-offset:3px;}
.list_search_date li a._active {background-color:#fff; color:#111;}
 
/* .list_search_date .list_search_date__item:first-child .list_search_date__link {
  border-left: 1px solid #E3E1E1;
  border-radius: 4px 0px 0px 4px;
}

.list_search_date .list_search_date__item:last-child .list_search_date__link {
  border-right: 1px solid #E3E1E1;
  border-radius: 0px 4px 4px 0px;
}

.list_search_date .list_search_date__link {
  display: inline-block;
  height: 32px;
  line-height: 32px;
  padding: 0px 15px;
  border: 1px solid #dddddd;
  border-right: none;
  color: #999999;
  background: #F5F5F5;
  font-weight: 400;
  font-size: 13px;
}

.list_search_date .list_search_date__link._active {
  font-size: 13px;
  font-weight: 400;
  background: #FFFFFF;
} */

.list_search__label {
  font-size: 16px;
  font-weight: 500;
  margin: 0 20px 0 30px;
  line-height: 48px;
  color:#666;
  white-space: nowrap;
}

.list_search__label:first-child {
  margin-left: 0;
}

.list_search__label_end {
  font-size: 13px;
  color: #3e4b4b !important;
  font-weight: 700;
  margin: 0 10px 0 0;
  line-height: 1em;
}

.list_search__btn {
  display: inline-flex; align-items: center; justify-content: center;
  margin-left:auto;
  border-radius: 4px;
  white-space:nowrap;
  /* width: 100px; */
  height: 48px;
  padding:0 20px;
  font-size: 16px;
  color: #ffffff;
  background-color: #474D54;
  cursor: pointer;
}


.pagination {
  display: flex; gap:0 8px; align-items: center;
  justify-content: center;
}

.pagination_item {width:48px; height:48px; border:1px solid transparent; border-radius: 50%;}

.pagination_item a {
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; line-height:46px;
  color: #111;
  text-decoration: none;
}

.pagination_item a:focus, .pagination_item a:hover {text-decoration: underline;}
.pagination_item:has(a:focus), .pagination_item:has(a:hover) {background-color:#F6F8FC; border-color:#F6F8FC}



.pagination_item:has(i)  {border-color:#ddd; }
.pagination_item:has(.pagination--active)  {border-color:#2559E0; }


.pagination_item .pagination--active {
  color: #2559E0; font-weight: 700;
}


.icon_pagination_first {width: 48px; height: 48px; background:url(../images/common/icon_first.svg) no-repeat center/auto 14px;}
.icon_pagination_last {width: 48px; height: 48px; background:url(../images/common/icon_first.svg) no-repeat center/auto 14px; transform: rotate(180deg);}
.icon_pagination_prev {width: 48px; height: 48px; background:url(../images/common/icon_prev.svg) no-repeat center/auto 14px;}
.icon_pagination_next {width: 48px; height: 48px; background:url(../images/common/icon_prev.svg) no-repeat center/auto 14px; transform: rotate(180deg);}




.form_item_text_span {
  display: block;
  min-width: 200px;
  height: 32px;
  line-height: 32px;
  font-size: 13px;
  color: #999999;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 0 10px;
  box-sizing: border-box;
}

.form_item_number,
.form_item_date,
.form_item_text,
.form_item_text_search,
.form_item_select,
.form_item_select_year,
.form_item_select_moon,
.form_item_select_time,
.form_item_text_center {
  display: block;
  height: 48px;
  line-height: 48px;
  font-size: 16px;
  color: #9111;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 0 10px;
  margin: 0 5px;
  color:#111;
  background-color:#fff;
}


.form_item_number._inline_block,
.form_item_date._inline_block,
.form_item_text._inline_block,
.form_item_text_search._inline_block,
.form_item_select._inline_block,
.form_item_select_year._inline_block,
.form_item_select_moon._inline_block,
.form_item_select_time._inline_block,
.form_item_text_center._inline_block {
  display: inline-block;
}

.form_item_number._num,
.form_item_date._num,
.form_item_text._num,
.form_item_text_search._num,
.form_item_select._num,
.form_item_select_year._num,
.form_item_select_moon._num,
.form_item_select_time._num,
.form_item_text_center._num {
  text-align: right;
}

.form_item_number._none_data,
.form_item_date._none_data,
.form_item_text._none_data,
.form_item_text_search._none_data,
.form_item_select._none_data,
.form_item_select_year._none_data,
.form_item_select_moon._none_data,
.form_item_select_time._none_data,
.form_item_text_center._none_data {
  color: #dedede;
}

.form_item_number._disabled,
.form_item_date._disabled,
.form_item_text._disabled,
.form_item_text_search._disabled,
.form_item_select._disabled,
.form_item_select_year._disabled,
.form_item_select_moon._disabled,
.form_item_select_time._disabled,
.form_item_text_center._disabled {
  background-color: #cccccc;
}

.form_item_text_center {
  display: inline-block;
  text-align: center;
  width: 50px;
}

.form_item_number {
  padding-right: 0;
}

.form_item_textarea {
  display: block;
  font-size: 13px;
  color: #999999;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 0 10px;
  box-sizing: border-box;
  width: 100%;
  height: 90px;
  line-height: 24px;
  padding: 10px;
  resize: none;
}

.form_item_textarea__auto_height {
  display: block;
  font-size: 13px;
  color: #999999;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 0 10px;
  box-sizing: border-box;
  width: 100%;
  min-height: 262px;
  line-height: 24px;
  padding: 10px;
  resize: none;
}

.form_item_text_search {
  background: url("../images/bg/bg_form_search.png") no-repeat right 9px top 50%;
}

.form_item_select {
  min-width: 100px;
  background: #fff url("../images/bg/bg_form_select.svg") no-repeat right 10px top 50%;
  padding: 0 30px 0 10px !important;
}

.form_item_date {
  width: 150px;
  padding-right: 35px;
  background: #fff url("../images/bg/bg_form_date.svg") no-repeat calc(100% - 8px) 50%;
}

.form_file__group {
  flex-direction: column;
}

.form_file__group:first-of-type {
  margin-top: 0;
}

.form_file__group:first-of-type .form_file__item {
  margin-top: 0;
}

.clone_copy_item,
.form_file__item {
  display: flex;
  margin-top: 9px;
}

.clone_copy_item .form_inline_group, .clone_copy_item .form_inline_group .form_item_text {flex:1;}

.form_file__label {
     display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 4px;
    border: 1px solid #AAA;
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 0 20px;
    color: #111;
    white-space: nowrap;
    cursor:pointer;
}

.form_file__text {
  /* font-size: 13px;
  color: #717171;
  line-height: 24px;
  border: 1px solid #dddddd;
  border-radius: 3px;
  padding: 0 12px;
  min-width: 215px;
  margin-right: 6px; */

    display: block;
    height: 48px;
    padding:0 32px;
    line-height: 48px;
    font-size: 16px;
    color: #9111;
    border: 1px solid #dddddd;
    border-radius: 4px;
    padding: 0 10px;
    margin: 0 5px;
    color: #111;
    background-color: #fff;
    flex:1;
}

.form_item__file_btn {
  border: none;
  background: transparent;
  padding: 0;
  margin-left: 6px;
  cursor: pointer;
}

.form_item__file_btn i {
  display: block;
}

.form_item__register_btn {
  width: 50px;
  color: #3e4b4b;
  font-size: 12px;
  font-weight: 700;
  background-color: #ffffff;
  border: 1px solid #3e4b4b;
  border-radius: 3px;
  margin-left: 5px;
  cursor: pointer;
}

.form_item__row_btn {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.form_item__row_btn i {
  display: block;
}

.form_item__row_check {
  width: 50px;
  line-height: 1.4;
  color: #3e4b4b;
  font-size: 12px;
  font-weight: 700;
  background-color: #ffffff;
  border: 1px solid #3e4b4b;
  border-radius: 3px;
  cursor: pointer;
}

.form_file__list {
  border-top: 1px solid #efefef;
  padding: 10px 0 10px 10px;
  margin: 10px 0 0 0;
}

.form_file__list_item {
  line-height: 24px;
  color: #666;
}

.form_required {
  color: #d32462 !important;
}

/* 토글 스위치 (과제 제출 필수 등) */
.form_toggle_row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.form_toggle_label {
  font-size: 15px;
  font-weight: 500;
  color: #333;
}
.form_toggle_switch {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.form_toggle_switch input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
.form_toggle_track {
  display: inline-block;
  width: 48px;
  height: 26px;
  border-radius: 13px;
  background: #ccc;
  position: relative;
  transition: background 0.2s;
}
.form_toggle_track::after {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  transition: transform 0.2s;
}
.form_toggle_switch input[type="checkbox"]:checked + .form_toggle_track {
  background: #1a73e8;
}
.form_toggle_switch input[type="checkbox"]:checked + .form_toggle_track::after {
  transform: translateX(22px);
}

.form_inner_style__tight td {
  padding: 10px 3px;
}

.form_inner_style__tight input[type=text] {
  padding: 0 3px;
  font-size: 12px;
}

.form_inline_group, .flex_area_box__item {
  display: flex;
  align-items: center;
  gap:0 8px;
  position:relative;
}

.form_inline_group:has(.btn_search) input[type="text"] {padding-right:50px;}
.btn_search {position:Absolute; right:8px; top:50%; transform: translateY(-50%); width:40px; height:40px; background:url(../images/common/icon_search.svg) no-repeat center/100%;}

.form_inline_group.flex > * {
  /* margin: 0 0 0 5px !important; */
  flex:1;
}

.form_inline_group .form_sub_tilde {flex: 0;}

.form_inline_group > *:first-child, .flex_area_box__item > *:first-child {
  /* margin-left: 0 !important; */
}

.form_item_check {
  display: inline-block;
  margin-right: 5px;
}

.check_text .form_item_text {
  width: calc(100% - 30px);
}

.radio_check__group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.radio_check__group label {
  margin: 0 10px 0 5px;
  color: #777;
  line-height: 1em;
}

.list_search_column .radio_check__group {
  font-size: 12px;
}

.radio_check__group._wrap > span {
  display: flex;
  margin: 5px 10px 5px 0;
  align-items: center;
}

.btn_group {
  display: flex; align-items: center;
  justify-content: flex-end;
  margin-bottom: 10px;
  gap:0 8px
}

.btn_group .lt {margin-right:auto;}

.btn_group .icon_btn {
  padding: 0;
  margin-left: 8px;
}

.btn_group._child_full [class^=btn_group__] {
  flex: 1 1 auto;
}

.btn_sample, .btn_group__excel_up,
.btn_group__excel_down,
.btn_group__print, .btn_group__add,
.btn_group__list,
.btn_group__select, .btn_group__modify,
.btn_group__cancel,
.btn_cancel, .btn_group__change,
.btn_group__remove,
.btn_group__reject, .btn_group__save,
.btn_group__registration, 
.btn_group__search,
.btn_group__produce,
.btn_group__confirm,
.btn_save, .btn_group__approval,
.btn_group__approve,
.btn_group__deadline, .btn_group__draft,
.btn_group__prede, .btn_group__retract {
  /*
  display: inline-block;
  margin-left: 5px;
  font-size: 13px;
  min-width: 100px;
  height: 40px;
  line-height: 40px;
  border-radius: 8px;
  padding: 0 19px;
  box-sizing: border-box;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  color: #666;
  */
  display: inline-flex; align-items: center; justify-content: center;
  height:48px;
  border-radius: 4px;
  border: 1px solid #AAA;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  padding:0 20px;
  color:#111;
  white-space: nowrap;
}


.btn_group__registration {
  background: #2559E0;
  color:#fff;
}


.btn_sample:first-child, .btn_group__excel_up:first-child,
.btn_group__excel_down:first-child,
.btn_group__print:first-child, .btn_group__add:first-child,
.btn_group__list:first-child,
.btn_group__select:first-child, .btn_group__modify:first-child,
.btn_group__cancel:first-child,
.btn_cancel:first-child, .btn_group__change:first-child,
.btn_group__remove:first-child,
.btn_group__reject:first-child, .btn_group__save:first-child,
.btn_group__registration:first-child,
.btn_group__search:first-child,
.btn_group__produce:first-child,
.btn_group__confirm:first-child,
.btn_save:first-child, .btn_group__approval:first-child,
.btn_group__approve:first-child,
.btn_group__deadline:first-child, .btn_group__draft:first-child,
.btn_group__prede:first-child, .btn_group__retract:first-child {
  margin-left: 0;
}

/* .btn_group__excel_up,
.btn_group__excel_down,
.btn_group__print {
  background-color: #fff;
  color: #606060;
  border: 1px solid #9d9d9d;
} */

.btn_group__excel_down {padding:0 15px 0 11px; gap:0 4px;}
.btn_group__excel_down:before, .btn_group__excel_up:before {content:''; width:24px; height:24px; background:url(../images/common/icon_excel.svg) no-repeat center/100%;}


.btn_group__add,
.btn_group__list,
.btn_group__select {
  /* background-color: #fff;
  color: #3e4b4b;
  border: 1px solid #3e4b4b; */
}

.btn_group__modify,
.btn_group__cancel,
.btn_cancel {
  /* background-color: #ebebeb;
  color: #606060;
  border: 1px solid #9d9d9d;
  */
} 

.btn_group__change,
.btn_group__remove,
.btn_group__reject {
  /* background-color: #4f4f4f;
  color: #fff;
  border: 1px solid #4f4f4f; */
}

.btn_group__save {background-color:#8794A6; border-color:#8794A6; color:#fff;}


.btn_group__save,
/* .btn_group__registration, */
.btn_group__search,
.btn_group__produce,
.btn_group__confirm,
.btn_save {
  /* background-color: #3e4b4b;
  color: #fff;
  border: 1px solid #3e4b4b; */
}

.btn_group__approval,
.btn_group__approve,
.btn_group__deadline {
  /* background-color: #4f4f4f;
  color: #fff;
  border: 1px solid #4f4f4f; */
}

.btn_group__draft,
.btn_group__prede {
  /* background-color: #4f4f4f;
  color: #fff;
  border: 1px solid #4f4f4f; */
}

.btn_group__retract {
  /* background-color: #d2d2d2;
  color: #606060;
  border: 1px solid #c2c2c2; */
}

.btn_approval_add {
  border: 1px solid #00b4b5;
  width: 60px;
  line-height: 25px;
  border-radius: 2em;
  font-size: 12px;
  color: #00b4b5;
  padding-left: 20px;
  padding-right: 5px;
  background: url("../images/bg/bg_approval_add.png") no-repeat 12px 50%;
  position: absolute;
  top: 14px;
  right: 15px;
  cursor: pointer;
}

.btn_approval_add_auto {
  border: 1px solid #00b4b5;
  line-height: 25px;
  border-radius: 2em;
  font-size: 12px;
  color: #00b4b5;
  padding-left: 23px;
  padding-right: 15px;
  background: url("../images/bg/bg_approval_add.png") no-repeat 10px 50%;
  cursor: pointer;
  margin-top: 10px;
}

.btn_approval_add_auto:first-child {
  margin-top: 0;
}

.btn_approval_save_auto {
  border: 1px solid #3e4b4b;
  line-height: 25px;
  border-radius: 2em;
  font-size: 12px;
  color: #3e4b4b;
  padding-left: 15px;
  padding-right: 15px;
  cursor: pointer;
  margin-top: 10px;
}

.btn_approval_save_auto:first-child {
  margin-top: 0;
}

.btn_list_link {
  /* border: 1px solid #1a73e8;
  line-height: 25px;
  border-radius: 2em;
  font-size: 12px;
  color: #1a73e8;
  padding-left: 15px;
  padding-right: 15px;
  cursor: pointer;
  margin-top: 10px;
  white-space: nowrap; */

   display: inline-flex; align-items: center; justify-content: center;
  height:48px;
  border-radius: 4px;
  border: 1px solid #AAA;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  padding:0 20px;
  color:#111;
  white-space: nowrap;
}

.btn_list_link:first-child {
  margin-top: 0;
}

.btn_list_link._disabled,
.btn_list_link:disabled {
  background: #f5f5f5;
  border-color: #ddd;
  color: #999;
  cursor: not-allowed;
}

.approval_line {
  border-top: 1px solid #becccc;
  padding-left: 13px;
}

.approval_line__sub_title {
  font-size: 14px;
  line-height: 23px;
  font-weight: 700;
  color: #666;
  margin-top: 10px;
}

.approval_line__link_list {
  padding-left: 8px;
  margin: 10px 0 10px 0;
}

.approval_line__sub_link {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  color: #4690ce;
  line-height: 26px;
}

.approval_line__sub_link [class^=icon] {
  margin-right: 7px;
}

.approval_line__list {
  padding-left: 8px;
  margin: 12px 0 0;
  font-size: 13px;
  color: #888;
}

.approval_line__list_item {
  position: relative;
  padding: 0 0 28px 0;
  background: url("../images/bg/bg_approval_line_arrow.png") no-repeat 3px calc(50% + 12px);
}

.approval_line__list_item:last-child {
  background: none;
}

.approval_line__list_item._active strong {
  color: #000;
}

.approval_line__list_item._active .approval_line__list_number {
  color: #000;
  border: 1px solid #000;
}

.approval_line__list_number {
  display: inline-block;
  width: 15px;
  height: 15px;
  line-height: 14px;
  box-sizing: border-box;
  border: 1px solid #999;
  font-size: 10px;
  text-align: center;
  border-radius: 2em;
  margin-right: 23px;
}

.approval_line__sub_txt {
  font-size: 12px;
  color: #757575;
  margin: 5px 0 0 40px;
}

/* apply CSS to the select tag of  
	.form_item_select select*/
.form_item_select {
  /* for Firefox */
  -moz-appearance: none;
  /* for Safari, Chrome, Opera */
  -webkit-appearance: none;
}

/* for IE10 */
.form_item_select::-ms-expand {
  display: none;
}

.pop_wrap {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.4);
}

.pop_container {
  flex: 0 0 auto;
  background-color: #fff;
  padding: 0 20px 20px;
}

.pop_header {
  display: flex;
  height: 40px;
  /* border-bottom: 1px solid #aaa; */
}

.pop_header h1 {
  display: flex;
  font-size: 24px;
  font-weight: 600;
  line-height:40px;
  color: #000;
  margin:0; padding:0;
}

.pop_header h1 [class^=state--] {
  margin-left: 10px;
}

.pop_header .icon_btn {
  margin-left: auto;
}

.pop_content {
  padding-top: 25px;
  margin-bottom: 10px;
}

.pop_content ._scroll_box {
  overflow-y: auto;
}

.pop_content ._scroll_box._h600 {
  height: 600px !important;
}

.pop_footer,
.content_footer__btn {
  text-align: right;
  margin-top: 20px;
}

.tree_group {
  display: flex;
}

.tree_group__tree,
.tree_group__table_wrap {
  border: 1px solid #dddddd;
  border-radius: 6px;
}

.tree_group__tree {
  flex: 0 0 auto;
  width: 200px;
}

.tree_group__tree._user {
  width: 170px;
  margin-left: 10px;
}

.tree_group__tree._user .user_list {
  margin: 0;
  padding: 0 20px;
}

.tree_group__tree._user .user_list li {
  display: flex;
  align-items: center;
  font-size: 12px;
}

.tree_group__tree._user .user_list a {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #777;
  padding: 5px 0;
  text-decoration: none;
}

.tree_group__tree._user .user_list a._active {
  color: #333;
  font-weight: 700;
}

.tree_group__tree_search {
  display: flex;
  border-bottom: 1px solid #dddddd;
  padding: 6px 0;
}

.tree_group__tree_search ._text {
  flex: 1 1 auto;
  width: 100%;
  border: 0;
  font-size: 12px;
  color: #777;
  padding-left: 10px;
}

.tree_group__tree_search .icon_btn {
  flex: 0 0 auto;
  width: 33px;
}

.title_mediazen {
  display: inline-block;
  margin-top: 10px;
  margin-left: 20px;
  padding: 0 0 10px 20px;
  background: url("../images/bg/bg_mediazen.png") no-repeat 0 0;
  font-size: 12px;
  color: #033333;
  font-weight: 500;
}

.title_teams {
  display: inline-block;
  margin-top: 10px;
  margin-left: 20px;
  padding: 0 0 10px 0;
  font-size: 12px;
  color: #033333;
  font-weight: 500;
}

.tree {
  margin: 0;
  padding-left: 25px;
}

.tree li {
  position: relative;
  padding-left: 15px;
  background: url("../images/bg/bg_tree_list.png") no-repeat -1px -7px;
  border-left: 1px solid #dddddd;
}

.tree li:last-child {
  background: url("../images/bg/bg_tree_last.png") no-repeat 1px -7px;
  border-left: 0;
  margin-left: -1px;
  padding-left: 17px;
}

.tree li:last-child:before {
  left: -3px;
}

.tree .tree-closed > .toggler,
.tree .tree-opened > .toggler {
  display: block;
  padding: 5px;
  position: absolute;
  top: 4px;
}

.tree .tree-closed .treemenu {
  display: none;
}

.tree .tree-closed > .toggler {
  left: -18px;
}

.tree .tree-closed > .toggler::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/bg/bg_status_p.png") no-repeat center/20px;
}

.tree .tree-opened .treemenu {
  display: block;
}

.tree .tree-opened > .toggler {
  left: -18px;
}

.tree .tree-opened > .toggler::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/bg/bg_status_m.png") no-repeat center/20px;
}

.tree .tree_parent {
  position: relative;
}

.tree .tree_parent > ul {
  display: none;
}

.tree .tree_parent:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/bg/bg_status_p.png") no-repeat center/20px;
  position: absolute;
  top: 7px;
  left: -5px;
}

.tree .tree_parent._open:before {
  content: '';
  background: url("../images/bg/bg_status_m.png") no-repeat 0 0;
}

.tree .tree_parent._open > ul {
  display: block;
}

.tree .tree-empty > .toggler {
  display: none;
}

.tree ul {
  margin: 0;
  padding: 0 10px;
}

.tree a,
.tree label {
  display: inline-block;
  font-size: 18px;
  color: #333333;
  font-weight: 500;
  text-decoration: none;
  padding: 6px 0;
  line-height:1.5;
}

.tree input {
  vertical-align: middle;
}

.tree_group__table {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  flex-direction: column;
}

.tree_group__table_item01,
.tree_group__table_item02 {
  display: flex;
}

.tree_group__table_item01 {
  margin-bottom: 20px;
}

.tree_group__table_item01 .tree_group__table_wrap {
  height: 300px;
}

.tree_group__table_item02 .tree_group__table_wrap {
  height: 150px;
}

.tree_group__table_btn {
  display: flex;
  flex: 0 0 auto;
  width: 100px;
  align-items: center;
  justify-content: center;
}

.tree_group__table_wrap {
  flex: 1 1 auto;
  padding: 0 20px 20px;
}

.tree_group__table_wrap table {
  width: 100%;
  text-align: center;
}

.tree_group__table_wrap table thead {
  border-bottom: 1px solid #becccc;
}

.tree_group__table_wrap table tbody tr {
  border-bottom: 1px solid #eeeeee;
}

.tree_group__table_wrap table th {
  height: 40px;
  font-size: 13px;
  color: #666;
}

.tree_group__table_wrap table td {
  height: 50px;
  font-size: 13px;
  color: #666666;
}

.tree_group__arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tree_group__arrow .icon_btn {
  width: 50px;
  flex: 0 0 auto;
}

.tree_group__btn_help,
.tree_group__btn_cc {
  width: 60px;
  height: 25px;
  border: 1px solid #919191;
  border-radius: 3px;
  background: transparent url("../images/bg/bg_btn_cc.png") no-repeat right 11px top 50%;
  font-size: 12px;
  color: #4e4e4e;
  text-align: left;
  padding-left: 12px;
  cursor: pointer;
}

.tree_group__btn_register {
  height: 25px;
  border: 1px solid #4690ce;
  border-radius: 3px;
  background: #4690ce url("../images/bg/bg_btn_register.png") no-repeat right 7px top 50%;
  font-size: 12px;
  color: #fff;
  text-align: left;
  padding: 0 20px 0 10px;
  cursor: pointer;
}

.check_custom {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../images/bg/bg_checkbox_off.png") no-repeat 50% 50%;
  cursor: pointer;
}

.check_custom._on {
  background: url("../images/bg/bg_checkbox_on.png") no-repeat 50% 50%;
}

.title_h2 {
  font-size: 18px;
  font-weight: 400;
  color: #252525;
  border-bottom: 1px solid #aaaaaa;
  padding: 0 0 12px 5px;
  margin: 0;
}

.title_h2._mb25 {
  margin-bottom: 25px;
}

.seal_add {
  display: flex;
  align-items: flex-end;
}

.seal_add .seal_box {
  flex: 0 0 auto;
  margin: 0 20px 0 0;
}

.seal_add .form_file__item {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
}

.seal_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  border: 1px solid #dddddd;
  border-radius: 8px;
  margin: 15px 0 50px 0;
}

.seal_box img {
  flex: 0 0 auto;
  max-width: 100px;
  max-height: 100px;
}

textarea:focus {
  color: #000;
}

.textarea_box textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  resize: none;
  border: 1px solid #dddddd;
  border-radius: 4px;
}

.table_group {
  display: flex;
  margin-bottom: 25px;
}

.table_group > [class^=table_garoup__] {
  padding-left: 20px;
}

.table_group > [class^=table_garoup__]:first-child {
  padding-left: 0;
}

.table_group .table_garoup__item01 {
  width: 90px;
  flex: 0 0 auto !important;
}

.table_group .table_garoup__item02 {
  width: 100%;
}

.table_group .table_garoup__item03 {
  width: 100%;
}

.table_group table {
  flex: 1 1 auto;
  width: 100%;
}

.table_group table td {
  font-size: 13px;
  color: #333333;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #dddddd;
}

.table_group table td._item01 {
  height: 32px;
}

.table_group table td._item02 {
  height: 100px;
}

.table_group table td._item03 {
  height: 68px;
}

.predecessor_td {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgba(0, 0, 0, 0.2)" /></svg>');
}

.clone_group,
.target_file_clone {
  display: none;
}

.approval_line__list_tip {
  display: inline-block;
  font-size: 11px;
  color: #777;
  border: 1px solid #777;
  border-radius: 2em;
  padding: 2px 6px;
  margin-left: 3px;
}

.approval_line__tooltip {
  display: none;
  width: calc(100% - 21px);
  max-height: 90px;
  overflow-y: auto;
  padding: 5px 10px;
  border: 1px solid #dddddd;
  background-color: #fff;
  margin-top: 10px;
  box-sizing: border-box;
  line-height: 1.6;
  font-size: 12px;
}

.approval_line__tooltip.on {
  display: block;
}

.tree_group_info_list {
  margin: 0 0 15px 0;
  padding: 10px 20px;
  border: 1px solid #e1b1c2;
  border-radius: 10px;
}

.tree_group_info_list li {
  font-size: 12px;
  color: #d32462;
  line-height: 1.75;
}

.login_main {
  display: flex;
  align-items: center;
  justify-content: center;
}

.login_group {
  position: relative;
  padding-bottom: 25px;
}

.login_group__title {
  font-size: 18px;
  color: #535252;
}

.login_box {
  display: flex;
  flex-wrap: wrap;
  width: 450px;
  background-color: #fff;
  border: 1px solid #dddddd;
  border-radius: 8px;
  padding: 45px 45px 75px;
}

.login_item__id,
.login_item__pw {
  display: flex;
  width: calc(100% - 110px);
  flex-direction: column;
}

.login_item__pw {
  margin-top: 25px;
}

.login_form__label {
  font-size: 15px;
  line-height: 1.4em;
  color: #404a8b;
  font-weight: 700;
}

.login_form__input {
  font-size: 14px;
  line-height: 1.6;
  color: #7a7a7a;
  padding: 6px 10px;
  border: solid #dddddd;
  border-width: 0 0 1px 0;
}

.login_group__login {
  font-size: 14px;
  color: #fff;
  background: #00b4b5;
  border: 1px solid #00b4b5;
  border-radius: 6px;
  width: 80px;
  height: 80px;
  margin-left: auto;
  margin-top: auto;
  cursor: pointer;
}

.ligin_id {
  display: flex;
  align-items: center;
  position: absolute;
  right: 18px;
  bottom: 0;
}

.ligin_id__label {
  font-size: 13px;
  color: #666666;
  margin-left: 5px;
}

.table-print-color th,
.table-print-color td {
  border: 1px solid #000 !important;
}

.table_foot_info__txt {
  font-size: 16px;
  color: #666;
}

.form_item_text + .table_foot_info__txt  {margin-left:16px;}

.table_foot_info__txt._small {
  font-size: 12px;
}

.loading_wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading_wrap._bg_color {
  background-color: rgba(0, 0, 0, 0.1);
}

.radius_info_box {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 12px;
  padding-left: 15px;
}

.radius_info_item {
  font-size: 13px;
  color: #3e4b4b;
  font-weight: 700;
  margin-left: 80px;
  margin-right: 20px;
}

.radius_info_item:first-child {
  margin-left: 0;
}

.year_swiper .year_swiper__prev,
.year_swiper .year_swiper__next {
  padding: 5px 15px;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

.year_swiper_text {
  font-size: 18px;
  color: #252525;
}

.tab_box {
  display: flex;
  margin-bottom: 10px;
  margin-top: 5px;
}

.tab_item {
  font-size: 13px;
  color: #666;
  font-weight: 300;
  text-decoration: none;
  padding: 5px 0;
  margin-right: 28px;
}

.tab_item--active {
  color: #3e4b4b;
  font-weight: 700;
  border-bottom: 2px solid #3e4b4b;
}

.user_info_box {
  display: flex;
}

.user_info_image {
  margin-right: 40px;
  text-align: center;
}

.user_info_image button {
  margin: 0 0 8px 0;
}

.user_info_image__box {
  border: 1px solid #eaeaea;
  padding: 12px 10px;
  margin-bottom: 10px;
}

.user_info_image__box img {
  width: 100px;
  height: 128px;
}

.user_info_group {
  margin-top: 40px;
}

.attendance_main__today {
  text-align: center;
  padding-bottom: 20px;
}

.main__today_label {
  display: inline-block;
  width: 50px;
  height: 18px;
  line-height: 18px;
  font-size: 10px;
  color: #3e4b4b;
  border: 1px solid #3e4b4b;
  border-radius: 2em;
  margin-right: 15px;
}

.main__today_txt {
  font-size: 16px;
  line-height: 24px;
  color: #666;
  font-weight: 700;
  letter-spacing: -0.025em;
}

.attendance_main__layout {
  display: flex;
  height: auto;
}

.attendance_main__layout_item {
  display: flex;
  flex-direction: column;
  flex: 1 1 50%;
}

.attendance_main__layout_item._right {
  margin-left: 20px;
}

.attendance_main__layout_item .radius_box {
  height: 100%;
}

.attendance_main__radius_box {
  height: 100%;
  border: 1px solid #eeeeee;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
}

.attendance_main__radius_box._info {
  padding: 20px 0;
}

.attendance_main__title {
  font-size: 18px;
  color: #252525;
  font-weight: 400;
  padding-bottom: 10px;
  margin: 0;
}

.attendance_main__title ._sub {
  font-size: 13px;
}

.attendance_main__week {
  display: flex;
  min-height: 110px;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-align: center;
}

.attendance_main__week li {
  flex: 0 0 14.28%;
  position: relative;
  padding: 14px 0;
}

.attendance_main__week li a {
  display: block;
}

.attendance_main__week li:first-child::before {
  content: none;
}

.attendance_main__week li::before {
  content: '';
  display: block;
  width: 1px;
  background-color: #dddddd;
  position: absolute;
  top: 14px;
  left: 0;
  bottom: 14px;
}

.attendance_week--active {
  background-color: #e5f7f7;
  border: 1px solid #00b4b5;
}

.attendance_week--active::before {
  content: none !important;
}

.attendance_week__day,
.attendance_week__vacation,
.attendance_week__time {
  font-size: 13px;
}

.attendance_week__day {
  color: #666;
  line-height: 33px;
  display: inline-block;
  margin-bottom: 5px;
}

.attendance_week__vacation {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #24a165;
  line-height: 20px;
}

.attendance_week__vacation .icon_vacation {
  margin-right: 5px;
}

.attendance_week__time {
  color: #666;
  line-height: 20px;
}

.attendance_vacation__btn_group {
  margin-bottom: 20px;
}

.attendance_vacation {
  padding: 10px;
  border: solid #becccc;
  border-width: 1px 0;
  margin: 0 0 20px 0;
}

.attendance_vacation__item {
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 22px;
  color: #999;
}

.attendance_vacation__item .attendance_week__vacation::before {
  content: '';
  display: inline-block;
  width: 2px;
  height: 13px;
  background-color: #999;
  margin: 0 10px;
}

.attendance_vacation__name {
  color: #666;
}

.info_border_box {
  background-color: #fff;
  border: 1px solid #eee;
  padding: 20px 30px;
  margin-top: 20px;
  position: relative;
}

.info_border_box__info_txt {
  font-size: 16px;
  color: #252525;
  line-height: 24px;
  margin: 0 0 10px 0;
  padding: 0;
}

.info_border_box__info_txt > li {
  margin-bottom: 10px;
}

.info_border_box__info_txt.sign_box {
  display: flex;
  align-items: center;
}

.info_border_box__info_txt.sign_box ._seal {
  margin-left: 5px;
}

.info_border_box__info_txt.sign_box ._seal img {
  display: block;
  width: 100%;
  height: 100%;
}

.info_border_box__info_time {
  background-color: #ccf0f0;
  padding: 2px 7px;
}

.info_border_box__info_date {
  font-size: 15px;
  color: #252525;
  text-align: center;
  margin-top: 35px;
}

.info_border_box__form {
  display: flex;
  justify-content: space-between;
  margin-top: 35px;
}

.info_border_box__form._child_right {
  justify-content: end;
}

.info_border_box__check {
  display: flex;
}

.info_border_box__check label {
  margin-right: 5px;
}

.info_radius_box {
  background-color: #fff;
  border: 1px solid #eee;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  border-radius: 8px;
}

.info_txt {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #666;
}

.info_txt li > ul {
  padding-left: 10px;
}

.content_img_box {
  margin-bottom: 10px;
}

.content_img_box img {
  display: block;
  max-width: 100%;
}

.attendance_main__request {
  display: none;
  position: absolute;
  top: 50px;
  right: -160px;
  background-color: #fff;
  box-shadow: 0 0 5px #aaa;
  border-radius: 5px;
  padding: 14px 40px 14px 20px;
}

.attendance_main__request::after {
  content: '';
  display: block;
  width: 18px;
  height: 23px;
  background: url("../images/bg/bg_attendance_main__request.png") no-repeat 0 0;
  position: absolute;
  top: 15px;
  left: -17px;
}

.attendance_main__request_list {
  display: flex;
  flex-direction: column;
  margin-right: 10px;
}

.attendance_main__request_link {
  font-size: 13px;
  color: #666;
  line-height: 30px;
}

.attendance_main__request_link:hover {
  color: #0066c8;
}

.attendance_main__request_close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 15px;
}

.attendance_main__request_close i {
  display: block;
}

.add_schedule_layout {
  display: flex;
  height: 80%;
}

.add_schedule_layout > * {
  flex: 1 1 50%;
}

.add_schedule_layout__table {
  margin-top: 90px;
  padding-left: 20px;
}

.login {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, #455f7a, #3e5268);
}

.login_inner {
  width: 450px;
  height: 520px;
  border: 1px solid #fff;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.1);
}

.login_inner__logo {
  margin: 65px 0 0 0;
  text-align: center;
}

.login_inner__txt {
  text-align: center;
  font-size: 14px;
  color: #fff;
  font-weight: 300;
  line-height: 25px;
  margin-top: 26px;
}

.login_inner__form {
  display: flex;
  flex-direction: column;
}

.login_form_id,
.login_form_pw {
  border: 0;
  margin: 10px 60px 0 60px;
  height: 50px;
  border-radius: 3px;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #fff;
  padding-left: 50px;
}

.login_form_id::placeholder,
.login_form_pw::placeholder {
  color: #fff;
}

.login_form_id {
  background: rgba(0, 0, 0, 0.1) url("../images/bg/bg_login_id.png") no-repeat 15px 50%;
}

.login_form_pw {
  background: url("../images/bg/bg_login_pw.png") rgba(0, 0, 0, 0.1) no-repeat 15px 50%;
}

.login_form_btn_login {
  margin: 10px 60px 0 60px;
  background-color: #fff;
  height: 52px;
  border-radius: 3px;
  font-size: 15px;
  color: #222;
  margin-top: 20px;
  margin-bottom: 10px;
}

.bullet_list {
  margin: 0;
  padding: 0;
}

.bullet_list li {
  display: flex;
  align-items: flex-start;
}

.bullet_list li::before {
  flex: 0 0 auto;
  content: '';
  display: block;
  width: 3px;
  height: 3px;
  background-color: #666;
  border-radius: 2em;
  margin-right: 5px;
  margin-top: 8px;
}

.info_bullet_list {
  margin: 0;
  padding: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.76;
}

.info_bullet_list li {
  display: flex;
  align-items: flex-start;
}

.info_bullet_list li::before {
  flex: 0 0 auto;
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  background-color: #666;
  border-radius: 2em;
  margin-right: 8px;
  margin-top: 10px;
}

.team_check_list {
  display: flex;
}

.team_check_list__left {
  flex: 0 0 185px;
}

.team_check_list__right {
  flex: 1 1 100%;
  padding-left: 15px;
}

.team_check_list__right_title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: #333;
  border: 1px solid #ddd;
  background: #eee;
  height: 70px;
}

.team_check__user {
  border: 1px solid #ddd;
  height: 100%;
}

.team_check__user_info {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: #4690ce;
  height: 71px;
}

.team_check__user_title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: #333;
  border-bottom: 1px solid #ddd;
  background: #eee;
  height: 70px;
}

.team_check__user_list {
  padding: 7px;
}

.team_check__user_list_info {
  font-size: 11px;
  color: #666;
  line-height: 1.45em;
}

.team_check__user_ul {
  padding: 0;
  margin: 0;
  overflow-y: auto;
}

.team_check__user_ul li {
  margin-top: 26px;
}

.team_check__user_ul li:first-child {
  margin-top: 0;
}

.team_check__user_ul_link {
  font-size: 13px;
  color: #333;
}

.team_check__user_ul_link._active {
  color: #4690ce;
  font-weight: 700;
}

.icon_team_check__user_name {
  display: inline-block;
  padding: 0 0 0 10px;
  min-width: 70px;
}

.team_check__user_ul_st, .team_check__user_ul_st01, .team_check__user_ul_st02, .team_check__user_ul_st03, .team_check__user_ul_st04 {
  display: inline-block;
  font-size: 11px;
  border-radius: 2em;
  min-width: 60px;
  height: 22px;
  line-height: 22px;
  text-align: center;
}

.team_check__user_ul_st01 {
  color: #606060;
  border: 1px solid #ddd;
  background: #ddd;
}

.team_check__user_ul_st02 {
  color: #fff;
  border: 1px solid #4690ce;
  background: #4690ce;
}

.team_check__user_ul_st03 {
  color: #4690ce;
  border: 1px solid #4690ce;
  background: #fff;
}

.team_check__user_ul_st04 {
  color: #606060;
  border: 1px solid #606060;
  background: #fff;
}

.meeting_user_list {
  border: 1px solid #ddd;
  padding: 5px;
}

.meeting_user_list ._user_list {
  padding: 0;
  margin: 0;
}

.meeting_user_list li {
  display: flex;
  margin-top: 5px;
}

.meeting_user_list li:first-child {
  margin-top: 0;
}

.meeting_user_list ._name {
  margin-right: 5px;
}

.comment_name {
  color: #000;
}

.comment_txt {
  color: #666;
  margin-top: 0;
}

.flex_box {
  display: flex;
}

.flex_wrap_box {
  display: flex;
  flex-wrap: wrap;
}

.flex_child {
  flex: 1 1 100% !important;
  margin: 5px 5px 20px;
}

.menu_tree {
  flex: 0 0 350px;
  margin-right: 20px;
}

.textarea_txt_box {
  font-size: 14px;
  line-height: 1.6;
}

.calendar_info_layout {
  display: flex;
  flex-direction: row;
}

.calendar_info_layout ._calendar_box {
  flex: 1 1 auto;
}

.calendar_info_layout ._info_box {
  flex: 0 0 400px;
  margin-left: 20px;
}

.calendar_info_layout ._info_box_title {
  font-size: 15px;
  color: #666;
  font-weight: 700;
  padding: 0 10px;
}

.calendar_info_layout ._info_box_txt {
  font-size: 13px;
  color: #777;
  line-height: 1.8;
}

.child_radius_hidden .radius_box {
  border: 0;
}

/* ========== 대시보드 (포털/주관기관 관리자용) ========== */
.dashboard_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.dashboard_tabs {
  display: flex;
  align-items: center;
  gap: 4px;
}
.dashboard_tabs a {
  padding: 8px 16px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  border-radius: 4px;
}
.dashboard_tabs a._active,
.dashboard_tabs a:hover {
  background: #2b3b4e;
  color: #fff;
  border-color: #2b3b4e;
}
.dashboard_refresh {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  border-radius: 4px;
}
.dashboard_refresh:hover {
  background: #f5f5f5;
}
.dashboard_row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.dashboard_row:last-child {
  margin-bottom: 0;
}
.dashboard_row--3 .dashboard_card_wrap {
  flex: 1;
  min-width: 0;
}
.dashboard_row--2 .dashboard_card_wrap {
  flex: 1;
  min-width: 0;
}
.dashboard_card_wrap .radius_box {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.dashboard_card_wrap .list_top {
  flex-shrink: 0;
  padding-bottom: 12px;
}
.dashboard_card_wrap .radius_box__title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 0;
}
.dashboard_card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-top: 8px;
}
.dashboard_card__num_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
}
.dashboard_card__num {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-align: center;
}
.dashboard_card__num._orange {
  color: #e15525;
}
.dashboard_card__num._blue {
  color: #3366cc;
}
.dashboard_card__num._gray {
  color: #888;
}
.dashboard_card__link {
  margin-top: auto;
  font-size: 13px;
}
.dashboard_card__link a {
  color: #0066cc;
  text-decoration: none;
}
.dashboard_card__link a:hover {
  text-decoration: underline;
}
.dashboard_card__refresh_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  cursor: pointer;
  padding: 6px;
  color: #666;
  line-height: 1;
  vertical-align: middle;
}
.dashboard_card__refresh_btn:hover {
  color: #333;
}
.dashboard_card__refresh_btn .icon_refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-radius: 6px;
  box-sizing: border-box;
}
.dashboard_card__refresh_btn .icon_refresh svg {
  width: 14px;
  height: 14px;
  display: block;
}

.seal_info_image {
  flex: 0 0 400px;
}

.seal_img_box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 234px;
}

.time_label {
  width: 100px;
  height: 32px;
  border: 1px solid #dddddd;
}

@media print {
  @page {
    margin: 0;
  }
}

.hyPage {
  width: 925px;
  min-height: 700px;
  padding: 20px;
  margin: 0 auto;
}

.line_through {
  position: relative;
}

.line_through td:first-child::before {
  content: '';
  display: block;
  width: auto;
  height: 1px;
  background-color: #999;
  position: absolute;
  top: 50%;
  right: 230px;
  left: 10px;
  bottom: 0;
}

.line_through._red td:first-child::before {
  background-color: #f00;
}

.line_through._black td:first-child::before {
  background-color: #000;
}

.bg_sum_01 {
  background-color: #f6f6f6;
}

.bg_sum_02 {
  background-color: #f8f8f8;
}

.bg_sum_03 {
  background-color: #fafafa;
}

.bg_sum_04 {
  background-color: #fcfcfc;
}

.input_btn_group {
  min-width: 200px !important;
  height: 40px;
  padding: 0;
  background-color: #fff;
  border: 1px solid #4f4f4f;
  border-radius: 8px;
  padding-left: 10px;
  display: flex;
  align-items: center;
}

.input_btn_group__select {
  flex: 1 1 100%;
  border: 0;
  font-size: 13px;
  height: 30px;
  color: #999;
}

.input_btn_group__btn {
  flex: 0 0 70px;
  font-size: 13px;
  background-color: #4f4f4f;
  color: #fff;
  height: 100%;
  border-radius: 0 4px 4px 0;
}

.page_top_btn_group {
  display: flex;
  justify-content: space-between;
}

.tt_link__group {
  display: flex;
  margin-bottom: 10px;
}

.tt_link {
  color: #507092;
  font-size: 14px;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  background-color: #fff;
  border: 1px solid #eee;
  letter-spacing: -0.025em;
  padding: 0 18px;
  height: 42px;
  margin-left: 10px;
  border-radius: 8px;
}

.tt_link:first-child {
  margin-left: 0;
}

.tt_link i {
  margin-right: 5px;
}

.horizontal_hold thead tr:first-child th:first-child,
.horizontal_hold tbody tr td:first-child,
.horizontal_hold thead tr:first-child th:first-child + th,
.horizontal_hold tbody tr td:first-child + td {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  background-color: #fff;
  z-index: 1000;
}

.horizontal_hold tfoot tr td:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1000;
}

.horizontal_hold thead tr:first-child th:first-child + th,
.horizontal_hold tbody tr td:first-child + td {
  left: 200px;
}

.mCSB_container {
  overflow: initial !important;
}

.horizontal_hold_3 thead tr:first-child th:first-child,
.horizontal_hold_3 tbody tr td:first-child,
.horizontal_hold_3 thead tr:first-child th:first-child + th,
.horizontal_hold_3 thead tr:first-child th:first-child + th + th,
.horizontal_hold_3 tbody tr td:first-child + td,
.horizontal_hold_3 tbody tr td:first-child + td + td {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  background-color: #fff;
  z-index: 1000;
}

.horizontal_hold_3 tfoot tr td:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1000;
}

.horizontal_hold_3 thead tr:first-child th:first-child + th,
.horizontal_hold_3 tbody tr td:first-child + td {
  left: 100px;
}

.horizontal_hold_3 thead tr:first-child th:first-child + th + th,
.horizontal_hold_3 tbody tr td:first-child + td + td {
  left: 200px;
}

._between {
  justify-content: space-between;
}

.popup_dim {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.2);
}

.pop_header {
  display: flex;
  padding:0 32px;
  justify-content: space-between;
}

.pop_header__title {
  font-size: 21px;
  color: #191919;
}

.pop_header__close {
  display: block;
  width: 40px;
  height: 40px;
  background: url("../images/common/icon_x.svg") no-repeat center/100%;
}

.popup_box {
  background-color: #fff;
  border-radius:8px;
  padding: 24px 0 52px 0;
}

.popup_body {
  /* border-radius: 10px; */
  margin-top:20px;
  padding: 0 32px 20px;
  max-height:600px;
  overflow:hidden;
  overflow-y:auto;
}

.popup_box .button_right_group {
  display: flex;
  justify-content: end;
  gap:0 8px;
  padding:32px 32px 0 32px ;
}

.flex_area_box {
  display: flex;
  flex-wrap: wrap;
  padding: 5px;
}

.flex_area_box__item {
  padding: 5px;
  margin-right: 10px;
}

.ttt {
  padding: 5px;
  border-bottom: 1px solid #dddddd;
}

.popup_infobox {
  background-color: #eee;
  padding: 20px;
  width: 100%;
  font-size: 16px;
  text-align: center;
}

.ck-editor__editable {
  min-height: 300px;
}

.scroll_auto {
  overflow: auto;
}

.scroll_box {
  overflow-y: scroll;
}

.scroll_y {
  overflow-y: scroll;
}

.scroll_y_auto {
  overflow-y: auto;
}

.survey_box .section_box:first-child {
  margin-top: 0;
}

.survey_box .radius_foot_box {
  display: flex;
  justify-content: end;
  position: inherit;
  min-height: auto;
  padding: 10px;
  border-top: 1px solid #dddddd;
}

.survey_box .radius_foot_box .radius_foot__right {
  position: inherit;
}

.section_box {
  margin-top: 40px;
  padding: 0 20px 0 0;
}

.section_box__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size:16px;
}

.section_box__title {
  display: flex;
  font-size: 16px;
  margin: 0;
}

.section_group {
  border: 1px solid #dddddd;
  margin-top: 20px;
}

.section_group__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f0f0f0;
  padding: 10px;
  border-bottom: 1px solid #dddddd;
  font-size:16px;
}

.section_group__title {
  font-size: 14px;
  margin: 0;
}

.section_btn_group {
  display: flex;
  align-items: center;
  gap:8px;
}

.section_btn_group button,
.section_btn_group a {
  margin-left: 5px;
}

.section_btn_group button._tab_active {
  background: #2559E0;
  color: #fff;
}

/* 세부과정별 만족도 가로 막대 그래프 (숫자 파란 영역 안 흰색 우측 정렬) */
.satisfaction_graph_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.satisfaction_graph_list__item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.satisfaction_graph_list__item:last-child {
  margin-bottom: 0;
}
.satisfaction_graph_list__label {
  flex: 0 0 auto;
  min-width: 100px;
  font-size: 14px;
  color: #333;
}
.satisfaction_graph_list__track {
  flex: 1 1 auto;
  min-width: 0;
  height: 28px;
  background-color: #e5e5e5;
  border-radius: 6px;
  overflow: hidden;
}
.satisfaction_graph_list__fill {
  height: 100%;
  min-width: 40px;
  background-color: #2559E0;
  border-radius: 6px 0 0 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 10px;
  box-sizing: border-box;
}
.satisfaction_graph_list__value {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.section__item {
  background-color: #fff;
  padding: 5px 10px 5px 20px;
  border-top: 1px dotted #dddddd;
}

.section__item:first-child {
  border-top: 0;
}

.section__item_title {
  flex: 1 1 auto;
  margin: 0;
  font-size: 14px;
  padding: 5px 0;
}

.section__item_title_link {
  display: block;
  width: 100%;
  color: #444;
}

.section__item_header, .section__item_header--active {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: url("../images/bg/bg_nav_arrow.png") no-repeat right 0 top 50%;
}

.section__item_header--active {
  color: #444;
  background: url("../images/bg/bg_nav_arrow_active.png") no-repeat right 0 top 50%;
}

.section__item_text_box {
  font-size: 13px;
  background-color: #f0f0f0;
  border: 1px solid #e0e0e0;
  padding: 5px 20px;
  margin: 5px 0 5px 10px;
}

.survey_list {
  margin: 5px 0 5px 10px;
  padding: 0;
}

.survey_list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  padding: 5px 10px 5px 5px;
  border: solid #f0f0f0;
  border-width: 0 1px 1px 1px;
}

.survey_list__item:first-child {
  border-top: 1px solid #f0f0f0;
}

.survey_text_list {
  margin: 5px 10px;
  padding: 10px;
}

.survey_text_list__item {
  font-size: 13px;
  line-height: 1.4;
  border: solid #f0f0f0;
  border-width: 0 1px 1px 1px;
  padding: 5px;
}

.survey_text_list__item:first-child {
  border-top: 1px solid #f0f0f0;
}

.survey_text_list__item::before {
  content: '- ';
}

.survey_list__progroup_i {
  display: flex;
  align-items: center;
}

.survey_list__progroup_i_percent {
  min-width: 35px;
  text-align: right;
}

.survey_list__item_progress {
  display: inline-block;
  margin: 0 5px;
  min-width: 200px;
  background-color: #fff;
}

.survey_list__item_progress::-webkit-progress-bar {
  background-color: #d0d0d0;
}

.survey_list__item_progress::-webkit-progress-value {
  background-color: #7ec2fa;
}

.section__item_txt {
  color: #777;
  padding: 0;
  margin: 0;
  line-height: 1.425;
}

.btn_survey__add_item,
.btn_survey__item {
  /* border: 1px solid #777;
  font-size: 12px;
  color: #777;
  background-color: #fff;
  padding: 4px 10px;
  border-radius: 3px; */


      display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border-radius: 4px;
    border: 1px solid #AAA;
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 0 20px;
    color: #111;
    white-space: nowrap;

}

.otp_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 36px 0;
}

.otp_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 500px;
  padding: 30px 30px 100px;
  margin-top: 95px;
  background: #F5F5F5;
  border: 1px solid #DDDDDD;
  border-radius: 20px;
}

.otp_title {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #555;
  text-align: center;
  margin: 20px 0 0;
}

.otp_info_txt {
  font-size: 13px;
  line-height: 1.42;
  color: #666;
  text-align: center;
  margin: 18px 0 0 0;
}

.otp_qr_box {
  display: flex;
  align-items: center;
  margin: 60px 0 40px;
}

.otp_qr__item {
  width: 120px;
  height: 120px;
  padding: 10px;
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-radius: 8px;
}

.otp_qr__item_img {
  display: block;
  width: 100px;
  height: 100px;
}

.otp_qr__text {
  font-size: 15px;
  line-height: 1.4;
  padding: 7px 15px;
  background: #FFFFFF;
  font-weight: 600;
  border: 1px solid #DDDDDD;
  border-radius: 8px;
  text-align: center;
  margin-left: 13px;
}

.btn_pin_input {
  width: 320px;
  height: 50px;
  padding: 0 20px;
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-radius: 8px;
}

.btn_otp {
  width: 320px;
  height: 52px;
  font-size: 15px;
  text-align: center;
  letter-spacing: -0.02em;
  background: #0059AE;
  border-radius: 8px;
  color: #FFFFFF;
  font-weight: 600;
  margin-top: 12px;
}

.link_remove_btn {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 5px;
}

.access_group {
  display: flex;
}

.access_group__item {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  margin: 0;
}

.access_group__item_list {
  border: 1px solid #dddddd;
  padding: 10px 15px;
  margin: 0;
  min-height: 150px;
  max-height: 150px;
  overflow-y: scroll;
}

.access_group__button {
  display: flex;
  flex-direction: column;
  flex: 0 0 100px;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}

.access_group__title {
  background-color: #eee;
  border: solid #dddddd;
  border-width: 1px 1px 0 1px;
  padding: 5px 10px;
}

.chart_box {
  width: 100%;
  border: 1px solid #eee;
}

.icon_arrow-top {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -44px -76px;
  width: 6px;
  height: 6px;
}

.icon_arrow_bottom {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -75px -65px;
  width: 6px;
  height: 6px;
}

.icon_arrow_dw {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -88px -32px;
  width: 24px;
  height: 24px;
}

.icon_arrow_up {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: 0px -88px;
  width: 24px;
  height: 24px;
}

.icon_btn_left_arrow {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -44px -44px;
  width: 27px;
  height: 28px;
}

.icon_btn_right_arrow {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -88px 0px;
  width: 27px;
  height: 28px;
}

.icon_calendar_next {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -118px -116px;
  width: 7px;
  height: 10px;
}

.icon_calendar_prev {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -107px -116px;
  width: 7px;
  height: 10px;
}

.icon_comment {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px -41px;
  width: 17px;
  height: 16px;
}

.icon_file_add {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -28px -88px;
  width: 24px;
  height: 24px;
}

.icon_file_down01 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px -61px;
  width: 15px;
  height: 16px;
}

.icon_file_down02 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -119px 0px;
  width: 18px;
  height: 20px;
}

.icon_file_remove {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -88px -60px;
  width: 24px;
  height: 24px;
}

.icon_file_up {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: 0px 0px;
  width: 40px;
  height: 40px;
}

.icon_letter {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: 0px -116px;
  width: 21px;
  height: 14px;
}

.icon_list {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: 0px -44px;
  width: 40px;
  height: 40px;
}

.icon_list_col_down {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -105px -88px;
  width: 7px;
  height: 17px;
}

.icon_list_col_up {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -75px -44px;
  width: 7px;
  height: 17px;
}

.icon_list_more {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -56px -88px;
  width: 21px;
  height: 21px;
}

.icon_main_btn01 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -22px -134px;
  width: 18px;
  height: 16px;
}

.icon_main_btn02 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px -21px;
  width: 17px;
  height: 16px;
}

.icon_pop_close {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -60px -116px;
  width: 13px;
  height: 13px;
}

.icon_print {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -44px 0px;
  width: 40px;
  height: 40px;
}

.icon_radius_title01 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: 0px -134px;
  width: 18px;
  height: 16px;
}

.icon_radius_title02 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -119px -48px;
  width: 18px;
  height: 18px;
}

.icon_radius_title03 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -119px -24px;
  width: 17px;
  height: 20px;
}

.icon_radius_title04 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -81px -88px;
  width: 20px;
  height: 19px;
}

.icon_radius_title05 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -119px -93px;
  width: 17px;
  height: 17px;
}

.icon_radius_title06 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px 0px;
  width: 17px;
  height: 17px;
}

.icon_radius_title07 {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -119px -70px;
  width: 17px;
  height: 19px;
}

.icon_remove_btn {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -44px -134px;
  width: 11px;
  height: 14px;
}

.icon_request_close {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -93px -116px;
  width: 10px;
  height: 10px;
}

.icon_search {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -43px -116px;
  width: 13px;
  height: 13px;
}

.icon_team_check__user {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px -81px;
  width: 15px;
  height: 14px;
}

.icon_team_check__user_title {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -141px -99px;
  width: 15px;
  height: 14px;
}

.icon_vacation {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -77px -116px;
  width: 12px;
  height: 12px;
}

.icon_year_next {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -71px -134px;
  width: 8px;
  height: 13px;
}

.icon_year_prev {
  background-image: url(../images/sprite_out/sprite_all.png);
  background-position: -95px -134px;
  width: 7px;
  height: 13px;
}

/*# sourceMappingURL=style.css.map */
 p.note {position:relative; padding-left:24px; color:#666; font-size:16px;  line-height:1.6;}
 p.note:before {content:'※'; display:block; width:16px; height:29px; position:absolute; left:0; top:0; font-size:16px; color:#666;  line-height:1.6;}
  p.note em {color:#D02121; font-style:normal;}
ul.note_list { margin: 0 0 1em; padding: 0; list-style: none; color: #666; font-size: 16px; line-height: 1.6; }
ul.note_list li { margin-bottom: 4px; }
.trainingRegi {width:100%; display:flex; flex-direction: column; gap:52px 0; }

.trainingRegi fieldset {position:relative;}
/* .trainingRegi fieldset .note {position:absolute; left:0; top:-52px;} */

.steps {margin:0; padding:0; counter-reset: steps; display:flex;}
.steps li{display:inline-flex; align-items: center; height:45px; padding:0 40px 0 40px; counter-increment: steps; background: #F6F8FC; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc;  position: relative; white-space: nowrap; font-size: 18px; cursor: pointer; transition: all 0.3s ease; color: #333; font-weight: normal;}
.steps li.step-item.active {background: #fff; color: #000; font-weight: 600;}
.steps li.step-item:hover {background: #E8EAF6; color: #333;}
.step-content {margin-top: 20px;}

/* .steps li:after {
  width: 1.8561553006em;
  height: 1.8561553006em;
  position: absolute;
  top: 0.3535533906em;
  left: 100%;
  transform: rotate(45deg);
  content: "";
  z-index: 2;
  background: inherit;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
  margin-left: -0.9280776503em; 
}
*/

.steps li:first-child {
  border-left: 1px solid #ccc;
}

.steps li:last-child {
  border-right: 1px solid #ccc;
}

.step li:before {
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  content: counter(steps);
  text-align: center;
  background: #bcbcbc;
  border-radius: 50%;
  color: white;
  margin: 0 1em;
  line-height: 1.5em;
}


/* tab */
.tabs {height:48px; border-radius: 4px; background-color:#f6f8fc; display:flex; margin-bottom:24px; border:1px solid #ccc;}
.tabs .tab {flex:1; line-height:44px; color:var(--text02); font-size: 16px;  border:2px solid transparent}
.tabs .tab[aria-selected=true] {border-radius: 4px; background-color:#fff;  letter-spacing: -1px;}

.tab-panel h2 {color: #000; font-size: 20px; font-weight: 500; line-height:1.5}

.contBox  {border-radius: 8px; border:1px solid #ddd; padding:16px;}
.area_list {display:flex; gap:8px; flex-wrap:wrap; user-select: none;}
.area_list li {width:15%;}

.registeredBox {display: flex; flex-direction: column; gap: 16px;}
.registeredBox .item {display: flex; gap:0 16px; justify-content: space-between;   padding: 16px 32px;   border-radius: 8px; background: #f6f8fc;    align-items: center; border:1px solid #ccc; }
.registeredBox .item:hover {box-shadow: 0 0 8px 0 rgba(37, 89, 224, 0.30); background-color:#fff; }
.registeredBox .title {font-size:18px; line-height:1.5px; font-weight:600; color:#111;}
.registeredBox .btns {display: flex; gap:0 16px;}


.lectureSurvey {display:flex; flex-direction: column; gap:32px 0;}
.lectureSurvey .question  {display:flex; flex-direction: column; gap:12px;}
.lectureSurvey .question .q {font-size: 18px; line-height:1.8; font-weight: 600; }
.lectureSurvey .question .a {display:flex; flex-direction: column; gap:16px; border:1px solid #f8f8f8; border-radius: 8px; padding:16px 32px; background-color:#eee;}
.lectureSurvey .question .a  ul  {display:flex; height:48px; align-items: center; padding:0;  margin:0;} 
.lectureSurvey .question .a  ul li {flex:1; text-align:left; display:flex; align-items: center;  }
.lectureSurvey .question input[type="text"] {width:100%; line-height:48px; height:48px;}
.lectureSurvey .question textarea { width:100%; height:100px; resize: none; margin:0;}
.lectureSurvey .question .a:has(textarea) {padding:0;}

.title_top {display:flex; justify-content: space-between; align-items: center; margin-bottom: 32px;}
.title_top strong {font-size:24px; line-height:1.5; font-weight:500;}
.title_top div {font-size:16px;}

.radio_list { user-select: none; vertical-align: middle; display: table-cell; padding: 5px 5px 5px 5px;}
.checkbox_list { user-select: none; vertical-align: middle; display: table-cell; padding: 5px 5px 5px 5px;}


.miribogi {    display: flex;
    flex-direction: column;
    border: 1px solid #dddddd;
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 52px;
    gap: 16px;
    background-color: #F6F8FC;}

.miribogi dt {font-size:18px; font-weight:600;}
.miribogi dd {padding:0; margin:0; font-size:16px;}

.trainingNav {
  display: flex;
  justify-content: end;
  list-style: none;
  padding: 0;
  margin: 0;
}

.trainingNav li {
  display: inline-block;
  margin-right: 2px;
  padding: 8px 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #f8f8f8;
  font-size: 14px;
  cursor: pointer;
}

.trainingNav li:hover {
  background-color: #eaeaea;
}

.trainingNav li a {
  color: #111;
}

.trainingNav li a:hover {
  ext-underline-offset:3px;
  text-decoration: none;
}

#wrap:has(.trainingApply) {background:var(--bg-blue01);}
#wrap:has(.trainingApply) main h1 {padding-bottom:10px;}

.trainingApply {width:900px; }
.trainingApply h2 {font-size: 24px; line-height:1.5; text-align: center; font-weight:700; }

.trainingApply .stepBox {overflow:hidden; overflow-x:auto; height:112px;}
.trainingApply .step {gap: 0 20px;}
.trainingApply .step li {height:112px; width:100px; flex-shrink: 0;}
.trainingApply .step li span {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; width:100px;  overflow-wrap: anywhere; word-break: break-all; height:64px; white-space: normal; font-weight:500; font-size:18px; line-height:1.8;}
.trainingApply .step li[aria-current="step"] span {color:var(--text01); font-weight:600;}

.trainingApply .overlabel {position:relative; margin-bottom:52px; }
.trainingApply .overlabel .label {display:block; position:absolute; top:120px; width:auto; max-width:203px; padding:8px 16px; border-radius:8px; background-color:var(--text01); color:#fff; font-size: 18px; line-height:1.8;  text-align:center; opacity:0;}

.trainingApply .btnBox {padding-top:52px; display:flex; align-items: flex-start; justify-content: space-between;}

.trainingApply .inner {display:flex; flex-direction: column; gap:16px 0; background-color:#fff; border-radius:8px;}
.trainingApply .inner h3 {font-size: 24px; font-weight: 600; line-height:1.5; padding-bottom:16px; border-bottom:1px solid var(--gray03);}

.trainingApply .inner ul.info {display:flex; gap:8px; flex-flow: column wrap; align-content: flex-start; margin-bottom:8px; height:100px;}
.trainingApply .inner ul.info li {display:flex; gap:8px; width:50%; font-size: 18px; line-height:1.8; width:calc(50% - 110px); color:var(--text02)}
.trainingApply .inner ul.info em {width:140px; font-weight:600;}

.confirmBox {border-radius: 8px; background-color:var(--bg-gray01); display: flex; justify-content: space-between; align-items: center; padding:10px 10px 10px 20px;}

.trainingApply .summary {padding:16px 32px; font-size: 18px; line-height:1.8; border-radius: 8px; border: 1px dashed var(--gray02);}
.trainingApply .summary em {color:var(--text01); font-weight:600; display:block;}


.training_item_select {
  width : 100%;
  display: block;
  height: 48px;
  line-height: 48px;
  font-size: 16px;
  color: #9111;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 0 10px;
  margin: 0 5px;
  color:#111;
  background-color:#fff;
}

.training_item_select{
/* for Firefox */
  -moz-appearance: none;
  /* for Safari, Chrome, Opera */
  -webkit-appearance: none;
}

.training_item_select {
  background: #fff url("../images/bg/bg_form_select.svg") no-repeat right 10px top 50%;
  padding: 0 30px 0 10px !important;
}

/* 설문 css */
/*
input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

input[type=radio] + label {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  font-weight: 600;
  font-size: 14px;
  color: #111111;
}

input[type=radio] + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
  text-align: center;
  background: #ffffff;
  border: 1px solid #C3C3C3;
  border-radius: 100%;
}

input[type=radio]:checked + label:before {
  background: #FFFFFF;
  border-color: #2B6EAE;
}

input[type=radio]:checked + label:after {
  content: '';
  position: absolute;
  top: 6px;
  left: 5px;
  width: 8px;
  height: 8px;
  background: #2B6EAE;
  border-radius: 100%;
}
*/

label {
  font-weight: 600;
  font-size: 14px;
  color: #111111;
}

.container {
  width: 1560px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .container{
    width: 100%;
    margin: 0 auto;
  }
}

.main_content {
  width: 1280px;
  font-size: 16px;
  font-weight: normal;
  color: #666;
}

.main_content._ft_content {
  width: 1560px;
}

@media (max-width: 767px) {
  .main_content {
    width: 100%;
  }
  .main_content._ft_content {
    width: 100%;
  }
}

.container {
  display: flex;
  margin-top: 50px;
  min-height: calc(100% - 303px);
}

.container.survey_wrap {
  width: 1280px;
}

.container.survey_wrap .main_content {
  display: flex;
  flex-flow: column;
  margin-bottom: 50px;
}

.container.survey_wrap .border_box {
  height: initial;
}

@media (max-width: 767px) {
  .container {
    display: block;
    margin-top: 0px;
    padding: 0px 10px;
  }
}

.border_box {
  height: 100%;
  border: 1px solid #dddddd;
  border-radius: 20px;
  padding: 20px 30px;
}

.border_box.service_box {
  padding: 90px 20px 130px;
}

@media (max-width: 767px) {
  .border_box {
    padding: 10px;
  }
  .border_box.service_box {
    padding: 10px;
  }
}

.survey_logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 35px;
}

.survey_logo img {
  width: 200px;
  height: 30px;
}

.survey_border {
  width: 100%;
  margin: 22px 0px 0px;
  border: 1px solid #E3E3E3;
  padding: 20px;
  font-weight: 400;
  font-size: 13px;
  color: #666666;
}

.survey_border.survey_border2 {
  padding: 28px 20px;
}

.survey_border .detail_form__title {
  font-weight: 400;
}

.detail_table_title + .survey_border {
  margin-top: 6px;
}

.survey_border + .detail_table_radiobox {
  margin-top: 14px;
}

.survey_inputbox {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 36px;
}

.survey_inputbox:last-child {
  margin-bottom: 0px;
}

.survey_inputbox .flex + .flex {
  margin-left: 35px;
}

.survey_inputbox2 {
  margin-bottom: 36px;
}

.survey_inputbox2:last-child {
  margin-bottom: 0px;
}

.survey_inputbox2 .flex + .flex {
  margin-top: 10px;
}

.survey_inputbox3 {
  display: block;
  margin-left: 20px;
  margin-bottom: 36px;
}

.survey_inputbox3:last-child {
  margin-bottom: 0px;
}

.survey_inputbox3 .flex + .flex {
  margin-top: 20px;
  margin-left: 0px;
}

.survey_inputbox3 .flex + .flex.align_center {
  margin-top: 10px;
}

.survey_inputbox3 .align_center + .flex {
  margin-top: 10px;
}

.survey_inputbox3 .form__input.input100 {
  width: 100%;
}

.survey_inputbox3 .form__input.input_h100 {
  height: 100px;
}

.survey_inputbox3 .form__input.flex_basis80 {
  flex-basis: 80%;
}

.survey_inputbox3 .form__textarea {
  height: 100px;
}

.survey_group_title {
  margin: 0px 0px 20px;
  border-bottom: 1px solid #DDD;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #111;
}

.survey_group_wrap {
  padding-left: 20px;
}

.survey_group_wrap + .survey_group_title {
  margin-top: 36px;
}

.survey_subtitle {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 14px;
  color: #333333;
}

.survey_subtitle + .survey_inputbox {
  margin-top: 16px;
}

.survey_text {
  margin: 0px 0px 10px 20px;
  font-size: 13px;
  color: #B6B6B6;
}

.application_wrap {
  display: flex;
  flex-wrap: wrap;
}

.application_box {
  width: 290px;
  box-sizing: border-box;
  margin: 0px 19px 20px 0px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #FFFFFF;
}

.application_box:nth-child(4n) {
  margin-right: 0px;
}

@media (max-width: 767px) {
  .application_box {
    width: 100%;
    margin-right: 0px;
  }
}

.application_box__thumbnail .img__thum {
  border-radius: 8px 8px 0px 0px;
}

.application_box__content {
  border-top: 1px solid #ddd;
  padding: 12px 20px 16px;
}

.application_box__content .application_box__subtitle {
  margin-bottom: 4px;
  font-size: 13px;
}

.application_box__content .application_box__subtitle .application_box__branch {
  position: relative;
  margin-right: 5px;
}

.application_box__content .application_box__subtitle .application_box__branch::after {
  content: "|";
  display: block;
  position: absolute;
  top: 1px;
  left: initial;
  right: -5px;
}

.application_box__content .application_box__title {
  margin: 0px;
  font-weight: 600;
  font-size: 16px;
  color: #111111;
}

.application_box__content .application_box__time {
  margin: 16px 0px 20px;
}

.application_box__btn {
  margin-top: 20px;
  text-align: center;
}

.form_checkbox_wrap .detail_table_checkbox .application_box__btn {
  margin-top: 0px;
  margin-left: 20px;
}

.btn__application {
  width: 180px;
  height: 40px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #FFFFFF;
  background: #0059AE;
}

.pop_ft_btn_wrap .btn__application {
  width: 96px;
  height: 40px;
  margin-right: 8px;
  background-color: #0059AE;
}

@media (max-width: 767px) {
  .btn__application {
    width: 100px;
    height: 30px;
  }
}

.list_table .btn__application {
  width: 80px;
  height: 30px;
  font-size: 12px;
}

@media (max-width: 767px) {
  .form_checkbox_wrap .detail_table_checkbox .btn__application {
    width: 96px;
  }
}

.detail_table_radiobox {
  position: relative;
}

.detail_table_radiobox {
  display: flex;
  justify-content: flex-start;
  margin-top: 0px;
}

.detail_table_radiobox .flex + .flex {
  margin-left: 0px;
}

.detail_table_radiobox {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.detail_table_radiobox .flex + .flex {
  margin-left: 35px;
}

.detail_table_wrap.t_white .detail_table__content .detail_table_radiobox {
  display: flex;
  justify-content: flex-start;
  margin-top: 0px;
}

.detail_table_wrap.t_white .detail_table__content .detail_table_radiobox .flex + .flex {
  margin-left: 0px;
}

.detail_table_title {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 0px 0px 8px;
  padding-left: 8px;
  font-weight: 600;
  font-size: 15px;
  color: #333333;
}

.detail_table_title::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0px;
  width: 2px;
  height: 14px;
  background-color: #C3C3C3;
}

.detail_table_title .compulsory_text {
  margin-bottom: 0px;
}

.detail_table_radiobox + .detail_table_title,
.survey_border2 + .detail_table_title,
.detail_sec_wrap + .detail_table_title,
.detail_sec_wrap {
  margin-top: 60px;
}

.ic_question::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  background-image: url(../images/common/ic_question.png);
}

/* 차시 정보 헤더 스타일 */
.fieldset_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

/* 요약보기 탭 메뉴 스타일 */
.summary_tab_menu {
  display: flex;
  gap: 0;
}
.summary_tab_item {
  padding: 10px 20px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-bottom: none;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.3s;
}
.summary_tab_item:first-child {
  border-top-left-radius: 4px;
}
.summary_tab_item:last-child {
  border-top-right-radius: 4px;
}
.summary_tab_item:hover {
  background-color: #e8e8e8;
}
.summary_tab_item.active {
  background-color: #fff;
  color: #333;
  font-weight: bold;
  border-bottom: 2px solid #fff;
  margin-bottom: -2px;
}
.summary_tab_content {
  padding: 20px 0;
}

/* 연수과정 요약보기 팝업: 배경 연하게, 글자 검정·폰트 키움, 스크롤 없음 (강의장소 팝업은 공통 팝업 스타일 사용) */
#trainingSummaryPopup .popup_box {
  background-color: #f5f5f5;
}
#trainingSummaryPopup .pop_header__title {
  color: #000 !important;
  font-size: 24px !important;
  font-weight: bold !important;
}
#trainingSummaryPopup .popup_body {
  overflow: hidden;
  max-height: 82vh;
  padding: 0 32px 24px;
}
#trainingSummaryPopup .popup_body h2 {
  font-size: 20px !important;
  font-weight: bold !important;
  color: #000 !important;
  margin-bottom: 10px !important;
}
#trainingSummaryPopup .popup_body p {
  font-size: 18px !important;
  color: #000 !important;
}
#trainingSummaryPopup .popup_body strong {
  font-size: 18px !important;
  color: #000 !important;
}
#trainingSummaryPopup .popup_body .summary_tab_content {
  font-size: 18px !important;
  color: #000 !important;
}
#trainingSummaryPopup .popup_body .summary_tab_content div {
  font-size: 18px !important;
  color: #000 !important;
}
#trainingSummaryPopup .summary_tab_item {
  font-size: 18px !important;
  color: #000 !important;
}
#trainingSummaryPopup .summary_tab_item.active {
  color: #ffffff !important;
  background-color: #2559E0 !important;
  border-bottom-color: #f5f5f5 !important;
}

/* 이수자 현황 상세목록 */
.link_text {
  color: #0066cc;
  text-decoration: underline;
  cursor: pointer;
}
.link_text:hover {
  color: #004499;
}
.attendance_tag {
  color: #ff6600;
  font-size: 11px;
  margin-left: 5px;
}
.status_panel_wrap {
  align-items: center;
  flex-wrap: wrap;
}
.status_panel {
  margin-right: 15px;
}
.status_panel__label {
  font-weight: bold;
  color: #333;
}
.status_panel__value {
  margin-left: 5px;
  color: #555;
}
.btn_group__list--cancel {
  background-color: #666;
  color: #fff;
}
.btn_group__list--cancel:hover {
  background-color: #555;
}
.text_ellipsis {
  display: inline-block;
  max-width: 10em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.col_detail_course {
  width: 72px;
  min-width: 72px;
  word-break: keep-all;
  white-space: normal;
  text-align: center !important;
}
.col_detail_course a {
  display: inline-block;
  text-align: center;
}
.col_detail_course .link_text {
  text-align: center;
  display: inline-block;
}

/* 이수자 현황 상세 팝업 내 테이블: 팝업 너비에 맞게 테이블 길이만 조정 (전역 table_wrap__list 덮음) */
#completerDetailPopup .popup_detail_table_wrap .table_wrap__list th,
#completerDetailPopup .popup_detail_table_wrap .table_wrap__list td {
  word-break: break-all;
  white-space: normal;
  line-height: 1.4;
  box-sizing: border-box;
}

/* 이수자 현황 상세 팝업: 차시별 행 — 타이틀·건수·판정사유 왼쪽 일렬 (.list_top .l-txt 의 margin-right:auto 가 마지막 문구를 오른쪽으로 밀어내는 것 방지) */
#completerDetailPopup .list_top--detail_head.list_top._child_left {
  flex-wrap: wrap;
  align-items: center;
  row-gap: 6px;
  column-gap: 8px;
}
#completerDetailPopup .list_top--detail_head .l-txt {
  margin-right: 0;
}

/* 이수자 현황 상세 팝업 — 차시별 요약 테이블(5컬럼·합계행): 셀 중앙 정렬, 헤더와 동일 톤의 합계행 */
#completerDetailPopup .table_chashi_by_session thead th,
#completerDetailPopup .table_chashi_by_session tbody td,
#completerDetailPopup .table_chashi_by_session tfoot td {
  text-align: center;
  vertical-align: middle;
}
#completerDetailPopup .table_chashi_by_session tbody td:has(a) {
  text-align: center;
}
/* 합계행: thead th와 동일 스타일, 글자만 굵게 */
#completerDetailPopup .table_chashi_by_session tfoot td {
  border-right: 1px solid #eee;
  border-top: 1px solid #eee;
  border-left: 1px solid #eee;
  background-color: #F6F8FC;
  white-space: nowrap;
  word-break: normal;
  padding: 0 16px;
  font-size: 18px;
  height: 50px;
  line-height: normal;
  font-weight: 700;
  box-sizing: border-box;
}
#completerDetailPopup .table_chashi_by_session tfoot td:last-child {
  border-right: none;
}

/* 수강생 검색 모달(이수증 번호 생성) 내 테이블: 팝업 너비에 맞게 */
#studentSearchPopup .popup_detail_table_wrap .table_wrap__list {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}
#studentSearchPopup .popup_detail_table_wrap .table_wrap__list th,
#studentSearchPopup .popup_detail_table_wrap .table_wrap__list td {
  word-break: break-all;
  white-space: normal;
  box-sizing: border-box;
}

/* ===== 연수등록 아코디언 (세부과정/회차/장소 등록 공통) ===== */
.accordion_list.registeredBox .item.accordion_item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.accordion_list .accordion_item {
  border: 1px solid #ddd;
  margin-bottom: 10px;
  border-radius: 4px;
  overflow: hidden;
}
.accordion_list .accordion_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 16px;
  background: #f9f9f9;
  cursor: pointer;
}
.accordion_list .accordion_head .title {
  font-weight: 600;
}
.accordion_list .accordion_toggle_icon {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  font-size: 12px;
}
.accordion_list .accordion_toggle_icon .accordion_arrow {
  display: inline-block;
}
.accordion_list .accordion_body {
  display: none !important;
  padding: 16px;
  border-top: 1px solid #eee;
  background: #fff;
}
.accordion_list .accordion_item.is-open .accordion_body {
  display: block !important;
}
.accordion_list .accordion_body_table {
  margin: 0;
}

/* 단계 안내 문구 (이전 단계로 이동해도 경로단계 고정 유지 등) */
.note.note_step {
  color: #c00;
}

/* 세부과정소개 CKEditor 높이 (세부과정_등록) */
.trai_dtl_intro_editor_wrap .ck-editor .ck-content,
.trai_dtl_intro_editor_wrap + .ck-editor .ck-content {
  min-height: 200px;
}
.accordion_editor_wrap .ck-editor .ck-content,
.accordion_editor_wrap + .ck-editor .ck-content {
  min-height: 180px;
}

/* 클래스_등록 담당교과 체크박스 영역 (상단 폼 + 아코디언 본문) */
#subjectDiv.form_inline_group,
.accordion_body .item_subjectDiv.form_inline_group {
  flex-wrap: wrap;
  gap: 6px 16px;
  align-items: center;
}
#subjectDiv .checkbox_list,
.item_subjectDiv .checkbox_list {
  display: inline-flex;
  align-items: center;
  padding: 5px 5px 5px 0;
}

/* 차시_등록 필드셋 헤더 버튼 영역 - 세부과정입력/등록완료 크기 통일 */
.fieldset_header_btns {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fieldset_header_btns .btn_header_same {
  min-width: 130px;
  padding: 8px 16px;
  font-size: 14px;
  box-sizing: border-box;
}
/* 등록완료: 비활성(disabled) = 회색, 활성 = 파란색 */
.btn_group__complete {
  background-color: #9e9e9e;
  border: 1px solid #9e9e9e;
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  position: relative;
}
.btn_group__complete:disabled {
  background-color: #9e9e9e;
  border-color: #9e9e9e;
  color: #fff;
  cursor: not-allowed;
  opacity: 1;
}
.btn_group__complete:not(:disabled):hover,
.btn_group__complete--active:not(:disabled):hover {
  background-color: #757575;
  border-color: #757575;
  color: #fff;
}
.btn_group__complete:not(:disabled),
.btn_group__complete--active:not(:disabled) {
  background: #2559E0;
  border-color: #2559E0;
  color: #fff;
  cursor: pointer;
}
.btn_group__complete--active:not(:disabled):hover {
  background: #1e4bc7;
  border-color: #1e4bc7;
  color: #fff;
}