/* *, */
*:after,
*:before {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
}
*,
:after,
:before {
  box-sizing: border-box;
}
:root {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  cursor: default;
  overflow-wrap: break-word;
  word-break: break-word;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  line-height: 1;
  --piston-font-color: #fff;
  -webkit-text-size-adjust: 100%;
}
body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
form,
fieldset,
legend,
input,
textarea,
button,
select {
  padding: 0;
  margin: 0;
}

html,
body {
  /* background: #21bfc9; */
  height: 100%;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui,
    Roboto, sans-serif;
  font-size: 15px;
  /* overflow: hidden;

  width: 100%;
  height: 100vh; */
}
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
button {
  border: 0 none;
  background: rgba(0, 0, 0, 0);
  outline: none;
}
a {
  color: #111;
  text-decoration: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body {
  word-break: break-all;
  background: #1c1c1c;
  color: #fff;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}
ul {
  list-style: none;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration {
  display: none;
}
input::-webkit-input-placeholder {
  color: #999;
  font-size: 15px;
  font-weight: 400;
}
input[type='time'] {
  font-size: 14px;
}
::-moz-placeholder {
  color: #999;
  font-size: 15px;
  font-weight: 400;
}
::placeholder {
  color: #999;
  font-size: 15px;
  font-weight: 400;
}
#wrap {
  min-width: 320px;
}
.native_scroll::-webkit-scrollbar {
  display: none;
}
h2 {
  font-size: 15px;
}
strong {
  font-weight: 700;
}
.plr_20 {
  padding-left: 20px;
  padding-right: 20px;
}
table caption {
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
input[type='radio'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  outline: none;
  background-image: url('../img/radio_off.svg');
  margin-right: 6px;
}
input[type='radio']:checked {
  background-image: url('../img/radio_on.svg');
}
.main_check .check {
  display: none;
}
/* 수정 - 변경 */
.main_check label::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url('../img/check_off.svg');
  float: left;
  margin-right: 6px;
}
/* 수정 - 변경 */
.main_check .check:checked + label::before {
  background-image: url('../img/check_on.svg');
}

.select_nor {
  width: 100%;
  border-radius: 4px;
  border: 1px solid #1a8cff;
  color: #fff;
  height: 36px;
  padding: 0 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url('../img/icon/select_arrow.svg') no-repeat bottom 50% right
    10px/12px auto #000000;
}

input[type='date']:disabled {
  background-color: #f3f6fb;
}
input[type='date'] {
  position: relative;
  width: 100%;
  height: 35px;
  padding: 0 10px;
  border-radius: 4px;
  border: 1px solid #6690cf;
  background: url('../img/icon/icon_data.svg') no-repeat bottom 50% right 10px/16px
    auto #000;
}

.inputClock {
  position: relative;
  width: 100%;
  height: 35px;
  padding: 0 10px;
  border-radius: 4px;
  border: 1px solid #6690cf;
  background: url('../img/icon/icon_clock.svg') no-repeat bottom 50% right 10px/16px
    auto #fff;
}

input[type='time']::-webkit-calendar-picker-indicator {
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0);
  color: rgba(0, 0, 0, 0);
}
input[type='date']::-webkit-clear-button,
input[type='date']::-webkit-inner-spin-button {
  display: none;
}
input[type='date']::-webkit-calendar-picker-indicator {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  color: rgba(0, 0, 0, 0);
}
/* 수정 */
.tooltip_wrap {
  padding: 0 20px;
  position: absolute;
  z-index: 999;
  max-width: 80%;
}
.tooltip_wrap .tooltip_box {
  position: relative;
  padding: 16px 40px 16px 16px;
  border: 1px solid #ccc;
  background-color: #fff;
  font-size: 12px;
  line-height: 18px;
}
.tooltip_wrap .tooltip_box > a {
  position: absolute;
  right: 10px;
  top: 10px;
}
.tooltip_wrap .tooltip_box .title {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}
.tooltip_wrap .tooltip_box > ul > li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 8px;
}
.tooltip_wrap .tooltip_box > ul > li:last-child {
  margin-bottom: 0px;
}
.tooltip_wrap .tooltip_box > ul > li .dot {
  position: absolute;
  top: 0;
  left: 0;
}
.tooltip_wrap .tooltip_box > ul > li .tool_text {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 5px;
}
.tooltip_wrap .tooltip_box > ul > li .tool_text:last-child {
  margin-bottom: 0;
}
.tooltip_wrap .tooltip_box > ul > li .tool_text dt {
  color: #666;
  width: 30%;
  display: table-cell;
  vertical-align: top;
  margin-right: 20px;
}
.tooltip_wrap .tooltip_box > ul > li .tool_text dd {
  width: 70%;
  font-weight: 500;
  display: table-cell;
  vertical-align: top;
}
/* 수정 */
/* .tool_soldier {
    top: 171px;
    right: 0
} */
/* 수정 */
/* .tool_reserve {
  top: 221px;
  right: 0
} */
input[type='text']:disabled {
  background-color: #f3f6fb;
}
.input_nor {
  width: 100%;
  height: 35px;
  padding: 0 10px;
  background-color: #000;
  border-radius: 4px;
  border: 1px solid #6690cf;
  color: #fff;
}
.btn_gray {
  height: 48px;
  width: 100%;
  font-weight: 700;
  color: #fff;
  background-color: #999;
  border-radius: 5px;
  padding: 15px 0 14px 0;
}
.btn_off {
  height: 48px;
  width: 100%;
  font-weight: 700;
  color: #fff;
  background-color: #000000;
  border-radius: 5px;
  padding: 15px 0 14px 0;
}
.btn_line {
  height: 36px;
  width: 100%;
  font-weight: 500;
  color: #ee4532;
  background-color: #fff;
  border: 1px solid #bec2d2;
  border-radius: 5px;
  padding: 6px 0 5px 0;
}
.btn_line_gray {
  height: 36px;
  width: 100%;
  font-weight: 500;
  color: #111;
  background-color: #fff;
  border: 1px solid #dee0e9;
  border-radius: 5px;
  padding: 6px 0 5px 0;
}
.btn_on {
  height: 48px;
  width: 100%;
  font-weight: 700;
  color: #fff;
  background-color: #000000;
  border-radius: 5px;
  padding: 15px 0 14px 0;
}
.btn_s_off {
  height: 36px;
  display: inline-block;
  background-color: #d0301e;
  border-radius: 4px;
  padding: 0 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
/* 수정 - 추가 */
.btn_red {
  border-radius: 4px;
  border: 1px solid #be2d28;
  font-size: 12px;
  font-weight: 700;
  color: #be2d28;
  padding: 8px 12px 6px 12px;
}
/* 수정 */
.btn_line_more {
  /* border-radius: 99px; */
  border-radius: 5px;
  border: 1px solid #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  padding: 10px 40px 8px 40px;
}
.bottom_btn {
  display: flex;
  justify-content: center;
  gap: 8px;
}
/* 수정 */
.bottom_btn .btn_off {
  width: 50%;
}
.bottom_btn .btn_gray {
  width: 50%;
}
.nav_wrap {
  position: fixed;
  z-index: 10;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.05);
}
.nav_wrap .n_bar_box {
  display: flex;
  justify-content: space-between;
  padding: 10px 20px;
}
.nav_wrap .n_bar_box .n_bar_item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #26336a;
}
.nav_wrap .n_bar_box .n_bar_item a .n_bar_text {
  font-size: 10px;
}
.nav_wrap .n_bar_box .bar_text_on {
  font-weight: 700;
}
.nav_wrap .n_bar_box .n_bar_qr {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(0deg, #26346a 0%, #4b65d0 100%);
  margin-top: -21px;
  padding-top: 12px;
}
.nav_wrap .n_bar_box .n_bar_qr .n_bar_text {
  font-weight: 700;
  color: #fff;
}
.nav_wrap .n_bar_box .n_bar_qr_on {
  background: linear-gradient(0deg, #425ab9 0%, #4bb8d0 100%);
}
.toggle_btn {
  width: 42px;
  height: 26px;
  position: relative;
  display: inline-block;
}
.toggle_checkbox {
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle_label {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #c6c8d5;
  transition: 0.4s;
  border-radius: 13px;
}
.toggle_label:before {
  position: absolute;
  content: '';
  height: 22px;
  width: 22px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  transition: 0.4s;
  border-radius: 50%;
}
.toggle_checkbox:checked + .toggle_label {
  background-color: #1a8cff;
}
.toggle_checkbox:checked + .toggle_label:before {
  transform: translateX(16px);
}
.green {
  color: #fff;
  background-color: #0ee263;
}
.yellow {
  color: #fff;
  background-color: #febe76;
}
.red {
  color: #fff;
  background-color: #f66425;
}
.blue {
  color: #fff;
  background-color: #52619f;
}
.darkred {
  color: #fff;
  background-color: #b14744;
}
.gray {
  color: #fff;
  background-color: #999;
}
/* 수정 추가 */
.lightblue {
  color: #fff;
  background-color: #c2d3ec;
}
/* 수정 추가 */
.kred {
  color: #fff;
  background-color: #a40f16;
}
/* 수정 추가 */
.kblue {
  color: #fff;
  background-color: #0d326f;
}
.sch_wrap {
  position: relative;
  height: 48px;
  padding: 1px;
  border-radius: 24px;
  box-sizing: border-box;
  border: 1px solid #26336a;
  /* margin-bottom: 24px; */
  margin-bottom: 15px;
}
.sch_wrap .sch_inner {
  position: relative;
  /* padding-left: 52px; */
  padding-left: 20px;
  overflow: hidden;
}
.sch_wrap .sch_inner .sch_mic {
  position: absolute;
  top: 0;
  left: 0;
  padding: 9px 0 9px 20px;
}
.sch_wrap .sch_inner .sch_mic:after {
  content: '';
  position: absolute;
  left: 47px;
  top: 10px;
  width: 1px;
  height: 24px;
  background-color: #eee;
}
.sch_wrap .sch_inner .sch_input_wrap {
  padding: 0 75px 0 8px;
  margin-right: 9px;
}
/* 수정 */
.sch_wrap .sch_inner .sch_input_wrap .sch_input {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 24px;
  padding: 10px 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  line-height: 22px;
  color: #26336a;
  /* font-weight: 700; */
  border: 0;
  outline: rgba(0, 0, 0, 0);
  background: 0 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-overflow: ellipsis;
  box-sizing: content-box;
}
.sch_wrap .sch_inner .sch_input_wrap .sch_btn_reset {
  position: absolute;
  top: 4px;
  right: 50px;
  display: none;
  z-index: 10;
  padding: 8px 12px;
  border: 0;
}
.sch_wrap .sch_inner .sch_input_wrap .sch_btn_reset img {
  width: 20px;
  height: 20px;
}
.sch_wrap .sch_inner .sch_btn_wrap {
  position: absolute;
  top: 0;
  right: 4px;
  z-index: 10;
}
.sch_wrap .sch_inner .sch_btn_wrap .sch_btn {
  padding: 10px 20px 10px 0;
}
/* 수정 */
.calendar_area .calendar_month.common .calendar_date.selected {
  border-radius: 10px;
  color: red !important;
  background-color: #000000;
  font-weight: bold;
}
/* 수정 */
.calendar_area .calendar_month.common .calendar_date.selected .text,
.calendar_area .calendar_month.common .calendar_date.selected .num {
  /* color: #fff; */
  color: #a40f16;
}
/* 수정 추가 */
.calendar_area .calendar_month.common .calendar_date.choiceDay {
  border-radius: 10px;
  color: #fff;
  background-color: #1a8cff;
}
/* 수정 추가 */
.calendar_area .calendar_month.common .calendar_date.choiceDay .text,
.calendar_area .calendar_month.common .calendar_date.choiceDay .num {
  color: #fff;
}
/* 수정 추가 */
.calendar_area .calendar_month.common .calendar_date.reserved {
  border-radius: 10px;
  color: #fff;
  background-color: #e0e0e0;
}
/* 수정 추가 */
.calendar_area .calendar_month.common .calendar_date.reserved .text,
.calendar_area .calendar_month.common .calendar_date.reserved .num {
  color: #fff;
}
.calendar_area .calendar_month {
  word-wrap: break-word;
  word-break: break-word;
}
.calendar_area .calendar_month .calendar_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 130px;
  margin: 0 auto 24px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #1a8cff;
}
.calendar_area .calendar_month .calendar_title .btn_prev,
.calendar_area .calendar_month .calendar_title .btn_next {
  padding: 2px 4px 5px 4px;
}
.calendar_area .calendar_month .calendar_title .btn_prev .dis_arrow,
.calendar_area .calendar_month .calendar_title .btn_next .dis_arrow {
  opacity: 0.3;
}
.calendar_area .calendar_month .calendar_table {
  table-layout: fixed;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.calendar_area .calendar_month .calendar_table .calendar_header {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.calendar_area .calendar_month .calendar_table .calendar_body td {
  position: relative;
  height: 50px;
}
.calendar_area .calendar_month .calendar_table .calendar_body:before {
  content: '';
  display: table-row;
  height: 12px;
}
.calendar_area .calendar_month .calendar_table .calendar_body .calendar_date {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
}
.calendar_area
  .calendar_month
  .calendar_table
  .calendar_body
  .calendar_date
  .num {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  font-weight: 500;
}
.calendar_area
  .calendar_month
  .calendar_table
  .calendar_body
  .calendar_date
  .text {
  display: block;
  font-size: 9px;
  line-height: 12px;
}
.calendar_area
  .calendar_month
  .calendar_table
  .calendar_body
  .calendar_date
  .dot_wrap {
  display: flex;
  gap: 4px;
}
.calendar_area
  .calendar_month
  .calendar_table
  .calendar_body
  .calendar_date
  .dot_wrap
  .dot {
  display: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.calendar_area
  .calendar_month
  .calendar_table
  .calendar_body
  .calendar_date
  .dot_wrap
  .dot_inline_block {
  display: inline-block;
}
.calendar_area .calendar_date.dayoff .num {
  color: #fc4c4e;
}
.calendar_area .calendar_date.dayoff .text {
  color: #ccc;
}
.calendar_area .calendar_date.unselectable .num,
.calendar_area .calendar_date.unselectable .text {
  color: #ccc;
}
#lgoin_wrap {
  padding-left: 20px;
  padding-right: 20px;
}
#lgoin_wrap #header .btn_close {
  text-align: right;
  padding-top: 20px;
}
#lgoin_wrap #header .btn_close img {
  display: inline-block;
}
#lgoin_wrap #container {
  text-align: center;
}
#lgoin_wrap #container .login_logo_wrap {
  margin-bottom: 32px;
}
#lgoin_wrap #container .login_logo_wrap img {
  display: inline-block;
  padding-right: 10px;
}
#lgoin_wrap #container .login_from {
  padding-bottom: 80px;
}
#lgoin_wrap #container .login_from .info_text {
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  margin-bottom: 15px;
}
#lgoin_wrap #container .login_box .login_input {
  margin-bottom: 20px;
}
#lgoin_wrap #container .login_box .login_input .login_item .input_text,
#lgoin_wrap #container .login_box .login_input .login_item .input_password {
  width: 100%;
  color: #26336a;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  padding: 13px 20px;
  border: 1px solid #6690cf;
  border-radius: 5px;
}
#lgoin_wrap #container .login_box .login_input .login_item .input_text {
  margin-bottom: 10px;
}
#lgoin_wrap #container .login_box .login_btn .btn_check {
  margin-bottom: 10px;
}
#lgoin_wrap #container .login_box .login_btn .login_sns {
  display: flex;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}
#lgoin_wrap #container .login_box .login_btn .login_sns .login_kakao,
#lgoin_wrap #container .login_box .login_btn .login_sns .login_naver {
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 15px 0;
  border-radius: 5px;
  line-height: 16px;
}
#lgoin_wrap #container .login_box .login_btn .login_sns .login_kakao {
  background-color: #fae100;
  color: #4f3738;
}
#lgoin_wrap #container .login_box .login_btn .login_sns .login_naver {
  background-color: #1ed21d;
  color: #fff;
}
#lgoin_wrap #container .login_set {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#lgoin_wrap #container .login_set .find_wrap li {
  display: inline-block;
}
#lgoin_wrap #container .login_set .find_wrap li a {
  color: #ee4532;
}
#lgoin_wrap #container .login_set .find_wrap li:first-child:after {
  content: '';
  display: inline-block;
  height: 12px;
  padding-left: 12px;
  border-right: 1px solid #d4d6e1;
}
#lgoin_wrap #container .login_set .find_wrap li:last-child {
  padding-left: 7px;
}
#lgoin_wrap #container .login_info {
  text-align: left;
  border-radius: 10px;
  border: 1px solid#000000;
  padding: 20px;
}
#lgoin_wrap #container .login_info .title {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 10px;
}
/* 수정 */
/* #lgoin_wrap #container .login_info li:first-child {
  margin-bottom: 20px;
} */
#lgoin_wrap #container .login_info .text,
#lgoin_wrap #container .login_info .sub_text {
  font-size: 12px;
  color: #f1f1f1;
}
#lgoin_wrap #container .login_info .text {
  display: block;
  margin-bottom: 4px;
  font-weight: 700;
}
#lgoin_wrap #container .login_info .text:before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #666;
  margin-right: 6px;
  vertical-align: middle;
}
#lgoin_wrap #container .login_info .sub_text {
  line-height: 20px;
}
.default_wrap {
  max-width: 440px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 12px;
  font-weight: 500;
  padding-top: 0px;
  padding-bottom: 0px;
  -webkit-overflow-scrolling: touch;
}
.default_wrap .default_box {
  display: inline-flex;
  min-width: 100%;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto; /* 중앙 정렬을 위해 추가 */
  justify-content: center; /* 중앙 정렬을 위해 추가 */
}
.default_wrap .default_box .default_item {
  background: #ffffff26;
  box-shadow: 0 2px 4px #0000001b;
  transition: all 0.2s ease;
  flex: 0 0 calc(25%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* padding: 10px; */
  border-radius: 8px;
  cursor: pointer;
  box-sizing: border-box;
  padding: 15px 0px 5px 0px;
  border: 1px solid #bdc3c745 !important;
}
.dark-btn {
  padding: 10px 10px;
  /* border: 1px solid #727272; */
  background: #00000021;
  color: #ffffff;
  border-radius: 6px;
  cursor: pointer;
  font-family: sans-serif;
  font-size: 13px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2),
    inset 0 1px 2px rgba(255, 255, 255, 0.1);
}

.dark-btn:hover {
  background: #00000021;
  border-color: #888888;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3),
    inset 0 1px 2px rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.dark-btn:active {
  background: #00000021;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 2px rgba(0, 0, 0, 0.2);
  transform: translateY(1px);
}
.default_wrap .default_box .default_item .default {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
  color: var(--piston-font-color);
}
.default_wrap .default_box .default_item .default .default_img {
  margin-bottom: 10px;
  height: 32px;
}
#main_wrap #header {
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px;
  border-bottom: 1px solid #bdc3c7;
}
#main_wrap #header .top_right {
  display: flex;
  gap: 20px;
}
#main_wrap #header .top_right .alert {
  position: relative;
}
#main_wrap #header .top_right .alert .icon_num {
  background-color: #c92f2a;
  position: absolute;
  top: -5px;
  right: -5px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 16px;
}
/* 수정 */
/* #main_wrap #header .top_right .login {
  color: #6690cf;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: underline;
} */

#main_wrap #container .notice_wrap {
  background: #000000;
  padding: 12px 20px;
  color: var(--piston-font-color);
}
#main_wrap #container .notice_wrap span:first-child {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-right: 12px;
}
#main_wrap #container .notice_wrap span:first-child::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 13px;
  padding-left: 12px;
  border-right: 1px solid #fff;
}
#main_wrap #container .notice_wrap span:last-child {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#main_wrap #container .title {
  color: var(--piston-font-color);
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}
#main_wrap #container .user_wrap {
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#main_wrap #container .user_wrap .user_box {
  color: #fff;
  display: inline-flex;
  gap: 16px;
  vertical-align: top;
  /* margin-bottom: 25px; */
}
#main_wrap #container .user_wrap .user_box .user_item {
  display: list-item;
  text-align: -webkit-match-parent;
}
/* 임시수정 */
#main_wrap #container .user_wrap .user_box .user_item .user {
  margin-top: 40px;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  position: relative;
  /* width: 224px; */
  /* width: 284px; */
  height: 85px;
  padding: 16px;
  border-radius: 16px;
  overflow: hidden;
}
#main_wrap #container .user_wrap .user_box .user_item .user .user_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .user_title
  .user_text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#main_wrap #container .user_wrap .user_box .user_item .user .info_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* 수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .info_item
  .sub_box {
  /* font-weight: 700; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
/* 수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .info_item
  .sub_box
  .sub_num {
  font-size: 12px;
  /* width: 40px; */
  min-width: 36px;
  padding: 1px 9px 2px 9px;
  /* border-radius: 20px; */
  border-radius: 11.5px;
  height: 25px;
}
#main_wrap #container .user_wrap .user_box .user_item .user .u_item_wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
/* 임시수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_name {
  display: flex;
  gap: 6px;
  margin-top: 3px;
  margin-bottom: 3px;
  /* margin-bottom: 15px; */
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_name
  .user_id {
  font-size: 12px;
  opacity: 0.8;
  padding: 1px 9px 5px 9px;
  border-radius: 6px;
  white-space: nowrap;
  height: 25px;
  border: 1px solid #fff;
  margin-right: 2px;
  margin-top: -2px;
}
/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_name
  .employee_id {
  font-size: 12px;
  opacity: 0.8;
  padding: 1px 9px 2px 9px;
  border-radius: 11.5px;
}

#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_name
  .user_text {
  font-size: 22px;
  font-weight: 400;
  line-height: 22px;
}
/* 임시수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_no {
  font-size: 15px;
  font-weight: 700;
  line-height: 24px;
  font-weight: 400;
  opacity: 0.5;
}
/* 임시수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .user_class {
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  font-weight: 400;
  height: 20px;
  opacity: 0.5;
}
/* 수정 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .user
  .u_item_wrap
  .academic_info
  .bluetooth_ico {
  /* display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  background-color: #fff;
  padding: 5px;
  border-radius: 50%; */
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  background-color: #fff;
  padding: 5px;
  border-radius: 50%;
}
#main_wrap #container .user_wrap .user_box .user_item .student_id {
  background: linear-gradient(180deg, #4a78bf 0%, #283770 100%);
}
/* 수정 추가 */
#main_wrap #container .user_wrap .user_box .user_item .employee_id {
  background: linear-gradient(180deg, #e0696d 0%, #a40f16 100%);
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_id
  .u_item_wrap
  .academic_info
  .user_name
  .user_id {
  background-color: #273f70;
}
/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .employee_id
  .u_item_wrap
  .academic_info
  .user_name
  .user_id {
  background-color: #a40f16;
}

#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_id
  .u_item_wrap
  .academic_info
  .bluetooth_ico
  svg {
  display: block;
  fill: #26336a;
}
#main_wrap #container .user_wrap .user_box .user_item .student_book {
  width: 160px;
  background: linear-gradient(180deg, #b1b6c3 0%, #959aa7 100%);
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_book
  .u_item_wrap
  .info_item
  .sub_box
  .sub_num {
  background: #7e869c;
}

/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .employee_class
  .u_item_wrap
  .info_item
  .sub_box
  .sub_num {
  background: #b13d40;
}

#main_wrap #container .user_wrap .user_box .user_item .student_class {
  width: 160px;
  background: linear-gradient(180deg, #7e9dce 0%, #516fae 100%);
}
/* 수정 추가 */
#main_wrap #container .user_wrap .user_box .user_item .employee_class {
  width: 160px;
  background: linear-gradient(180deg, #f08184 0%, #b84a4e 100%);
}
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_class
  .info_item
  .sub_box
  .class_text {
  display: block;
  font-size: 12px;
  width: 110px;
  background: #43619f;
  border-radius: 20px;
  padding: 1px 9px 2px 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .employee_class
  .info_item
  .sub_box
  .class_text {
  display: block;
  font-size: 12px;
  width: 110px;
  background: #b13d40;
  border-radius: 20px;
  padding: 1px 9px 2px 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_class
  .class_item
  .sub_box {
  gap: 4px;
  flex-direction: column;
  align-items: flex-start;
}

/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .employee_class
  .class_item
  .sub_box {
  gap: 4px;
  flex-direction: column;
  align-items: flex-start;
}

#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_class
  .class_item
  .sub_box
  .class_num {
  font-weight: 700;
  width: 92px;
}

/* 수정 추가 */
#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .employee_class
  .class_item
  .sub_box
  .class_num {
  font-weight: 700;
  width: 92px;
}

#main_wrap
  #container
  .user_wrap
  .user_box
  .user_item
  .student_class
  .class_item
  .sub_box
  .class_title {
  width: 131px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#main_wrap #container .menu_wrap {
  color: #26336a;
  margin-bottom: 20px;
}
#main_wrap #container .menu_wrap .title {
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* 수정 */
#main_wrap #container .menu_wrap .title .btn_edit {
  color: #999;
  font-size: 12px;
  font-weight: 400;
  /* text-decoration: underline; */
  line-height: 20px;
}
#main_wrap #container .menu_wrap .my_wrap {
  font-size: 12px;
}
#main_wrap #container .menu_wrap .my_wrap .my_box {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 12px;
}
#main_wrap #container .menu_wrap .my_wrap .my_box .my_item {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 5px;
}
#main_wrap #container .menu_wrap .my_wrap .my_box .my_item .my_title {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #26336a;
  display: inline-block;
  border: 1px solid #ededed;
  border-radius: 20px;
  padding: 7px 12px 8px 12px;
}
#main_wrap #container .menu_wrap .my_wrap .my_box .my_item .my_title:before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #26336a;
  margin-right: 4px;
  vertical-align: middle;
}
#main_wrap #container .menu_wrap .my_wrap .btn_close {
  display: block;
  width: 35px;
  height: 35px;
  line-height: 35px;
  border-radius: 50%;
  border: 1px solid #ededed;
  text-align: center;
  background-color: #fff;
}
#main_wrap #container .menu_wrap .my_wrap .btn_close img {
  display: inline-block;
}
#main_wrap #container .board_wrap {
  padding: 15px 0px;
  margin-bottom: 20px;
  background: #0000001b;
}
#main_wrap #container .board_wrap .title {
  padding-left: 20px;
  padding-right: 20px;
  color: #1a8cff;
}
#main_wrap #container .board_wrap .board_tab_wrap {
  position: relative;
}
#main_wrap #container .board_wrap .board_tab_wrap .b_tab_wrap {
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 8px;
}
#main_wrap #container .board_wrap .board_tab_wrap .b_tab_wrap .b_tab_box {
  display: inline-flex;
  gap: 10px;
}
#main_wrap
  #container
  .board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item {
  display: list-item;
  text-align: -webkit-match-parent;
  width: 100%;
  white-space: nowrap;
}
#main_wrap
  #container
  .board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab {
  position: relative;
  overflow: hidden;
}
#main_wrap
  #container
  .board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab
  .b_tab_link_sel {
  color: #26336a;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  display: block;
  font-weight: 700;
  text-align: center;
  padding: 3px 12px 4px 12px;
  border-radius: 15px;
  border: 1px solid #26336a;
}
#main_wrap
  #container
  .board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab
  .b_tab_link {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #999;
  text-align: center;
  padding: 3px 12px 4px 12px;
  border: 1px solid #eee;
  border-radius: 15px;
}
#main_wrap #container .board_wrap .board_tab_wrap .more_box {
  position: absolute;
  right: 0;
  top: 0;
  padding-right: 20px;
  z-index: 1;
}
#main_wrap #container .board_wrap .board_tab_wrap .more_box .more_item {
  display: flex;
  width: 29px;
  height: 29px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #eee;
  background-color: #fff;
}
#main_wrap #container .board_wrap .board_tab_wrap .more_box:after {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  content: '';
  display: block;
  width: 60px;
  height: 29px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgb(255, 255, 255) 15%,
    rgb(255, 255, 255) 100%
  );
}
#main_wrap #container .board_wrap .list_wrap {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e8eef8;
  padding: 12px 0;
  color: #fff;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item .l_tag_blue {
  color: #0d326f;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item .l_tag_red {
  color: #a40f16;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item .list_tag {
  display: inline-block;
  width: 100px;
  margin-right: 10px;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item .list_text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 10px;
}
#main_wrap #container .board_wrap .list_wrap .list_box .list_item .list_data {
  display: inline-block;
  width: 35px;
  font-size: 12px;
  /* color: #999; */
}
#main_wrap #container .event_wrap {
  margin-bottom: 20px;
}
#main_wrap #container .event_wrap .title {
  padding-left: 20px;
  padding-right: 20px;
}
#main_wrap #container .event_wrap .event_box {
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#main_wrap #container .event_wrap .event_box .event_list {
  display: inline-flex;
  gap: 10px;
}
#main_wrap #container .event_wrap .event_box .event_list .event_item {
  position: relative;
  display: list-item;
}
/* 수정 */
/* #main_wrap
  #container
  .event_wrap
  .event_box
  .event_list
  .event_item
  .event_link:before {
  display: block;
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0.7;
  background-image: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
  width: 136px;
  height: 60%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
#main_wrap
  #container
  .event_wrap
  .event_box
  .event_list
  .event_item
  .event_link
  .event_img {
  border-radius: 4px;
  overflow: hidden;
  width: 136px;
  height: 120px;
}
#main_wrap
  #container
  .event_wrap
  .event_box
  .event_list
  .event_item
  .event_link
  .e_text_box {
  padding: 10px;
  position: absolute;
  bottom: 0;
  color: #fff;
  font-size: 12px;
  line-height: 15px;
}
#main_wrap
  #container
  .event_wrap
  .event_box
  .event_list
  .event_item
  .event_link
  .e_text_box
  .event_text {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
} */
#main_wrap #container .service_wrap {
  margin-bottom: 20px;
  background-color: #f0f4fa;
}
#main_wrap #container .service_wrap .title {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
}
#main_wrap #container .service_wrap .service_box {
  padding: 0px 0 20px 0;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#main_wrap #container .service_wrap .service_box .service_list {
  padding-left: 20px;
  padding-right: 20px;
  display: inline-flex;
  gap: 10px;
  white-space: nowrap;
}
#main_wrap #container .service_wrap .service_box .service_list:first-child {
  margin-bottom: 10px;
}
#main_wrap #container .service_wrap .service_box .service_list .service_item {
  display: list-item;
  text-align: -webkit-match-parent;
  text-align: center;
}
/* 수정 */
#main_wrap
  #container
  .service_wrap
  .service_box
  .service_list
  .service_item
  .service_text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  padding: 6px 14px 7px 14px;
  border-radius: 4px;
  border: 1px solid rgba(38, 51, 106, 0.15);
  background: #fff;
  /* display: inline-block; */
  display: inline-flex; /* inline-block 대신 inline-flex 사용 */
  align-items: center; /* 수직 중앙 정렬 */
  white-space: nowrap; /* 텍스트 줄바꿈 방지 */
}
#main_wrap #container .info_wrap {
  padding: 0px 20px;
  margin-bottom: 20px;
}

#main_wrap #container .info_wrap .info_box {
  font-size: 12px;
  font-weight: 600;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 8px 8px;
  grid-template-areas:
    'btn_campus btn_campus btn_campus btn_visitor'
    '. . . btn_visitor'
    'btn_khu btn_khu btn_serach btn_serach';
}

#main_wrap #container .info_wrap .info_box li {
  box-shadow: 0 2px 4px #0000001b;
  transition: all 0.2s ease;
  background-color: #ffffff0d;
  padding: 14px 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px;
}

#main_wrap #container .info_wrap .info_box li span {
  font-weight: 700;
  color: var(--piston-font-color);
}

#main_wrap #container .info_wrap .info_box .btn_campus {
  grid-area: btn_campus;
}

#main_wrap #container .info_wrap .info_box .btn_campus img {
  width: 35px;
}

#main_wrap #container .info_wrap .info_box .btn_visitor {
  grid-area: btn_visitor;
}

#main_wrap #container .info_wrap .info_box .btn_visitor a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#main_wrap #container .info_wrap .info_box .btn_visitor a img,
#main_wrap #container .info_wrap .info_box .btn_khu a img,
#main_wrap #container .info_wrap .info_box .btn_serach a img {
  width: 32px;
}

#main_wrap #container .info_wrap .info_box .btn_khu {
  grid-area: btn_khu;
}

#main_wrap #container .info_wrap .info_box .btn_serach {
  grid-area: btn_serach;
}

#main_wrap #container .info_wrap .info_box .btn_campus a,
#main_wrap #container .info_wrap .info_box .btn_khu a,
#main_wrap #container .info_wrap .info_box .btn_serach a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
#main_wrap #container .quick_wrap .title {
  padding-left: 20px;
  padding-right: 20px;
}
/* 수정 */
#main_wrap #container .quick_wrap .q_tab_box {
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* border-bottom: 1px solid #f0f4fa; */
  margin-bottom: 16px;
}
#main_wrap #container .quick_wrap .q_tab_box .q_tab_list {
  padding-left: 20px;
  padding-right: 20px;
  display: inline-flex;
  gap: 16px;
  white-space: nowrap;
}
#main_wrap #container .quick_wrap .q_tab_box .q_tab_list .q_tab_item {
  display: list-item;
  text-align: -webkit-match-parent;
  text-align: center;
}
#main_wrap
  #container
  .quick_wrap
  .q_tab_box
  .q_tab_list
  .q_tab_item
  .q_tab_text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #999;
  display: block;
}
#main_wrap
  #container
  .quick_wrap
  .q_tab_box
  .q_tab_list
  .q_tab_item
  .q_tab_text_on {
  color: #26336a;
  font-weight: 700;
  padding-bottom: 5px;
  border-bottom: 2px solid #26336a;
}
#main_wrap #container .quick_wrap .q_menu_box {
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 80px;
}
#main_wrap #container .quick_wrap .q_menu_box .q_menu_list {
  padding-left: 20px;
  padding-right: 20px;
  display: inline-flex;
  gap: 10px;
  white-space: nowrap;
}
#main_wrap #container .quick_wrap .q_menu_box .q_menu_list .q_menu_item {
  display: list-item;
  text-align: -webkit-match-parent;
  width: 64px;
}
#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item:first-child {
  margin-left: -10px;
}
/* 수정 */
/* #main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
} */
/* 수정 추가 */
#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 70px; /* 아이템의 전체 너비 설정 */
  height: 70px; /* 아이템의 전체 높이 설정 */
  position: relative;
}
/* 수정 */
/* #main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img {
  position: relative;
  width: 44px;
  height: 44px;
} */
/* 수정 추가 */
#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 35px; /* 원하는 크기로 조정 */
  height: 35px; /* 원하는 크기로 조정 */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
/* #main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img:after {
  content: '';
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  border-radius: 50%;
  background-color: #f0f4fa;
  width: 100%;
  height: 100%;
} */
/* 수정 추가 */
#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #f0f4fa;
  z-index: -1;
}
/* 수정 */
/* #main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img
  .quick_img {
  padding: 7px;
  width: 100%;
  display: inline-block;
} */
/* 수정 추가 */
#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_img
  .quick_img {
  width: 33px; /* 이미지 크기 조정 */
  height: 33px; /* 이미지 크기 조정 */
  object-fit: contain;
}

#main_wrap
  #container
  .quick_wrap
  .q_menu_box
  .q_menu_list
  .q_menu_item
  .quick_menu
  .q_menu_text {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: 12px;
  color: #26336a;
  z-index: 2;
}
@media (min-width: 600px) {
  #main_wrap #container .user_wrap {
    min-width: 100%;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }
  #main_wrap #container .default_wrap {
    min-width: 100%;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }
}
.profile_wrap {
  display: flex;
  justify-content: center;
  gap: 24px;
}
/* 수정 추가 */
.profile_wrap > div:first-child {
  flex-shrink: 0; /* 사진 영역이 축소되지 않도록 설정 */
}
/* 수정 */
.profile_wrap .thumb_box {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #eee;
  margin-bottom: 10px;
}
/* 수정 */
/* .profile_wrap .info_box {
  color: #26336a;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
} */

.profile_wrap .info_box {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  max-width: 150px; /* 이름의 최대 너비 설정 */
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 최대 2줄로 제한 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.2em; /* 줄 간격 설정 */
  max-height: 3.6em; /* 최대 높이 설정 (line-height * 2) */
}

/* 수정 */
.profile_wrap .account_wrap {
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}
.profile_wrap .account_wrap .account_box {
  display: flex;
  gap: 12px;
}
.profile_wrap .account_wrap .account_box .acc_title {
  width: 49px;
  color: #a3a3a3;
  text-align: justify;
  display: block;
  margin-bottom: -33px;
}
.profile_wrap .account_wrap .account_box .acc_title:after {
  content: '';
  display: inline-block;
  width: 100%;
}

.profile_wrap .account_wrap .account_box span:nth-child(2) {
  /* max-width: 170px */
  max-width: 160px;
}

/* 2024-08-21 */
#id_wrap {
  width: 100%;
  height: 100%;
  /* background-color: rgba(0, 0, 0, .8) */
}

/* 수정 */
#id_wrap .id_box {
  width: 100%;
  position: fixed;
  /* bottom: 15px; */
  padding-left: 20px;
  padding-right: 20px;
  /* 
   * 높이가 낮은 기종의 닫기 버튼 노출 이슈 
   * 2024-08-26
   */
  max-height: 95%;
  margin: 20% auto;
}

#id_wrap .id_box .close_box {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

/* 수정 */
#id_wrap .id_box .header {
  text-align: center;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  overflow: hidden;
  /* background: linear-gradient(180deg, #c3302c 0%, #9e1915 100%); */
  /* background: linear-gradient(180deg, #e0696d 0%, #a40f16 100%); */
  border-top: 2px solid #1a8cff;
  border-left: 2px solid #1a8cff;
  border-right: 2px solid #1a8cff;
  padding-left: 20px;
  padding-right: 20px;
}

#id_wrap .id_box .header .title {
  padding: 24px 0 20px;
  /* font-size: 20px;
  font-weight: 700; */
  font-size: 18px;
  font-weight: 400;
  color: #fff;
}

#id_wrap .id_box .header .qr_wrap {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
}

/* 수정 */
#id_wrap .id_box .header .qr_wrap .qr {
  display: flex;
  /* width: 50%; */
  background-color: #fff;
  padding: 6px;
  border: 1px solid rgba(102, 144, 207, 0.15);
}

#id_wrap .id_box .header .qr_wrap .qr img {
  width: 100%;
}

#id_wrap .id_box .header .qr_wrap .reset_wrap {
  display: flex;
  align-items: center;
}

#id_wrap .id_box .header .qr_wrap .reset_wrap .time {
  color: #fff;
  margin-right: 8px;
  font-size: 13px;
}

#id_wrap .id_box .container {
  background-color: #fff;
  text-align: center;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

#id_wrap .id_box .container .photo {
  color: #fff;
  padding-left: 13%;
}

#id_wrap .id_box .container .photo .thumb_box {
  width: 100px;
  height: 100px;
  margin: auto;
  margin-bottom: 10px;
  overflow: hidden; /* 이미지가 박스를 벗어나지 않도록 */
  display: flex; /* Flexbox 사용 */
  justify-content: center; /* 가로 중앙 정렬 */
  align-items: flex-start; /* 세로 상단 정렬 */
}

#id_wrap .id_box .container .photo .thumb_box img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 이미지 비율 유지하며 박스 채우기 */
  object-position: center; /* 이미지 상단 중앙 위치로 조정 */
}

#id_wrap .id_box .container .photo .info_box {
  color: #111;
  font-size: 18px;
  text-align: center;
}

#id_wrap .id_box .container .profile_wrap {
  /* gap: 14px; */
  gap: 10px;
  flex-direction: row;
  align-items: center;
  padding-top: 25px;
  padding-bottom: 35px;
}

#id_wrap .id_box .container .profile_wrap .account_box {
  gap: 24px;
}

#id_wrap .id_box .container .profile_wrap .logo img {
  width: 148px;
}

.pay_wrap {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.pay_wrap .pay_box {
  width: 170px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background-color: #26336a;
  padding: 8px 0;
}

.pay_wrap .pay_box .pay {
  font-weight: 700;
  font-size: 12px;
  color: #fff;
}

.pay_wrap .pay_box img {
  width: 18px;
  height: 18px;
}

/* #id_sheet {
  background-color: rgba(0, 0, 0, 0.7);
  position: relative;
  height: 100%;
} */
/* #id_sheet .container {
  position: absolute;
  bottom: 0;
} */
/* #id_sheet .container .btn_close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 111;
} */
/* #id_sheet .container .slider_container {
  position: relative;
  width: 100%;
  height: 320px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
} */
/* #id_sheet .container .slider_wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
} */
/* #id_sheet .container .slider_image {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
} */
/* #id_sheet .container .navigation {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 12px;
  padding: 5px 10px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 20px;
} */

#splash_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f4fa;
}
.sub_header {
  position: relative;
  padding: 20px;
  height: 60px;
  background: #171a2d;
  border-bottom: 1px solid #000000;
}
.sub_header .btn_back {
  position: absolute;
  left: 20px;
  top: 60%;
  transform: translateY(-50%);
}
.sub_header .btn_sub_close {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.sub_header div {
  width: 100%;
}
.sub_header div .title {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: var(--piston-font-color);
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
#search_wrap .container {
  padding-left: 20px;
  padding-right: 20px;
}
#search_wrap .container .sch_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#search_wrap .container .sch_title .tit_left {
  color: #26336a;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
}
#search_wrap .container .sch_title .sch_del_btn {
  color: #999;
  font-size: 12px;
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}
/* 수정 */
#search_wrap .container .sch_result .sch_none {
  margin-top: 32px;
  text-align: center;
  /* color: #84a6d9; */
  color: hsl(0, 0%, 60%);
  font-size: 14px;
}
#search_wrap .container .sch_result .recent_wrap {
  margin-top: 14px;
}
#search_wrap .container .sch_result .recent_wrap .recent_box {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 10px;
  border: 1px solid #ededed;
  border-radius: 17px;
}
#search_wrap .container .sch_result .recent_wrap .recent_box .recent_item {
  display: flex;
}
#search_wrap
  .container
  .sch_result
  .recent_wrap
  .recent_box
  .recent_item
  .recent_title {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #26336a;
  white-space: nowrap;
  padding: 7px 8px 5px 10px;
}
#search_wrap
  .container
  .sch_result
  .recent_wrap
  .recent_box
  .recent_item
  .recent_close {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  width: 26px;
  height: auto;
}
#search_wrap .container .mic_popup {
  text-align: center;
  position: fixed;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  background: linear-gradient(90deg, #217be4 0%, #0cdfdf 100%);
  background-size: 200% 200%;
  animation: gradient 3s ease infinite;
  border-radius: 21px;
}
#search_wrap .container .mic_popup .popup_text {
  display: inline-block;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  padding: 10px 40px 8px 40px;
}
.sub_tab_wrap {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 10px;
  margin-bottom: 32px;
  overflow: hidden;
  overflow-x: auto;
  padding-top: 20px;
  -webkit-overflow-scrolling: touch;
}
.sub_tab_wrap .sub_tab_box {
  display: inline-flex;
  gap: 8px;
  min-width: 100%;
}
.sub_tab_wrap .sub_tab_box .tab_item {
  display: list-item;
  text-align: -webkit-match-parent;
  white-space: nowrap;
  padding: 5px 12px 6px 12px;
  border-radius: 50px;
  border: 1px solid #000;
  /* background-color: #fff; */
}
.sub_tab_wrap .sub_tab_box .tab_item .tab_title {
  color: #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.sub_tab_wrap .sub_tab_box .tab_on {
  border: 1px solid #000000;
  background-color: #1c1c1c;
}
.sub_tab_wrap .sub_tab_box .tab_on .tab_title {
  color: #fff;
}
#notify_wrap .container .noti_con {
  padding-left: 20px;
  padding-right: 20px;
}
#notify_wrap .container .noti_con .con_title {
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #6690cf;
  margin-bottom: 16px;
}
#notify_wrap .container .noti_con .list_box {
  margin-bottom: 32px;
}
/* 수정 */
#notify_wrap .container .noti_con .list_box .list_item {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e8eef8;
}
/* 수정 추가 */
#notify_wrap .container .noti_con .list_box .list_item .list_link {
  display: flex;
  align-items: center;
}
/* 수정 추가 */
#notify_wrap .container .noti_con .list_box .list_item .list_link .list_text {
  flex: 1;
}
#notify_wrap .container .noti_con .list_box .list_item .list_link .list_title {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 8px;
  overflow: hidden;
  text-overflow: ellipsis;

  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
#notify_wrap .container .noti_con .list_box .list_item .sub_box {
  display: flex;
  gap: 14px;
}
#notify_wrap .container .noti_con .list_box .list_item .sub_box .sub_title,
#notify_wrap .container .noti_con .list_box .list_item .sub_box .sub_data {
  font-size: 12px;
  color: #666;
}
#notify_wrap .container .noti_con .list_box .list_item .sub_box .sub_title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#notice_wrap .container .noti_con {
  padding-left: 20px;
  padding-right: 20px;
}
#notice_wrap .container .noti_con .list_box {
  margin-bottom: 32px;
}
#notice_wrap .container .noti_con .list_box .list_item {
  margin-bottom: 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8eef8;
}
#notice_wrap .container .noti_con .list_box .list_item .sub_box {
  display: flex;
  float: left;
}

#notice_wrap .container .noti_con .list_box .list_item .list_title {
  font-size: 13px;
  font-weight: 400;
  line-height: 24px;
  font-weight: 500;
  margin-bottom: 8px;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
#notice_wrap .container .noti_con .list_box .list_item .sub_box .sub_data {
  color: #989898;
  font-size: 12px;
}
#notice_wrap .container .noti_info {
  text-align: center;
  padding-bottom: 50px;
}
#notice_wrap .container .noti_info .noti_btn_more {
  border-radius: 99px;
  border: 1px solid #999;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  padding: 10px 40px 8px 40px;
}
#notice_wrap .det_box .det_item {
  /* background-color: #0093a8; */
  margin-bottom: 20px;
  padding: 20px 20px 10px 20px;
}
#notice_wrap .det_box .det_item .det_title {
  margin-bottom: 10px;
}
#notice_wrap .det_box .det_item .det_title .det_text {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  line-height: 22px;
  font-weight: 700;
  color: var(--piston-font-color);
}
#notice_wrap .det_box .det_item .det_info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#notice_wrap .det_box .det_item .det_info .det_info_box {
  vertical-align: middle;
  font-size: 12px;
  color: var(--piston-font-color);
}
#notice_wrap .det_box .det_item .det_info .det_info_box .det_data {
  margin-right: 4px;
  color: var(--piston-font-color);
}
/* #notice_wrap .det_box .det_item .det_info .det_info_box .det_data:after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 10px;
  background-color: #dce1ec;
  margin-left: 10px; 
}*/
#notice_wrap .det_box .det_item .det_info .det_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #fff;
  border-radius: 50%;
}
#notice_wrap .det_box .det_item .det_info .det_icon img {
  width: 16px;
  height: 16px;
}
/* 수정 */
#notice_wrap .det_box .det_con {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  line-height: 24px;
  display: flex;
  flex-direction: column; /* 세로 방향으로 배치 */
  /* background: #000; */
}
#soldier_info_wrap .container .soldier_info .info_box {
  background-color: #f0f4fa;
  margin-bottom: 20px;
}
#soldier_info_wrap .container .soldier_info .info_box .info_title {
  display: inline-block;
  padding: 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  font-weight: 700;
}
#soldier_info_wrap .container .soldier_info .sub_con {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  min-height: 320px;
  line-height: 24px;
}
#soldier_info_wrap .container .soldier_info img {
  width: 100%;
  margin-bottom: 20px;
}
#soldier_info_wrap .soldier_confirm {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 50px;
}
/* #soldier_info_wrap .soldier_confirm .confirm_box {
  border-top: 1px solid #eee;
  display: flex;
  justify-content: center;
  padding-top: 30px;
  margin-bottom: 30px;
} */

/* 수정 추가 */
#soldier_info_wrap .soldier_confirm .confirm_box {
  border-top: 1px solid #eee;
  display: flex;
  flex-direction: column; /* 세로 방향으로 정렬 */
  align-items: flex-start; /* 왼쪽 정렬 */
  padding-top: 30px;
  margin-bottom: 30px;
}

#soldier_info_wrap .soldier_confirm .confirm_box .lab_choice {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
}
#soldier_report_wrap .container {
  padding-left: 20px;
  padding-right: 20px;
}
#soldier_report_wrap .container .soldier_form {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #1a8cff;
  font-weight: 700;
  padding-top: 15px;
}
#soldier_report_wrap .container .soldier_form .form_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
#soldier_report_wrap .container .soldier_form .form_item .form_title {
  margin-right: 10px;
}
/* 수정 */
#soldier_report_wrap .container .soldier_form .form_item .sub_input {
  flex: 1;
  margin-left: 8px;
  margin-right: 8px;
}
#soldier_report_wrap .container .soldier_form .form_con {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
#soldier_report_wrap .container .soldier_form .form_con:last-child {
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
#soldier_report_wrap .container .soldier_form .form_con .title_wrap {
  margin-bottom: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#soldier_report_wrap .container .soldier_form .form_con .left_input {
  flex: 1;
}
#soldier_report_wrap .container .soldier_form .form_con .right_input {
  flex: 1;
}
#soldier_report_wrap .container .soldier_form .form_con .input_add {
  display: flex;
  gap: 12px;
  margin-bottom: 10px;
}
#soldier_report_wrap
  .container
  .soldier_form
  .form_con
  .input_add
  input:first-child {
  background: url('../img/icon/icon_search_18.svg') no-repeat bottom 50% right
    10px/18px auto #f3f6fb;
}
#soldier_report_wrap .container .btn_off {
  margin-bottom: 50px;
}
#reserve_wrap .container .res_wrap {
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 8px;
  margin-bottom: 16px;
}
#reserve_wrap .container .res_wrap .res_box {
  display: inline-flex;
  gap: 8px;
  min-width: 100%;
}
#reserve_wrap .container .res_wrap .res_box .res_item {
  display: list-item;
  text-align: -webkit-match-parent;
  width: 72px;
  white-space: nowrap;
}
#reserve_wrap .container .res_wrap .res_box .res_item .res {
  border-radius: 8px;
  border: 1px solid #dee0e9;
}
#reserve_wrap .container .res_wrap .res_box .res_item .res .res_link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 0;
}
#reserve_wrap .container .res_wrap .res_box .res_item .res .res_link span {
  font-size: 12px;
  color: #26336a;
}
#reserve_wrap .container .res_wrap .res_box .res_item .res_on {
  border: 1px solid #dee0e9;
  background-color: #5c82c0;
}
#reserve_wrap .container .res_wrap .res_box .res_item .res_on .res_link span {
  color: #fff;
}
#reserve_wrap .container .filter_wrap {
  margin-bottom: 30px;
}
#reserve_wrap .container .filter_wrap .filter_box {
  padding-left: 20px;
  padding-right: 20px;
  text-align: right;
  margin-bottom: 20px;
}
#reserve_wrap .container .filter_wrap .filter_box img {
  display: inline-block;
}
#reserve_wrap .container .filter_wrap .filter_input_wrap {
  padding: 20px;
  background-color: #f0f4fa;
}
#reserve_wrap .container .filter_wrap .filter_input_wrap .filter_title {
  white-space: nowrap;
  font-size: 12px;
  color: #26336a;
  font-weight: 700;
}
#reserve_wrap .container .filter_wrap .filter_input_wrap .data_box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
#reserve_wrap .container .filter_wrap .filter_input_wrap .data_box .data_input {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 5px;
}
#reserve_wrap .container .filter_wrap .filter_input_wrap .filter_name {
  display: flex;
  align-items: center;
}
#reserve_wrap
  .container
  .filter_wrap
  .filter_input_wrap
  .filter_name
  .filter_title {
  margin-right: 10px;
}
#reserve_wrap
  .container
  .filter_wrap
  .filter_input_wrap
  .filter_name
  .input_nor {
  flex: 1;
}
#reserve_wrap
  .container
  .filter_wrap
  .filter_input_wrap
  .filter_name
  .btn_s_off {
  padding: 0 30px;
  margin-left: 8px;
}
#reserve_wrap .container .list_wrap {
  padding-left: 20px;
  padding-right: 20px;
}
#reserve_wrap .container .list_wrap .list_box .list {
  border-bottom: 1px solid #e8eef8;
  padding: 20px 0;
}
#reserve_wrap .container .list_wrap .list_box .list:first-child {
  border-top: 1px solid #e8eef8;
}
#reserve_wrap .container .list_wrap .list_box .list:last-child {
  margin-bottom: 50px;
}
#reserve_wrap .container .list_wrap .list_box .list .list_link {
  display: flex;
  align-items: center;
}
/* 수정 */
#reserve_wrap .container .list_wrap .list_box .list .list_link .list_icon {
  position: relative;
  border-radius: 50%;
  /* background-color: #26336a; */
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
#reserve_wrap .container .list_wrap .list_box .list .list_link .list_icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#reserve_wrap .container .list_wrap .list_box .list .list_link .list_text {
  flex: 1;
}
#reserve_wrap
  .container
  .list_wrap
  .list_box
  .list
  .list_link
  .list_text
  .list_title {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}
#reserve_wrap
  .container
  .list_wrap
  .list_box
  .list
  .list_link
  .list_text
  .list_data {
  font-size: 12px;
}
#reserve_wrap
  .container
  .list_wrap
  .list_box
  .list
  .list_link
  .list_text
  .list_data
  .data_text {
  display: inline-block;
}
/* 수정 */
/* #reserve_wrap .container .list_wrap .list_box .list .list_link .list_text .list_data .data_text:first-child:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 10px;
  margin-left: 10px;
  margin-right: 3px;
  background-color: #b2c7e7
} */
#reserve_wrap .container .list_wrap .list_box .list .list_link .list_tag {
  font-size: 11px;
  margin-right: 10px;
  margin-left: 3px;
}
#reserve_wrap
  .container
  .list_wrap
  .list_box
  .list
  .list_link
  .list_tag
  > span {
  display: inline-block;
  height: 22px;
  padding: 5px 8px 4px 8px;
  border-radius: 4px;
}
#reserve_wrap .container .detail_wrap {
  padding-left: 20px;
  padding-right: 20px;
}
#reserve_wrap .container .detail_wrap .detail_top {
  height: 46px;
  display: block;
  width: 100%;
  font-weight: 700;
  padding-left: 20px;
  padding-top: 17px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
#reserve_wrap .container .detail_wrap .detail_con {
  padding: 16px 20px 20px 20px;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  margin-bottom: 30px;
}
#reserve_wrap .container .detail_wrap .detail_con .title {
  display: inline-block;
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #26336a;
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
  margin-bottom: 16px;
}
#reserve_wrap .container .detail_wrap .detail_con .detail_list {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#reserve_wrap .container .detail_wrap .detail_con .detail_list dl {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0px;
  vertical-align: top;
}
#reserve_wrap .container .detail_wrap .detail_con .detail_list dl:last-child {
  margin-bottom: 0;
}
#reserve_wrap .container .detail_wrap .detail_con .detail_list dl dt {
  width: 22%;
  display: table-cell;
  color: #999;
  /* margin-right: 20px; */
}
#reserve_wrap .container .detail_wrap .detail_con .detail_list dl dd {
  width: 78%;
  font-weight: 500;
  display: table-cell;
  padding-bottom: 10px;
}
#reserve_wrap .container .res_request .res_nav,
#reserve_wrap .container .res_request .res_nav02,
#reserve_wrap .container .res_request .res_nav03 {
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* 수정 */
#reserve_wrap .container .res_request .res_nav .nav_box,
#reserve_wrap .container .res_request .res_nav02 .nav_box,
#reserve_wrap .container .res_request .res_nav03 .nav_box {
  padding-left: 20px;
  padding-right: 20px;
  display: inline-flex;
  gap: 8px;
  min-width: 100%;
  /* margin-bottom: 10px; */
  margin-bottom: 15px;
}
#reserve_wrap .container .res_request .res_nav .nav_box .nav_item,
#reserve_wrap .container .res_request .res_nav02 .nav_box .nav_item,
#reserve_wrap .container .res_request .res_nav03 .nav_box .nav_item {
  display: list-item;
  text-align: -webkit-match-parent;
  white-space: nowrap;
  padding: 8px 24px;
  border-radius: 8px;
  border: 1px solid #dee0e9;
  background-color: #fff;
}
#reserve_wrap .container .res_request .res_nav .nav_box .nav_item a,
#reserve_wrap .container .res_request .res_nav02 .nav_box .nav_item a,
#reserve_wrap .container .res_request .res_nav03 .nav_box .nav_item a {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #26336a;
}
#reserve_wrap .container .res_request .res_nav .nav_box .nav_item_sel,
#reserve_wrap .container .res_request .res_nav02 .nav_box .nav_item_sel,
#reserve_wrap .container .res_request .res_nav03 .nav_box .nav_item_sel {
  border: 1px solid #5c82c0;
  background-color: #6690cf;
}
#reserve_wrap .container .res_request .res_nav .nav_box .nav_item_sel a,
#reserve_wrap .container .res_request .res_nav02 .nav_box .nav_item_sel a,
#reserve_wrap .container .res_request .res_nav03 .nav_box .nav_item_sel a {
  color: #fff;
}
#reserve_wrap .container .res_request .nav03_con {
  margin-top: 13px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}
#reserve_wrap .container .res_request .nav03_con li:last-child .con_item {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
#reserve_wrap .container .res_request .nav03_con .con_item {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
  margin-bottom: 14px;
}
#reserve_wrap .container .res_request .nav03_con .con_item label {
  flex: 1;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #26336a;
  font-weight: 500;
}
#reserve_wrap .container .res_request .nav03_con .con_item img {
  opacity: 0.3;
}
#reserve_wrap .container .req_wrap {
  padding-left: 20px;
  padding-right: 20px;
}
#reserve_wrap .container .req_wrap .title > span:first-child {
  display: block;
  font-weight: 700;
  margin-bottom: 10px;
}
#reserve_wrap .container .req_wrap .calendar_wrap .title {
  margin-top: 16px;
  border-top: 1px solid #eee;
  padding-top: 24px;
}
#reserve_wrap .container .req_wrap .calendar_wrap .calendar_area {
  margin-bottom: 30px;
}
#reserve_wrap .container .req_wrap .time_wrap .title > span:first-child {
  margin-bottom: 5px;
}
#reserve_wrap .container .req_wrap .time_wrap .title .sub {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #999;
}
#reserve_wrap .container .req_wrap .time_wrap .slick_slider {
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  margin-bottom: 30px;
}
#reserve_wrap .container .req_wrap .time_wrap .slick_slider .time_list {
  scrollbar-width: none;
  display: flex;
  min-height: 74px;
  margin: 0 -20px 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item:first-child {
  margin-left: 20px;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item:last-child {
  margin-right: 20px;
}
/* 수정 */
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item {
  position: relative;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: flex-end;
  width: 25px;
  padding-left: 1px;
  box-sizing: border-box;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item
  .time_text {
  min-height: 10px;
  padding-bottom: 4px;
  font-size: 10px;
  line-height: 14px;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item
  .time_text:before {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0px;
  width: 1px;
  height: 4px;
  background-color: #111;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item
  .ampm {
  /* 간격 2 > 5로 수정 */
  margin-right: 5px;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item
  .btn_time {
  position: relative;
  width: 100%;
  height: 40px;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .time_item
  .bg_color {
  background-color: #c2d3ec;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .selected
  .btn_time {
  background-color: #273987;
}
#reserve_wrap
  .container
  .req_wrap
  .time_wrap
  .slick_slider
  .time_list
  .disabled
  .btn_time {
  background-color: #e0e0e0;
}
#reserve_wrap .container .req_wrap .select_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
#reserve_wrap .container .req_wrap .select_wrap .title > span:first-child {
  margin-bottom: 0;
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap {
  display: flex;
  width: 150px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border: 1px solid #6690cf;
  touch-action: manipulation;
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .minus_btn {
  position: relative;
  width: 36px;
  height: 34px;
  vertical-align: top;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #f3f6fb;
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .minus_btn:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  margin: -1px 0 0 -4px;
  background-color: #6690cf;
  content: '';
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .num_input {
  width: 78px;
  height: 34px;
  border: solid #6690cf;
  border-width: 0 1px;
  border-radius: 0;
  background-color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  line-height: 34px;
  color: #515c88;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: top;
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .plus_btn {
  position: relative;
  width: 36px;
  height: 34px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  vertical-align: top;
  background-color: #f3f6fb;
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .plus_btn:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 10px;
  margin: -5px 0 0 -1px;
  background-color: #6690cf;
  content: '';
}
#reserve_wrap .container .req_wrap .select_wrap .num_wrap .plus_btn:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  margin: -1px 0 0 -5px;
  background-color: #6690cf;
  content: '';
}
#reserve_wrap .container .req_wrap .reason_wrap {
  margin-bottom: 30px;
}
#reserve_wrap .container .req_wrap .reason_wrap textarea {
  padding: 15px 20px;
  min-height: 80px;
}
#reserve_wrap .container .req_wrap .bottom_btn {
  margin-bottom: 50px;
}
/* 수정 */
#contact_wrap .container .btn_contact {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 24px;
  /* 아래 추가 */
  gap: 10px;
  display: flex;
}
#contact_wrap .container .btn_contact button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 0;
  color: #fff;
  background-color: #6690cf;
  border-radius: 4px;
  width: 100%;
}
#contact_wrap .container .sch_content {
  padding-left: 20px;
  padding-right: 20px;
  border-top: 6px solid #f4f8fc;
}
#contact_wrap .container .sch_content .title {
  margin-top: 24px;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #26336a;
}
#contact_wrap .container .sch_content .sch_box {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#contact_wrap .container .sch_content .sch_box li {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8eef8;
}
/* 수정 */
#contact_wrap .container .sch_content .sch_box li .sch_text {
  display: table;
  table-layout: fixed;
  width: 100%;
  /* margin-bottom: 5px; */
}
/* 수정 */
#contact_wrap .container .sch_content .sch_box li .sch_text dt {
  width: 16%;
  display: table-cell;
  vertical-align: top;
  margin-right: 20px;
  padding-right: 5px;
}
/* 수정 */
#contact_wrap .container .sch_content .sch_box li .sch_text dd {
  /* width: 80%; */
  width: 84%;
  font-weight: 500;
  display: table-cell;
  vertical-align: top;
  padding-left: 10px;
}

/* 수정 추가 */
/* .highlight {
  background-color: yellow;
} */

#calendar_wrap {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  /* background-color: #f0f4fa; */
}
#calendar_wrap .sub_header {
  margin-bottom: 6px;
}
#calendar_wrap .container {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: 15px;
}
#calendar_wrap .container .write {
  margin-top: 14px;
  padding-left: 20px;
  padding-right: 20px;
}
#calendar_wrap .container .write .date_con {
  margin-bottom: 20px;
}
#calendar_wrap .container .write .date_con .title_wrap {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #1a8cff;
  font-weight: 700;
  margin-bottom: 5px;
}
#calendar_wrap .container .write .date_con .date_wrap {
  display: flex;
  gap: 10px;
}
#calendar_wrap .container .write .date_con .date_wrap input:nth-child(1) {
  flex: 1;
}
#calendar_wrap .container .write .date_con .date_wrap input:nth-child(2),
#calendar_wrap .container .write .date_con .date_wrap input:nth-child(3) {
  flex: 0.6;
}
#calendar_wrap .container .write .date_con textarea {
  padding-top: 10px;
  padding-bottom: 10px;
  min-height: 60px;
}
#calendar_wrap .container .write .btn_wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  padding-top: 20px;
  border-top: 2px solid #000000;
}
#calendar_wrap .container .write .btn_wrap .btn_off {
  width: 50%;
}
/* 수정 */
#calendar_wrap .container .calendar_wrap {
  padding-left: 20px;
  padding-right: 20px;
  /* padding-top: 30px; */
  /* padding-bottom: 30px; */
  /* background-color: #fff; */
}
#calendar_wrap .container .event_detail {
  display: flex;
  flex: 1;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #000;
}
#calendar_wrap .container .event_detail .none {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  color: #999;
  text-align: center;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
#calendar_wrap .container .event_detail .sel {
  margin-top: 30px;
}
/* 수정 */
#calendar_wrap .container .event_detail .sel ul li {
  display: flex;
  align-items: center;
  /* margin-bottom: 24px; */
  margin-bottom: 30px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  /* font-weight: 700; */
}

/* 텍스트를 올바르게 정렬하기 위한 추가 CSS */
#calendar_wrap .container .event_detail .sel ul li span {
  display: block; /* span 요소를 블록 요소로 설정하여 수직으로 배치 */
}

#calendar_wrap .container .event_detail .sel ul li .red,
#calendar_wrap .container .event_detail .sel ul li .green {
  display: inline-block;
  width: 4px;
  height: 24px;
  margin-right: 12px;
}
/* 수정 추가 */
#calendar_wrap .container .event_detail .sel ul li .kred,
#calendar_wrap .container .event_detail .sel ul li .kblue {
  display: inline-block;
  width: 4px;
  height: 36px;
  margin-right: 12px;
}

/* 수정 */
#food_wrap {
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  /* position: relative; */
}
#food_wrap .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 268px;
  background-color: #fff;
  text-align: center;
}
#food_wrap .container .sub_header {
  position: relative;
  height: 100%;
  padding: 0;
}
#food_wrap .container .sub_header a {
  position: absolute;
  top: 10px;
  right: 10px;
}
#food_wrap .container .pupup_wrap {
  padding: 24px 20px 20px 20px;
}
#food_wrap .container .pupup_wrap .title {
  margin-bottom: 16px;
}
#food_wrap .container .pupup_wrap .title h2 {
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}
/* 수정 추가 */
#food_wrap .container .pupup_wrap .title span {
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}
#food_wrap .container .pupup_wrap > div:nth-child(2) {
  margin-bottom: 24px;
}
/* 수정 */
#food_wrap .container .pupup_wrap .content .title {
  padding: 8px 0;
  /* font-size: 12px; */
  color: #fff;
  border-radius: 14px;
  font-weight: 700;
}
#food_wrap .container .pupup_wrap .content .btn_wrap {
  display: flex;
  gap: 8px;
}
#food_wrap .container .pupup_wrap .content > div:nth-child(2) {
  margin-bottom: 8px;
}
@keyframes loading-bar {
  0% {
    width: 0;
  }
  90% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}
.progress_bar {
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 100px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.progress_bar .progress_bar_gauge {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 4px;
  border-radius: 100px;
  background-color: #6690cf;
  animation-name: loading-bar;
  animation-duration: 4000ms;
  animation-iteration-count: infinite;
}
#attendance_wrap {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background-color: #f0f4fa;
}
#attendance_wrap .container {
  display: flex;
  flex-direction: column;
  flex: 1;
}
#attendance_wrap .container .status {
  font-size: 11px;
  padding: 6px 9px 4px;
  border-radius: 4px;
}
#attendance_wrap .container span {
  display: inline-block;
}
#attendance_wrap .container .info_wrap {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}
#attendance_wrap .container .info_wrap .con {
  margin-top: 20px;
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#attendance_wrap .container .info_wrap .con .title {
  font-size: 12px;
  color: #fff;
  background-color: #6690cf;
  padding: 6px 12px 5px;
  border-radius: 15px;
  font-weight: 700;
}
#attendance_wrap .container .info_wrap .con .name {
  padding-top: 3px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #666;
}
#attendance_wrap .container .info_wrap .none {
  min-height: 135px;
}
#attendance_wrap .container .info_wrap .con02 .title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
#attendance_wrap .container .info_wrap .con02 .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #3e3e40;
  font-weight: 500;
  margin-bottom: 16px;
}
#attendance_wrap .container .info_wrap .con03 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
#attendance_wrap .container .info_wrap .con03 .info {
  display: flex;
  align-items: center;
  gap: 8px;
}
#attendance_wrap .container .info_wrap .con03 .info .num {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
}
#attendance_wrap .container .info_wrap .con04 {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
#attendance_wrap .container .info_wrap .con05 {
  display: flex;
  gap: 10px;
}
#attendance_wrap .container .list_wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  background-color: #fff;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
}
#attendance_wrap .container .list_wrap .con {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#attendance_wrap .container .list_wrap .con .title {
  color: #6690cf;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}
#attendance_wrap .container .list_wrap .con .data {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#attendance_wrap .container .list_wrap .con02 .list {
  margin-top: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e8eef8;
}
#attendance_wrap .container .list_wrap .con02 .list .title_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
#attendance_wrap .container .list_wrap .con02 .list .title_wrap .list_title {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
#attendance_wrap .container .list_wrap .con02 .list .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #666;
}
#attendance_wrap .container .list_wrap .con02 .list .info .info_con {
  display: flex;
  align-items: center;
}
#attendance_wrap
  .container
  .list_wrap
  .con02
  .list
  .info
  .info_con
  .title:after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 10px;
  background-color: #e8eef8;
  margin-left: 10px;
  margin-right: 10px;
}
#attendance_wrap .none {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  color: #999;
  text-align: center;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
@keyframes moveGradient {
  50% {
    background-position: 100% 50%;
  }
}
#timetable_wrap {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
#timetable_wrap .lesson_ing {
  --border-width: 2px;
  position: relative;
  width: 100%;
  height: 113px;
}
#timetable_wrap .lesson_ing::after {
  position: absolute;
  content: '';
  top: 342px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    60deg,
    hsl(224deg, 85%, 66%),
    hsl(269deg, 85%, 66%),
    hsl(314deg, 85%, 66%),
    hsl(359deg, 85%, 66%),
    hsl(44deg, 85%, 66%),
    hsl(89deg, 85%, 66%),
    hsl(134deg, 85%, 66%),
    hsl(179deg, 85%, 66%)
  );
  background-size: 300% 300%;
  background-position: 0 50%;
  animation: moveGradient 4s alternate infinite;
}
#timetable_wrap .lesson {
  margin: 2px 0 0 2px;
  top: 0;
  left: 0;
  width: calc(100% - 4px);
  height: 52px;
  background-color: #cf95e3;
  --border-width: 3px;
}
#timetable_wrap .lesson02 {
  top: 0;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 166px;
  background-color: #64ced5;
}
#timetable_wrap .lesson03 {
  top: 342px;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 109px;
  background-color: #8695d5;
}
#timetable_wrap .lesson04 {
  top: 57px;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 52px;
  background-color: #f68d5f;
}
#timetable_wrap .lesson05 {
  top: 0;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 52px;
  background-color: #92c176;
}
#timetable_wrap .lesson06 {
  top: 285px;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 109px;
  background-color: #eeb867;
}
#timetable_wrap .lesson07 {
  top: 57px;
  left: 0;
  margin: 2px 0 0 2px;
  width: calc(100% - 4px);
  height: 166px;
  background-color: #f57474;
}
#timetable_wrap .container {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
#timetable_wrap .container .title {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 20px;
}
#timetable_wrap .container .title span {
  color: #fff;
  padding: 5px 12px 4px;
  background-color: #999;
  display: inline-block;
  border-radius: 10px;
}
#timetable_wrap .container .view_content {
  position: relative;
  margin-bottom: 50px;
}
#timetable_wrap .container .view_content .timetable_view_list {
  overflow: hidden;
  position: relative;
  clear: both;
  border: 1px solid #b2c7e7;
  background-color: #e8eef8;
}
#timetable_wrap .container .view_content .timetable_view_list table {
  table-layout: fixed;
  width: 100%;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  tbody
  td:last-child {
  border-right: none;
}
#timetable_wrap .container .view_content .timetable_view_list tbody td {
  height: 56px;
  border-right: 1px solid #e8eef8;
  vertical-align: top;
  background: #fff url('../img/line_timetable.png') repeat 0 0;
}
#timetable_wrap .container .view_content .timetable_view_list .t_header {
  border-bottom: 1px solid #e8eef8;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_header
  th:first-child {
  border-left: none;
}
#timetable_wrap .container .view_content .timetable_view_list .t_header th {
  height: 28px;
  border-left: 1px solid #e8eef8;
  font-size: 10px;
  white-space: nowrap;
  color: #111;
  font-weight: normal;
  text-align: center;
  background-color: #fff;
}
#timetable_wrap .container .view_content .timetable_view_list .t_header .cate {
  width: 28px;
}
#timetable_wrap .container .view_content .timetable_view_list .t_contents {
  position: relative;
  width: 100%;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .cate {
  width: 28px;
  background-color: #fff;
  font-size: 9px;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .cate
  .class_time {
  width: 100%;
  float: left;
  height: 57px;
  padding-top: 10px;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list {
  position: relative;
  z-index: 100;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list
  .schedule_box {
  position: absolute;
  overflow: hidden;
  z-index: 100;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list
  .schedule_box
  .subject_name {
  position: absolute;
  top: 5px;
  left: 0%;
  width: 100%;
  overflow: hidden;
  font-size: 11px;
  word-wrap: break-word;
  word-break: break-all;
  text-align: left;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list
  .schedule_box
  .subject_name
  .title_text {
  color: #fff;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list
  .schedule_box
  .subject_name
  strong {
  display: block;
  text-overflow: ellipsis;
  font-weight: 700;
  margin-bottom: 5px;
  padding: 0 3px;
  line-height: 12px;
}
#timetable_wrap
  .container
  .view_content
  .timetable_view_list
  .t_contents
  .subject_list
  .schedule_box
  .subject_name
  em {
  display: block;
  text-overflow: ellipsis;
  padding: 0 3px;
}
#timetable_wrap .container .none {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
#timetable_wrap .container .none span {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  color: #666;
}
#error_wrap {
  width: 100%;
  height: 100vh;
  position: relative;
}
#error_wrap .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
#error_wrap .container .none {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  gap: 16px;
  margin-bottom: 40px;
  color: #26336a;
}
#error_wrap .container .btn_on {
  width: 156px;
}
#mypage_wrap .sub_header {
  margin-bottom: 40px;
}
#mypage_wrap .container .profile_wrap {
  margin-bottom: 40px;
}
#mypage_wrap .container .setting_wrap {
  background-color: #000000;
  padding-bottom: 16px;
}
#mypage_wrap .container .setting_wrap .setting_box {
  padding-left: 20px;
  padding-right: 20px;
}
/* 수정 */
#mypage_wrap .container .setting_wrap .setting_box .setting_detail {
  /* margin-bottom: 60px; */
  margin-bottom: 20px;
}
#mypage_wrap .container .setting_wrap .setting_box .sub {
  margin-bottom: 20px;
}
#mypage_wrap .container .setting_wrap .setting_box .sub .text {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  color: #fff;
  font-weight: 700;
}
#mypage_wrap .container .setting_wrap .setting_box .sub .radio_btn {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
#mypage_wrap
  .container
  .setting_wrap
  .setting_box
  .sub
  .radio_btn
  > label:nth-child(2) {
  margin-right: 20px;
}
#mypage_wrap .container .setting_wrap .setting_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#mypage_wrap .container .setting_wrap .title {
  padding-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #1c1c1c;
  margin-bottom: 20px;
}
#mypage_wrap .container .setting_wrap .title > span {
  /* color: #6690cf; */
  color: #1a8cff;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  font-weight: 700;
}
#mypage_wrap .container .setting_wrap .title .btn_s_off {
  height: 30px;
  border-radius: 20px;
  padding: 0 17px;
}
/* 수정 - 추가 */
#mypage_wrap .container .setting_wrap .reset {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* 수정 - 추가 */
#mypage_wrap .container .setting_wrap .reset .text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  font-weight: 500;
  color: #be2d28;
}
/* 수정 */
#mypage_wrap .container .badge_wrap {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px; /* 이 줄을 추가 */
  padding-bottom: 20px;
  margin-bottom: 40px;
}
#mypage_wrap .container .badge_wrap .badge_slider {
  position: relative;
}
#mypage_wrap .container .badge_wrap .badge_slider .slider {
  position: relative;
  width: 100%;
  height: 65px;
  overflow: hidden;
}
#mypage_wrap .container .badge_wrap .badge_slider .slider .slide {
  display: flex;
  justify-content: center;
  gap: 16px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
#mypage_wrap .container .badge_wrap .badge_slider .slider .slide img {
  width: 40px;
  height: 40px;
}
#mypage_wrap .container .badge_wrap .badge_slider .slider .active {
  opacity: 1;
}
#mypage_wrap .container .badge_wrap .badge_slider .dots {
  display: flex;
  gap: 6px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#mypage_wrap .container .badge_wrap .badge_slider .dots .dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #aac2e5;
}
#mypage_wrap .container .badge_wrap .badge_slider .dots .active {
  background-color: #273987;
}
/* 수정 */
#mypage_wrap .footer_wrap {
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
  margin-bottom: 40px;
}
#mypage_wrap .footer_wrap .version {
  margin-bottom: 40px;
}
#mypage_wrap .footer_wrap .version span:first-child {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
}
#mypage_wrap .footer_wrap .version span:last-child {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
/* 수정 */
#mypage_wrap .footer_wrap .btn_wrap {
  display: flex;
  justify-content: center;
  gap: 20px;
  /* padding-bottom: 50px; */
  padding-bottom: 30px;
}
#mypage_wrap .footer_wrap .btn_wrap .btn_line_more {
  padding: 10px 30px 8px 30px;
}
#badge_wrap .container .filter {
  background-color: #f0f4fa;
  padding: 20px;
  margin-bottom: 30px;
}
#badge_wrap .container .filter .select_wrap {
  display: flex;
  gap: 12px;
}
/* 수정 */
#badge_wrap .container .badge_box {
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  justify-content: flex-start;
}
#badge_wrap .container .badge_box .badge_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-basis: 33.33%;
  margin-bottom: 30px;
}
#badge_wrap .container .badge_box .badge_item > img {
  margin-bottom: 10px;
}
#badge_wrap .container .badge_box .badge_item > span {
  display: inline-block;
  font-size: 12px;
  color: #26336a;
  font-weight: 700;
}

/* 수정 */
/* #badge_popup {
  background-color: rgba(0, 0, 0, 0.7);
  position: relative;
  width: 100%;
  height: 100%;
} */
/* 수정 */
/* #badge_popup .container {
  width: 100%;
  position: absolute;
  bottom: 0;
} */
/* 수정 */
/* #badge_popup .container .btn_close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 111;
} */
/* 수정 */
/* #badge_popup .container .detail {
  width: 100%;
  height: 290px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
  background-color: #fff;
} */
#badge_popup .container .detail .detail_img {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
#badge_popup .container .detail .detail_img > img {
  width: 100px;
  margin-bottom: 16px;
}
#badge_popup .container .detail .detail_img > span:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #26336a;
  margin-bottom: 12px;
}
#badge_popup .container .detail .detail_img > span:nth-child(3),
#badge_popup .container .detail .detail_img > span:nth-child(4) {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  color: #333;
}
#menu_wrap .container .title {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 16px;
}
#menu_wrap .container .default_wrap {
  margin-bottom: 30px;
}
#menu_wrap .container .menu {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}

/* 수정 */
#menu_wrap .container .bookmark {
  padding-left: 20px;
  padding-right: 20px;
  /* border-bottom: 6px solid #f0f4fa; */
  margin-bottom: 30px;
}

#menu_wrap .container .bookmark .my_box {
  margin-bottom: 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e9f5;
}

#menu_wrap .container .bookmark .my_box .my_item {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 5px;
}
#menu_wrap .container .bookmark .my_box .my_item .my_title {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #26336a;
  display: inline-block;
  border: 1px solid #ededed;
  border-radius: 20px;
  padding: 7px 12px 8px 12px;
}

#menu_wrap .container .bookmark .my_box .my_item .my_title:before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #26336a;
  margin-right: 4px;
  vertical-align: middle;
}

#menu_wrap .container .bookmark .my_box .my_item .my_title img {
  padding-left: 4px;
  display: inline-block;
  vertical-align: text-top;
}

#menu_wrap .container .menu {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}

#menu_wrap .container .menu:last-child {
  padding-bottom: 50px;
}
#menu_wrap .container .menu .text {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  font-weight: 700;
  color: #6690cf;
  margin-bottom: 16px;
}
#menu_wrap .container .menu .text:after {
  position: absolute;
  left: 0;
  top: 8px;
  z-index: -1;
  width: 100%;
  height: 10px;
  content: '';
  background-color: #e8eef8;
}
#menu_wrap .container .menu .list_box {
  display: flex;
  gap: 16px 20px;
  flex-wrap: wrap;
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e9f5;
}
#menu_wrap .container .menu .list_box .list_item {
  flex: 1 1 46%;
}
@media (min-width: 1510px) {
  #menu_wrap .container .menu .list_box .list_item {
    flex: 1 1 48%;
  }
}
#menu_wrap .container .menu .list_box .list_item .main_check {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  padding-left: 12px;
}
/* 수정 */
#menu_wrap .container .menu .list_box .list_item .main_check .sub_txt {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  /* color: #26336a; */
  font-weight: 500;
  line-height: 20px;
  word-break: keep-all;
}
#menu_wrap .container .menu .list_box .list_item .main_check .sub_txt .dot {
  position: absolute;
  top: 8px;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 2px;
  background-color: #26336a;
}
#menu_wrap .container .menu .list_box .list_item .main_check label:before {
  margin-right: 0;
}
#menu_wrap .container .menu .list_box .list_item .main_check .lab_choice {
  line-height: 20px;
}
#menu_wrap .container .menu .list_box .last_item {
  flex: 0.5;
  padding-right: 20px;
}

#mobileId {
  color: #fff;
}

#main_wrap #container .piston_board_wrap {
  padding: 40px 0px 0px 0px;
  height: 275px;
  max-width: 440px;
  background: #2c2c2c !important;
  /* border: 1px solid #bdc3c7 !important; */
  border-radius: 16px !important;
  margin: 0 20px 0px 20px !important;
  padding: 20px !important;
}
#main_wrap #container .piston_board_wrap .title .btn_more {
  color: #1a8cff;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}

#main_wrap #container .piston_board_wrap .title {
  padding-left: 20px;
  padding-right: 20px;
  color: #1a8cff;
  letter-spacing: 1px;
}

#main_wrap #container .piston_board_wrap .board_tab_wrap {
  position: relative;
}
#main_wrap #container .piston_board_wrap .board_tab_wrap .b_tab_wrap {
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 8px;
}
#main_wrap
  #container
  .piston_board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box {
  display: inline-flex;
  gap: 10px;
}
#main_wrap
  #container
  .piston_board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item {
  display: list-item;
  text-align: -webkit-match-parent;
  width: 100%;
  white-space: nowrap;
}
#main_wrap
  #container
  .piston_board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab {
  position: relative;
  overflow: hidden;
}
#main_wrap
  #container
  .piston_board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab
  .b_tab_link_sel {
  color: #26336a;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  display: block;
  font-weight: 700;
  text-align: center;
  padding: 3px 12px 4px 12px;
  border-radius: 15px;
  border: 1px solid #26336a;
}
#main_wrap
  #container
  .piston_board_wrap
  .board_tab_wrap
  .b_tab_wrap
  .b_tab_box
  .b_tab_item
  .b_tab
  .b_tab_link {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #999;
  text-align: center;
  padding: 3px 12px 4px 12px;
  border: 1px solid #eee;
  border-radius: 15px;
}
#main_wrap #container .piston_board_wrap .board_tab_wrap .more_box {
  position: absolute;
  right: 0;
  top: 0;
  padding-right: 20px;
  z-index: 1;
}
#main_wrap #container .piston_board_wrap .board_tab_wrap .more_box .more_item {
  display: flex;
  width: 29px;
  height: 29px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #eee;
  background-color: #fff;
}
#main_wrap #container .piston_board_wrap .board_tab_wrap .more_box:after {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  content: '';
  display: block;
  width: 60px;
  height: 29px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgb(255, 255, 255) 15%,
    rgb(255, 255, 255) 100%
  );
}
#main_wrap #container .piston_board_wrap .list_wrap {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}
#main_wrap #container .piston_board_wrap .list_wrap .list_box .list_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e8eef8;
  padding: 12px 0;
  color: #111;
}
#main_wrap
  #container
  .piston_board_wrap
  .list_wrap
  .list_box
  .list_item
  .l_tag_blue {
  color: #0d326f;
}
#main_wrap
  #container
  .piston_board_wrap
  .list_wrap
  .list_box
  .list_item
  .l_tag_red {
  color: #a40f16;
}
#main_wrap
  #container
  .piston_board_wrap
  .list_wrap
  .list_box
  .list_item
  .list_tag {
  display: inline-block;
  width: 30px;
  margin-right: 10px;
  color: #2563eb;
}
#main_wrap
  #container
  .piston_board_wrap
  .list_wrap
  .list_box
  .list_item
  .list_text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 10px;
  color: #fff;
}
#main_wrap
  #container
  .piston_board_wrap
  .list_wrap
  .list_box
  .list_item
  .list_data {
  display: inline-block;
  width: 35px;
  font-size: 12px;
  color: #d7d7d7;
}
