@charset "utf-8";


/* Default */
* {margin: 0; padding: 0;}
body {font-family: 'NotoSansKR', sans-serif; letter-spacing: -0.01em;}
header, footer, main, section, article, aside, nav, figure, figcaption {display: block;}
ul, ol, li, dl, dt, dd {list-style: none;}
address, em, i {font-style: normal;}
fieldset, hr {display: block; margin: 0; padding: 0; border: 0 none;}
img {max-width: 100%; font-size: 0; border: 0; vertical-align: middle;}

table {width: 100%; border-spacing: 0; table-layout: fixed; word-break: break-all; border-collapse: collapse;}

input, select {max-width: 100%; vertical-align: middle;}
input, select, button, textarea, optgroup { margin: 0; font-family: inherit; font-size: inherit; color: inherit;}
select {-webkit-appearance: none; -moz-appearance: none; appearance: none;}
select::-ms-expand {display: none;}

a {color: inherit; text-decoration: none;}
input[type='submit'] { -webkit-appearance: none; -moz-appearance: none; appearance: none;}
button {text-decoration: none; background: none; border: 0; outline: 0; white-space: nowrap; cursor: pointer;}

.hidden {display: none !important;}
.blind {position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; margin: -1px; overflow: hidden;}


/* html, body */
html.smooth {scroll-behavior: smooth;}
body.mask {overflow: hidden;}
body.mask:after {display: block; content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / 30%); z-index: 50;}

::-webkit-scrollbar {width: 12px; height: 12px;}
::-webkit-scrollbar-thumb {background-color: #c0c2d0; border: 3px solid transparent; border-radius: 7px; background-clip: padding-box;}
::-webkit-scrollbar-track {background-color: transparent;}


/* header */
.header {display: flex; justify-content: space-between; align-items: center; position: fixed; top: 0; left: 0; padding: 0 30px; width: 100%; height: 80px; background-color: #3c5ef0; z-index: 100; box-sizing: border-box; transition: all 0.2s linear;}
.header .logo a {position: relative;}
.header .logo a:before {display: block; content: ''; width: 130px; height: 40px; background: url(../img/logo.png) center center no-repeat; background-size: 100% auto;}
.header .right {display: flex;}
.header .user,
.header .connect {position: relative; font-size: 16px; color: #fff; font-weight: 400;}
.header .user {border-bottom: 1px solid #fff;}
.header .user em {font-style: normal; font-weight: bold;}
.header .connect {margin-left: 15px; padding-left: 17px;}
.header .connect:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 2px; height: 14px; background-color: #758fff;}

@media (max-width: 1280px) {
  .header {height: 70px;}
}
@media (max-width: 768px) {
  .header {height: 60px;}
  .header .logo {margin: 0 auto;}
  .header .right {display: none;}
}


/* intro */
.intro {display: flex; justify-content: center; align-items: center; padding: 120px 40px; min-height: 100vh; min-height: 100dvh; background: #f1f2f8 url(../img/bg-intro.png) center bottom no-repeat; background-size: cover; box-sizing: border-box;}
.intro .login-box {padding: 115px 40px; width: 640px; max-width: 100%; background-color: #fff; border-radius: 10px; box-shadow: 0px 10px 30.4px 7.6px rgba(60, 94, 240, 0.1); text-align: center; box-sizing: border-box;}

.intro .logo {position: relative; margin-bottom: 25px; font-size: initial; text-align: center;}
.intro .logo:before {display: inline-block; content: ''; width: 228px; height: 42px; background: url(../img/intro-logo.png) center center no-repeat; vertical-align: top;}

.intro .text {line-height: 1.4; font-size: 20px; color: #979797;}
.intro .message {margin-top: 25px; line-height: 1.8; font-size: 15px; color: #7985b9; letter-spacing: -0.02em;}

.intro .simple {position: relative; margin-top: 50px;}
.intro .simple button {display: flex; gap: 7px; justify-content: center; align-items: center; position: relative; margin: 0 auto; width: 340px; max-width: 100%; height: 60px; line-height: 1.7; font-size: 16px; color: #fff; font-weight: 500; border-radius: 5px; box-sizing: border-box; text-align: center;}
.intro .simple .microsoft {background-color: #3c5ef0;}
.intro .simple .microsoft:before {display: block; content: ''; width: 93px; height: 20px; background: url(../img/microsoft.png) center center no-repeat;}

@media (max-width: 1280px) {
  .intro {padding: 110px 40px;}
}
@media (max-width: 1024px) {
  .intro {padding-left: 30px; padding-right: 30px;}
  .intro .login-box {padding: 90px 30px;}

  .intro .logo:before {width: 184px; background-size: 184px auto;}
  .intro .text {font-size: 18px;}

  .intro .simple button {height: 55px; font-size: 15px;}
}
@media (max-width: 768px) {
  .intro {padding: 100px 20px;}
  .intro .logo:before {width: 140px; height: 30px; background-size: 140px auto;}

  .intro .login-box {padding: 60px 20px;}
  .intro .text {font-size: 17px;}
  .intro .message {font-size: 14px;}

  .intro .simple {margin-top: 40px;}
  .intro .simple button {height: 50px; font-size: 14px;}
  .intro .simple .microsoft:before {width: 80px; background-size: 80px auto;}
}


/* nav */
.nav {position: fixed; top: 0; left: 0; padding: 95px 0 195px; width: 250px; height: 100%; background-color: #fff; z-index: 80; box-sizing: border-box; transition: all 0.2s linear;}
.nav ul {padding: 0 15px; list-style: none; box-sizing: border-box;}
.nav li {margin-top: 10px;}
.nav li:first-child {margin-top: 0 !important;}
.nav li a {display: flex; align-items: center; position: relative; padding: 13px 15px 13px 60px; height: 60px; font-size: 18px; color: #5a5d74; font-weight: 500; box-sizing: border-box; transition: all 0.2s linear;}

.nav .menu {padding: 20px 15px; max-height: 100%; overflow-y: auto;}
.nav .menu li a {padding-left: 25px;}
.nav .menu li a:hover {color: #3c5ef0;}
.nav .menu li.active a {color: #3c5ef0; background-color: #edf0ff; border-radius: 6px;}

.nav .my {position: absolute; left: 0; bottom: 0; padding: 26px 15px; width: 100%; background-color: #fff; border-top: 2px solid #f1f2f8;}
.nav .my li {margin-top: 5px;}
.nav .my li a {color: #969bb5;}
.nav .my li a:before {display: block; content: ''; position: absolute; top: 13px; left: 15px; width: 34px; height: 34px; background-position: center center; background-repeat: no-repeat; background-size: 100% auto;}
.nav .my li a.mypage:before {background-image: url(../img/icon-nav-mypage.png);}
.nav .my li a.logout:before {background-image: url(../img/icon-nav-logout.png);}

@media (max-width: 1280px) {
  .nav {padding: 85px 0 180px;}
  .nav li a {font-size: 17px;}

  .nav .my {padding: 19px 15px;}
  .nav .my li a:before {width: 32px;}
}
@media (max-width: 1024px) {
  .nav {padding-bottom: 164px; width: 220px;}
  .nav .menu,
  .nav .my {padding: 15px;}
  .nav li a {padding-left: 52px; height: 56px;}

  .nav .my li a:before {top: 11px; width: 28px;}
}
@media (max-width: 768px) {
  .nav {display: none; padding: 75px 0 152px; width: 300px; max-width: 80%;}
  .nav.active {display: block;}
  .nav li {margin-top: 5px;}
  .nav li a {padding: 10px 15px 10px 45px; height: 50px;}

  .nav .menu li a {padding-left: 15px;}

  .nav .my li a:before {top: 8px; left: 10px; width: 26px;}
}


/* container */
.container {position: relative; padding: 120px 40px 80px 290px; min-height: 100vh; min-height: 100dvh; background-color: #f1f2f8; box-sizing: border-box; overflow: hidden; overflow-y: auto; transition: all 0.2s linear;}

.justify {display: flex; justify-content: space-between; width: 100%;}
.flex-wrap {flex-wrap: wrap;}

.panel {position: relative; padding: 35px 40px 80px; min-height: calc(100vh - 200px); min-height: calc(100dvh - 200px); background-color: #fff; border-radius: 10px; box-shadow: 0px 10px 9px 1px rgba(90, 102, 139, 0.1); box-sizing: border-box;}
.panel .head {display: flex; gap: 10px; justify-content: space-between; align-items: flex-end; margin-bottom: 40px;}
.panel .head > div {display: flex; gap: 20px; align-items: flex-end;}
.panel h2.title {line-height: 1.2; font-size: 32px; color: #3a3c46; font-weight: 500; letter-spacing: -0.04em;}
.panel h3.title {line-height: 1.2; font-size: 22px; color: #5a5d74; font-weight: 400; letter-spacing: -0.02em;}
.panel .title-text {display: inline-block; font-size: 18px; color: #a8aab4; font-weight: 400; vertical-align: top;}

.text-making {font-size: 16px; color: #3a3c46;}
.making:after {display: inline-block; content: '*'; font-size: 16px; color: #ff4e4e; font-weight: 500; vertical-align: top;}

.btn-memo,
.btn-print,
.btn-search,
.btn-certificate {display: block; position: relative; padding-left: 26px; line-height: 20px; font-size: 16px; color: #5a5d74; border: 0; outline: none;}
.btn-memo:before,
.btn-print:before,
.btn-search:before,
.btn-certificate:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 26px; height: 25px; background-position: center center; background-repeat: no-repeat;}
.btn-memo:before {background-image: url(../img/icon-memo.png);}
.btn-print:before {background-image: url(../img/icon-print.png);}
.btn-search:before {background-image: url(../img/icon-search.png);}
.btn-certificate:before {background-image: url(../img/icon-certificate.png);}
.btn-memo span,
.btn-print span,
.btn-search span,
.btn-certificate span {margin-left: 8px; border-bottom: 1px solid #5a5d74;}
.btn-search span {margin-left: 4px; font-weight: 500;}
.btn-memo span.blind,
.btn-print span.blind,
.btn-search span.blind,
.btn-certificate span.blind {margin-left: 0; border: 0;}

@media (max-width: 1280px) {
  .container {padding-top: 110px; padding-left: 290px;}

  .panel .head > div {gap: 15px;}
  .panel h2.title {font-size: 30px;}
  .panel .title-text {font-size: 17px;}

  .text-making {font-size: 15px;}
}
@media (max-width: 1024px) {
  .container {padding: 100px 30px 80px 250px;}

  .panel {padding: 30px 30px 70px;}
  .panel .head > div {gap: 15px; flex-wrap: wrap;}
  .panel h2.title {width: 100%; font-size: 26px;}
  .panel h3.title {font-size: 20px;}
  .panel .title-text {font-size: 16px;}

  .btn-memo,
  .btn-print,
  .btn-search {padding-left: 20px; font-size: 15px;}
  .btn-memo:before,
  .btn-print:before,
  .btn-search:before {width: 20px; height: 20px; background-size: 20px auto !important;}
}
@media (max-width: 768px) {
  .container {padding: 80px 20px;}

  .panel {padding: 30px 20px 50px;}
  .panel .head > div {gap: 10px;}
  .panel h2.title {font-size: 22px;}
  .panel h3.title {font-size: 18px;}
  .panel .title-text {font-size: 15px;}

  .text-making,
  .making:after {font-size: 14px;}
  .text-making {width: 58px; text-align: right;}

  .btn-memo,
  .btn-print,
  .btn-search {font-size: 14px;}
  .btn-memo:before,
  .btn-print:before,
  .btn-search:before {width: 18px; height: 18px; background-size: 18px auto !important;}
}


/* board */
.panel .board {display: flex; justify-content: center; position: relative; margin-bottom: 40px; padding: 20px 60px 20px 30px; height: inherit; border-radius: 10px; background-color: #f1f2f8;}
.panel .board-box {display: flex; align-items: center; position: relative; padding: 30px; width: 260px; height: 120px; background-color: transparent; border: 1px solid transparent; border-radius: 16px; box-sizing: border-box; cursor: pointer;}
.panel .board-box .txt {position: relative; padding-left: 70px;}
.panel .board-box .txt:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 50px; height: 50px; background-position: 0 center; background-repeat: no-repeat; background-size: 100% auto;}
.panel .board-box.i00 .txt:before {background-image: url(../img/icon-board00.png);}
.panel .board-box.i01 .txt:before {background-image: url(../img/icon-board01.png);}
.panel .board-box.i02 .txt:before {background-image: url(../img/icon-board02.png);}
.panel .board-box.i03 .txt:before {background-image: url(../img/icon-board03.png);}
.panel .board-box.i04 .txt:before {background-image: url(../img/icon-board04.png);}

.panel .board-box .text {display: block; line-height: 1.3;}
.panel .board-box span.text {font-size: 16px; color: #969bb5; font-weight: 400;}
.panel .board-box strong.text {position: relative; font-size: 28px; color: #3a3c46; font-weight: 500;}

.panel .total .board-box.active strong.text {color: #3c5ef0;}
.panel .total .board-box.active strong.text:after {display: block; content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color: #3c5ef0;}

.panel .board-swiper {position: relative; width: 1100px; max-width: calc(100% - 260px);}
.panel .board-swiper .slider {width: 100%; overflow: hidden;}
.panel .board-swiper .swiper-slide {width: 260px !important;}
.panel .board-swiper .board-box {background-color: #fff; border-color: #d9dceb;}
.panel .board-swiper .board-box span.text {color: #a8aab4;}
.panel .board-swiper .board-box.active:after {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 2px solid #7f90d7; box-sizing: border-box; border-radius: 16px;}

.panel .board-swiper .swiper-button-prev,
.panel .board-swiper .swiper-button-next {top: 50%; transform: translateY(-50%); margin-top: 0; width: 34px; height: 34px; background-color: #fff; border: 1px solid #d9dceb; border-radius: 50%; box-shadow: 3px 4px 9px 4px rgba(90, 102, 139, 0.15);}
.panel .board-swiper .swiper-button-prev {left: -17px;}
.panel .board-swiper .swiper-button-next {right: -17px;}
.panel .board-swiper .swiper-button-prev:after,
.panel .board-swiper .swiper-button-next:after {content: ''; width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat;}
.panel .board-swiper .swiper-button-prev:after {background-image: url(../img/icon-board-prev.png);}
.panel .board-swiper .swiper-button-next:after {background-image: url(../img/icon-board-next.png);}

@media (max-width: 1280px) {
  .panel .board-box {width: 250px; height: 110px;}
  .panel .board-box strong.text {font-size: 26px;}
  .panel .board-swiper {max-width: calc(100% - 250px);}
  .panel .board-swiper .swiper-slide {width: 250px !important;}
}
@media (max-width: 1024px) {
  .panel .board {padding: 20px 40px 20px 10px;}
  .panel .board-box {width: 240px; height: 100px;}
  .panel .board-box .txt {padding-left: 60px;}
  .panel .board-box .txt:before {width: 44px; height: 44px;}
  .panel .board-box strong.text {font-size: 24px;}

  .panel .board-swiper {max-width: calc(100% - 240px);}
  .panel .board-swiper .swiper-slide {width: 240px !important;}
}
@media (max-width: 768px) {
  .panel .board {flex-wrap: wrap; padding: 20px;}
  .panel .board-box {padding: 20px 30px; width: 230px; height: 90px;}
  .panel .board-box .txt {padding-left: 55px;}
  .panel .board-box .txt:before {width: 40px; height: 40px;}
  .panel .board-box span.text {font-size: 15px;}
  .panel .board-box strong.text {font-size: 20px;}

  .panel .board .total {width: 100%;}
  .panel .board-swiper {max-width: 100%;}
  .panel .board-swiper .swiper-slide {width: 220px !important;}
}
@media (max-width: 430px) {
  .panel .board-swiper .swiper-slide {width: inherit !important;}
  .panel .board-box {width: 100%;}
}


/* select, input */
.input,
.select,
.textarea {position: relative; padding: 7px 10px; width: 240px; max-width: 100%; line-height: 20px; font-size: 16px; color: #3a3c46; background-color: #fff; border: 1px solid #d9dceb; border-radius: 4px; letter-spacing: -0.02em; box-sizing: border-box; outline: none !important;}
.input.w350 {width: 350px;}
.input.w480 {width: 480px;}
.input.full,
.select.full,
.textarea.full {width: 100% !important;}
.input::placeholder {color: #969bb5;}
.input:focus,
.select:focus {border-color: #3c5ef0;}
.select option[value=""][disabled] {display: none;}
.textarea {height: 83px; resize: none;}

@media (max-width: 768px) {
  .input,
  .select,
  .textarea,
  .input.w350,
  .input.w480 {width: 100%; font-size: 15px;}
}


/* select - custom */
.custom-select {position: relative; width: 240px; max-width: 100%;}
.custom-select.full {width: 100% !important;}
.custom-select select {display: none;}
.custom-select .select-selected,
.custom-select .select-option button {padding: 7px 10px; width: 100%; line-height: 20px; font-size: 16px; color: #3a3c46; cursor: pointer; user-select: none; text-align: left; box-sizing: border-box;}

.custom-select .select-selected {position: relative; padding-right: 30px; color: #969bb5; background-color: #fff; border: 1px solid #d9dceb; border-radius: 4px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.custom-select.selected .select-selected {color: #3a3c46;}

.custom-select .select-selected:after {position: absolute; content: ""; top: 0; right: 0; width: 34px; height: 34px; background: #fff url(../img/i-select-arrow.png) center center no-repeat;}

.custom-select .select-selected.active {color: #3a3c46; border-color: #3c5ef0; z-index: 50;}
.custom-select .select-selected.active:after {background-image: url(../img/i-selected-arrow.png);}

.custom-select .select-option {position: absolute; top: 100%; left: 0; right: 0; margin-top: 8px; padding: 10px 9px; background-color: #fff; border: 0; border-radius: 4px; box-shadow: 0 0 24px 0.16px rgba(90, 102, 139, 0.15); z-index: 30;}
.custom-select .select-hide {display: none;}
.custom-select .select-option button:hover {color: #fff; background-color: #3c5ef0; border-radius: 4px;}

@media (max-width: 768px) {
  .custom-select {width: 100%;}
  .custom-select .select-selected:after {background-size: 13px auto !important;}
}


/* checkbox - custom */
.check-box {position: relative; min-width: 18px; min-height: 18px;}
.check-box input {display: none; width: 18px !important; min-height: 18px !important;}
.check-box input + label {padding: 0 0 0 18px !important; min-height: 18px; line-height: 18px; font-size: 16px; color: #333;}

.check-box input[type="checkbox"] + label {background: url(../img/icon-checkbox.png) 0 50% no-repeat;}
.check-box input[type="checkbox"]:checked + label {background: url(../img/icon-checkbox-checked.png) 0 50% no-repeat;}


/* button */
.button {display: block; position: relative; line-height: 20px; font-size: 16px; color: #5a5d74; font-weight: 500; background-color: #f1f2f8; border: 1px solid #d9dceb; border-radius: 4px; box-sizing: border-box; overflow: hidden;}

.button.w80h36,
.button.w80h50 {width: 80px;}
.button.w80h36 {padding: 7px 10px; font-weight: 400;}
.button.w80h50 {padding: 14px 10px; border-radius: 5px;}

.button.w120h36 {padding: 7px 10px; width: 120px; font-weight: 400;}

.button.w140h40,
.button.w140h50 {width: 140px;}
.button.w140h40 {padding: 9px 10px;}
.button.w140h50 {padding: 14px 10px; border-radius: 5px;}

.button.w180h50 {padding: 14px 10px; width: 180px; border-radius: 5px;}

.button.color {color: #fff; background-color: #3c5ef0; border-color: #3c5ef0;}
.button.dark {color: #fff; background-color: #5a5d74; border-color: #5a5d74;}
.button.border {border-color: #969bb5;}

.button.excel,
.button.pdf {display: flex; gap: 10px; justify-content: center; align-items: center;}
.button.excel:before,
.button.pdf:before {display: block; content: ''; width: 20px; height: 20px; background: url(../img/icon-down.png) center center no-repeat; background-size: auto 20px;}

@media (max-width: 1024px) {
  .button {font-size: 15px;}
  .button.w80h36,
  .button.w80h50 {width: 70px;}
  .button.w120h36 {width: 110px;}
  .button.w140h40,
  .button.w140h50 {width: 130px;}
  .button.w180h50 {width: 170px;}

  .button.w80h50,
  .button.w140h50,
  .button.w180h50 {padding: 12px 10px;}

  .button.excel:before {width: 20px; background-size: 20px auto !important;}
}
@media (max-width: 768px) {
  .button {font-size: 14px;}
  .button.w80h36,
  .button.w80h50 {width: 60px;}
  .button.w120h36 {width: 100px;}
  .button.w140h40,
  .button.w140h50 {width: 120px;}
  .button.w180h50 {width: 160px;}

  .button.w80h50,
  .button.w140h50,
  .button.w180h50 {padding: 10px;}
  .button.excel:before,
  .button.pdf:before {width: 18px; background-size: 18px auto !important;}
}


/* form */
.form {position: relative;}
.form .row {display: flex; gap: 10px; align-items: center; margin-top: 10px; width: 100%;}
.form .row:first-child {margin-top: 0 !important;}

.form .row2 .input {max-width: calc(100% - 130px);}

.form.address .row2 .td-text {width: 390px; max-width: calc(100% - 90px);}

.form.calendar {display: flex; align-items: center;}
.form.calendar > span {position: relative;}
.form.calendar > span + span {margin-left: 30px;}
.form.calendar > span + span:before {display: block; content: ''; position: absolute; top: 50%; left: -21px; transform: translateY(-50%); width: 12px; height: 2px; background-color: #d9dceb;}
.form.calendar > span.text + span {margin-left: 20px;}
.form.calendar > span.text + span:before {display: none;}
.form.calendar .input {padding-right: 30px !important; background: #fff url(../img/icon-calendar.png) 96% center no-repeat; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.form.calendar > span .input {padding: 14px 10px; width: 140px; background-position: 93% center;}

.form.search {position: relative;}
.form.search .input {padding: 14px 90px 14px 10px; width: 280px;}
.form.search .button {position: absolute; top: 0; right: 0; border-radius: 0 5px 5px 0;}

.form.search input::-webkit-search-decoration,
.form.search input::-webkit-search-cancel-button,
.form.search input::-webkit-search-results-button,
.form.search input::-webkit-search-results-decoration {display:none;}

.form.search .btn-clear {display: none; position: absolute; top: 50%; right: 100px; transform: translateY(-50%); width: 20px; height: 20px; border: 0; outline: none; z-index: 1;}
.form.search .input:hover + .btn-clear,
.form.search .input:focus + .btn-clear,
.form.search .btn-clear:hover {display: block;}
.form.search .btn-clear:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../img/icon-clear.png) center center no-repeat;}

.form.file {position: relative;}
.form.file .file-box {display: flex; padding: 6px 136px 6px 6px; width: 480px; max-width: 100%; height: 36px; background-color: #fff; border: 1px solid #d9dceb; border-radius: 4px; letter-spacing: -0.02em; box-sizing: border-box;}
.form.file .button {position: absolute; top: 0; right: 0; border-radius: 0 4px 4px 0;}
.form.file .item {display: flex; align-items: center; position: relative; padding: 0 24px 0 10px; width: 140px; font-size: 14px; color: #5a5d74; font-weight: 400; background-color: #f1f2f8; border: 1px solid #d9dceb; border-radius: 15px; box-sizing: border-box;}
.form.file .btn-delete {display: block; position: absolute; top: 50%; right: 5px; transform: translateY(-50%); width: 14px; height: 14px; border: 0; outline: none; z-index: 1;}
.form.file .btn-delete:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../img/icon-clear.png) center center no-repeat; background-size: 14px 14px;}

@media (max-width: 1280px) {
  .form .row2 .input {max-width: calc(100% - 120px);}
}
@media (max-width: 1024px) {
  .form.calendar > span.text + span {margin-left: 10px;}
  .form.calendar > span .input {padding: 12px 10px;}
  .form.search .input {padding: 12px 90px 12px 10px;}

}
@media (max-width: 768px) {
  .form .row2 {flex-wrap: wrap;}
  .form .row2 > * {width: 100%; max-width: 100% !important;}
  .form .row2 .input {max-width: calc(100% - 110px);}

  .form.calendar .input {background-size: 16px auto !important;}
  .form.calendar > span .input {padding: 10px;}
  .form.search .input {padding: 10px 90px 10px 10px;}
  .form.file .item {font-size: 15px;}
}


/* table - related */
.table-head > .row,
.table-foot > .row {display: flex; margin-top: 20px; justify-content: space-between;}
.table-head > .row:first-child,
.table-foot > .row:first-child {margin-top: 0 !important;}
.table-head > .row > div,
.table-foot > .row > div {display: flex; gap: 20px; align-items: center;}
.table-head > .row > div.right,
.table-foot > .row > div.right {justify-content: right;}

.table-head {margin-bottom: 20px;}
.table + .table,
.table + .table-head {margin-top: 40px;}

.table-head span.text {font-size: 18px;}
.table-head span.text .color {color: #ff4e4e;}

.table-foot {margin-top: 20px;}

.control {display: flex; gap: 15px; justify-content: center; align-items: center; margin-top: 40px;}
.row + .control {margin-top: 20px;}
.control .btn-prev,
.control .btn-next {position: relative; width: 40px; height: 40px; background-color: #fff; border: 1px solid #d9dceb; border-radius: 5px; outline: none; box-sizing: border-box;}
.control .btn-prev:before,
.control .btn-next:before {display: block; content: ''; width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat;}

.control .btn-prev:before {background-image: url(../img/icon-control-prev-active.png);}
.control .btn-next:before {background-image: url(../img/icon-control-next-active.png);}

.control .btn-prev:disabled::before,
.control .btn-prev[disabled]::before {background-image: url(../img/icon-control-prev.png);}

.control .btn-next:disabled::before,
.control .btn-next[disabled]::before {background-image: url(../img/icon-control-next.png);}

.control .page {line-height: 20px; font-size: 20px; color: #c0c2d0; font-weight: 500;}
.control .page em {color: #3c5ef0; font-weight: 500;}

@media (max-width: 1280px) {
  .table-head > .row {gap: 10px; flex-wrap: wrap;}
  .table-head > .row > div {gap: 15px; width: 100%;}
  .table-head > .row > div.right {justify-content: left;}

  .table-foot > .row {gap: 15px}

  .control .page {font-size: 18px;}
}
@media (max-width: 1024px) {
  .table-head > .row > div,
  .table-foot > .row > div {gap: 10px;}
  .table-head > .row > div.right {flex-wrap: wrap; justify-content: right;}

  .table-head span.text,
  .table-head .form.calendar > span.text {width: 100px; font-size: 16px;}

  .table-head .form.calendar {width: 100%;}
  .table-head .form.calendar .input,
  .table-head .form.calendar > span {width: calc(50% - 15px);}
  .table-head .form.calendar > span .input {width: 100%;}

  .table-head .form.search,
  .table-head .form.search .input {width: 100%;}

  .control .page {font-size: 16px;}
}
@media (max-width: 768px) {
  .table-head span.text,
  .table-head .form.calendar > span.text {font-size: 15px;}

  .control .btn-prev,
  .control .btn-next {width: 36px; height: 36px;}
  .control .page {font-size: 15px;}
}


/* table */
.table {position: relative; overflow-x: auto;}
.table table {max-width: initial; border-top: 2px solid #5a5d74; text-align: left;}
.table caption {display: none;}
.table tr {background-color: #fff;}
.table th,
.table td {padding: 9px 10px; line-height: 20px; font-weight: 400; border-bottom: 1px solid #c0c2d0; box-sizing: border-box; letter-spacing: -0.02em;}
.table th {font-size: 18px; color: #3a3c46; background-color: #f1f2f8;}
.table td {font-size: 16px; color: #3a3c46; background-color: #fff;}

.table .tb-text {display: inline-block; padding: 8px 0; vertical-align: top;}
.table .tb-text.gray {color: #969bb5;}

@media (max-width: 1280px) {
  .table th,
  .table td {padding: 9px 15px;}
  .table th {font-size: 17px;}
}
@media (max-width: 768px) {
  .table th,
  .table td {padding: 9px 10px;}
  .table th {font-size: 16px;}
  .table td {font-size: 15px;}
}


/* table - write */
.table .write {max-width: 100%;}
.table .write th,
.table .write td {padding: 9px 20px;}
.table .write th {padding-left: 30px; padding-right: 15px; width: 220px; border-right: 1px solid #c0c2d0; transition: all 0.2s linear;}
.table .write td + th {border-left: 1px solid #c0c2d0;}

@media (max-width: 1280px) {
  .table .write th {padding: 9px 15px; width: 180px;}
}
@media (max-width: 768px) {
  .table .write th {padding-left: 10px; padding-right: 10px; width: 120px;}
}


/* table - write2 */
.table-write {border-top: 2px solid #5a5d74; text-align: left; overflow: unset;}
.table-write .tr,
.table-write .col {display: flex; box-sizing: border-box;}
.table-write .tr {background-color: #fff; border-bottom: 1px solid #c0c2d0;}
.table-write .tr:last-child {border-bottom: 1px solid #c0c2d0;}
.table-write .col {width: 50%;}
.table-write .th,
.table-write .td {display: flex; align-items: center; padding: 9px 20px; line-height: 20px; font-weight: 400; box-sizing: border-box; letter-spacing: -0.02em;}
.table-write .th > *,
.table-write .td > * {max-width: 100%;}
.table-write .tr:last-child .th,
.table-write .tr:last-child .td {border-bottom: 0;}
.table-write .th {padding-left: 30px; padding-right: 15px; width: 220px; font-size: 18px; color: #3a3c46; background-color: #f1f2f8; border-right: 1px solid #c0c2d0;}
.table-write .td {width: calc(100% - 220px); font-size: 16px; color: #3a3c46;}
.table-write .col + .col .th {border-left: 1px solid #c0c2d0;}

.table-write .form {width: 100%;}
.table-write .form.calendar > span {width: 240px; max-width: calc(50% - 15px);}
.table-write .form.calendar > span .input {padding: 7px 10px; width: 100%;}

@media (max-width: 1280px) {
  .table-write .th {padding: 9px 15px; width: 180px; font-size: 17px;}
  .table-write .td {padding: 9px 15px; width: calc(100% - 180px);}

  .table-write .form.calendar > span {max-width: calc(50% - 10px);}
  .table-write .form.calendar > span + span {margin-left: 20px;}
  .table-write .form.calendar > span + span:before {left: -15px; width: 10px;}
}
@media (max-width: 1024px) {
  .table-write .tr {flex-wrap: wrap;}
  .table-write .col {width: 100%; border-bottom: 1px solid #c0c2d0;}
  .table-write .col:last-child {border-bottom: 0;}
  .table-write .col + .col .th {border-left: 0;}
  .table-write .th {width: 140px; font-size: 16px;}
  .table-write .td {width: calc(100% - 140px);}

  .table-write .form.calendar > span + span:before {height: 1px;}
}
@media (max-width: 768px) {
  .table-write .th {padding-left: 10px; padding-right: 10px; width: 120px; font-size: 15px;}
  .table-write .td {width: calc(100% - 120px); font-size: 15px;}
}


/* table - list */
.table .list tr.on td {background-color: #f1f2f8;}

.table .list th,
.table .list td {text-align: center;}

.table .list th.check,
.table .list td.check {width: 50px; text-align: center !important;}
.table .list th.no,
.table .list td.no {width: 80px;}
.table .list td.won .tb-text {width: 81px; max-width: 100%; text-align: right;}

.table .list .link {border-bottom: 1px solid #3a3c46;}
.table .list .link:hover,
.table .list .mail:hover {color: #3c5ef0;}
.table .list .link:hover {border-bottom-color: #3c5ef0;}

.table .list .btn-memo,
.table .list .btn-print {display: inline-block; vertical-align: top;}

@media (max-width: 1280px) {
  .table .list th,
  .table .list td {width: 120px;}
}
@media (min-width: 1025px) {
  .table .list tr:hover td {background-color: #f1f2f8;}
}

/* popup */
.popup {position: fixed; top: 0; left: 0; z-index: 110;}
.popup.mask:after {display: block; content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / 30%);}

.popup-box,
.alert-box {display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 30px 20px; max-width: calc(100% - 80px); max-height: calc(100% - 80px); background-color: #fff; border: 2px solid #969bb5; border-radius: 7px; box-shadow: 0 2px 29.62px 0.2px rgba(90, 102, 139, 0.2); box-sizing: border-box; overflow: hidden; overflow-y: auto;}

.popup-box .overflow {overflow: auto; max-height: calc(100vh - 210px); box-sizing: border-box;}

.popup-box {z-index: 151;}
.popup-box.w360 {width: 360px;}
.popup-box.w900 {width: 900px;}

.alert-box {padding: 60px 20px 30px; width: 420px; text-align: center; z-index: 161;}

.popup-box.active,
.alert-box.active {display: block;}

.popup .btn-close {display: block; position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border: 0; outline: none; box-sizing: border-box;}
.popup .btn-close:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-popup-close.png) center center no-repeat;}

.popup h2.title {margin-bottom: 30px; line-height: 1.2; font-size: 32px; color: #3a3c46; font-weight: 500; text-align: center; letter-spacing: -0.04em;}
.popup h3.title {margin-bottom: 20px; line-height: 1.2; font-size: 22px; color: #3a3c46; font-weight: 500; letter-spacing: -0.02em;}
.popup h3.title span {font-size: 14px; color: #a8aab4; font-weight: 400;}

.popup strong.title {display: block; margin-bottom: 20px; line-height: 1.2; font-size: 20px; color: #3a3c46; font-weight: 400; letter-spacing: -0.02em;}

.popup p.text {line-height: 1.3; font-size: 16px; color: #3a3c46; font-weight: 400;}
.popup p.text + p.text {margin-top: 20px;}
.popup p.text span {color: #a8aab4;}

.popup .top {display: flex; gap: 20px; align-items: center; margin-bottom: 25px;}
.popup .top h3.title {margin-bottom: 0;}

.popup .tip {margin-top: 30px;}
.popup .tip strong.title {color: #3c5ef0; font-weight: 500;}

.popup .form.search .input,
.popup .form.address .input {width: 476px;}

.popup .form.search .input {padding-right: 130px;}

.popup .form.address {margin: 50px 0 10px;}
.popup .form.address .row {justify-content: space-between; margin-top: 20px;}
.popup .form.address .input {padding: 14px 10px;}
.popup .form.address .text {width: calc(100% - 98px); line-height: 20px; font-size: 18px; color: #3a3c46;}

.popup .textarea {width: 100%; max-width: 100%; height: 200px;}

.popup .bottom {display: flex; gap: 20px; margin-top: 30px; justify-content: center;}

.popup .alert-box h3.title {margin-bottom: 30px; font-weight: 400;}

.popup .address-wrap {margin-top: 5px; width: 476px; max-width: 100%; height: 295px; overflow: hidden; overflow-y: auto;}
.popup .address-wrap li {padding: 10px 0; border-top: 1px solid #c0c2d0;}
.popup .address-wrap li:first-child {border-top: 0 !important;}
.popup .address-wrap .addr {position: relative; padding: 20px 10px; border-radius: 7px; box-sizing: border-box; cursor: pointer;}
.popup .address-wrap .addr:hover {background-color: #f1f2f8;}
.popup .address-wrap .addr span {display: flex; gap: 10px; line-height: 20px; font-size: 16px; color: #a8aab4;}
.popup .address-wrap .addr span + span {margin-top: 10px;}
.popup .address-wrap .addr span em {padding: 0 6px; line-height: 18px; font-size: 12px; background-color: #fff; border: 1px solid #d9dceb; border-radius: 2px;}

.popup .form-wrap {display: flex; position: relative; width: 476px; max-width: 100%; box-sizing: border-box;}
.popup .form-wrap + .form-wrap {margin-top: 20px;}
.popup .form-wrap .text {line-height: 50px; width: 80px; font-size: 18px; color: #3a3c46;}
.popup .form-wrap .form.calendar,
.popup .form-wrap .form.file {width: calc(100% - 80px);}
.popup .form-wrap .form.calendar .input {padding: 14px 10px; width: 100%; border-radius: 5px;}
.popup .form-wrap .form.file .file-box {padding: 6px 146px 6px 6px; width: 100%; height: 50px; border-radius: 5px;}
.popup .form-wrap .form.file .button {border-radius: 0 5px 5px 0;}
.popup .form-wrap .form.file .item {padding: 0 34px 0 15px; width: 100%; font-size: 16px; border-radius: 18px; box-sizing: border-box;}
.popup .form-wrap .form.file .caption {margin-top: 10px; font-size: 16px; color: #a8aab4;}
.popup .form-wrap .form.file .btn-delete {width: 20px; height: 20px;}
.popup .form-wrap .form.file .btn-delete:before {background-size: 20px 20px;}

@media (max-width: 1280px) {
}
@media (max-width: 1024px) {
  .popup h2.title {font-size: 30px;}
  .popup h3.title {font-size: 20px;}
  .popup strong.title {font-size: 18px;}

  .popup .form.search .input {padding-right: 110px;}
  .popup .form.search .btn-clear {right: 80px;}

  .popup .form.address .btn-search:before {width: 23px; height: 23px; background-size: 17px auto !important;}

  .popup .address-wrap .addr span {font-size: 15px;}

  .popup .form-wrap .text {line-height: 46px; font-size: 16px;}
  .popup .form-wrap .form.calendar .input {padding: 12px 10px;}
  .popup .form-wrap .form.file .file-box {padding-right: 140px; height: 46px;}
  .popup .form-wrap .form.file .item {padding: 5px 34px 5px 15px; font-size: 15px;}
  .popup .form-wrap .form.file .caption {font-size: 15px;}
}
@media (max-width: 768px) {
  .popup-box {width: 460px; max-width: calc(100% - 40px);}
  .alert-box {padding-left: 20px; padding-right: 20px; min-width: 50%; width: 365px;}

  .popup h2.title {font-size: 28px;}
  .popup h3.title {font-size: 18px;}
  .popup strong.title {font-size: 17px;}
  .popup p.text {font-size: 15px;}

  .popup .form.search .input {padding-right: 100px;}
  .popup .form.search .btn-clear {right: 75px;}

  .popup .form.address .row2 {flex-wrap: nowrap;}
  .popup .form.address .row2 > * {width: initial;}
  .popup .form.address .text {font-size: 17px;}
  .popup .form.address .btn-search:before {width: 21px; height: 21px; background-size: 15px auto !important;}

  .popup .form-wrap .text {line-height: 42px; font-size: 15px;}
  .popup .form-wrap .form.calendar .input {padding: 10px;}
  .popup .form-wrap .form.file .file-box {padding-right: 130px; height: 42px;}
  .popup .form-wrap .form.file .item {font-size: 14px;}
  .popup .form-wrap .form.file .caption {font-size: 14px;}
}
@media (max-width: 430px) {
  .popup-box {padding: 30px 15px; width: calc(100% - 40px);}
  .popup-box,
  .alert-box {border-width: 1px;}
  .alert-box {padding: 40px 15px 30px; min-width: 70%;}
  .popup h2.title {font-size: 24px;}
  .popup .bottom {gap: 10px;}
}


/* certificate */
.certificate {padding: 50px 17px 40px; width: 210mm; min-height: 297mm; box-sizing: border-box; border: 2px solid #d9dceb;}
.certificate h2.title {margin-bottom: 40px; font-size: 32px;}
.certificate h3.title {font-size: 22px;}
.certificate .table-head h3.title {margin-bottom: 0;}

.certificate .table-write {border: 2px solid #5a5d74;}
.certificate .table-write .tb-text {padding: 5px 0;}
.certificate .table-write .blank:after {display: block; content: ''; width: 10px; height: 1px; background-color: #3a3c46;}

.certificate .table-write .tr:last-child {border-bottom: 0;}
.certificate .table-write .won {justify-content: end; text-align: right;}

.certificate .table-write .col {border-bottom: 0; width: 50%;}
.certificate .table-write .col-6 {width: 60%;}
.certificate .table-write .col-4 {width: 40%;}
.certificate .table-write .col + .col .th {border-left: 1px solid #c0c2d0;}
.certificate .table-write .th {padding-left: 30px; padding-right: 30px; width: 160px; font-size: 16px;}
.certificate .table-write .th.w120 {width: 120px;}
.certificate .table-write .td {width: calc(100% - 160px);}
.certificate .table-write .th.w120 + .td {width: calc(100% - 120px);}
.certificate .table-write .th + .th.w120 + .td {width: calc(100% - 280px);}

.certificate .table-write .col-wrap {flex-wrap: wrap;}
.certificate .table-write .col-wrap + .col-wrap {border-left: 1px solid #c0c2d0;}
.certificate .table-write .col-wrap .tr,
.certificate .table-write .col-wrap .th,
.certificate .table-write .col-wrap .td {width: 100%;}
.certificate .table-write .col-wrap .tr {border-bottom: 0;}

.certificate .table-write .head,
.certificate .table-write .body {width: 100%;}

.certificate .table-write .head {display: flex; flex-wrap: wrap;}
.certificate .table-write .head .tr:first-child .th {border-right: 0;}
.certificate .table-write .head .th {justify-content: center; width: 100%; border-left: 0; border-bottom: 1px solid #c0c2d0;}
.certificate .table-write .head .col {width: 50%;}
.certificate .table-write .head .col .th {background-color: #fff;}
.certificate .table-write .col + .col .head .th {border-left: 0;}
.certificate .table-write .head .col + .col .th {border-left: 0; border-right: 0;}

.certificate .table-write .body .td {padding-top: 8px; padding-bottom: 8px;}
.certificate .table-write .body .col:first-child .td {border-right: 1px solid #c0c2d0;}
.certificate .table-write .body .col + .col .td {justify-content: end;}
.certificate .table-write .body .tb-text {padding: 0;}
.certificate .table-write .body .tr:first-child .tb-text {padding-top: 5px;}
.certificate .table-write .body .tr.padding-bottom .tb-text {padding-bottom: 5px;}

.certificate .table-write .body .last {border-top: 1px solid #c0c2d0;}
.certificate .table-write .body .last .th {border-left: 0;}
.certificate .table-write .body .last .tb-text {padding: 5px 0;}
.certificate .table-write .col:first-child .body .last .td {color: #3c5ef0;}
.certificate .table-write .col:last-child .body .last .td {color: #ff4e4e;}

.certificate .table-write .body .th .justify,
.certificate .table-write .total .th .justify {margin: 0 auto; width: 100px; max-width: 100%;}

.certificate .table-write .total .th {width: 25%; border-right: 1px solid #c0c2d0;}
.certificate .table-write .total .td {justify-content: end; width: 75%;}

.certificate .table-write .etc .col {flex-wrap: wrap; width: 33.333333%;}
.certificate .table-write .etc .th,
.certificate .table-write .etc .td {justify-content: center; width: 100%;}
.certificate .table-write .etc .th {border-right: 0; border-bottom: 1px solid #c0c2d0;}
.certificate .table-write .etc .col + .col .td {border-left: 1px solid #c0c2d0;}
.certificate .table-write .etc .won {justify-content: end;}

.certificate .table-write + p.text {margin-top: 20px;}

.certificate .sign {margin-top: 40px; text-align: center;}
.certificate .sign strong.text {display: block; line-height: 1.3; font-size: 20px; color: #3a3c46; font-weight: 400;}
.certificate .sign strong.text + strong.text {margin-top: 20px;}
.certificate .sign strong.text span {margin-left: 25px;}
.certificate .sign .logo {display: block;}
.certificate .sign strong.text + .logo {margin-top: 60px;}


/* 06_salary */
.table.scroll table {border-collapse: separate !important; width: max-content;}
.table.scroll th,
.table.scroll td {width: 120px; border-right: 1px solid #d9dceb;}
.table.scroll th.last,
.table.scroll td.last {border-right: 0;}
.table.scroll td {text-align: right;}

.table.scroll .blank:after {display: block; content: ''; width: 10px; height: 1px; background-color: #3a3c46;}

.table.scroll .bg-yellow1 {background-color: #ffe5a7;}
.table.scroll .bg-yellow2 {background-color: #fff7e0;}
.table.scroll .bg-red1 {background-color: #f0b1b4;}
.table.scroll .bg-red2 {background-color: #fae4e5;}

.table.scroll .sticky {position: sticky; left: 0; z-index: 10;}
.table.scroll td.sticky {text-align: center;}

.table.scroll .sticky1 {left: 50px;}
.table.scroll .sticky2 {left: 170px;}
.table.scroll .sticky3 {left: 290px;}
.table.scroll .sticky4 {left: 410px;}
.table.scroll th.sticky1,
.table.scroll .sticky4 {box-shadow: 6px 5px 9px 1px rgba(90, 102, 139, 0.15);}

@media (max-width: 1280px) {
  .table.scroll .sticky {position: static;}
}



/* gm.kim */
@media print {
  @page {margin:0.8cm}
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .certificate h2.title {text-align: center;}
}

.loader {
  border: 5px solid #f3f3f3;
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
  border-top: 5px solid #555;
  border-radius: 50%;
  width: 50px;
  height: 50px;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}