/* ============================================
   ページ共通スタイル（トップ以外の各ページ）
============================================ */

/* ページタイトルバー */
.page-header {
  background: linear-gradient(135deg, var(--pt-heading1-bg) 0%, var(--pt-heading1-bg-end) 100%);
  padding: 24px 20px;
  text-align: center;
  max-width: 1030px;
  margin: 0 auto;
}
.page-header__title {
  color: var(--pt-heading1-text);
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  margin: 0;
}
.page-header__title span {
  display: block;
  font-size: 0.75rem;
  font-weight: normal;
  letter-spacing: 0.15em;
  color: var(--pt-heading1-sub);
  margin-top: 4px;
}

/* パンくず */
.breadcrumb {
  max-width: 1030px;
  margin: 0 auto;
  padding: 8px 16px;
  font-size: 0.78rem;
  color: var(--pt-text-note);
}
.breadcrumb a { color: var(--pt-link-text); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { margin: 0 6px; }

/* セクションタイトル */
.section-title {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--pt-heading4-text);
  border-left: 4px solid var(--pt-heading4-mark);
  padding-left: 10px;
  margin-bottom: 16px;
}

/* カード共通 */
.card {
  background: var(--pt-panel-bg);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.card img { width: 100%; height: auto; display: block; }
.card-body { padding: 12px; }

/* タグ */
.tag {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 20px;
  border: 1px solid var(--pt-tag2-border);
  color: var(--pt-tag2-text);
  font-weight: 500;
}

/* ページ内コンテンツ余白 */
.page-content {
  max-width: 1030px;
  margin: 0 auto;
  padding: 24px 16px;
}

@media (max-width: 767px) {
  .page-header__title { font-size: 1.3rem; }
  .page-content { padding: 16px 12px; }
}

/* 応募ボタン（hp/partials/apply-buttons。求人マスターの応募ボタン。docs/recruit-master.md）。色は部品の配色パターン「応募ボタン」 */
.hp-apply-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.hp-apply-buttons__item { flex: 1 1 0; min-width: 30%; }
.hp-apply-buttons__item a { display: block; text-decoration: none; }
.hp-apply-buttons__item img { display: block; width: 100%; height: auto; }
.hp-apply-buttons__item span { display: block; padding: 14px 8px; border-radius: 8px; text-align: center; font-weight: bold; color: var(--pt-apply-text); background: var(--pt-apply-bg); }
@media (max-width: 599px) { .hp-apply-buttons__item { min-width: 45%; } }
