@charset "UTF-8";
/* =========================================================
   INDEX / FILE OVERVIEW
   ---------------------------------------------------------
   01. Sass Modules / Utilities
       - sass:map

   02. Breakpoints
       - $bp

   03. Color Scale
       - $colors (yellow / green / navy ...)

   04. Following Sections
       - Layout / Components / Utilities (unchanged)
   ========================================================= */
/* =========================================================
   Color Scale
   ========================================================= */
/* =========================================================
   Base / Reset
   ========================================================= */
:root {
  --bg: #ffffff;
  --card: #ffffff;
  --text: #111;
  --muted: #bfbfbf;
  --line: #dfdfdf;
  /* ===== Color scale (CSS Vars) ===== */
  --yellow-900: #c79700;
  --yellow-800: #d4a100;
  --yellow-700: #e0aa00;
  --yellow-600: #edb400;
  --yellow-500: #f9bd00;
  --yellow-400: #faca33;
  --yellow-300: #fbd766;
  --yellow-200: #fde599;
  --yellow-100: #fef2cc;
  --green-900: #126b0d;
  --green-800: #157d0f;
  --green-700: #188e12;
  --green-600: #1ba014;
  --green-500: #1eb216;
  --green-400: #40be39;
  --green-300: #62c95c;
  --green-200: #83d57f;
  --green-100: #dcfbdb;
  --navy-900: #000001;
  --navy-800: #00001a;
  --navy-700: #000034;
  --navy-600: #00004d;
  --navy-500: #000066;
  --navy-400: #202079;
  --navy-300: #40408c;
  --navy-200: #60609f;
  --navy-100: #8080b3;
  /* semantic */
  --brand: #edb400;
  --primary: #1eb216;
  --primary-hover: #1ba014;
  --secondary: #000066;
  --secondary-hover: #000034;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow: 0 12px 30px var(--line);
  --shadow-sm: 0 6px 16px var(--line);
  --container: 1200px;
  --gutter: 24px;
}

.text-yellow-100 {
  color: var(--yellow-100);
}

.text-yellow-200 {
  color: var(--yellow-200);
}
.text-yellow-300 {
  color: var(--yellow-300);
}
.text-yellow-400 {
  color: var(--yellow-400);
}
.text-yellow-500 {
  color: var(--yellow-500);
}
.text-yellow-600 {
  color: var(--yellow-600);
}
.text-yellow-700 {
  color: var(--yellow-700);
}
.text-yellow-800 {
  color: var(--yellow-800);
}
.text-yellow-900 {
  color: var(--yellow-900);
}

.text-green-100 {
  color: var(--green-100);
}

.text-green-200 {
  color: var(--green-200);
}
.text-green-300 {
  color: var(--green-300);
}
.text-green-400 {
  color: var(--green-400);
}
.text-green-500 {
  color: var(--green-500);
}
.text-green-600 {
  color: var(--green-600);
}
.text-green-700 {
  color: var(--green-700);
}
.text-green-800 {
  color: var(--green-800);
}
.text-green-900 {
  color: var(--green-900);
}

.text-navy-100{
  color: var(--navy-100);
}
.text-navy-200{
  color: var(--navy-200);
}
.text-navy-300{
  color: var(--navy-300);
}
.text-navy-400{
  color: var(--navy-400);
}
.text-navy-600{
  color: var(--navy-600);
}
.text-navy-700{
  color: var(--navy-700);
}
.text-navy-800{
  color: var(--navy-800);
}
.text-navy-900{
  color: var(--navy-900);
}
.text-navy-500{
  color: var(--navy-500);
}
.fs-12px {
  font-size: 12px;
}
.fs-14px {
  font-size: 14px;
}
.fs-16px {
  font-size: 16px;
}
.fs-18px {
  font-size: 18px;
}
.fs-20px {
  font-size: 20px;
}
.fs-24px {
  font-size: 24px;
}
.p-24 {
  padding: 1.5rem;
}
.m-24 {
  margin: 1.5rem;
}
.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}
.gap-8px {
  gap: 8px;
}
.gap-12px {
  gap: 12px;
}
.gap-16px {
  gap: 16px;
}
.gap-24px {
  gap: 24px;
}
@media (max-width: 767px) {
  :root {
    --gutter: 16px;
  }
}

/* =========================================================
   Page Wrapper
   ========================================================= */
#mdj_container {
  min-width: 0;
}

#mdj_content {
  max-width: var(--container);
}

#mdj_content .h3_02 {
  border-top: 2px solid #111;
}

/* =========================================================
   Utilities / Buttons
   ========================================================= */
.site-header * {
  box-sizing: border-box;
}
.site-header .btn--primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.site-header .btn--primary:hover, .site-header .btn--primary:focus, .site-header .btn--primary:active {
  background: var(--primary-hover) !important;
  color: #fff !important;
  border-color: var(--primary-hover) !important;
}
.site-header .btn--navy {
  background: var(--secondary);
  border-color: var(--secondary);
  color: #fff;
}

.site-header .btn-interested {
  border: 1px solid var(--navy-500);
  background-color: var(--navy-100);
}

.site-header .btn-like {
  border: 1px solid var(--navy-500);
  background-color: var(--navy-500);
}
.site-header .btn--navy:hover, .site-header .btn--navy:focus, .site-header .btn--navy:active {
  background: var(--secondary-hover) !important;
  color: #fff !important;
  border-color: var(--secondary-hover) !important;
}
.site-header .btn--outline {
  background: #fff;
  border-color: #d0d5dd;
  color: var(--text);
}
.site-header .btn--ghost {
  background: transparent;
  border-color: #d0d5dd;
  color: var(--text);
  padding: 8px 14px;
}
.site-header .btn--ghost:hover, .site-header .btn--ghost:focus, .site-header .btn--ghost:active {
  background: transparent;
  border-color: #d0d5dd;
  color: var(--text);
  padding: 8px 14px;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.badge--new {
  background: #f9bd00;
  color: var(--text);
}
.badge--hot {
  background: #F23C1D;
  color: #fff;
}

.pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  background: #f2f2f7;
  color: #111;
}
.pill--company {
  background: var(--primary);
  color: #fff;
}
.pill--outline {
  background: #fff;
  border: 1px solid var(--line);
}

/* =========================================================
   Header
   ========================================================= */
.site-header img,
.site-footer img {
  display: block;
  max-width: 100%;
}

.site-header a,
.site-header a:link,
.site-header a:visited {
  text-decoration: none;
}

.site-header ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header a:not(.btn) {
  color: var(--text);
}

.site-header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--line);
  font-weight: 600;
}
.site-header__top-inner {
  margin: 0 auto;
  padding: 28px 24px 16px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.site-header__brand {
  flex: 0 0 auto;
}
.site-header__logo {
  height: 44px;
  width: auto;
}
.site-header__right {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 28px;
}
.site-header__nav {
  flex: 1 1 auto;
  min-width: 0;
}
.site-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}
.site-header__nav-list a {
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  border-radius: 10px;
  white-space: nowrap;
  font-weight: 600;
}
.site-header__nav-list a:hover {
  color: var(--primary);
}
.site-header__nav-list .is-current a {
  color: var(--primary);
}
@media (min-width: 768px) {
  html[lang="en"] .site-header__nav-list li:nth-child(1) {
    width: 62.04px;
  }
  html[lang="en"] .site-header__nav-list li:nth-child(2) {
    width: 72.86px;
  }
  html[lang="en"] .site-header__nav-list li:nth-child(3) {
    width: 53.67px;
  }
  html[lang="en"] .site-header__nav-list li:nth-child(4) {
    width: 151.22px;
  }
  html[lang="en"] .site-header__nav-list li:nth-child(5) {
    width: 91.22px;
  }
  html[lang="en"] .site-header__actions .site-header__link-employer {
    width: 91.02px;
  }
  html[lang="en"] .site-header__actions .site-header__cta {
    width: 136.28px;
  }
  html[lang="ja"] .site-header__nav-list li:nth-child(1) {
    width: 72px;
  }
  html[lang="ja"] .site-header__nav-list li:nth-child(2) {
    width: 86.7px;
  }
  html[lang="ja"] .site-header__nav-list li:nth-child(3) {
    width: 72px;
  }
  html[lang="ja"] .site-header__nav-list li:nth-child(4) {
    width: 117px;
  }
  html[lang="ja"] .site-header__nav-list li:nth-child(5) {
    width: 117px;
  }
  html[lang="ja"] .site-header__actions .site-header__link-employer {
    width: 110px;
  }
}
.site-header__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}
.site-header__link-employer {
  font-size: 14px;
  color: var(--text);
  white-space: nowrap;
}
.site-header__cta {
  font-size: 14px;
  border-radius: 23px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 46px;
}
.site-header__lang {
  width: 50px;
  height: 46px;
  border-radius: 50%;
  background: #f2f2f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--text);
  padding: 16px;
}
html[lang="en"] .site-header__lang {
  padding: 16px 0;
}
.site-header__account {
  position: relative;
  padding-right: 16px;
  padding-left: 16px;
  background: #f2f2f7;
  border-radius: 999px;
}
.site-header__account.is-user-menu-open .site-header__user-menu {
  display: block;
}
.site-header__user {
  position: relative;
}
.site-header__user-btn {
  width: 44px;
  height: 44px;
  border: 0;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: none;
  color: var(--text);
}
.site-header__user-btn:hover {
  color: var(--primary);
}
.site-header__user-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.site-header__user-icon svg {
  display: block;
}
.site-header__user-caret {
  font-size: 10px;
  line-height: 1;
  transform: translateY(1px);
}
.site-header__iconbar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin-left: 8px;
  gap: 16px;
}
.site-header__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.site-header__icon-btn svg {
  display: block;
}
.site-header__icon-btn:hover {
  color: var(--primary);
}
.site-header__badge-dot {
  position: absolute;
  top: -2px;
  right: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f23c1d;
}
.site-header__user-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  z-index: 80;
}
.site-header__user-menu-link {
  display: flex;
  align-items: center;
  height: 44px;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
}
.site-header__user-menu-link:hover {
  background: #f2f2f7;
}
.site-header__hamburger {
  display: none;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  background: #f2f2f7;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.site-header__hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0;
  background: var(--text);
  border-radius: 2px;
  transition: transform 200ms ease, opacity 200ms ease;
  transform-origin: center;
}
.site-header__sp-menu, .site-header__sp-resume {
  display: none;
}
.site-header.is-menu-open .site-header__sp-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
/* Smooth height animation for SP menu - using clip-path for smooth slide effect */
.site-header__sp-menu {
  transition: clip-path 500ms cubic-bezier(0.4, 0, 0.2, 1), opacity 500ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: clip-path, opacity;
}
.site-header.is-menu-open .site-header__hamburger span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.site-header.is-menu-open .site-header__hamburger span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.site-header.is-menu-open .site-header__hamburger span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.sub_keyvisual_noimg {
  padding-top: 16px;
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 32px;
}
.sub_keyvisual_noimg .sub_keyvisual_noimg_wrap,
.sub_keyvisual .sub_keyvisual_wrap {
  max-width: var(--container);
  background: transparent;
  height: auto;
  display: flex;
  align-items: center;
  gap: 16px;
}
.sub_keyvisual_noimg .sub_keyvisual_noimg_wrap p,
.sub_keyvisual .sub_keyvisual_wrap p {
  border-left: 6px solid var(--navy-500);
  padding: 4px 16px !important;
  line-height: 1;
}
.sub_keyvisual {
  padding-top: 32px;
  padding-bottom: 24px;
}

#mdj_container:has(.scout-notice-top) .sub_keyvisual,
#mdj_container:has(.resume-notice-top) .sub_keyvisual {
  padding: 16px 12px;
}

@media (max-width: 767px) {
  .sub_keyvisual_noimg .sub_keyvisual_noimg_wrap p,
  .sub_keyvisual .sub_keyvisual_wrap p {
    margin-left: 8px;
  }
  .message-container {
    scroll-margin-top: 56px;
  }
}
html[lang="ja"] .members_navi {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.members_navi {
  max-width: var(--container);
  margin: 0px auto !important;
}
.members_navi ul {
  display: flex;
  align-items: center;
  gap: 24px;
}
.members_navi ul li {
  border: 0 !important;
  width: auto !important;
}
.members_navi ul li a {
  background: transparent !important;
  margin: 0 !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  font-size: 15px !important;
}
.members_navi ul li a:hover {
  color: var(--primary) !important;
}
.members_navi ul li a.this {
  color: var(--primary) !important;
}
.breadcrumb {
  max-width: var(--container);
  margin: 0 auto;
  padding: 16px 12px;
  font-size: 12px;
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
}
.breadcrumb__item {
  display: inline;
  align-items: center;
  gap: 8px;
}
.breadcrumb__item .icon {
  line-height: 1;
  vertical-align: middle;
}
.breadcrumb__item .icon::after {
  content: url('data:image/svg+xml,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.875 2.625L8.25 6L4.875 9.375" stroke="%23AAAAAA" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.breadcrumb__item a {
  color: inherit;
  text-decoration: none;
}
.breadcrumb__item a:hover {
  color: var(--navy-300);
}
.breadlist a,
.breadlist a:link,
.breadlist a:visited
.mdj_breadlist a,
.mdj_breadlist a:link,
.mdj_breadlist a:visited {
  text-decoration: none !important;
}
.breadlist a:hover,
.mdj_breadlist a:hover {
  color: var(--navy-300) !important;
}
.mdj_breadlist {
  width: 1072px;
  margin: 16px auto 24px auto;
  font-size: 12px;
}

.mdj_breadlist ul li {
  float: left;
}

.mdj_breadlist ul li a {
  padding: 0 20px 0 0;
  margin: 0 16px 0 0;
  background: url(../png/common_arrow08.png) no-repeat right center;
  color: #111111 !important;
}

@media all and (max-width: 768px) {
  .mdj_breadlist {
    width: auto;
    padding: 0 10px;
  }
}

@media (max-width: 1200px) and (min-width: 1024px) {
  .site-header__logo {
    height: 38px;
  }
  .site-header__nav-list {
    gap: 4px;
    font-size: 14px;
  }
}
@media (max-width: 1023px) and (min-width: 768px) {
  .site-header__top-inner {
    align-items: center;
    padding: 16px 16px 8px;
  }
  .site-header__right {
    margin-left: auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
  }
  .site-header__actions {
    order: 1;
    justify-content: flex-end;
  }
  .site-header__nav {
    order: 2;
    width: 100%;
  }
  .site-header__nav-list {
    justify-content: flex-end;
    gap: 12px;
  }
}
@media (max-width: 767px) {
  .members_navi ul {
    display: none;
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .members_navi ul li {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .members_navi ul li:last-child {
    border-bottom: 0;
  }
  .site-header {
    --sp-header-h: 56px;
  }
  .site-header__top-inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 60;
    background: #fff;
    padding: 0 0 0 12px;
    min-height: var(--sp-header-h);
    border-bottom: 1px solid var(--line);
    gap: 8px;
  }
  .site-header__logo {
    height: 36px;
  }
  .site-header__right {
    margin-left: auto;
    align-items: center;
    gap: 0;
  }
  .site-header__nav {
    display: none;
  }
  .site-header__account {
    display: none;
  }
  .site-header__link-employer, .site-header__lang {
    display: none;
  }
  .site-header__actions {
    margin-left: auto;
  }
  .site-header__hamburger {
    display: flex;
  }
  .site-header__sp-menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 55;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    padding-top: calc(env(safe-area-inset-top) + var(--sp-header-h));
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    /* Smooth height animation using clip-path - slide from top */
    clip-path: inset(0 0 100% 0);
    transition: clip-path 500ms cubic-bezier(0.4, 0, 0.2, 1), opacity 500ms cubic-bezier(0.4, 0, 0.2, 1);
    will-change: clip-path, opacity;
  }
  /* clip-path animation is handled by JavaScript, not CSS */
  .site-header.is-menu-open .site-header__sp-menu {
    /* clip-path and opacity are controlled by inline styles in JavaScript */
    pointer-events: auto;
  }
  .site-header__sp-resume {
    display: flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    height: 34px;
    padding: 12px 16px;
    border-radius: 23px;
  }
  .site-header__sp-inner {
    height: calc(100dvh - var(--sp-header-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    height: calc(100vh - var(--sp-header-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    height: calc(var(--view-height) - var(--sp-header-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 24px 0 24px;
  }
  .site-header__sp-cta-row {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px;
  }
  .site-header__sp-pill {
    padding: 16px clamp(16px, 5vw, 48px);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 600;
    min-width: 230px;
    color: var(--text);
    background: #fff;
    border: 1px solid var(--line);
    text-decoration: none;
    line-height: 1;
  }
  .site-header__sp-pill--ghost {
    font-size: 14px;
    padding: 16px 24px;
    background: #f2f2f7;
    border-color: transparent;
    min-width: 100px;
  }
  .site-header__sp-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line);
  }
  .site-header__sp-list--sub {
    background: #f2f2f7;
    overflow: hidden;
    border-top: 0;
  }
  .site-header__sp-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1;
    border-bottom: 1px solid var(--line);
  }
  html[lang="en"] .site-header__sp-link,
  html[lang="en"] .site-header__sp-pill,
  html[lang="en"] .site-header__sp-employer {
    font-weight: 600;
  }
  .site-header__sp-link.sub {
    padding: 16px 24px;
    font-size: 12px;
  }
  .site-header__sp-link.child {
    padding: 16px 24px 16px 40px;
    font-size: 12px;
  }
  .site-header__sp-link.child span.bg-danger {
    padding: 4px 8px;
    border-radius: 50rem;
    background: rgb(220 53 69);
    color: #fff;
    margin-left: 8px;
  }
  .site-header__sp-link::after {
    content: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 3.5L11 8L6.5 12.5" stroke="%23111111" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  }
  .site-header__sp-employer {
    margin: 24px 24px 0;
    padding: 16px auto;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 48px);
    height: 48px;
    background: #eef1f4;
    color: var(--text);
    text-decoration: none;
    font-size: 14px;
  }
  .site-header__cta {
    font-size: 10px;
    font-weight: 700;
    height: 34px;
    padding: 12px 16px;
  }
}
.site-header {
  /* =========================
     〜374px
     ========================= */
}
@media (max-width: 374px) {
  .site-header__logo {
    height: 28px;
  }
}

body.is-menu-open {
  overflow: hidden;
}

/* =========================================================
   Footer
   ========================================================= */
.site-footer {
  background: #000066;
  color: #fff;
}
.site-footer a {
  color: #fff !important;
  text-decoration: none !important;
  flex: 0 0 auto;
}
.site-footer a:hover {
  text-decoration: underline !important;
  color: #fff;
}
.site-footer__main {
  padding: 24px 0;
}
.site-footer__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 0 12px;
}
.site-footer__logo {
  flex: 0 0 auto;
  letter-spacing: 0.02em;
  font-size: 34px;
  line-height: 1;
}
.site-footer__logo-link img {
  height: 44px;
}
.site-footer__logo span {
  font-size: 18px;
  margin-left: 2px;
  font-weight: 700;
}
.site-footer__nav {
  flex: 1 1 auto;
}
.site-footer__nav-list {
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.site-footer__nav-list a {
  font-size: 14px;
  white-space: nowrap;
}
.site-footer__sub-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px 24px;
  line-height: 1.25;
}
.site-footer__sub-list a {
  position: relative;
  padding-left: 20px;
  font-size: 12px;
  white-space: nowrap;
}
.site-footer__sub-list a::before {
  content: url('data:image/svg+xml,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_588_5408)"><path d="M11.625 0.375L5.625 6.375" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.375 0.375H11.625V5.625" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.375 0.375H1.5C1.20163 0.375 0.915483 0.493526 0.704505 0.704505C0.493526 0.915483 0.375 1.20163 0.375 1.5V10.5C0.375 10.7984 0.493526 11.0845 0.704505 11.2955C0.915483 11.5065 1.20163 11.625 1.5 11.625H10.5C10.7984 11.625 11.0845 11.5065 11.2955 11.2955C11.5065 11.0845 11.625 10.7984 11.625 10.5V8.625" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_588_5408"><rect width="12" height="12" fill="white"/></clipPath></defs></svg>');
  position: absolute;
  left: 0;
  top: -1px;
  opacity: 0.9;
}
.site-footer__mark {
  flex: 0 0 auto;
  margin-left: auto;
}
.site-footer__mark img {
  width: 86px;
  height: auto;
  display: block;
}
.site-footer__bottom {
  background: #111;
}
.site-footer__bottom-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 12px 16px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.site-footer__copy {
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 8px 16px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media (max-width: 991px) {
  .sub_keyvisual_noimg {
    padding: 16px 10px 0;
  }
  .site-footer__main {
    padding: 24px 10px;
  }
  .breadcrumb {
    max-width: 100vw;
    padding: 24px 10px;
  }
  .site-footer__sub-list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .breadcrumb {
    max-width: calc(100vw - 48px);
  }
  .site-footer__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
  }
  .site-footer__nav {
    width: 100%;
  }
  .site-footer__nav-list {
    justify-content: center;
    gap: 4px 16px;
  }
  .site-footer__sub-list {
    justify-content: center;
    gap: 8px 16px;
    grid-template-columns: 1fr;
  }
  .site-footer__sub-list a {
    white-space: normal;
    text-align: left;
  }
  .site-footer__mark {
    margin-left: 0;
  }
  .site-footer__mark img {
    width: 110px;
  }
  .site-footer__bottom-inner {
    padding: 12px 18px;
    height: 60px;
  }
  .site-footer__copy {
    flex-direction: column;
    text-align: center;
  }
}

.scout-notice-top a:link,
.scout-notice-top a:visited,
.resume-notice-top a:link,
.resume-notice-top a:visited {
  text-decoration: none !important;
  color: var(--text) !important;
}

.scout-notice-top,
.resume-notice-top {
  padding: 16px 12px;
  font-size: 14px;
  font-weight: 300;
  color: var(--text);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  max-width: 1200px;
  height: 44px;
  margin: 0 auto;
}
.resume-notice-top {
  max-width: 100vw;
}
.scout-notice-top a,
.resume-notice-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--text);
  max-width: clamp(var(--container), 100vw);
  margin: 0 auto;
  border-radius: 24px;
  padding: 12px 0;
  background: #FFEFF3;
  gap: 8px;
}
.resume-notice-top a {
  background: #fff3cd;
}
.scout-notice-top button,
.resume-notice-top button {
  display: none;
}
.resume_notice__line {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.scout-notice-top .icon {
  position: relative;
  margin-right: 8px;
  margin-left: 16px;
}
.scout-notice-top .icon::before {
  display: block;
  padding: 2px 6px;
  background-color: #ff1a00;
  border-radius: 50%;
  font-family: "FontAwesome";
  content: '\f0e0';
  font-size: 14px;
  color: white;
  -webkit-animation: wrench 2.5s ease infinite;
  animation: wrench 2.5s ease infinite;
}
.scout-notice-top .icon::after {
  content: '';
  position: absolute;
  display: block;
  z-index: 1;
  border-style: solid;
  border-color: transparent #ff1a00;
  border-width: 4px 0 5px 8px;
  top: 50%;
  transform: translateY(-50%);
  left: 24px;
}
.resume-notice-top .icon::before {
  display: block;
  padding: 2px 6px;
  background-color: #856404;
  border-radius: 50%;
  font-family: "FontAwesome";
  content: '\f06a';
  font-size: 14px;
  color: white;
  -webkit-animation: wrench 2.5s ease infinite;
  animation: wrench 2.5s ease infinite;
}
.scout-notice-top p {
  padding-left: 8px;
  padding-right: 16px;
}
.scout-notice-top span.count {
  font-weight: 600;
  margin: 0 3px;
}

@media (max-width: 767px) {
  #cfair .scout-notice-top,
  #cfair .resume-notice-top,
  #cfair_en .scout-notice-top,
  #cfair_en .resume-notice-top {
    margin-top: 56px;
  }
  #mdj_container {
    padding-top: 56px;
  }
  #mdj_container:has(#mdj_header[style*="display: none"]) {
    padding-top: 0;
  }
  #cfair #mdj_container,
  #cfair_en #mdj_container {
    padding-top: 72px;
  }
  #cfair:has(.scout-notice-top) #mdj_container,
  #cfair_en:has(.scout-notice-top) #mdj_container,
  #cfair:has(.resume-notice-top) #mdj_container,
  #cfair_en:has(.resume-notice-top) #mdj_container {
    padding-top: 0px;
  }
  .resume_notice__line {
    max-width: clamp(var(--container), 100vw) !important;
  }
  .scout-company-name {
    display: none;
  }
  .scout-notice-top a,
  .resume-notice-top a {
    width: 90vw;
  }
  .message-tab-menu--action {
    top: 57px !important;
  }
  .modaal-outer-wrapper .modaal-content-container {
    padding: 30px 0;
  }
}

/* =========================================================
   Tooltip - Bootstrap default style (no external library)
   ---------------------------------------------------------
   Usage: data-bs-tooltip / data-bs-toggle="tooltip" + data-bs-title
   data-placement: top | bottom | left | right
   ========================================================= */
.mdj-tooltip {
  position: fixed;
  z-index: 1070;
  display: none;
  margin: 0;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s linear;
  padding-top: 2px;
}
.mdj-tooltip.mdj-tooltip--show {
  display: block;
  opacity: 1;
}
.mdj-tooltip-inner {
  padding: 0.25rem 0.5rem;
  color: var(--text);
  text-align: center;
  background-color: var(--bg);
  border-radius: 0.25rem;
  border: 1px solid var(--line);
}
.mdj-tooltip-arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.mdj-tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.mdj-tooltip[data-placement^="top"] .mdj-tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -0.4rem;
}
.mdj-tooltip[data-placement^="top"] .mdj-tooltip-arrow::before {
  top: 6px;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: var(--line);
}
.mdj-tooltip[data-placement^=top] .mdj-tooltip-arrow::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 47%;
  transform: translateX(-50%);
  border-width: 5.5px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}
.mdj-tooltip[data-placement^="bottom"] .mdj-tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -0.4rem;
}
.mdj-tooltip[data-placement^="bottom"] .mdj-tooltip-arrow::before {
  bottom: 4px;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: var(--line);
}
.mdj-tooltip[data-placement^="bottom"] .mdj-tooltip-arrow::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 47%;
  transform: translateX(-50%);
  border-width: 5.5px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}
.mdj-tooltip[data-placement^="left"] .mdj-tooltip-arrow {
  right: 0;
  top: 50%;
  margin-top: -0.4rem;
  width: 0.4rem;
  height: 0.8rem;
}
.mdj-tooltip[data-placement^="left"] .mdj-tooltip-arrow::before {
  left: 6px;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: var(--line);
}
.mdj-tooltip[data-placement^="left"] .mdj-tooltip-arrow::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 47%;
  transform: translateY(calc(-50%));
  border-width: 5.5px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}
.mdj-tooltip[data-placement^="right"] .mdj-tooltip-arrow {
  left: 0;
  top: 50%;
  margin-top: -0.4rem;
  width: 0.4rem;
  height: 0.8rem;
}
.mdj-tooltip[data-placement^="right"] .mdj-tooltip-arrow::before {
  right: 6px;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: var(--line);
}
.mdj-tooltip[data-placement^="right"] .mdj-tooltip-arrow::after {
  content: "";
  position: absolute;
  right: 5px;
  top: 47%;
  transform: translateY(-50%);
  border-width: 5.5px;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}

body.is-menu-open .mdj_warning-popup,
body.is-menu-open .cfair_alert {
  visibility: hidden;
}
