@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; letter-spacing: -0.04em;}

.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;}
.header .logo a {position: relative;}
.header .logo.softhr a:before {display: block; content: ''; width: 130px; height: 40px; background: url(../img/logo.png) center center no-repeat; background-size: 100% auto;}
.header .logo .text {display: block; font-size: 22px; color: #fff; font-weight: 400;}
.header .right {display: flex;}
.header .user,
.header .week-team,
.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;}

.header .btn-nav {position: absolute; top: 50%; left: calc(250px - 28px); transform: translateY(-50%); width: 28px; height: 28px; border: 2px solid #758fff; border-radius: 3px; box-sizing: border-box;}
.header .btn-nav:before,
.header .btn-nav:after {display: block; content: ''; position: absolute; top: 50%; left: 7px; width: 8px; height: 2px; background-color: #fff; box-sizing: border-box;}
.header .btn-nav:before {transform: translateY(-3px) rotate(-45deg);}
.header .btn-nav:after {transform: translateY(1px) rotate(45deg);}

.simply .header .btn-nav:before,
.simply .header .btn-nav:after {left: 8px;}
.simply .header .btn-nav:before {transform: translateY(-3px) rotate(-135deg);}
.simply .header .btn-nav:after {transform: translateY(1px) rotate(135deg);}

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

  .header .btn-nav {left: 20px;}
}


/* 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: 80px 40px 60px; 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: 15px; 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 .logo .text {display: block; line-height: 40px; font-size: 40px; color: #353535; font-weight: bold;}
.intro p.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;}

.intro .login-wrap {margin: 40px auto 0; width: 340px; max-width: 100%; box-sizing: border-box;}
.intro .login .input {margin-top: 10px; padding: 14px 20px;}
.intro .login .input:first-child {margin-top: 0;}
.intro .login .button {margin-top: 10px;}

.intro .warning {display: block; font-size: 14px; color: #ff4e4e; font-weight: 400; text-align: left;}

.intro .short {display: flex; justify-content: space-between; margin-top: 5px;}
.intro .short a {display: block; font-size: 15px; color: #7985b9; font-weight: 400;}
.intro .short ul {display: flex; justify-content: center; width: 100%;}
.intro .short li {position: relative; margin-left: 10px; padding-left: 10px;}
.intro .short li:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 1px; height: 12px; background-color: #7985b9;;}
.intro .short li:first-child {margin-left: 0; padding-left: 0;}
.intro .short li:first-child::before {display: none;}

.intro .sns {margin-top: 40px;}
.intro .sns .title {position: relative; font-size: 14px; color: #a8aab4; font-weight: 400;}
.intro .sns .title:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 1px; background-color: #d9dceb;}
.intro .sns .title span {position: relative; padding: 0 5px; background-color: #fff; z-index: 1;}
.intro .sns > div {display: flex; gap: 20px; justify-content: space-between; margin-top: 10px;}
.intro .sns .button {display: flex; gap: 5px; justify-content: center; align-items: center; padding: 14px 10px; width: calc(50% - 10px); color: #3a3c46; border-color: #f1f2f8;}
.intro .sns .button:before {display: block; content: ''; width: 18px; height: 18px; background-position: center center; background-repeat: no-repeat; background-size: 100% auto !important;}
.intro .sns .button.microsoft:before {background-image: url(../img/icon-microsoft.png);}
.intro .sns .button.google:before {background-image: url(../img/icon-google.png);}

@media (max-width: 1280px) {
  .intro {padding: 110px 40px;}
}
@media (max-width: 1024px) {
  .intro {padding-left: 30px; padding-right: 30px;}
  .intro .login-box {padding: 70px 30px 50px;}
  .intro .logo:before {width: 184px; background-size: 184px auto;}
  .intro p.text {font-size: 18px;}

  .intro .simple button {height: 55px; font-size: 15px;}

  .intro .login .input {padding: 12px 15px;}
}
@media (max-width: 768px) {
  .intro {padding: 100px 20px;}
  .intro .login-box {padding: 60px 20px 40px;}
  .intro .logo:before {width: 140px; height: 30px; background-size: 140px auto;}
  .intro p.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;}

  .intro .login .input {padding: 10px;}
}


/* join */
.join {padding: 140px 40px 35px; min-height: 100vh; min-height: 100dvh; background-color: #f1f2f8; box-sizing: border-box;}

.join .join-step {margin: 0 auto; padding: 0 55px; width: 1200px; max-width: 100%; box-sizing: border-box;}
.join .join-step ul {display: flex; gap: 8.6%}
.join .join-step li {position: relative; width: 27.6%;}
.join .join-step li:before {display: block; content: ''; position: absolute; top: 50%; left: -40%; transform: translateY(-50%); width: 50%; height: 4px; background-color: #cfdaf7;}
.join .join-step li:first-child::before {display: none;}
.join .join-step li.active::before {background-color: #3c5ef0;}
.join .join-step li span {display: flex; justify-content: center; align-items: center; position: relative; padding: 10px; height: 70px; font-size: 20px; color: #6c80d4; font-weight: 400; background-color: #cfdaf7; border: 5px solid #f1f2f8; border-radius: 35px; box-sizing: border-box; z-index: 1;}
.join .join-step li.active span {color: #fff; background-color: #3c5ef0; border-color: #cfdaf7;}

.join .join-box {margin: 35px auto 0; padding: 80px 40px 40px; width: 1200px; max-width: 100%; height: 800px; 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;}
.join h2.title {margin-bottom: 25px; line-height: 1.2; font-size: 32px; color: #353535; font-weight: bold;}
.join h3.title {margin-bottom: 15px; line-height: 1.2; font-size: 22px; color: #5a5d74; font-weight: 400; text-align: left;}
.join p.text {line-height: 1.2; font-size: 22px; color: #979797; font-weight: 400;}
.join p.text.color {color: #3c5ef0;}
.join p.text + p.text {margin-top: 40px;}
.join p.text em {font-weight: 500;}
.join p.text em.color {color: #3c5ef0;}

.join .send {margin-top: 40px; text-align: center;}
.join .send .text {font-size: 22px; color: #3a3c46; font-weight: 500; border-bottom: 1px solid #3a3c46;}

.join .join-wrap {position: relative; margin: 55px auto 0; width: 740px; max-width: 100%;}
.join .warning {display: block; font-size: 14px; color: #ff4e4e; font-weight: 400; text-align: left;}
.join .text-ok {display: block; font-size: 14px; color: #31b34d; font-weight: 400; text-align: left;}
.join .certify {margin: 0 auto; width: 480px; max-width: 100%;}
.join .certify .email {display: block; position: relative;}
.join .certify .time {position: absolute; top: 50%; right: 20px; transform: translateY(-50%); font-weight: 14px; color: #758fff; font-weight: 400; z-index: 2;}
.join .certify .input + .input {margin-top: 10px;}
.join .certify .time + .input {padding-right: 73px;}
.join .certify .button {margin-top: 10px;}

.join .table-write .tr:last-child {border-bottom: 2px solid #5a5d74;}
.join .agree .text {display: inline-block; margin: 2px 10px 0 0; padding-bottom: 1px; line-height: 1.1; font-size: 16px; color: #3a3c46; border-bottom: 1px solid #3a3c46; vertical-align: top;}

.join.find .join-box {margin-top: 105px;}

.join-wrap .text {line-height: 1.4; font-size: 16px; color: #5a5d74; font-weight: 400; letter-spacing: -0.01em;}

.join-wrap .form {margin-bottom: 10px; text-align: left;}
.join-wrap .form2 {margin-top: 40px;}
.join-wrap .label {display: block; margin-bottom: 12px; line-height: 1.2; font-size: 16px; color: #3a3c46; font-weight: 400;}
.join-wrap .label.mt30 {margin-top: 30px;}

.join-wrap .input-wrap {display: block; position: relative; margin-bottom: 10px;}
.join-wrap .input,
.join-wrap .select,
.join-wrap .textarea {padding: 12px 15px; width: 100%; line-height: 24px; font-size: 16px;}
.join-wrap .textarea {height: 250px;}
.join-wrap .error .input {border-color: #ff4e4e;}
.join-wrap .custom-select {width: 100%;}
.join-wrap .custom-select .select-selected {padding: 12px 30px 12px 15px; line-height: 24px; font-size: 16px;}

.join-wrap .input-wrap.flex {display: flex; gap: 10px;}
.join-wrap .input-wrap.flex .button {width: 120px;}

.join-wrap .check-wrap {display: flex; gap: 0 30px;}
.join-wrap .check-box input + label {color: #3a3c46; cursor: pointer;}
.join-wrap .check-box input[type="radio"] + label {display: block; padding: 0 0 0 28px !important; background: url(../img/icon-checkbox-circle.png) left 50% no-repeat; box-sizing: border-box; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.join-wrap .check-box input[type="radio"]:checked + label {color: #3a3c46; background: url(../img/icon-checkbox-circle-checked.png) left 50% no-repeat;}

.join-wrap .form .text {font-size: 14px;}
.join-wrap .form .text.ok,
.join-wrap .form .text.error {display: block;}
.join-wrap .form .text.ok,
.join-wrap .form .text-o {color: #31b34d;}
.join-wrap .form .text.error,
.join-wrap .form .text-x {color: #ff4e4e;}
.join-wrap .form .text-o,
.join-wrap .form .text-x {position: absolute; top: 0; right: 0; padding: 12px 15px; line-height: 24px; font-size: 16px; z-index: 5;}

.join-wrap .button-wrap {display: flex; gap: 10px;}
.join-wrap .button-wrap .button {display: block; position: relative; margin-top: 0; padding: 12px 15px; width: 100%; line-height: 24px; font-size: 16px; text-align: center;}
.join-wrap .button-wrap .button.more:before {display: inline-block; content: ''; margin-right: 5px; width: 12px; height: 12px; background: url(../img/icon-button-more.png) center center no-repeat; background-size: 12px auto;}


@media (max-width: 1280px) {
  .join {padding: 130px 40px 35px;}
}
@media (max-width: 1024px) {
  .join {padding-left: 30px; padding-right: 30px;}
  .join .join-step {padding: 0 30px;}
  .join .join-step ul {gap: 5.6%}
  .join .join-step li {width: 29.6%;}
  .join .join-step li span {font-size: 18px;}

  .join .join-box {padding: 70px 30px 30px; height: 780px;}
  .join h2.title {font-size: 30px;}
  .join h3.title {font-size: 20px;}
  .join p.text {font-size: 18px;}
  .join .certify .input {padding: 12px 15px;}
}
@media (max-width: 768px) {
  .join {padding: 120px 20px 35px;}
  .join .join-step {padding: 0;}
  .join .join-step li span {font-size: 16px;}

  .join .join-box {padding: 60px 20px 20px; height: 760px;}
  .join h2.title {font-size: 28px;}
  .join h3.title {font-size: 19px;}
  .join p.text {font-size: 17px;}
  .join .certify .input {padding: 10px;}

  .join .agree .text {font-size: 15px;}
}


/* nav */
.nav {position: fixed; top: 0; left: 0; padding: 95px 0 175px; width: 260px; height: 100%; background-color: #fff; z-index: 80; box-sizing: border-box;}
.nav ul {padding: 0 20px; list-style: none; box-sizing: border-box;}
.nav li {margin-top: 15px;}
.nav li:first-child {margin-top: 0 !important;}
.nav li a {display: block; align-items: center; position: relative; line-height: 24px; font-size: 16px; color: #5a5d74; font-weight: 400; box-sizing: border-box;}

.nav > ul > li > a {padding: 13px 15px 13px 50px; min-height: 50px; font-size: 18px; font-weight: 500; letter-spacing: -1px;}
.nav > ul > li > a:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 50px; height: 50px; background-position: center center; background-repeat: no-repeat; background-size: 34px auto;}

.nav .menu {padding-top: 20px; padding-bottom: 20px; max-height: 100%; overflow-y: auto;}
.nav .menu > li.active > a:hover {color: #3c5ef0;}

.nav .menu li a.i01:before {background-image: url(../img/icon-nav-01.png);}
.nav .menu li a.i02:before {background-image: url(../img/icon-nav-02.png);}
.nav .menu li a.i03:before {background-image: url(../img/icon-nav-03.png);}
.nav .menu li a.i04:before {background-image: url(../img/icon-nav-04.png);}
.nav .menu li a.i05:before {background-image: url(../img/icon-nav-05.png);}
.nav .menu li a.i06:before {background-image: url(../img/icon-nav-06.png);}

.nav .menu > li.active > a {color: #fff !important; background-color: #3c5ef0; border-radius: 7px;}
.nav .menu li.active a.i01:before {background-image: url(../img/icon-nav-01-active.png);}
.nav .menu li.active a.i02:before {background-image: url(../img/icon-nav-02-active.png);}
.nav .menu li.active a.i03:before {background-image: url(../img/icon-nav-03-active.png);}
.nav .menu li.active a.i04:before {background-image: url(../img/icon-nav-04-active.png);}
.nav .menu li.active a.i05:before {background-image: url(../img/icon-nav-05-active.png);}
.nav .menu li.active a.i06:before {background-image: url(../img/icon-nav-06-active.png);}


.nav .menu li a.att-i01:before {background-image: url(../img/icon-att-nav01.png);}
.nav .menu li a.att-i02:before {background-image: url(../img/icon-att-nav02.png);}
.nav .menu li a.att-i03:before {background-image: url(../img/icon-att-nav03.png);}
.nav .menu li a.att-i04:before {background-image: url(../img/icon-att-nav04.png);}
.nav .menu li a.att-i05:before {background-image: url(../img/icon-att-nav05.png);}
.nav .menu li a.att-i06:before {background-image: url(../img/icon-att-nav06.png);}
.nav .menu li a.att-i07:before {background-image: url(../img/icon-att-nav07.png);}
.nav .menu li a.att-i08:before {background-image: url(../img/icon-att-nav08.png);}
.nav .menu li a.att-i09:before {background-image: url(../img/icon-att-nav09.png);}
.nav .menu li a.att-i10:before {background-image: url(../img/icon-att-nav10.png);}
.nav .menu li a.att-i11:before {background-image: url(../img/icon-att-nav11.png);}
.nav .menu li a.att-i12:before {background-image: url(../img/icon-att-nav12.png);}
.nav .menu li a.att-i13:before {background-image: url(../img/icon-att-nav13.png);}

.nav .menu li.active a.att-i01:before {background-image: url(../img/icon-att-nav01-active.png);}
.nav .menu li.active a.att-i02:before {background-image: url(../img/icon-att-nav02-active.png);}
.nav .menu li.active a.att-i03:before {background-image: url(../img/icon-att-nav03-active.png);}
.nav .menu li.active a.att-i04:before {background-image: url(../img/icon-att-nav04-active.png);}
.nav .menu li.active a.att-i05:before {background-image: url(../img/icon-att-nav05-active.png);}
.nav .menu li.active a.att-i06:before {background-image: url(../img/icon-att-nav06-active.png);}
.nav .menu li.active a.att-i07:before {background-image: url(../img/icon-att-nav07-active.png);}
.nav .menu li.active a.att-i08:before {background-image: url(../img/icon-att-nav08-active.png);}
.nav .menu li.active a.att-i09:before {background-image: url(../img/icon-att-nav09-active.png);}
.nav .menu li.active a.att-i10:before {background-image: url(../img/icon-att-nav10-active.png);}
.nav .menu li.active a.att-i11:before {background-image: url(../img/icon-att-nav11-active.png);}
.nav .menu li.active a.att-i12:before {background-image: url(../img/icon-att-nav12-active.png);}
.nav .menu li.active a.att-i13:before {background-image: url(../img/icon-att-nav13-active.png);}


.nav .menu .depth {display: none; position: relative; margin-top: 10px; padding: 0 15px 0 50px;}
.nav .menu > li.active .depth {display: block;}
.nav .menu .depth li {margin-top: 5px;}
.nav .menu .depth li a {padding: 3px 0;}
.nav .menu .depth li.active a {color: #3c5ef0;}

.nav .my {position: absolute; left: 0; bottom: 0; padding-top: 25px; padding-bottom: 25px; width: 100%; background-color: #fff;}
.nav .my li {margin-top: 5px;}
.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);}

.simply .nav {width: 90px;}
.simply .nav ul {padding-left: 20px; padding-right: 20px;}
.simply .nav li a span {display: none;}
.simply .nav > ul > li > a {padding-left: 0; width: 50px; overflow: hidden;}

.simply .menu .depth {display: none !important;}

@media (max-width: 1280px) {
  .nav {padding-top: 85px;}
}
@media (max-width: 1024px) {
  .nav {padding-top: 75px;}
}
@media (max-width: 768px) {
  .nav {display: none;}
  .nav.active {display: block;}
}


/* container */
.container {position: relative; padding: 120px 40px 80px 300px; min-height: 100vh; min-height: 100dvh; background-color: #f1f2f8; box-sizing: border-box;}
.simply .container {padding-left: 130px;}

.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 h3.title.color {color: #3c5ef0;}
.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,
.btn-passport {display: block; position: relative; padding-left: 26px; line-height: 20px; font-size: 16px; color: #5a5d74; border: 0; outline: none;}
.btn-passport {padding-left: 20px;}
.btn-memo:before,
.btn-print:before,
.btn-search:before,
.btn-certificate:before,
.btn-passport: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-passport:before {background-image: url(../img/icon-pencil.png);}
.btn-passport.delete:before {background-image: url(../img/icon-delete.png);}
.btn-memo span,
.btn-print span,
.btn-search span,
.btn-certificate span,
.btn-passport 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,
.btn-passport span.blind {margin-left: 0; border: 0;}

.btn-add {display: flex !important; gap: 5px; justify-content: center; align-items: center;}
.btn-add:before {display: block; content: ''; width: 12px; height: 12px; background: url(../img/icon-plus.png) center center no-repeat;}

@media (max-width: 1280px) {
  .container {padding-top: 110px;}
  .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-top: 100px;}
  .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,
  .btn-passport {padding-left: 20px; font-size: 15px;}
  .btn-passport {padding-left: 17px;}
  .btn-memo:before,
  .btn-print:before,
  .btn-search:before,
  .btn-passport:before {width: 20px; height: 20px; background-size: 20px auto !important;}
  .btn-passport:before {background-size: 15px auto !important;}
}
@media (max-width: 768px) {
  .container {padding-left: 20px; padding-right: 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 {text-align: right;}

  .btn-memo,
  .btn-print,
  .btn-search,
  .btn-passport {font-size: 14px;}
  .btn-memo:before,
  .btn-print:before,
  .btn-search:before,
  .btn-passport:before {width: 18px; height: 18px; background-size: 18px auto !important}
  .btn-passport:before {background-size: 15px 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; border-radius: 10px;}
.panel .board-box.i00 .txt:before {background-color: #4444af; background-image: url(../img/icon-board00.png);}
.panel .board-box.i01 .txt:before {background-color: #3c5ef0; background-image: url(../img/icon-board01.png);}
.panel .board-box.i02 .txt:before {background-color: #7f90d7; background-image: url(../img/icon-board02.png);}
.panel .board-box.i03 .txt:before {background-color: #a37ee7; background-image: url(../img/icon-board03.png);}
.panel .board-box.i04 .txt:before {background-color: #a8aab4; background-image: url(../img/icon-board04.png);}
.panel .board-box.i05 .txt:before {background-color: #d2858e; background-image: url(../img/icon-board05.png);}
.panel .board-box.i06 .txt:before {background-color: #44454c; background-image: url(../img/icon-board06.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,
.textarea::placeholder {color: #969bb5;}
.input:focus,
.select:focus,
.textarea:focus {border-color: #3c5ef0;}
.select option[value=""][disabled] {display: none;}
.textarea {height: 83px; resize: none;}

.input:disabled,
.input.disabled {color: #5a5d74 !important; background-color: #f1f2f8 !important;}

@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: 50%; right: 0; transform: translateY(-50%); 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; max-height: 175px; background-color: #fff; border: 0; border-radius: 4px; box-shadow: 0 0 24px 0.16px rgba(90, 102, 139, 0.15); z-index: 30; box-sizing: border-box; overflow-y: auto;}
.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;}
}


/* select - ul */
.ul-select {display: none; position: absolute; top: 100%; left: 0; margin-top: -10px; padding: 10px; width: 160px; background-color: #fff; border: 1px solid #7f90d7; border-radius: 5px; box-sizing: border-box; text-align: left;}
.ul-select.active {display: block; z-index: 10;}
.ul-select li a {display: block; padding: 8px 10px; line-height: 20px; border-radius: 4px; box-sizing: border-box;}
.ul-select li a:hover {background-color: #f1f2f8;}


/* 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; background-size: 18px 18px !important;}

.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: 5px; box-sizing: border-box; letter-spacing: -0.04em; 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.w140h36 {padding: 7px 5px; width: 140px; font-weight: 400;}
.button.w140h40,
.button.w140h50 {width: 140px;}
.button.w140h40 {padding: 9px 10px;}
.button.w140h50 {padding: 14px 10px; border-radius: 5px;}

.button.w180h40 {width: 180px; padding: 9px 10px;}
.button.w180h50,
.button.fullh50 {padding: 14px 10px; width: 180px; border-radius: 5px;}
.button.w180h50 {width: 180px;}
.button.fullh50 {width: 100%;}

.button.color {color: #fff; background-color: #3c5ef0; border-color: #3c5ef0;}
.button.color-no {color: #fff; background-color: #d96645; border-color: #d96645;}
.button.dark {color: #fff; background-color: #5a5d74; border-color: #5a5d74;}
.button.border {border-color: #969bb5;}
.button.point {color: #6a7fd6; border-color: #758fff;}

.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,
  .button.fullh50 {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: 80px;}
  .button.w140h40,
  .button.w140h50 {width: 90px;}
  .button.w180h50 {width: 130px;}

  .button.w80h50,
  .button.w140h50,
  .button.w180h50,
  .button.fullh50 {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 .row * {flex: none;}

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

.form .half .input,
.form .half .custom-select {max-width: calc(50% - 5px);}

.form .triple .input,
.form .triple .custom-select {max-width: calc(33.333333% - 6.666666px);}

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

.form.leave .input,
.form.leave .custom-select {max-width: calc(33.333333% - 30px);}
.form.leave .button {font-weight: 500; border-color: #969bb5;}

.form .input.i-calendar {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 {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 > 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;}

.form.upload .row,
.form.download .row {flex-wrap: wrap;}

.form .file-wrap {display: flex; gap: 10px; align-items: center;}
.form .file-wrap .btn-upload,
.form .file-wrap .btn-download {font-weight: 500; border-color: #969bb5;}
.form .file-wrap .file-box {max-width: calc(100% - 130px);}
.form .file-wrap .item {display: flex; align-items: center; position: relative; padding-right: 30px;  box-sizing: border-box;}
.form .file-wrap .btn-delete {display: block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 20px; height: 20px; border: 0; outline: none; z-index: 1;}
.form .file-wrap .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: 20px 20px;}

@media (max-width: 1280px) {
}
@media (max-width: 1024px) {
  .form.leave .row {flex-wrap: wrap;}
  .form.leave .input {max-width: calc(100% - 80px);}
  .form.leave .input.i-calendar {max-width: calc(50% - 5px);}

  .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 .half,
  .form .triple {flex-wrap: wrap;}
  .form .half .input,
  .form .half .custom-select,
  .form .triple .input,
  .form .triple .custom-select {width: 100%; max-width: 100%;}

  .form.leave .input {width: 100%; max-width: calc(100% - 70px);}
  .form.leave .input.i-calendar {width: 100%; max-width: 100%;}

  .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-head span.text span {position: relative;}
.table-head span.text span + span {margin-left: 10px; padding-left: 12px;}
.table-head span.text span + span:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); margin-top: 2px; width: 2px; height: 14px; background-color: #3a3c46;}

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

  .write-head > .row > div {width: inherit;}

  .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 {min-width: 100px; font-size: 16px;}
  .table-head .form.calendar > span.text {width: 100px;}

  .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; overflow-y: visible;}
.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 {position: relative; 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;}
.table .tb-text.fw500 {font-weight: 500;}
.table .tb-text.fwBold {font-weight: bold;}

/* 20241210 tb_center_style */
.table .tb_center_style {text-align: center;}

@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%;}

.table-write .photo {display: flex; gap: 50px; align-items: end; padding: 11px 0;}
.table-write .photo .left {position: relative;}
.table-write .photo .thumb {display: block; width: 100px; height: 100px; background: #f1f2f8 url(../img/profile-basic.png) center center no-repeat; border: 1px solid #d9dceb; border-radius: 50%; box-sizing: border-box; overflow: hidden;}
.table-write .photo .btn-camera {display: block; position: absolute; top: 68px; right: 0;}
.table-write .photo .btn-camera:before {display: block; content: ''; width: 32px; height: 32px; background: url(../img/icon-camera.png) center center no-repeat;}
.table-write .photo .button-wrap {display: flex; gap: 10px; margin-top: 5px;}

.table-write .sns > span {display: flex; gap: 10px; align-items: center; margin-top: 10px;}
.table-write .sns > span:first-child {margin-top: 0;}
.table-write .sns .button {display: flex; gap: 5px; justify-content: center; align-items: center; padding: 14px 10px; width: 160px; color: #3a3c46; border-color: #f1f2f8;}
.table-write .sns .button:before {display: block; content: ''; width: 18px; height: 18px; background-position: center center; background-repeat: no-repeat; background-size: 100% auto !important;}
.table-write .sns .button.microsoft:before {background-image: url(../img/icon-microsoft.png);}
.table-write .sns .button.google:before {background-image: url(../img/icon-google.png);}
.table-write .sns .btn-unlink {line-height: 20px; font-size: 16px; color: #3c5ef0; border-bottom: 1px solid #3c5ef0;}

.table-write .leave {padding: 8px 0;}
.table-write .leave li {margin-top: 8px;}
.table-write .leave li:first-child {margin-top: 0;}
.table-write .leave .tb-text {padding: 0;}

.table-write-flex .tr {display: flex;}
.table-write-flex .tr .col {flex: 1; flex-wrap: wrap; width: inherit;}
.table-write-flex .th,
.table-write-flex .td {justify-content: center; padding: 9px 20px; width: 100% !important; border-left: 0 !important; border-right: 0 !important;}
.table-write-flex .th {border-bottom: 1px solid #c0c2d0 !important;}

@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: #f9f9fc;}
.table .list tr.on td .tb-text,
.table .list tr.on td a.link {color: #3c5ef0;}
.table .list tr.on td a.link {border-bottom-color: #3c5ef0;}
.table .list th,
.table .list td {text-align: center;}

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

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

.table .list .ul-button {display: flex; justify-content: end; align-items: center;}
.table .list .ul-button li {position: relative; margin-left: 10px; padding-left: 11px; color: #a8aab4;}
.table .list .ul-button li:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); margin-top: 1px; width: 1px; height: 10px; background-color: #a8aab4;}
.table .list .ul-button li:first-child {margin-left: 0; padding-left: 0;}
.table .list .ul-button li:first-child::before {display: none !important;}

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



/* table - list group */

.table .list th.arrow,
.table .list td.arrow {width: 50px; text-align: center !important;}

.table .list th.area,
.table .list td.area {width: 120px;}

.table .list tr.group .btn-arrow {display: inline-block; position: relative; width: 20px; height: 20px; vertical-align: top;}
.table .list tr.group .btn-arrow:before {display: block; content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 16px; height: 16px; background: url(../img/icon-group.png) center center no-repeat;}
.table .list tr.group.on .btn-arrow:before {background-image: url(../img/icon-group-checked.png);}
.table .list tr.group.open .btn-arrow:before {background-image: url(../img/icon-group-open.png);}
.table .list tr.group.open.on .btn-arrow:before {background-image: url(../img/icon-group-open-checked.png);}

.table .list tr.team {display: none;}
.table .list tr.team.open {display: table-row;}

.table .list tr.team td {border-bottom: 0;}
.table .list tr.team.last td {border-bottom: 1px solid #c0c2d0;}
.table .list tr.team .tb-text {padding: 0;}
.table .list tr.team.first td {padding-top: 17px;}
.table .list tr.team.last td {padding-bottom: 17px;}

.table .list tr.team.first.last td {padding-top: 15px; padding-bottom: 15px;}

.table .list tr.team:hover td,
.table .list tr.team.on td {background-color: #fff;}

.table .list tr.team .branch .tb-text {position: relative; padding-left: 15px !important;}
.table .list tr.team .branch .tb-text:before {display: block; content: ''; position: absolute; top: 3px; left: 0; width: 10px; height: 10px; background: url(../img/icon-branch.png) 0 0 no-repeat;}
.table .list tr.team.on .branch .tb-text:before {background-image: url(../img/icon-branch-active.png);}

.table .list .button-wrap {display: flex; justify-content: end; align-items: center;}




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

.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 10px 30px; width: 420px; text-align: center; z-index: 161;}

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

.popup #daum_juso_pagemb_zip {padding: 40px 20px 20px;}
.popup #daum_juso_pagemb_zip .btn-close {display: block; position: absolute; width:16px; height:16px; top: 10px; right: 5px; border: 0; outline: none; box-sizing: border-box; cursor: pointer;}

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

.popup .popup-box .btn-close {top: 28px; right: 13px;}

.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 .popup-box h3.title {padding-bottom: 30px; border-bottom: 1px solid #d9dceb;}
.popup .alert-box h3.title {margin-bottom: 30px; font-weight: 400;}

.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; padding-bottom: 0; border-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-box .bottom {justify-content: end;}

.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; gap: 10px; 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: 110px; font-size: 18px; color: #3a3c46;}
.popup .form-wrap .form {width: calc(100% - 120px);}

.popup .form-wrap .form .input,
.popup .form-wrap .custom-select .select-selected {padding: 14px 10px; width: 100%; border-radius: 5px;}
.popup .form-wrap .custom-select {width: 100%;}
.popup .form-wrap .custom-select .select-selected:after {right: 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: 160px; max-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;}

.popup .shift .left {width: 140px;}
.popup .shift .right {position: relative; width: calc(100% - 150px); box-sizing: border-box;}

.popup .shift .shift-head {display: flex; gap: 10px; margin-bottom: 10px;}
.popup .shift .shift-head .text {font-size: 18px; color: #3a3c46; font-weight: 400;}

.popup .shift .add .right {padding-right: 90px;}
.popup .shift .add .right .btn-add {position: absolute; top: 0; right: 0; font-weight: 400;}

.popup .shift .form-wrap + .form-wrap {margin-top: 10px;}
.popup .shift .form-wrap .form {width: 100%;}

.popup .shift .time {display: flex; gap: 17px; background-color: #fff; border: 1px solid #d9dceb; border-radius: 5px; box-sizing: border-box;}
.popup .shift .time:focus-within {border-color: #3c5ef0;}
.popup .shift .time span {display: block; position: relative; box-sizing: border-box;}
.popup .shift .time span:first-child {width: 110px;}
.popup .shift .time span:last-child {width: calc(100% - 127px);}
.popup .shift .time span:last-child::before {display: block; content: ''; position: absolute; top: 50%; left: -17px; transform: translateY(-50%); width: 17px; height: 7px; background: url(../img/icon-shift-time.png) center center no-repeat;}
.popup .shift .time .input {border: 0;}

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

/* tab-menu 241104 */
.tab-nav {}
.tab-nav li {display: inline-block; padding-bottom: 30px; margin-bottom: 20px; text-align: center;}
.tab-nav li a {margin-bottom: 20px; color: #3a3c46; line-height: 2; font-size: 22px; letter-spacing: -0.02em;}
.tab-nav > li > a.active {color: #ffffff !important; background-color: #3c5ef0; border-radius: 7px; height: 50px}
.tab-nav .tab-title:before {padding: 13px 15px 13px 50px;}
.tab-nav li a.active:before{background: #3c5ef0}
.tab-nav li a {position:relative; display: block; padding: 0 30px}
.tab-content {display: none;}
.tab-content.active {display: block;}

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



/* app */
.app-header {display: block; position: fixed; top: 0; left: 0; padding: 0 15px; width: 100%; background-color: #fff; z-index: 100; box-sizing: border-box;}
.app-header .title {display: flex; justify-content: center; align-items: center; height: 56px; line-height: 1; font-size: 18px; color: #3a3c46; font-weight: 500;}
.app-header .prev {display: block; position: absolute; top: 0; left: 0; width: 50px; height: 56px; z-index: 10;}
.app-header .prev:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-header-prev.png) center center no-repeat; background-size: 10px auto;}

.app-header .close {display: block; position: absolute; top: 0; left: 0; width: 50px; height: 56px; z-index: 10;}
.app-header .close:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-header-close.png) center center no-repeat; background-size: 16px auto;}

.app-header .setting {display: block; position: absolute; top: 0; right: 0; width: 50px; height: 56px; z-index: 10;}
.app-header .setting:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-header-setting.png) center center no-repeat; background-size: 20px auto;}

.app-header .notification {display: block; position: absolute; top: 0; right: 0; width: 50px; height: 56px; z-index: 10;}
.app-header .notification:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-header-notification.png) center center no-repeat; background-size: 20px auto;}
.app-header .notification.active:before {background-image: url(../img/icon-header-notification-active.png);}

.app-nav {position: fixed; bottom: 0; left: 0; width: 100%; background-color: #fff; border-top: 1px solid #d9dceb; z-index: 100;}
.app-nav ul {display: flex;}
.app-nav li {flex: 1; text-align: center;}
.app-nav button {display: block; position: relative; padding: 11px 10px; width: 100%; text-align: center; box-sizing: border-box;}
.app-nav button:before {display: block; content: ''; margin-bottom: 3px; width: 100%; height: 22px; background-position: center center; background-repeat: no-repeat; background-size: auto 100%;}

.app-nav button.home:before {background-image: url(../img/icon-bottom-nav-home.png);}
.app-nav button.cal:before {background-image: url(../img/icon-bottom-nav-cal.png);}
.app-nav button.my:before {background-image: url(../img/icon-bottom-nav-my.png);}
.app-nav button.setting:before {background-image: url(../img/icon-bottom-nav-setting.png);}
.app-nav button span {display: block; line-height: 22px; font-size: 12px;}

.app-nav li.active button.home:before {background-image: url(../img/icon-bottom-nav-home-active.png);}
.app-nav li.active button.cal:before {background-image: url(../img/icon-bottom-nav-cal-active.png);}
.app-nav li.active button.my:before {background-image: url(../img/icon-bottom-nav-my-active.png);}
.app-nav li.active button.setting:before {background-image: url(../img/icon-bottom-nav-setting-active.png);}
.app-nav li.active button span {color: #3c5ef0;}

.app .switch {position: relative;}
.app .switch input {position: absolute; appearance: none; -webkit-appearance: none; -moz-appearance: none;}
.app .switch_label {display: inline-block; position: relative; width: 60px; height: 30px; background-color: #c0c2d0; border: 0; border-radius: 20px; box-sizing: border-box; transition: 0.2s; cursor: pointer;}
.app .switch .onf_btn {display: inline-block; position: absolute; top: 2px; left: 2px; width: 26px; height: 26px; background: #fff; border-radius: 50%; transition: 0.2s;}
.app .switch input:checked + .switch_label {background-color: #3c5ef0;}
.app .switch input:checked + .switch_label .onf_btn {left: 32px;}

.app main {padding: 56px 15px 70px; min-height: 100dvh; background-color: #fff; box-sizing: border-box;}

.app .div {padding: 30px 0;}
.app .complete .div {padding: 100px 0;}

.app .txt {margin-bottom: 40px;}
.app .txt2 {margin-bottom: 20px;}

.app .complete .txt {text-align: center;}
.app .complete .txt:before {display: block; content: ''; margin: 0 auto 30px; width: 70px; height: 70px; background: url(../img/icon-complete.png) center center no-repeat; background-size: 100% auto;}

.app h3.title {margin-bottom: 20px; line-height: 1.1; font-size: 24px; color: #3a3c46; font-weight: 500; letter-spacing: -0.02em;}

.app .text {line-height: 1.4; font-size: 16px; color: #5a5d74; font-weight: 400; letter-spacing: -0.01em;}

.app ul.text {margin-bottom: 50px;}
.app ul.text li {position: relative; margin-top: 5px; padding-left: 10px;}
.app ul.text li:before {display: block; content: '˙'; position: absolute; top: 0; left: -5px; line-height: 1.2; font-size: 16px; color: #5a5d74; font-weight: 400;}
.app ul.text li:first-child {margin-top: 0;}

.app .send {margin: 70px 0 30px; text-align: center;}
.app .send .text {font-size: 18px; color: #3a3c46; font-weight: 500; border-bottom: 1px solid #3a3c46;}

.app .form {margin-bottom: 15px;}
.app .form2 {margin: 30px 0;}
.app .label {display: block; margin-bottom: 12px; line-height: 1.2; font-size: 16px; color: #3a3c46; font-weight: 500;}
.app .label.mt30 {margin-top: 30px;}

.app .input-wrap {display: block; position: relative; margin-bottom: 10px;}
.app .input,
.app .select,
.app .textarea {padding: 12px 15px; width: 100%; line-height: 24px; font-size: 16px;}
.app .textarea {height: 250px;}
.app .error .input {border-color: #ff4e4e;}
.app .custom-select {width: 100%;}
.app .custom-select .select-selected {padding: 12px 30px 12px 15px; line-height: 24px; font-size: 16px;}

.app .input-wrap.flex {display: flex; gap: 10px;}
.app .input-wrap.flex .button {width: 120px;}

.app .form .text {font-size: 14px;}
.app .form .text.ok,
.app .form .text.error {display: block;}
.app .form .text.ok,
.app .form .text-o {color: #31b34d;}
.app .form .text.error,
.app .form .text-x {color: #ff4e4e;}
.app .form .text-o,
.app .form .text-x {position: absolute; top: 0; right: 0; padding: 12px 15px; line-height: 24px; font-size: 16px; z-index: 5;}

.app .button-wrap {display: flex; gap: 10px; margin-bottom: 20px;}
.app .button {display: block; position: relative; padding: 12px 15px; width: 100%; line-height: 24px; font-size: 16px; text-align: center;}
.app .button.more:before {display: inline-block; content: ''; margin-right: 5px; width: 12px; height: 12px; background: url(../img/icon-button-more.png) center center no-repeat; background-size: 12px auto;}

.app .app-join .bottom {text-align: center;}
.app .app-join .bottom a {font-size: 16px; color: #969bb5;}
.app .app-join .bottom ul {display: flex; justify-content: center; align-items: center;}
.app .app-join .bottom li {position: relative; padding: 0 15px;}
.app .app-join .bottom li:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 1px; height: 12px; background-color: #969bb5;}
.app .app-join .bottom li:first-child::before {display: none;}

.app .app-join .btn-link {position: relative; padding-right: 15px;}
.app .app-join .btn-link:after {display: block; content: ''; position: absolute; top: 0; right: 0; width: 10px; height: 100%; background: url(../img/icon-btn-link.png) center 58% no-repeat; background-size: 7px auto;}

.app .app-join-main .div {padding: 40px 0;}
.app .app-join-main .form {margin-bottom: 30px;}
.app .app-join-main .txt {text-align: center;}
.app .app-join-main .logo {position: relative;}
.app .app-join-main .logo:before {display: block; content: ''; margin: 0 auto 20px; width: 60px; height: 30px; background: url(../img/logo-jjikgo.png) center center no-repeat; background-size: 100% auto;}
.app .app-join-main .check-box {display: block; margin-top: 15px;}
.app .app-join-main .check-box input + label {padding-left: 25px !important; line-height: 24px; font-size: 15px; color: #5a5d74; font-weight: 500; cursor: pointer;}

.app .app-mypage .info-box {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: 15px; padding: 35px 15px 30px; background-color: #f1f2f8; border-radius: 23px; box-sizing: border-box;}
.app .app-mypage .info-box .id {display: block; margin-bottom: 10px; width: 100%; line-height: 1.2; font-size: 14px; color: #969bb5;}
.app .app-mypage .info-box .name {display: block; max-width: calc(100% - 110px); line-height: 1.1; font-size: 24px; color: #3a3c46; font-weight: 500;}
.app .app-mypage .info-box .button {padding: 6px 10px; width: 90px; font-size: 14px; border-radius: 30px;}

.app .short-list ul {line-height: 1.2; font-size: 16px; color: #3a3c46; font-weight: 500;}
.app .short-list + .short-list {margin-top: 10px; padding-top: 10px; border-top: 1px solid #d9dceb;}
.app .short-list li {display: flex; justify-content: space-between; align-items: center; margin-top: 5px; height: 50px;}
.app .short-list li:first-child {margin-top: 0 !important;}

.app .short-list a.arrow {display: flex; align-items: center; position: relative; width: 100%; height: 50px;}
.app .short-list a.arrow:after {display: block; content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 14px; height: 29px; background: url(../img/icon-list-arrow.png) right center no-repeat; background-size: auto 17px;}

.app .short-list li.new em:after {display: inline-block; content: ''; margin-left: 3px; width: 5px; height: 5px; background-color: #ff4e4e; border-radius: 50%; vertical-align: top;}
.app .short-list span {color: #969bb5; font-weight: 400;}
.app .short-list em span {margin-left: 5px;}
.app .short-list .update {color: #3c5ef0; font-weight: 500;}

.app .basic-list {margin: -20px 0 20px;}
.app .basic-list ul {line-height: 1.2; font-size: 16px; color: #3a3c46; font-weight: 400;}
.app .basic-list li {border-bottom: 1px solid #d9dceb;}
.app .basic-list a {display: block; padding: 20px 0;}
.app .basic-list strong {display: block; margin-bottom: 5px; font-size: 17px; font-weight: 500;}
.app .basic-list span {display: block; color: #a8aab4;}

.app .basic-view {position: relative; padding-bottom: 100px;}
.app .basic-view .top {margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #d9dceb;}
.app .basic-view .title {display: block; margin-bottom: 10px; line-height: 1.2; font-size: 22px; color: #3a3c46; font-weight: 500;}
.app .basic-view .date {line-height: 1.2; font-size: 16px; color: #a8aab4; font-weight: 400;}

.app .basic-view .cont {line-height: 1.4; font-size: 16px; color: #3a3c46; font-weight: 400; letter-spacing: -0.01em;}
.app .basic-view .cont p {margin-bottom: 30px;}
.app .basic-view .cont em {font-weight: 500;}
.app .basic-view .cont strong {display: block; margin-bottom: 15px; font-size: 18px; font-weight: 500;}

.app .basic-view .bottom {position: fixed; left: 0; bottom: 70px; width: 100%; border-top: 1px solid #c0c2d0;}
.app .basic-view .bottom a {display: flex; gap: 10px; justify-content: space-between; align-items: center; padding: 0 15px; width: 100%; height: 60px; font-size: 16px; color: #3a3c46; font-weight: 400; background-color: #f1f2f8; box-sizing: border-box; overflow: hidden;}
.app .basic-view .bottom a em {display: block; max-width: calc(100% - 88px); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.app .basic-view .bottom a span {color: #a8aab4;}

.app .app-company {background-color: #f1f2f8;}

.app .company-list {display: flex; flex-wrap: wrap; align-content: space-between; position: relative; min-height: calc(100dvh - 186px); box-sizing: border-box;}
.app .company-list ul {padding-bottom: 100px; width: 100%;}
.app .company-list li {margin-bottom: 20px;}
.app .company-list .box {position: relative; background-color: #fff; border-radius: 10px; box-shadow: 5px 5px 10px 3px #e5e8f7; box-sizing: border-box;}
.app .company-list .box:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 80px; height: 100%; background: url(../img/icon-company.png) center center no-repeat; background-size: 40px auto;}

.app .company-list .info {display: flex; flex-wrap: wrap; align-content: center; justify-content: space-between; padding: 15px 15px 15px 80px; height: 100px; line-height: 1.2; font-size: 16px; color: #3a3c46; box-sizing: border-box;}
.app .company-list .info strong {display: block; margin-bottom: 10px; width: 100%; line-height: 1.1; font-size: 20px; font-weight: 500;}
.app .company-list .info span {color: #969bb5;}
.app .company-list .info span.ing {color: #3c5ef0;}
.app .company-list .info span.end {color: #ff4e4e;}

.app .company-list .resign {position: relative; color: #5a5d74; font-weight: 500;}
.app .company-list .resign:after {display: inline-block; content: ''; margin-left: 5px; width: 12px; height: 100%; background: url(../img/icon-button-arrow.png) center center no-repeat; background-size: auto 12px; vertical-align: top;}

.app .company-list .bottom {display: flex; align-items: center; justify-content: center; position: fixed; left: 0; bottom: 70px; width: 100%; height: 70px; background-color: #f1f2f8;}
.app .company-list .button.more {width: initial; border: 0; border-radius: 0;}

.app .company-list .text {width: 100%;}

.app .company-status {display: flex; align-items: center; justify-content: center; margin: -30px -15px; padding: 30px 15px; height: calc(100dvh - 126px); background-color: #fff; box-sizing: border-box;}
.app .company-status .info {line-height: 1.4; font-size: 16px; color: #5a5d74; font-weight: 400; text-align: center;}
.app .company-status .info:before {display: block; content: ''; margin: 0 auto 30px; width: 100px; height: 70px; background: url(../img/icon-company.png) center center no-repeat; background-size: auto 100%;}
.app .company-status .info strong {display: block; margin-bottom: 15px; line-height: 1.1; font-size: 26px; color: #3a3c46; font-weight: 500;}

.app .device .box {position: relative; margin-bottom: 30px; padding: 40px 15px; border: 1px solid #d9dceb; border-radius: 10px; box-sizing: border-box;}
.app .device .box:before {display: block; content: ''; margin: 0 auto 20px; width: 100px; height: 70px; background: url(../img/icon-device.png) center center no-repeat; background-size: auto 100%;}
.app .device .box .info {line-height: 1.2; font-size: 16px; color: #5a5d74; font-weight: 400; text-align: center;}
.app .device .box .info strong {display: block; margin-bottom: 10px; line-height: 1.1; font-size: 26px; color: #3a3c46; font-weight: 500;}
.app .device .box .info span {color: #969bb5;}

.app .app-home {background-color: #3c5ef0;}

.app .app-home .work .info {line-height: 1.4; font-size: 16px; color: #5a5d74; font-weight: 400; text-align: center;}
.app .app-home .work .info .company {display: block; margin-bottom: 30px; line-height: 1.1; font-size: 26px; color: #fff; font-weight: 500;}
.app .app-home .work .info .company a {display: inline-block; position: relative; padding-right: 30px;}
.app .app-home .work .info .company a:after {display: block; content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 16px; height: 16px; background: url(../img/icon-company-more.png) center center no-repeat; background-size: 16px auto;}
.app .app-home .work .info .date {color: #d5ddfe;}

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

.app .app-home .work-button {display: flex; justify-content: center; align-items: center; position: relative; margin: 30px auto 20px; width: 270px; height: 270px;}
.app .app-home .work-button:after {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../img/bg-work-button-2.png) center center no-repeat; background-size: 100% 100%; animation: rotate 5s infinite linear;}

.app .app-home .work-button button {display: block; width: 190px; height: 190px; line-height: 1.1; font-size: 18px; color: #516de7; font-weight: 500; background: url(../img/bg-work-button-1.png) center center no-repeat; background-size: 100% 100%; border-radius: 50%; box-shadow: 4px 7px 20px 5px #2e4add; z-index: 5;}
.app .app-home .work-button button .time {display: block; margin-top: 10px; font-size: 40px; color: #3a3c46;}

.app .app-home .work .button.etc {margin: 0 auto; padding: 10px; width: 120px; color: #fff; font-weight: 400; background-color: transparent; border-radius: 35px;}
.app .app-home .work .button.etc:after {display: inline-block; content: ''; margin-left: 5px; width: 12px; height: 12px; background: url(../img/icon-button-arrow-white.png) center center no-repeat; background-size: auto 12px;}

.app .app-home .bottom {position: fixed; bottom: 0; left: 0; padding: 30px 15px 100px; width: 100%; background-color: #fff; box-sizing: border-box; border-radius: 25px 25px 0 0; z-index: 10;}

.app .app-home .bottom .flex {display: flex; justify-content: space-between; align-items: center;}
.app .app-home .bottom .label {margin-bottom: 0; font-size: 18px;}
.app .app-home .bottom .status {position: relative; padding-left: 15px; line-height: 1.2; font-size: 16px; color: #0aba0e; font-weight: 500;}
.app .app-home .bottom .status:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); margin-top: 1px; width: 10px; height: 10px; background-color: #0aba0e; border-radius: 50%;}
.app .app-home .bottom ul {margin-top: 30px;}
.app .app-home .bottom li {display: flex; justify-content: space-between; align-items: center; position: relative; margin-top: 15px; padding-left: 45px; height: 36px; line-height: 1.2; font-size: 16px; color: #5a5d74; font-weight: 500;}
.app .app-home .bottom li:first-child {margin-top: 0 !important;}
.app .app-home .bottom li:before {display: block; content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 36px; height: 36px; background-position: center center; background-repeat: no-repeat; background-size: 36px auto;}
.app .app-home .bottom li.goto:before {background-image: url(../img/icon-gotowork.png);}
.app .app-home .bottom li.leave:before {background-image: url(../img/icon-leavework.png);}
.app .app-home .bottom li .time {color: #3a3c46;}

.app .check-box input + label {color: #3a3c46;}
.app .check-box input[type="radio"] + label {display: block; padding: 10px 28px 10px 0 !important; background: url(../img/icon-checkbox-circle.png) right 50% no-repeat; box-sizing: border-box; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.app .check-box input[type="radio"]:checked + label {color: #3c5ef0; background: url(../img/icon-checkbox-circle-checked.png) right 50% no-repeat;}

.app .check-wrap {display: flex; gap: 0 30px;}
.app .check-wrap .check-box input[type="radio"] + label {padding: 0 0 0 28px !important; background-position: left 50%; cursor: pointer;}
.app .check-wrap .check-box input[type="radio"]:checked + label {color: #3a3c46; background-position: left 50%;}

.app-popup {display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0;  padding: 30px; width: 100%; height: 100%; box-sizing: border-box; z-index: 105;}
.app-popup:before {display: block; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / 50%);}

.app-popup-box {position: relative; width: 100%; background-color: #fff; border-radius: 20px; z-index: 110;}

.app-popup-box .top {padding: 25px 50px 25px 20px; border-bottom: 1px solid #d9dceb;}

.app-popup-box .title {display: block; line-height: 1.1; font-size: 18px; color: #3a3c46; font-weight: 500;}
.app-popup-box .btn-close {display: block; position: absolute; top: 20px; right: 15px; width: 30px; height: 30px; border: 0; outline: none; box-sizing: border-box; cursor: pointer;}
.app-popup-box .btn-close:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-button-close.png) center center no-repeat; background-size: 16px auto;}

.app-popup-box .cont {padding: 20px;}
.app-popup-box .cont .title {margin-top: 10px; text-align: center;}
.app-popup-box .cont .text {text-align: center;}
.app-popup-box .cont .title + .text {margin-top: 20px;}
.app-popup-box .cont li {margin-top: 5px;}
.app-popup-box .cont li:first-child {margin-top: 0;}
.app-popup-box .button-wrap {margin: 20px 0 0;}
.app-popup-box .button-wrap .button {border-radius: 13px;}

.app .app-tab {height: 45px;}
.app .app-tab ul {display: flex; padding: 0 15px; width: 100%; height: 45px; background-color: #fff; border-bottom: 1px solid #d9dceb; box-sizing: border-box; z-index: 10;}
.app .app-tab.fixed ul {position: fixed; top: 56px; left: 0;}
.app .app-tab ul li {flex: 1; font-size: 16px; color: #969bb5; font-weight: 500;}
.app .app-tab ul li.active {color: #3a3c46;}
.app .app-tab ul li a {display: flex; justify-content: center; align-items: center; position: relative; height: 100%;}
.app .app-tab ul li.active a:after {display: block; content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background-color: #3c5ef0;}

.app .app-alarm {background-color: #f1f2f8;}
.app .app-alarm .div {padding-top: 20px;}

.app .alarm-list {display: flex; flex-wrap: wrap; align-content: space-between; position: relative; min-height: calc(100dvh - 186px); box-sizing: border-box;}
.app .alarm-date {margin-bottom: 15px; width: 100%; text-align: center;}
.app .alarm-list ul + .alarm-date {margin-top: 10px;}
.app .alarm-date .text {font-size: 15px; font-weight: 500;}
.app .alarm-list ul {width: 100%;}
.app .alarm-list li {margin-bottom: 10px;}
.app .alarm-list .box {position: relative; padding: 0 20px; background-color: #fff; border-radius: 10px; box-shadow: 5px 5px 10px 3px #e5e8f7; box-sizing: border-box;}

.app .alarm-list .info {display: flex; flex-wrap: wrap; align-content: center; justify-content: space-between; position: relative; padding: 20px 0 20px 50px; height: 100px; line-height: 1.2; font-size: 16px; color: #3a3c46; box-sizing: border-box;}
.app .alarm-list .info .cate {display: block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 40px; height: 40px; line-height: 40px; font-size: 12px; color: #fff; background-color: #000; border-radius: 50%; text-align: center;}
.app .alarm-list .info .cate.blue {background-color: #758fff;}
.app .alarm-list .info .cate.gray {background-color: #969bb5;}
.app .alarm-list .info strong {display: block; line-height: 1.1; font-size: 20px; font-weight: 500;}
.app .alarm-list .info span {color: #969bb5;}

.app .alarm-list .memo {position: relative; padding: 20px 0; color: #5a5d74; border-top: 1px solid #d9dceb;}
.app .alarm-list .memo .on-off {display: block; position: absolute; top: 20px; right: 0; width: 24px; height: 24px;}
.app .alarm-list .memo .on-off:before {display: block; content: ''; width: 100%; height: 100%; background: url(../img/icon-arrow.png) center center no-repeat; background-size: 14px auto !important;}
.app .alarm-list .memo.open .on-off:before {background-image: url(../img/icon-open-arrow.png);}
.app .alarm-list .memo .text {display: block; padding-right: 35px; height: 24px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.app .alarm-list .memo.open .text {height: auto; white-space: normal;}