/**
 * お仕事をお探しの方 — Wix メッシュ非依存のレイアウト（PC / モバイル共通）
 */

/* View Transitions API が初期表示で白画面を引き起こす環境への保険（本ページのみ読込） */
@view-transition {
  navigation: none;
}

.page-job-seekers #c1cc9 {
  --cs-job-accent: #ac0404;
  --cs-job-accent-soft: #da1919;
  --cs-job-panel-bg: rgba(255, 255, 255, 0.85);
  --cs-job-panel-border: rgba(0, 0, 0, 0.12);
  --cs-job-max: 980px;
  --cs-job-pad: clamp(16px, 4vw, 28px);
  --cs-job-rule: 2px solid var(--cs-job-accent-soft);
}

.page-job-seekers #Containerc1cc9 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*
 * 本ページは compCssMappers が無く、Wix 既定の .AnQkDU（height:100% + 1fr）が
 * 親高さ未確定の環境で本文高さ 0 扱いになり白画面になることがある。高さ連鎖を切る。
 */
.page-job-seekers #SITE_PAGES.JsJXaX {
  height: auto !important;
  min-height: 0 !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

.page-job-seekers #SITE_PAGES_TRANSITION_GROUP.AnQkDU {
  height: auto !important;
  min-height: 0 !important;
  align-items: start !important;
  grid-template-rows: auto !important;
}

/*
 * Wix 既定の body:not(.responsive) .dBAkHi が grid-area: 1/1/1/1（行線が同一＝実質高さ 0）のため、
 * compCssMappers の無い本ページだけ本文が描画されない。1×1 セルに正しく載せる。
 */
.page-job-seekers #c1cc9.dBAkHi {
  grid-area: 1 / 1 / 2 / 2 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  height: auto !important;
  min-height: min-content !important;
}

.page-job-seekers #c1cc9 .HT5ybB {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: auto !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ページ背景レイヤーが本文より手前に来て真っ白に見えるのを防ぐ */
.page-job-seekers #c1cc9 .PFkO7r.wixui-page {
  pointer-events: none !important;
  z-index: 0 !important;
}

.page-job-seekers #SITE_CONTAINER,
.page-job-seekers #main_MF,
.page-job-seekers #site-root,
.page-job-seekers #masterPage,
.page-job-seekers #PAGES_CONTAINER {
  opacity: 1 !important;
  visibility: visible !important;
}

/* 中身が display:none の全画面 fixed ピン（.big2ZD）が合成で手前に白ベタになる事例への保険 */
.page-job-seekers #pinnedBottomCenter,
.page-job-seekers #comp-kmy0i1hn-pinned-layer {
  display: none !important;
}

.page-job-seekers .cs-job-page,
.page-job-seekers .cs-job-page * {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.page-job-seekers .cs-job-page {
  font-family: メイリオ, meiryo, "ヒラギノ角ゴ pro w3", "hiragino kaku gothic pro", sans-serif;
  color: #1a1a1a;
  line-height: 1.65;
}

.page-job-seekers .cs-job-page h2,
.page-job-seekers .cs-job-page h3,
.page-job-seekers .cs-job-page h4,
.page-job-seekers .cs-job-page p {
  line-break: strict;
}

.page-job-seekers .cs-job-hero {
  position: relative;
  width: 100%;
  max-width: var(--cs-job-max);
  margin: 0 auto;
  box-sizing: border-box;
}

.page-job-seekers .cs-job-hero__banner {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
  object-fit: cover;
  aspect-ratio: 980 / 300;
}

.page-job-seekers .cs-job-hero__title-card {
  position: absolute;
  left: var(--cs-job-pad);
  bottom: clamp(12px, 3vw, 28px);
  max-width: min(420px, calc(100% - 2 * var(--cs-job-pad)));
  padding: clamp(10px, 2.5vw, 18px) clamp(14px, 3vw, 22px);
  background: rgba(255, 255, 255, 0.88);
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

.page-job-seekers .cs-job-hero__title {
  margin: 0;
  font-family: "noticia text", georgia, serif;
  font-size: clamp(22px, 4.2vw, 35px);
  font-weight: 700;
  line-height: 1.25;
}

.page-job-seekers .cs-job-cta {
  max-width: var(--cs-job-max);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 28px) var(--cs-job-pad) clamp(8px, 2vw, 14px);
  box-sizing: border-box;
  overflow: visible;
}

.page-job-seekers .cs-job-panel {
  max-width: var(--cs-job-max);
  margin: clamp(12px, 3vw, 20px) auto clamp(28px, 5vw, 48px);
  padding: clamp(20px, 4vw, 32px) var(--cs-job-pad);
  background: var(--cs-job-panel-bg);
  border: 1px solid var(--cs-job-panel-border);
  border-radius: 4px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}

.page-job-seekers .cs-job-block + .cs-job-block {
  margin-top: clamp(28px, 5vw, 40px);
  padding-top: clamp(20px, 4vw, 32px);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.page-job-seekers .cs-job-block__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
}

.page-job-seekers .cs-job-block__mark {
  flex: 0 0 4px;
  width: 4px;
  height: 1.5em;
  background: var(--cs-job-accent);
  border-radius: 2px;
}

.page-job-seekers .cs-job-block__header h3 {
  margin: 0;
  font-family: "noticia text", georgia, serif;
  font-size: clamp(1.15rem, 2.8vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
}

.page-job-seekers .cs-job-rule {
  height: 0;
  margin: 0 0 16px;
  border: 0;
  border-top: var(--cs-job-rule);
}

.page-job-seekers .cs-job-prose p,
.page-job-seekers .cs-job-sub p {
  margin: 0 0 0.75em;
  font-size: 1rem;
  line-height: 1.7;
}

.page-job-seekers .cs-job-prose p:last-child,
.page-job-seekers .cs-job-sub p:last-child {
  margin-bottom: 0;
}

.page-job-seekers .cs-job-figure {
  margin: 20px 0 0;
  padding: 0;
  width: 100%;
}

.page-job-seekers .cs-job-figure img {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.page-job-seekers .cs-job-sub {
  margin-bottom: 1.25rem;
}

.page-job-seekers .cs-job-sub:last-child {
  margin-bottom: 0;
}

.page-job-seekers .cs-job-sub__title,
.page-job-seekers .cs-job-sub h4 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cs-job-accent-soft);
  line-height: 1.4;
}

.page-job-seekers .cs-job-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.page-job-seekers .cs-job-steps__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-sizing: border-box;
  text-align: center;
}

.page-job-seekers .cs-job-steps__n {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--cs-job-accent-soft);
}

.page-job-seekers .cs-job-steps__t {
  margin-top: 4px;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .page-job-seekers .cs-job-steps {
    gap: 12px;
  }

  .page-job-seekers .cs-job-steps__item {
    flex: 1 1 0;
    min-width: 0;
    max-width: 160px;
  }
}

/* フッター: Wix 横線画像コンポを使わず区切り */
.page-job-seekers #comp-jcmpglcp {
  display: none !important;
}

.page-job-seekers #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
  border-top: 2px solid rgba(218, 25, 25, 0.35);
  padding-top: 20px;
}
