/*
  店舗ページの目視優先修復。
  元の店舗別デザインを主役にし、可読性の破れだけを外科的に補う。
*/
.store-recruit-page {
  word-break: auto-phrase;
}

/* 情報量は保ったまま、各章の切り替わりに呼吸できる余白をつくる。 */
.store-recruit-page .recruit-section:not(.store-promise) {
  padding-top: clamp(42px, 5vw, 64px);
  padding-bottom: clamp(42px, 5vw, 64px);
}

.store-recruit-page .recruit-section:not(.store-promise) > h2 {
  margin-bottom: clamp(22px, 3vw, 30px);
  line-height: 1.55;
}

.store-recruit-page .skip-link {
  background: #2d2926;
  color: #ffffff;
}

.store-recruit-page .store-promise-actions a:first-child span {
  color: #513b3b;
}

/*
  共通の article 白カード指定が濃色セクションへ漏れ、
  白地に白文字になっていたため、この2カラムだけ確実に戻す。
*/
.store-recruit-page .store-promise-columns article {
  margin: 0;
  padding: 30px 28px 32px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.045);
  color: #ffffff;
  box-shadow: none;
}

.store-recruit-page .store-promise-columns h3 {
  margin-bottom: 18px;
  color: #ffe5e3;
}

.store-recruit-page .store-promise-columns li {
  color: #ffffff;
  line-height: 1.82;
}

.store-recruit-page .store-promise-columns li + li {
  margin-top: 6px;
}

.store-recruit-page .store-promise-note {
  margin-top: 34px;
  line-height: 1.95;
}

.store-recruit-page .store-promise-photo figcaption,
.store-recruit-page .recruit-training-photos figcaption {
  background: rgba(45, 41, 38, 0.82);
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

/* ファーストビューは応募より先に、実在スタッフの声へ進ませる。 */
.store-recruit-page .recruit-actions .recruit-btn.primary {
  background: #ffffff;
  border-color: #d9cbb8;
  color: #6f4e44;
  box-shadow: none;
}

.store-recruit-page .recruit-actions a[href="#staff-interviews"] {
  order: -1;
  background: #00843a;
  border-color: #00843a;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(0, 132, 58, 0.16);
}

@media (max-width: 620px) {
  .store-recruit-page .recruit-section:not(.store-promise) {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .store-recruit-page .store-promise-copy {
    padding: 52px 24px 62px;
  }

  .store-recruit-page .store-promise h2 {
    margin-top: 24px;
    margin-bottom: 26px;
    font-size: 34px;
    line-height: 1.48;
  }

  .store-recruit-page .store-promise-lead {
    margin-bottom: 38px;
    line-height: 1.9;
  }

  .store-recruit-page .store-promise-columns article {
    padding: 28px 24px 32px;
  }

  .store-recruit-page .recruit-actions .recruit-btn.primary {
    grid-column: auto;
  }

  .store-recruit-page .recruit-actions a[href="#staff-interviews"] {
    grid-column: 1 / -1;
  }

  .store-recruit-page .mobile-store-cta {
    z-index: 100;
  }
}
