/*
  店舗別採用ページのデザイン整理。
  情報・写真・固有コピーは変えず、色、文字サイズ、角丸の役割だけを揃える。
*/
.store-recruit-page {
  --store-ink: #2c2925;
  --store-body: #5d5750;
  --store-rose: #9e5e50;
  --store-brown: #513b3b;
  --store-line: #eadfd1;
  --store-paper: #ffffff;
  --store-cream: #fbfaf7;
  --store-pink: #f2c9cb;
  --store-green: #00843a;
  color: var(--store-body);
}

/* 色は意味ごとの9色に整理する。 */
.store-recruit-page .topbar {
  background: var(--store-line);
  border-color: var(--store-line);
}

.store-recruit-page h1,
.store-recruit-page h2,
.store-recruit-page h3,
.store-recruit-page summary,
.store-recruit-page .logo,
.store-recruit-page .recruit-photo-placeholder div,
.store-recruit-page .condition-summary-grid dd,
.store-recruit-page .local-store-focus h3,
.store-recruit-page .career-insight-close,
.store-recruit-page .career-insight-close strong {
  color: var(--store-ink);
}

.store-recruit-page p,
.store-recruit-page li,
.store-recruit-page dd,
.store-recruit-page .recruit-lead-hand,
.store-recruit-page .recruit-point,
.store-recruit-page .recruit-btn,
.store-recruit-page .local-store-focus ul,
.store-recruit-page .career-insight-section .career-insight-lead,
.store-recruit-page .career-insight-card p,
.store-recruit-page .local-training-story p {
  color: var(--store-body);
}

.store-recruit-page .recruit-ey,
.store-recruit-page .recruit-brand-line,
.store-recruit-page .recruit-subtitle,
.store-recruit-page .local-search-kicker,
.store-recruit-page .condition-summary-kicker,
.store-recruit-page .condition-summary-grid dt,
.store-recruit-page .local-interview-store,
.store-recruit-page .career-insight-kicker,
.store-recruit-page .staff-name,
.store-recruit-page .training-kicker,
.store-recruit-page .local-training-story strong,
.store-recruit-page .application-funnel-kicker,
.store-recruit-page a:not(.recruit-btn):not(.line-video-button):not(.primary) {
  color: var(--store-rose);
}

.store-recruit-page .recruit-photo-note,
.store-recruit-page .recruit-note,
.store-recruit-page .local-search-updated,
.store-recruit-page .condition-summary-note,
.store-recruit-page .local-interview-duration,
.store-recruit-page .career-insight-source,
.store-recruit-page .local-training-source,
.store-recruit-page footer .small {
  color: var(--store-body) !important;
}

.store-recruit-page .recruit-script {
  color: var(--store-rose);
}

.store-recruit-page .recruit-facts,
.store-recruit-page .recruit-card,
.store-recruit-page .recruit-copy-block,
.store-recruit-page .recruit-faq details,
.store-recruit-page .condition-summary-card,
.store-recruit-page .local-interview,
.store-recruit-page .career-insight-card,
.store-recruit-page .local-training-story,
.store-recruit-page .local-search-answer,
.store-recruit-page .recruit-btn,
.store-recruit-page .local-search-links a {
  background: var(--store-paper);
  border-color: var(--store-line);
}

.store-recruit-page .recruit-facts div,
.store-recruit-page .recruit-point,
.store-recruit-page .recruit-interview-text,
.store-recruit-page .local-interview-text,
.store-recruit-page .local-interview-text details,
.store-recruit-page .condition-summary-grid,
.store-recruit-page .condition-summary-grid div,
.store-recruit-page .career-insight-section,
.store-recruit-page .career-insight-card,
.store-recruit-page .local-training-story,
.store-recruit-page .local-store-focus,
.store-recruit-page .local-search-answer,
.store-recruit-page .local-search-links a {
  border-color: var(--store-line);
}

.store-recruit-page .local-store-focus,
.store-recruit-page .local-interview-note,
.store-recruit-page .local-training-flow span {
  background: var(--store-paper);
}

.store-recruit-page .local-interview-note {
  border-color: var(--store-rose);
  color: var(--store-body);
}

.store-recruit-page .local-training-flow span {
  color: var(--store-rose);
}

.store-recruit-page .recruit-btn.primary,
.store-recruit-page .line-video-button,
.store-recruit-page .mobile-store-cta a.primary {
  background: var(--store-green);
  border-color: var(--store-green);
  color: var(--store-paper) !important;
}

.store-recruit-page .recruit-btn.ghost,
.store-recruit-page .recruit-actions .recruit-btn.primary,
.store-recruit-page .local-search-links a {
  color: var(--store-rose) !important;
}

/* 大きさは、見出し2段・本文3段・補足1段を基本にする。 */
.store-recruit-page .recruit-brand-line {
  margin: 0 0 7px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.store-recruit-page .recruit-h1-intent {
  margin: 12px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}

.store-recruit-page .recruit-section h2,
.store-recruit-page .local-search-answer h2,
.store-recruit-page .interview-next-step h2,
.store-recruit-page .local-training-evidence-section .training-title {
  font-size: 24px;
}

.store-recruit-page .local-interview-head h3,
.store-recruit-page .career-insight-card h3,
.store-recruit-page .local-training-story h3,
.store-recruit-page .local-store-focus h3,
.store-recruit-page .store-promise-columns h3 {
  font-size: 20px;
}

.store-recruit-page .recruit-lead,
.store-recruit-page .recruit-store-lead,
.store-recruit-page .condition-summary-lead,
.store-recruit-page .condition-summary-grid dd,
.store-recruit-page .local-interview-intro,
.store-recruit-page .local-interview-summary,
.store-recruit-page .local-interview-text summary,
.store-recruit-page .local-interview-text details p,
.store-recruit-page .career-insight-section .career-insight-lead,
.store-recruit-page .career-insight-card p,
.store-recruit-page .career-insight-close,
.store-recruit-page .local-training-story p,
.store-recruit-page .recruit-copy-block p,
.store-recruit-page .recruit-card p,
.store-recruit-page .recruit-card li,
.store-recruit-page .recruit-facts dd,
.store-recruit-page .recruit-faq p,
.store-recruit-page .local-search-answer p,
.store-recruit-page .interview-next-step > p {
  font-size: 15px;
}

.store-recruit-page .recruit-lead-hand,
.store-recruit-page .store-promise-lead {
  font-size: 19px;
}

.store-recruit-page .recruit-ey,
.store-recruit-page .recruit-subtitle,
.store-recruit-page .recruit-point,
.store-recruit-page .recruit-photo-note,
.store-recruit-page .recruit-note,
.store-recruit-page .local-search-kicker,
.store-recruit-page .local-search-updated,
.store-recruit-page .local-search-links a,
.store-recruit-page .condition-summary-kicker,
.store-recruit-page .condition-summary-grid dt,
.store-recruit-page .condition-summary-note,
.store-recruit-page .local-interview-note,
.store-recruit-page .local-interview-store,
.store-recruit-page .local-interview-duration,
.store-recruit-page .local-interview-text > p,
.store-recruit-page .career-insight-kicker,
.store-recruit-page .staff-name,
.store-recruit-page .career-insight-source,
.store-recruit-page .training-kicker,
.store-recruit-page .local-training-flow span,
.store-recruit-page .local-training-story strong,
.store-recruit-page .local-training-source,
.store-recruit-page .recruit-training-photos figcaption,
.store-recruit-page footer .small {
  font-size: 13px !important;
}

.store-recruit-page .recruit-facts dt,
.store-recruit-page .local-store-focus li,
.store-recruit-page .store-promise-kicker,
.store-recruit-page .logo small,
.store-recruit-page .recruit-copy-block figure figcaption {
  font-size: 13px;
}

.store-recruit-page .application-funnel-kicker {
  font-size: 13px;
}

.store-recruit-page .recruit-btn,
.store-recruit-page .line-video-button,
.store-recruit-page .interview-next-step .funnel-mini span,
.store-recruit-page .mobile-store-cta a,
.store-recruit-page .group-career-network a {
  font-size: 15px;
}

.store-recruit-page .store-promise-actions a {
  font-size: 15px;
}

.store-recruit-page footer,
.store-recruit-page footer .small {
  font-size: 13px;
}

.store-recruit-page footer .fl {
  font-size: 22px;
}

/* カードは8px、大きな章は16px、操作要素はカプセル形にする。 */
.store-recruit-page .recruit-photo,
.store-recruit-page .recruit-training-photos figure,
.store-recruit-page .recruit-facts,
.store-recruit-page .recruit-card,
.store-recruit-page .recruit-copy-block,
.store-recruit-page .recruit-faq details,
.store-recruit-page .local-interview-note,
.store-recruit-page .local-interview-video,
.store-recruit-page .local-training-flow span,
.store-recruit-page .local-training-story,
.store-recruit-page .career-insight-card {
  border-radius: 8px;
}

.store-recruit-page .condition-summary-card,
.store-recruit-page .local-interview,
.store-recruit-page .career-insight-section,
.store-recruit-page .interview-next-step,
.store-recruit-page .store-promise {
  border-radius: 16px;
}

.store-recruit-page .local-search-answer,
.store-recruit-page .local-store-focus {
  border-radius: 8px;
}

.store-recruit-page .badge,
.store-recruit-page .recruit-btn,
.store-recruit-page .local-search-links a,
.store-recruit-page .local-interview-store,
.store-recruit-page .interview-next-step .funnel-mini span,
.store-recruit-page .mobile-store-cta a,
.store-recruit-page .group-career-network a {
  border-radius: 999px;
}

/* 768px前後では、細い3列を避けて文章の読み幅を確保する。 */
@media (min-width: 961px) {
  .store-recruit-page .career-insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 761px) and (max-width: 960px) {
  .store-recruit-page .career-insight-grid {
    grid-template-columns: 1fr;
  }

  .store-recruit-page .condition-summary-grid {
    grid-template-columns: 1fr;
  }

  .store-recruit-page .condition-summary-grid div:nth-child(odd) {
    border-right: 0;
  }
}

/* 写真上・濃色セクションは別の読みやすさを保つ。 */
.store-recruit-page .skip-link,
.store-recruit-page .store-promise-photo figcaption,
.store-recruit-page .recruit-training-photos figcaption,
.store-recruit-page .interview-next-step,
.store-recruit-page .group-career-network {
  background-color: var(--store-ink);
}

.store-recruit-page .store-promise-photo,
.store-recruit-page .local-interview-video {
  background-color: var(--store-ink);
}

.store-recruit-page .recruit-photo,
.store-recruit-page .recruit-training-photos figure,
.store-recruit-page .recruit-copy-block figure iframe {
  background-color: var(--store-line);
  border-color: var(--store-line);
}

.store-recruit-page .store-promise-columns article {
  border-color: var(--store-line);
}

.store-recruit-page .store-promise,
.store-recruit-page .store-promise h2,
.store-recruit-page .store-promise-lead,
.store-recruit-page .store-promise-note,
.store-recruit-page .store-promise-columns li,
.store-recruit-page .interview-next-step h2,
.store-recruit-page .interview-next-step > p,
.store-recruit-page .interview-next-step .next-note,
.store-recruit-page .group-career-network,
.store-recruit-page .group-career-network a,
.store-recruit-page .skip-link {
  color: var(--store-paper) !important;
}

.store-recruit-page .store-promise-kicker,
.store-recruit-page .store-promise-columns h3,
.store-recruit-page .interview-next-step .application-funnel-kicker {
  color: var(--store-pink) !important;
}

.store-recruit-page .store-promise-actions a {
  color: var(--store-paper) !important;
}

.store-recruit-page .store-promise-actions a:first-child {
  background: var(--store-paper);
  color: var(--store-brown) !important;
}

.store-recruit-page .store-promise-actions a:first-child span {
  color: var(--store-brown) !important;
}

.store-recruit-page footer {
  color: var(--store-line);
}

.store-recruit-page footer a,
.store-recruit-page footer .small {
  color: var(--store-line) !important;
}

.store-recruit-page .logo small {
  color: var(--store-body);
}

.store-recruit-page .badge {
  color: var(--store-rose);
}

.store-recruit-page .recruit-btn,
.store-recruit-page .local-interview-store,
.store-recruit-page .mobile-store-cta {
  border-color: var(--store-line);
}

.store-recruit-page .recruit-btn.primary:not(.ghost),
.store-recruit-page .line-video-button,
.store-recruit-page .mobile-store-cta a.primary {
  color: var(--store-paper) !important;
}

.store-recruit-page .recruit-actions .recruit-btn.primary {
  color: var(--store-rose) !important;
}

/* 個別ページ内の古い指定より後ろで、同じ役割を確実に揃える。 */
.store-recruit-page h3.training-title {
  color: var(--store-ink);
  font-size: 20px;
}

.store-recruit-page .recruit-copy-block figure iframe {
  border-color: var(--store-line) !important;
}

.store-recruit-page .store-promise-actions a:first-child {
  background-color: var(--store-paper) !important;
  border-color: var(--store-paper) !important;
}

.store-recruit-page .topbar a.home {
  color: var(--store-brown) !important;
  font-size: 13px;
}

.store-recruit-page .topbar .badge {
  border-color: var(--store-line);
  color: var(--store-rose);
  font-size: 13px;
}

.store-recruit-page .recruit-btn,
.store-recruit-page .mobile-store-cta a {
  border-color: var(--store-line) !important;
}

.store-recruit-page .recruit-btn.primary:not(.ghost),
.store-recruit-page .mobile-store-cta a.primary {
  border-color: var(--store-green) !important;
}

.store-recruit-page .recruit-actions .recruit-btn.primary {
  border-color: var(--store-line) !important;
}

.store-recruit-page .recruit-actions a[href="#staff-interviews"] {
  border-color: var(--store-green) !important;
  color: var(--store-paper) !important;
}

.store-recruit-page .store-promise-columns li,
.store-recruit-page .recruit-links,
.store-recruit-page .recruit-links a,
.store-recruit-page .recruit-card > a {
  font-size: 15px;
}

.store-recruit-page .recruit-copy-block figure figcaption {
  font-size: 13px !important;
}

/* 新規出店ページの補足カードも、同じ紙・罫線・文字の役割に合わせる。 */
.store-recruit-page .opening-recruit-callout {
  background: var(--store-paper);
  border-color: var(--store-line);
  border-left-color: var(--store-rose);
  border-radius: 8px;
}

.store-recruit-page .opening-recruit-callout strong {
  color: var(--store-rose);
  font-size: 15px;
}

.store-recruit-page .opening-recruit-callout span {
  color: var(--store-body);
  font-size: 13px;
}

.store-recruit-page .store-promise-note,
.store-recruit-page .group-career-network strong,
.store-recruit-page .local-geo-related span,
.store-recruit-page .recruit-faq details summary {
  font-size: 15px;
}

/*
  ファーストビューは、訴求のまとまりごとに余白を置く。
  説明文の下余白とボタンの上余白が二重になっていたため、
  CTAまでの間だけを一つの余白にまとめる。
*/
.store-recruit-page .recruit-store-lead {
  margin-bottom: 0;
}

.store-recruit-page .recruit-actions {
  margin-top: 24px;
}

@media (max-width: 1100px) {
  .store-recruit-page .recruit-visual {
    margin-inline: auto;
  }
}

/*
  QUICK ANSWER は章ではなく、店舗情報の短い要約。
  通常セクションの大きな上下余白と横余白ゼロを打ち消し、
  デスクトップでは文章を自然に折り返して空白の偏りをなくす。
*/
.store-recruit-page .recruit-section.local-search-answer:not(.store-promise) {
  padding: 30px clamp(24px, 3.5vw, 40px) 32px;
}

.store-recruit-page .recruit-section.local-search-answer > h2 {
  margin: 4px 0 12px;
}

@media (min-width: 761px) {
  .store-recruit-page .local-search-answer > p:not(.local-search-kicker):not(.local-search-updated) br {
    display: none;
  }
}

@media (max-width: 760px) {
  .store-recruit-page .recruit-section.local-search-answer:not(.store-promise) {
    padding: 26px 20px 28px;
  }

  .store-recruit-page .recruit-brand-line {
    margin-bottom: 7px;
    font-size: 13px;
  }

  .store-recruit-page .recruit-hero h1.recruit-brand-hero {
    margin-bottom: 10px;
  }

  .store-recruit-page .recruit-h1-intent {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.55;
  }

  .store-recruit-page .recruit-script {
    margin: 0 0 9px;
  }

  .store-recruit-page .recruit-subtitle {
    margin-bottom: 16px;
  }

  .store-recruit-page .recruit-lead-hand {
    gap: 4px;
    margin-bottom: 14px;
  }

  .store-recruit-page .recruit-actions {
    margin-top: 20px;
  }

  .store-recruit-page .mobile-swipe-hint {
    font-size: 13px !important;
  }

  .store-recruit-page .topbar .badge {
    font-size: 13px;
  }

  .store-recruit-page footer .fl {
    font-size: 17px;
  }

  .store-recruit-page .recruit-section h2,
  .store-recruit-page .local-search-answer h2,
  .store-recruit-page .interview-next-step h2,
  .store-recruit-page .local-training-evidence-section .training-title {
    font-size: 22px;
  }

  .store-recruit-page .store-promise {
    border-radius: 0;
  }

  .store-recruit-page .store-promise h2 {
    font-size: 34px;
  }

  .store-recruit-page .career-insight-grid {
    gap: 16px;
  }
}
