@charset "UTF-8";

/* Mobile Global */
body {
  font-size: 14px;
}

.btn-md {
  height: 46px;
  line-height: 46px;
  font-size: 12px;
}

.btn-lg {
  height: 54px;
  line-height: 54px;
  font-size: 16px;
}

.form-control {
  height: 46px;
  font-size: 12px;
}

.form-control:disabled {
  border: 1px solid var(--color-gray200);
}

.input {
  margin-bottom: 26px;
}

.input .input_label {
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  color: var(--color-gray800);
  display: block;
  margin-bottom: 6px;
}

.input .input_label span.info_txt {
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
  margin-left: 6px;
  color: vaR(--color-gray400);
}

.input_flex {
  display: flex;
  align-items: center;
  gap: 6px;
}

.selectbox_wrap button.selected,
.selectbox_wrap div.selected {
  font-size: 12px;
  height: 46px;
}

.filter_wrap {
  padding: 0 16px;
  padding-bottom: 10px;
}

.textarea {
  padding: 14px;
  font-size: 12px;
}

.textarea::placeholder {
  font-size: 12px;
}

.input_file {
  height: 46px;
}

.input_file span.file_name {
  font-size: 12px;
}

/* Modal Message Type */
.modal_message .modal__inner {
  max-width: 262px;
  padding: 16px;
}

.modal_message .modal__content p {
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  text-align: center;
  white-space: pre-line;
  color: #000000;
}

.modal_message .modal__content p.sub-modal__message {
  font-size: 12px;
  color: #666666;
  margin-top: 6px;
}

.modal_message .modal__btns {
  margin-top: 16px;
}

/* Modal Confirm Type */
.modal_confirm .modal__inner {
  max-width: 262px;
}

.modal_confirm .modal__content {
  padding: 20px 12px;
  text-align: center;
}

.modal_confirm .modal__content h3.modal__title {
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  white-space: pre-line;
  color: var(--color-gray800);
}

.modal_confirm .modal__content p {
  font-size: 12px;
  font-weight: 500;
  line-height: 22px;
  white-space: pre-line;
  color: var(--color-gray400);
}

.modal_confirm .modal__btns {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--color-gray200);
}

.modal_confirm .modal__btns * {
  flex: 1;
  min-height: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--color-gray800);
}

.modal_confirm .modal__btns *:not(:last-child) {
  border-right: 1px solid var(--color-gray200);
}

/* Mobile Layout */
.mobile-wrapper {
  width: 100%;
  min-height: 100dvh;
}

.mobile-wrapper .content {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  min-height: 100dvh;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  padding-top: 50px;
}

.mobile-wrapper .container {
  margin-top: 8px;
  padding-left: 16px;
  padding-right: 16px;
}

h4.h4_tit {
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
  color: var(--color-gray800);
}

h5.h5_tit {
  font-weight: 600;
  line-height: 22px;
  color: var(--color-gray800);
}

/* 푸터 */
.job_footer {
  position: fixed;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-top: 1px solid var(--color-gray200);
  padding: 11px 12px 25px;
}

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

.job_footer ul li {
  flex: 1;
}

.job_footer ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 4px;
}

.job_footer ul li a img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.job_footer ul li a span {
  font-size: 10px;
  line-height: 18px;
  color: var(--color-gray400);
}

.job_footer ul li.active a span {
  color: var(--color-primary);
}

/* 하단 고정 Appbar */
.app_bottom {
  position: fixed;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 16px;
  z-index: 60;
}

.app_bottom.bottom0 {
  bottom: 0;
}

.app_bottom.not_fixed {
  position: absolute;
  bottom: 40px;
  padding: 0;
}

.language-select .selectbox_options {
  max-height: none;
  padding: 0;
  border: none;
  box-shadow: none;
}

.language-select .selectbox_options .option {
  height: 54px;
  line-height: 54px;
  padding: 0 10px;
}

.btn_area {
  gap: 6px;
}

.info_txt {
  font-size: 14px;
  color: var(--color-gray600);
}

/* #### PAGE #### */
/* 로그인 */
.login {
  margin-top: 20px;
}

.login img {
  margin-bottom: 23px;
}

.login_header h4 {
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
  color: #000000;
  margin-bottom: 6px;
}

.login_header p {
  line-height: 22px;
  color: var(--color-gray600);
}

.login .btn_google {
  background-color: #fff;
  border: 1px solid var(--color-gray300);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: normal;
}

.login .btn_google span,
.login .btn_apple span {
  font-weight: 600;
  color: var(--color-gray600);
}

.login .btn_google:before,
.login .btn_apple:before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  background: url(/images/icon/icon_google.svg) no-repeat center / contain;
}

.login .btn_apple {
  background-color: var(--color-gray800);
  border: 1px solid var(--color-gray800);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: normal;
}

.login .btn_apple span {
  color: #fff;
}

.login .btn_apple:before {
  background: url(/images/icon/icon_apple.svg) no-repeat center / contain;
}

.login .login_contact {
  text-align: center;
  margin-top: 30px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-gray400);
}

/* 사업자 정보 */
.login_scroll_wrap {
  height: 100dvh;
  overflow-y: auto;
}

.login_screen {
  min-height: 100dvh;
  position: relative;
}

.login_screen .app_bottom {
  position: absolute;
}

.business_info {
  margin-top: 40px;
  padding: 16px;
  background-color: var(--color-gray100, #f5f5f5);
  border-radius: 16px 16px 0 0;
}

.business_info_title {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
  padding: 0 4px;
  color: var(--color-gray800);
}

.business_info table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.business_info table th,
.business_info table td {
  padding: 6px 4px;
  vertical-align: top;
  border-bottom: 1px dashed var(--color-gray300, #ddd);
  color: var(--color-gray600);
  line-height: 1.5;
}

.business_info table tr:last-child th,
.business_info table tr:last-child td {
  border-bottom: none;
}

.business_info table th {
  white-space: nowrap;
  width: 100px;
  font-weight: 500;
  color: var(--color-gray500);
  text-align: left;
}

/* 이용약관 */
.term {
  font-size: 12px;
  color: var(--color-gray600);
  line-height: 20px;
  padding-bottom: 40px;
}

/* 회원가입 */
.signup {
  min-height: calc(100dvh - 108px);
  padding-bottom: 108px;
  position: relative;
}

.agree_marketing {
  padding-top: 24px;
  border-top: 1px solid var(--color-gray200);
}

.radio_text {
  height: 46px;
  font-size: 12px;
}

/* 회원가입 완료 */
.signup_complete {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100dvh - 170px);
}

.complete_img {
  text-align: center;
}

.complete_txt {
  margin-top: 18px;
  font-size: 16px;
  text-align: center;
  font-weight: 700;
  color: var(--color-gray800);
}

.complete_txt span {
  display: block;
  line-height: 22px;
  color: var(--color-gray400);
  margin-top: 4px;
}

/* 채팅 */
.chat {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 180px);
  padding: 14px 16px;
}

.list_sort span.cnt {
  font-size: 12px;
  color: var(--color-gray600);
}

.list_sort .btn_sort span {
  font-size: 12px;
  padding-left: 17px;
  color: var(--color-gray600);
}

.list_sort .btn_sort span::before {
  width: 14px;
  background-image: url(/images/icon/icon_sort.svg);
}

.chat__list {
  margin-top: 8px;
}

.chat__list .chat__item {
  margin-bottom: 14px;
}

.chat__list .chat__item:hover {
  box-shadow: none;
}

.chat__item .thum {
  display: inline-block;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: 10px;
  border: 1px solid var(--color-gray200);
  overflow: hidden;
  background-color: #fff;
}

.chat__item .thum img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.chat__item .chat_info {
  padding-top: 5px;
}

.chat__item .chat_info .chat_title {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.chat__item .chat_info .chat_title span.period {
  padding: 0 6px;
  border-radius: 5px;
  height: 20px;
  line-height: 20px;
  font-size: 12px;
}

.chat__item .chat_info .chat_title h3 {
  font-weight: 700;
  line-height: 22px;
  font-size: 16px;
}

.chat__item .chat_info p.chat_msg {
  font-size: 12px;
  line-height: 20px;
  margin-top: 4px;
  height: 20px;
}

.chat__item .chat_info .chat_date {
  font-size: 12px;
  margin-top: 1.5px;
  min-height: auto;
  line-height: 22px;
}

.chat__item .chat_info .unread_cnt {
  margin-top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  line-height: 20px;
  font-weight: 500;
}

.chatting {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 188px);
}

.chat-company__info {
  border: 1px solid vaR(--color-gray300);
  background-color: #fff;
  border-radius: 10px;
  padding: 14px;
  flex-shrink: 0;
}

.chat-company__info .announce_info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat-company__info .announce_info span {
  font-size: 12px;
  color: var(--color-gray500);
}

.chat-company__info .announce_info .btn_fold {
  font-size: 12px;
  color: var(--color-gray700);
}

.chat-company__info h3.announce_tit {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-gray800);
}

.chat-company__info .announce_period {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat-company__info .announce_period span {
  font-size: 12px;
  color: var(--color-gray500);
}

.chat-company__info .announce_period .btn_more span {
  position: relative;
  padding-right: 13px;
}

.chat-company__info .announce_period .btn_more span::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/jobseeker/icon_chat_more.svg) no-repeat center / contain;
}


.chat-company__info .announce_more_list {
  margin-top: 10px;
  border-top: 1px solid var(--color-gray200);
  padding-top: 10px;
}

.chat-company__info .announce_more_item {
  padding: 6px 0;
}

.chat-company__info .announce_more_item .announce_tit {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray700);
}

.chat-company__info .announce_more_item .announce_period {
  margin-top: 4px;
}

.chatting__form {
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 0px;
  padding-bottom: 44px;
}

.chatting__form .btn_attach {
  display: inline-block;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: url(/images/jobseeker/chat_attach.svg) no-repeat center / contain;
}

.chatting__form .btn_attach:disabled {
  background-image: url(/images/jobseeker/chat_attach_disabled.svg);
  cursor: default;
}

.chatting__form .input_chat {
  display: flex;
  align-items: center;
  flex: 1;
  background-color: var(--color-gray100);
  border-radius: 50px;
  height: 34px;
  padding: 0 14px;
}

.chatting__form .input_chat input {
  border: none;
  height: 100%;
  flex: 1;
  font-size: 14px;
  background: transparent;
}

.chatting__form .input_chat input::placeholder {
  color: var(--color-gray400);
}

.chatting__form .btn_send {
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url(/images/jobseeker/icon_send.svg) no-repeat center / contain;
}

.chatting__form .btn_send:disabled {
  background-image: url(/images/jobseeker/icon_send_disabled.svg);
  cursor: default;
}

.expired-banner {
  width: calc(100% - 32px);
  max-width: 476px;
  padding: 16px;
  background: #1c61f7;
  color: #fff;
  border-radius: 10px;
  margin: 10px auto;
  z-index: 20;
}

.expired-banner h4 {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  line-height: 30px;
  padding-right: 16px;
  position: relative;
  display: inline-block;
}

.expired-banner h4::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 15px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/jobseeker/icon_chat_more_arrow.svg) no-repeat center / contain;
}

.expired-banner p {
  margin-top: 8px;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
}

/* Visa */
.visa {
  background-color: var(--color-gray100);
  padding: 13px 12px 100px;
  min-height: calc(100dvh - 100px);
}

.visa .visa_info {
  background: linear-gradient(0deg, #1c61f7, #1c61f7), linear-gradient(270deg, rgba(28, 97, 247, 0) 14.18%, #0e49ca 95.97%);
  padding: 20px;
  border-radius: 10px;
}

.visa .visa_info h2 {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}

.visa .visa_info p {
  font-size: 12px;
  color: var(--color-gray100);
  margin-top: 14px;
}

.service__list {
  margin-top: 24px;
}

.service__list h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-gray800);
  margin-bottom: 8px;
}

.service__list .service__item {
  margin-bottom: 12px;
}

.service__item .service_title h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}

.service__item .service_title p {
  font-size: 12px;
  margin-top: 4px;
}

.service__item .service_price .price {
  margin-bottom: 0;
}

.service__item .service_price .price span {
  font-size: 12px;
  line-height: 20px;
}

.service__item .service_price .price h3 {
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
  margin-bottom: 0;
}

.service__item .service_price span.vat {
  font-size: 12px;
  line-height: 20px;
}

.visa-dtl {
  margin-top: 18px;
  padding-bottom: 100px;
}

.visa-dtl__info h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-gray800);
}

.visa-dtl__info p.price {
  margin: 4px 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-primary3);
}

.visa-dtl__info p.info_txt {
  color: var(--color-gray800);
}

.visa-dtl .visa-qna {
  margin-top: 42px;
}

.visa-dtl .vat-info {
  color: var(--color-gray500);
}

.visa-dtl .gov-fee-info {
  color: var(--color-gray500);
}

.visa-qna .qna {
  margin-bottom: 40px;
}

.visa-qna .qna span.quest {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto;
  padding: 0 14px;
  background-color: var(--color-gray800);
  border-radius: 10px;
  color: var(--color-gray100);
  height: 38px;
}

.visa-qna .qna .answer {
  margin-top: 8px;
  padding: 0 4px;
  color: var(--color-gray800);
}

/* Guide */
.form_search {
  padding: 0 16px;
  background-color: #fff;
}

.form_search.guide_search {
  padding-bottom: 10px;
}

.form_search .search_input {
  border: 1px solid var(--color-gray200);
  border-radius: 90px;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  height: 46px;
}

.form_search .search_input input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: none;
  background-color: transparent;
  font-size: 12px;
}

.form_search .search_input input::placeholder {
  color: var(--color-gray400);
}

.form_search .search_input .btns {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
}

.form_search .search_input .btn_delete {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(/images/icon/icon_delete.svg) no-repeat center / contain;
}

.form_search .search_input .btn_search {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/images/icon/icon_search.svg) no-repeat center / contain;
}

.guide {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 180px);
  padding: 20px 16px;
  padding-bottom: 100px;
}

.guide_cnt .cnt {
  font-size: 12px;
  color: var(--color-gray600);
}

.guide__list {
  margin-top: 8px;
}

.guide__list .guide__item {
  min-height: 60px;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
  padding-right: 37px;
  position: relative;
}

.guide__list .guide__item::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/jobseeker/icon_guide_arrow.svg) no-repeat center / contain;
}

.guide__list .guide__item p {
  color: var(--color-gray600);
}

.guide-dtl {
  padding-bottom: 40px;
}

.guide-dtl .guide_info span.date {
  font-size: 12px;
  color: var(--color-gray400);
}

.guide-dtl .guide_info h3.guide_title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-gray800);
}

.guide-dtl .guide_cnts {
  margin-top: 14px;
  line-height: 1.6;
}

.recommend_service {
  margin-top: 40px;
}

.recommend_service>h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-gray600);
}

.recommend_service .service__list {
  margin-top: 8px;
}

.recommend_service .service__item {
  border: 1px solid var(--color-gray300);
}

/* Guide - Search */
.search_header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: env(safe-area-inset-top, 0) 16px 0;
}

.search_header .btn_back {
  display: inline-block;
  flex-shrink: 0;
  min-width: 24px;
  width: 24px;
  height: 24px;
  background: url(/images/icon/icon_back.svg) no-repeat center center / contain;
}

.search_header .form_search {
  flex: 1;
  min-width: 0;
  padding: 0;
}

.search {
  margin-top: 12px;
  padding-bottom: 114px;
}

.search-history {
  padding: 0 14px;
}

.search-history .search__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 38px;
  margin-bottom: 4px;
}

.search-history .search__item span.word {
  color: var(--color-gray700);
}

.search-history .search__item .item_setting {
  display: flex;
  align-items: center;
  gap: 10px;
}

.search-history .search__item .item_setting span {
  font-size: 12px;
  color: var(--color-gray400);
}

.search-history .search__item .item_setting .btn_delete {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: url(/images/icon/icon_delete.svg) no-repeat center / contain;
}

/* Search Result */
.search .no_data {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(100dvh - 240px);
}

.no_data p {
  text-align: center;
  color: var(--color-gray600);
}

.search-result {
  margin-top: 22px;
}

.search-result .search-type {
  margin-bottom: 28px;
}

.search-result .search-type>h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-gray800);
  margin-bottom: 6px;
  line-height: 26px;
}

.search-result .guide__item {
  border: 1px solid var(--color-gray200);
}

/* 알림 */
.alarm {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 100px);
  padding-top: 14px;
  padding-bottom: 30px;
}

.alarm .container {
  margin-top: 0px;
}

/* Jobs */
.main {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 280px);
  padding-top: 20px;
  padding-bottom: 100px;
}

.main .container {
  margin-top: 0px;
}

.jobs__list {
  margin-top: 8px;
}

.jobs__list .jobs__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background-color: #fff;
  border-radius: 10px;
  padding: 14px 12px;
  margin-bottom: 6px;
}

.jobs__item .company_thum {
  display: inline-block;
  width: 66px;
  height: 66px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
}

.jobs__item .company_thum img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jobs__item .company_empty {
  display: flex;
  width: 66px;
  height: 66px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-gray200);
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
}

.jobs__item .company_empty img {
  width: 24px;
  height: 29px;
  object-fit: contain;
}

.jobs__item .job__info {
  flex: 1;
  min-width: 0;
}

.jobs__item .job__info .job-info__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jobs__item .job__info .job-info__list li {
  font-size: 12px;
  color: var(--color-gray500);
  line-height: 20px;
}

.jobs__item .job__info .job-info__list li:after {
  content: "｜";
  color: var(--color-gray300);
  margin: 0 2px;
}

.jobs__item .job__info .job-info__list li:last-child::after {
  content: none;
}

.jobs__item .job_title {
  font-weight: 700;
  line-height: 22px;
  color: var(--color-gray700);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  height: 22px;
}

.jobs__item span.period {
  display: block;
  margin-top: 4px;
  padding-left: 18px;
  position: relative;
  font-size: 12px;
  color: var(--color-gray500);
  line-height: 20px;
}

.jobs__item span.period::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_calendar.svg) no-repeat center / contain;
}

.jobs__item.end .job_title {
  color: var(--color-gray500);
}

.jobs-search_result .filter_wrap {
  margin-top: 12px;
}

.jobs-search_result .jobs__item {
  border: 1px solid var(--color-gray200);
}

.modal.modal_app .modal__inner {
  max-width: 262px;
  padding: 16px;
}

.modal.modal_app .modal__message {
  text-align: center;
  line-height: 22px;
  color: var(--color-gray800);
  margin-bottom: 16px;
}

.modal.modal_app .btn_not_show {
  font-size: 12px;
  color: var(--color-gray400);
  margin-top: 10px;
}

/* Job - Detail */
.jobs-info {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 100px);
  padding-top: 18px;
  padding-bottom: 60px;
}

.jobs-info .list_sort {
  margin-top: 4px;
  margin-bottom: 8px;
}

.jobs__item .jobs-period-details {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.jobs__item .jobs-period-details .period {
  padding-left: 0px;
  position: static;
}

.jobs__item .jobs-period-details .period::before {
  content: "공고기간";
  background: none;
  width: auto;
  line-height: 20px;
  height: auto;
  font-size: 12px;
  color: var(--color-gray500);
  position: static;
  transform: translate(0px);
  margin-right: 8px;
}

.jobs-support {
  padding-bottom: 100px;
}

.support_div {
  margin-bottom: 16px;
}

.support_div h4.h4_tit {
  margin-bottom: 8px;
  padding-left: 6px;
}

.resume_item {
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid var(--color-gray200);
}

.resume_item .resume_status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.resume_item h3.resume_tit {
  margin-top: 8px;
  font-weight: 600;
  color: var(--color-gray800);
  line-height: 26px;
}

.resume_item .resume_visa {
  margin: 2px 0;
  font-weight: 600;
  line-height: 22px;
  color: var(--color-gray500);
}

.resume_item .resume_modify {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.resume_item .resume_modify span {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-gray400);
}

.btn_arrow span {
  font-size: 12px;
  line-height: 20px;
  color: var(--color-gray500);
  padding-right: 13px;
  position: relative;
}

.btn_arrow span::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_link_arrow.svg) no-repeat center / contain;
}

/* 지역, 직종 선택 */
.condition {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 100px);
}

.condition .select-condition {
  flex: 1 1 auto;
  display: flex;
  min-height: 0;
}

.select-condition .condition_1depth {
  width: 134px;
  flex-shrink: 0;
  overflow-y: auto;
  height: 100%;
  min-height: 0;
}

.condition_1depth ul li.depth1_category {
  min-height: 42px;
  line-height: 18px;
  padding: 8px 32px 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.condition_1depth ul li.depth1_category.active {
  background-color: var(--color-gray800);
  color: #fff;
  position: relative;
}

.condition_1depth ul li.depth1_category.active.has_check {
  background-color: #fff;
  color: var(--color-gray700);
}

.condition_1depth ul li.depth1_category.active::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_select_1depth_arrow.svg) no-repeat center / contain;
}

.condition_1depth ul li.depth1_category.all:after {
  content: none
}

.condition_1depth ul li.depth1_category.active.has_check::after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 19px;
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_category_check.svg) no-repeat center / contain;
}

.select-condition .condition_2depth {
  flex: 1;
  overflow-y: auto;
  height: 100%;
  min-height: 0;
}

.condition_2depth ul li.depth2_category {
  min-height: 42px;
  line-height: 18px;
  padding: 8px 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.condition_2depth ul li.depth2_category.active {
  background-color: var(--color-gray800);
  color: #fff;
}

.condition .select-bottom {
  flex-shrink: 0;
  border-top: 1px solid #f3f3f3;
  box-shadow: 0px 2px 17.9px 0px #00000014;
  padding: 14px 16px;
  padding-bottom: 40px;
}

.select-bottom .selected_text {
  margin-bottom: 10px;
}

.select-bottom .selected_text b {
  font-weight: 700;
  line-height: 22px;
  color: var(--color-primary);
}

.select-bottom .selected_text span {
  line-height: 22px;
  color: var(--color-gray800);
  display: inline-block;
  margin-left: 6px;
}

.select-bottom .selected_badge_wrapper {
  max-height: 74px;
  overflow: hidden;
  transition: max-height 0.25s ease;
  margin-bottom: 10px;
}

.select-bottom .selected_badge_wrapper.expanded {
  max-height: 500px;
}

.select-bottom .selected_badge {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.select-bottom .selected_badge li {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
}

.selected_badge .selected {
  display: flex;
  align-items: center;
  gap: 4px;
  width: auto;
  padding: 0 14px;
  height: 32px;
  line-height: 32px;
  border-radius: 50px;
  background-color: var(--color-gray150);
}

.selected_badge .selected.selected_1depth_no_arrow {
  background-color: var(--color-sub);
  position: relative;
  margin-right: 8px;
}

.selected_badge .selected.selected_1depth {
  background-color: var(--color-sub);
  position: relative;
  margin-right: 8px;
}

.selected_badge .selected.selected_1depth:after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 10px;
  position: absolute;
  right: -13px;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_badge_arrow.svg) no-repeat center / contain;
}

.selected_badge .selected span {
  font-size: 12px;
  color: var(--color-gray700);
}

.selected_badge .selected .btn_delete {
  display: inline-block;
  width: 11px;
  height: 11px;
  background: url(/images/icon/icon_delete_badge.svg) no-repeat center / contain;
}

.select-bottom .select-bottom__btns {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

.select-bottom__btns .btn_reset {
  display: inline-block;
  width: 54px;
  height: 54px;
  flex-shrink: 0;
  border-radius: 10px;
  background: var(--color-gray100) url(/images/icon/icon_reset.svg) no-repeat center / 20px;
}

.condition .select-condition.job-type_1depth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 6px 16px 30px;
  overflow-y: auto;
}

.job-type_1depth .btn_1depth {
  padding: 0;
  background: none;
  border: none;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.job-type_1depth .btn_1depth span {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  height: 100%;
  padding: 8px 12px;
  color: var(--color-gray700);
  border-radius: 10px;
  border: 1px solid var(--color-gray300);
  width: 100%;
  box-sizing: border-box;
}

.job-type_1depth .btn_1depth.active span {
  color: #fff;
  background-color: var(--color-gray800);
}

.job-type_1depth .btn_1depth.btn_arrow span {
  color: var(--color-gray700);
  font-size: 14px;
}

/* 마이페이지 */
.mypage {
  background-color: var(--color-gray100);
  padding: 8px 16px 80px;
  min-height: calc(100dvh - 180px);
}

.mypage_current {
  display: flex;
  justify-content: center;
  gap: 32px;
  padding: 10px 40px;
  border-radius: 10px;
  background-color: #fff;
  margin-top: 8px;
}

.mypage_current .cur {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  position: relative;
  text-align: center;
}

.mypage_current .cur::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 30px;
  background-color: var(--color-gray200);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -16px;
}

.mypage_current .cur:last-child:after {
  content: none;
}

.mypage_current .cur span {
  line-height: 22px;
  color: var(--color-gray400);
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mypage_current .cur b {
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: var(--color-gray800);
  margin-top: auto;
}

.mypage_link {
  background-color: #fff;
  margin-top: 8px;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.mypage_link>div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mypage_link .icon {
  display: inline-block;
  width: 38px;
  height: 38px;
}

.mypage_link .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mypage_link h5.h5_tit span {
  display: inline-block;
  margin-left: 10px;
  font-weight: 600;
  color: var(--color-gray500);
}

.mypage_link .btn_go_link,
.identity_vertify .btn_go_link {
  display: inline-block;
  width: 17px;
  height: 17px;
  background: url(/images/jobseeker/icon_mypage_link.svg) no-repeat center / contain;
}

.mypage_link h3.score {
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
}

.score_info {
  margin-top: 8px;
  padding: 0 14px;
}

.score_info h6 {
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  padding-left: 20px;
  position: relative;
}

.score_info h6::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/images/icon/icon_info.svg) no-repeat center / contain;
}

.score_info p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-gray800);
}

/* 마이페이지 > 결제내역 */
.my-payment .hold_ticket {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
}

.my-payment .hold_ticket b {
  font-size: 18px;
  font-weight: 700;
  line-height: 26px;
  color: var(--color-primary3);
}

.my-payment .payment {
  min-height: calc(100dvh - 146px);
  background-color: var(--color-gray100);
  padding-top: 14px;
  padding-bottom: 40px;
}

.my-payment .payment .container {
  margin-top: 0px;
}

.payment__list {
  margin-top: 8px;
}

.payment__list .payment__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 10px 16px;
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 8px;
}

.payment__item ul {
  display: flex;
  align-items: center;
}

.payment__item ul li {
  padding: 0 3px;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-gray500);
}

.payment__item ul li::after {
  content: "|";
  margin-left: 6px;
  display: inline-block;
}

.payment__item ul li:first-child {
  padding-left: 0px;
}

.payment__item ul li:last-child:after {
  content: none;
}

.payment__item .payment_cnt {
  font-size: 16px;
  font-weight: 600;
  line-height: 26px;
  color: var(--color-gray500);
}

.payment__item .payment_cnt.blue {
  color: var(--color-primary3);
}

/* 마이페이지 > 지원현황 */
.my-support .support {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 160px);
  padding-top: 16px;
  padding-bottom: 40px;
}

.my-support .support .container {
  margin-top: 0px;
}

.support__list {
  margin-top: 8px;
}

.support__list .support__item {
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 8px;
  padding: 14px;
}

.support__item .badge_list {
  margin-top: 0px;
}

.badge-mini {
  display: inline-block;
  width: auto;
  min-height: 20px;
  line-height: 20px;
  border-radius: 5px;
  text-align: center;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 500;
}

.badge-mini.badge--primary {
  background-color: var(--color-primary);
  color: #fff;
}

.badge-mini.badge--gray {
  background-color: var(--color-gray200);
  color: var(--color-gray700);
}

.support__item .support_tit {
  margin-top: 4px;
}

.support__item .support_tit p {
  font-size: 12px;
  line-height: 20px;
  color: var(--color-gray500);
}

.support__item .support_tit h3 {
  font-weight: 700;
  line-height: 22px;
  color: var(--color-gray700);
}

.support__item ul li {
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-gray800);
  font-weight: 700;
}

.support__item ul li>span {
  display: inline-block;
  width: 90px;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 20px;
  position: relative;
  padding-right: 10px;
  color: var(--color-gray500);
}

.support__item ul li>span::after {
  content: "|";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* 마이페이지 > 설정 */
.setting {
  background-color: var(--color-gray100);
  min-height: calc(100dvh - 100px);
  padding-top: 14px;
  padding-bottom: 40px;
}

.setting .container {
  margin-top: 0px;
}

.setting_div {
  margin-bottom: 20px;
}

.setting_div h4.h4_tit {
  margin-bottom: 4px;
}

.setting_div .link_list {
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
  padding: 10px;
}

.link_list .setting_link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  padding: 6px 0;
}

.link_list .setting_link h5.h5_tit {
  font-weight: 500;
}

.link_list .setting_link .btn_link {
  display: inline-block;
  width: 17px;
  height: 17px;
  background: url(/images/jobseeker/icon_setting_link.svg) no-repeat center / contain;
}

.btn_area_exit {
  margin-top: 10px;
  min-height: 34px;
}

.btn_area_exit .btn_arrow span {
  padding-right: 20px;
  color: var(--color-gray400);
}

.btn_area_exit .btn_arrow span:after {
  width: 17px;
  height: 17px;
  background-image: url(/images/jobseeker/icon_setting_link.svg);
}

.my-country {
  padding-bottom: 100px;
}

.select-type .type {
  width: 100%;
  height: 50px;
  display: flex;
  padding: 0 10px;
  color: var(--color-gray500);
  align-items: center;
  border-radius: 10px;
  cursor: pointer;
}

.select-type .type.selected {
  background-color: var(--color-primary);
  color: #fff;
  font-weight: 700;
}

/* 회원탈퇴 */
.exit {
  padding-bottom: 120px;
}

.exit .select-type .type {
  border: 1px solid var(--color-gray200);
  margin-bottom: 6px;
  font-size: 12px;
}

.exit .select-type .type.selected {
  border: 1px solid var(--color-primary);
}

/* 마이페이지 > 이력서 */
.resume {
  padding-top: 14px;
  padding-bottom: 57px;
}

.resume_profile {
  width: 110px;
  height: 150px;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 auto;
}

.resume_profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resume .recent_date {
  text-align: center;
  margin: 20px 0;
  color: var(--color-gray400);
}

.resume h3.name {
  text-align: center;
  font-size: 18px;
  color: var(--color-gray800);
}

.resume ul.resume_info {
  margin-top: 20px;
}

.resume ul.resume_info li {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 10px;
}

.resume ul.resume_info li span.info_tit {
  display: inline-block;
  width: 80px;
  font-weight: 600;
  flex-shrink: 0;
  color: var(--color-gray800);
  line-height: 22px;
  word-break: keep-all;
}

.resume ul.resume_info li.column {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 6px;
}

.resume ul.resume_info li>div {
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  color: var(--color-gray600);
  flex: 1;
  width: 100%;
}

.identity_vertify {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--color-gray200);
  border-radius: 10px;
}

.identity_vertify>div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.identity_vertify>div .icon {
  display: inline-block;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  overflow: hidden;
}

.identity_vertify>div .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.identity_vertify>span {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-gray400);
}

.resume .input {
  margin-bottom: 14px;
}

.resume-language_box {
  display: flex;
  align-items: flex-start;
  gap: 2px;
  background-color: var(--color-gray100);
  padding: 6px;
  border-radius: 10px;
  margin-bottom: 8px;
}

.resume-language_box .btn_remove {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  background: url(/images/jobseeker/icon_resume_delete.svg) no-repeat center / contain;
}

.resume-language_box>div {
  flex: 1;
}

.resume-language_box>div .input_flex {
  margin-top: 6px;
}

.resume-language_wrap .btn_add {
  width: 100%;
  background-color: var(--color-gray100);
  height: 46px;
  line-height: 46px;
  border-radius: 10px;
}

.input_file {
  height: 46px;
}

.input_file span.file_name {
  font-size: 12px;
}

.month-input {
  position: relative;
}

.hidden-month {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}