
/* QuickGear recruitment enhancements */
:root {
  --qg-main: #111111;
  --qg-accent: #C8161D;
  --qg-accent-dark: #A90F15;
  --qg-blue: #111111;
  --qg-light: #f8fafc;
  --qg-text: #1f2937;
  --qg-muted: #64748b;
  --qg-border: #e2e8f0;
  --qg-white: #ffffff;
  --qg-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  --qg-radius: 22px;
}

.qg-fixed-cta {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
}
.qg-fixed-cta a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--qg-accent);
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.28);
}
.qg-fixed-cta a:hover { background: var(--qg-accent-dark); }

.qg-lp {
  color: var(--qg-text);
  background: #fff;
  line-height: 1.75;
}
.qg-lp * { box-sizing: border-box; }
.qg-lp a { text-decoration: none; }
.qg-container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}
.qg-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #111111 0%, #232323 52%, #C8161D 120%);
  color: #fff;
  padding: 78px 0 70px;
}
.qg-hero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -160px;
  top: -160px;
  background: rgba(255,255,255,0.11);
  border-radius: 50%;
}
.qg-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 42px;
  align-items: center;
}
.qg-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 18px;
}
.qg-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  color: #fff;
}
.qg-hero h1 strong { color: #F5C2C5; }
.qg-hero-lead {
  font-size: 18px;
  color: #e2e8f0;
  margin: 0 0 28px;
  max-width: 640px;
}
.qg-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.qg-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 900;
  transition: 0.2s ease;
  text-decoration: none !important;
}
.qg-btn-primary {
  background: var(--qg-accent);
  color: #fff !important;
  box-shadow: 0 18px 34px rgba(249, 115, 22, 0.35);
}
.qg-btn-primary:hover { background: var(--qg-accent-dark); transform: translateY(-1px); }
.qg-btn-secondary {
  background: rgba(255,255,255,0.12);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.35);
}
.qg-hero-note {
  color: #cbd5e1;
  font-size: 13px;
  margin: 0;
}
.qg-hero-card {
  background: rgba(255,255,255,0.96);
  color: var(--qg-main);
  border-radius: 28px;
  padding: 28px;
  box-shadow: var(--qg-shadow);
}
.qg-hero-card h2 { margin: 0 0 18px; font-size: 22px; color: var(--qg-main); }
.qg-income-box {
  background: #FFF1F2;
  border: 1px solid #F5C2C5;
  border-radius: 20px;
  padding: 18px;
  margin-bottom: 18px;
}
.qg-income-box .qg-large {
  font-size: 42px;
  font-weight: 950;
  color: var(--qg-accent-dark);
  line-height: 1.1;
}
.qg-check-list { list-style: none; padding: 0; margin: 0; }
.qg-check-list li { position: relative; padding-left: 28px; margin: 8px 0; font-weight: 700; }
.qg-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--qg-accent); font-weight: 900; }
.qg-section { padding: 76px 0; }
.qg-section-light { background: var(--qg-light); }
.qg-section-title { text-align: center; margin: 0 auto 42px; max-width: 760px; }
.qg-eyebrow { color: var(--qg-accent-dark); font-weight: 900; letter-spacing: 0.08em; font-size: 13px; margin-bottom: 8px; }
.qg-section-title h2 {
  margin: 0 0 12px;
  color: var(--qg-main);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.28;
}
.qg-section-title p { margin: 0; color: var(--qg-muted); font-weight: 600; }
.qg-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.qg-card {
  background: #fff;
  border: 1px solid var(--qg-border);
  border-radius: var(--qg-radius);
  padding: 26px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}
.qg-card-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #FFF1F2;
  color: var(--qg-accent-dark);
  font-size: 24px;
  margin-bottom: 14px;
}
.qg-card h3 { margin: 0 0 10px; color: var(--qg-main); font-size: 21px; }
.qg-card p { margin: 0; color: var(--qg-muted); font-weight: 500; }
.qg-two-col { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 36px; align-items: center; }
.qg-panel {
  background: #fff;
  border-radius: 28px;
  border: 1px solid var(--qg-border);
  padding: 30px;
  box-shadow: var(--qg-shadow);
}
.qg-job-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 18px; }
.qg-job-table th, .qg-job-table td {
  border-bottom: 1px solid var(--qg-border);
  padding: 15px 12px;
  text-align: left;
  vertical-align: top;
}
.qg-job-table th {
  width: 30%;
  color: var(--qg-main);
  background: #f8fafc;
  font-weight: 900;
}
.qg-job-table tr:last-child th, .qg-job-table tr:last-child td { border-bottom: none; }
.qg-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: step; }
.qg-flow-item {
  position: relative;
  background: #fff;
  border: 1px solid var(--qg-border);
  border-radius: 20px;
  padding: 24px;
}
.qg-flow-item::before {
  counter-increment: step;
  content: "STEP " counter(step);
  display: inline-block;
  color: var(--qg-accent-dark);
  font-weight: 950;
  font-size: 13px;
  margin-bottom: 8px;
}
.qg-flow-item h3 { margin: 0 0 8px; font-size: 18px; color: var(--qg-main); }
.qg-flow-item p { margin: 0; color: var(--qg-muted); font-size: 14px; }
.qg-faq { max-width: 880px; margin: 0 auto; display: grid; gap: 14px; }
.qg-faq-item { background: #fff; border: 1px solid var(--qg-border); border-radius: 18px; padding: 22px 24px; }
.qg-faq-item h3 { margin: 0 0 8px; font-size: 18px; color: var(--qg-main); }
.qg-faq-item p { margin: 0; color: var(--qg-muted); }
.qg-cta {
  background: linear-gradient(135deg, #111111, #232323);
  color: #fff;
  border-radius: 34px;
  padding: 46px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  box-shadow: var(--qg-shadow);
}
.qg-cta h2 { margin: 0 0 10px; color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.25; }
.qg-cta p { margin: 0; color: #cbd5e1; }
.qg-region-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:14px; }
.qg-region-grid a { display:block; padding:16px; border-radius:16px; background:#fff; border:1px solid var(--qg-border); font-weight:900; color:var(--qg-main); text-align:center; }
@media (max-width: 900px) {
  .qg-hero-grid, .qg-two-col, .qg-cta { grid-template-columns: 1fr; }
  .qg-cards { grid-template-columns: 1fr; }
  .qg-flow { grid-template-columns: 1fr 1fr; }
  .qg-region-grid { grid-template-columns: 1fr 1fr; }
  .qg-hero { padding: 54px 0 58px; }
  .qg-section { padding: 58px 0; }
}
@media (max-width: 560px) {
  .qg-actions .qg-btn { width: 100%; }
  .qg-hero-card { padding: 22px; }
  .qg-flow { grid-template-columns: 1fr; }
  .qg-cta { padding: 30px 22px; border-radius: 24px; }
  .qg-job-table th, .qg-job-table td { display: block; width: 100%; }
  .qg-job-table th { border-bottom: none; padding-bottom: 4px; }
  .qg-job-table td { padding-top: 4px; }
  .qg-fixed-cta { left: 12px; right: 12px; bottom: 12px; }
  .qg-fixed-cta a { width: 100%; }
  body { padding-bottom: 78px; }
}


/* QuickGear TOP LP order */
.qg-top-lp { overflow: hidden; }
.qg-top-hero { margin-top: 0; }
.qg-left-title { text-align: left; margin: 0; }
.qg-recruit-pickup .pickup_recruit,
.qg-recruit-pickup .pickup-recruit,
.qg-recruit-pickup .recruit_archive,
.qg-recruit-pickup .archive_recruit {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.qg-custom-html {
  margin-top: 32px;
  margin-bottom: 32px;
}
.qg-top-slider + .qg-lp .qg-hero {
  border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 560px) {
  .qg-top-slider .main_image_text h2 { font-size: 22px; }
  .qg-top-slider .main_image_text p { font-size: 13px; }
}


/* ==================================================
   QuickGear v1.2
   新着求人コンパクト化 / スマホ2列 / 全ページ統一
================================================== */

/* TOP新着求人：元テーマの大きいカードを上書き */
.qg-recruit-pickup .top_recruit_wrap,
.top_recruit_wrap.qg-top-recruit-wrap {
  padding: 0 !important;
  background: transparent !important;
}

.qg-recruit-pickup .wrap,
.qg-top-recruit-wrap .wrap,
.qg-top-recruit-wrap.qg-top-recruit-wrap .qg-container {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.qg-recruit-pickup .top_recruit_title,
.qg-top-recruit-wrap .top_recruit_title {
  display: none !important;
}

.qg-recruit-pickup ul.top_recruit_list,
ul.top_recruit_list.qg-newjob-grid,
.top_recruit_list.qg-newjob-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.qg-recruit-pickup ul.top_recruit_list > li,
ul.top_recruit_list.qg-newjob-grid > li,
.qg-newjob-card {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.06) !important;
  min-width: 0 !important;
}

.qg-recruit-pickup ul.top_recruit_list > li > a,
ul.top_recruit_list.qg-newjob-grid > li > a,
.qg-newjob-card > a {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
  padding: 0 !important;
}

.qg-recruit-pickup ul.top_recruit_list figure,
.qg-newjob-image {
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #f1f5f9 !important;
}

.qg-recruit-pickup ul.top_recruit_list figure img,
.qg-newjob-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.qg-recruit-pickup .top_recruit_text,
.qg-newjob-text {
  position: static !important;
  background: #fff !important;
  padding: 12px 12px 14px !important;
  min-height: auto !important;
  color: #111111 !important;
}

.qg-recruit-pickup .top_recruit_text strong,
.qg-newjob-text strong {
  display: block !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

.qg-newjob-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin: 0 0 7px !important;
}

.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5 {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

/* 固定ページ・求人詳細・一覧の統一感 */
.page .main,
.single .main,
.archive .main,
.page main,
.single main,
.archive main {
  background: #f8fafc;
}

.page .content,
.single .content,
.archive .content,
.page article,
.single article {
  border-radius: 20px;
}

.page h1,
.single h1,
.archive h1,
.page h2,
.single h2 {
  color: #111111;
}

.page .entry-content h2,
.single .entry-content h2,
.page .post_content h2,
.single .post_content h2 {
  border-left: 6px solid #C8161D;
  padding-left: 14px;
  color: #111111;
  font-weight: 900;
}

/* 求人一覧ページのカードも少しコンパクトに */
.recruit_container ul,
.recruit_archive_list,
.archive_recruit_list {
  list-style: none;
}

.recruit_table_wrap {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.06) !important;
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
}

.recruit_table_title {
  background: #111111 !important;
  color: #fff !important;
}

.recruit_table_btn a,
.qg-btn,
.fixed-recruit-cta a {
  background: #C8161D !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .qg-recruit-pickup ul.top_recruit_list,
  ul.top_recruit_list.qg-newjob-grid,
  .top_recruit_list.qg-newjob-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* ユーザー希望：スマホでも新着求人は2列 */
@media (max-width: 560px) {
  .qg-recruit-pickup ul.top_recruit_list,
  ul.top_recruit_list.qg-newjob-grid,
  .top_recruit_list.qg-newjob-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .qg-recruit-pickup .top_recruit_text,
  .qg-newjob-text {
    padding: 9px 8px 10px !important;
  }

  .qg-recruit-pickup .top_recruit_text strong,
  .qg-newjob-text strong {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .qg-newjob-cat,
  .qg-recruit-pickup .styles li,
  .qg-recruit-pickup .key_color5 {
    font-size: 10px !important;
    padding: 1px 5px !important;
  }
}


/* ==================================================
   QuickGear v1.3 Unified Pages
   固定ページ / 求人一覧 / 求人詳細までTOPと統一
================================================== */

body.quickgear-unified-theme,
body {
  background: #f8fafc;
}

/* 下層ページのヒーロー */
.qg-subpage-hero,
.page_title_wrap.qg-subpage-hero {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 34px auto 18px !important;
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.12) !important;
  background: #111111 !important;
  min-height: 260px !important;
}

.qg-subpage-hero__text,
.page_title_wrap.qg-subpage-hero .page_title_text,
.page_title_wrap.qg-subpage-hero .qg-subpage-hero__text {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 260px !important;
  background: linear-gradient(135deg, #111111, #232323) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(28px, 5vw, 54px) !important;
  clip-path: none !important;
  transform: none !important;
}

.qg-subpage-hero__text h1,
.page_title_wrap.qg-subpage-hero h1 {
  color: #fff !important;
  font-size: clamp(30px, 4.5vw, 48px) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  margin: 0 0 10px !important;
}

.qg-subpage-hero__text span,
.qg-subpage-hero__text p,
.page_title_wrap.qg-subpage-hero span {
  color: #cbd5e1 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.qg-subpage-hero__image,
.page_title_wrap.qg-subpage-hero .page_title_image,
.page_title_wrap.qg-subpage-hero .qg-subpage-hero__image {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
}

.qg-subpage-hero__image img,
.page_title_wrap.qg-subpage-hero .page_title_image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
  object-fit: cover !important;
  display: block !important;
}

/* パンくず */
.qg-breadcrumb,
.bread-list.qg-breadcrumb,
.bread-list_archive.qg-breadcrumb {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 20px !important;
  padding: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
}

/* 固定ページ本文カード */
.qg-page-main,
.qg-recruit-archive-main,
.qg-recruit-single-main {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 64px !important;
}

.qg-page-card,
.qg-recruit-single-card,
.qg-recruit-archive-main .recruit_text {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.07) !important;
  padding: clamp(24px, 4vw, 44px) !important;
}

.qg-page-card h2,
.qg-page-card h3,
.qg-recruit-single-main h2,
.qg-recruit-single-main h3,
.qg-recruit-archive-main h2,
.qg-recruit-archive-main h3 {
  color: #111111 !important;
  font-weight: 900 !important;
}

.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap) {
  border-left: 6px solid #C8161D !important;
  padding-left: 14px !important;
  margin-top: 36px !important;
}

/* 求人一覧 */
.qg-recruit-archive-main .recruit_text {
  margin: 0 0 24px !important;
}

.qg-recruit-archive-main .wrap,
.qg-recruit-single-main .wrap {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.qg-recruit-archive-main .recruit_category_list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  list-style: none !important;
}

.qg-recruit-archive-main .recruit_category_list li,
.qg-recruit-archive-main .recruit_category_list a {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-weight: 900 !important;
  padding: 7px 13px !important;
  text-decoration: none !important;
}

.qg-recruit-archive-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.qg-recruit-archive-card,
.recruit_table_wrap.qg-recruit-archive-card {
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.07) !important;
}

.qg-recruit-archive-card .recruit_table_title {
  background: linear-gradient(135deg, #111111, #232323) !important;
  padding: 18px 20px !important;
}

.qg-recruit-archive-card .recruit_table_title h2 {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}

.qg-recruit-archive-card .recruit_archive_image {
  margin: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
}

.qg-recruit-archive-card .recruit_archive_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 求人詳細 */
.qg-recruit-single-main > h2 {
  background: linear-gradient(135deg, #111111, #232323) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 22px !important;
  padding: 22px 26px !important;
  margin: 0 0 22px !important;
  font-size: clamp(24px, 4vw, 36px) !important;
  line-height: 1.35 !important;
}

.qg-recruit-single-card {
  padding: 0 !important;
  overflow: hidden !important;
}

.qg-recruit-single-card .recruit_top_image {
  margin: 0 !important;
  aspect-ratio: 16 / 7 !important;
  overflow: hidden !important;
}

.qg-recruit-single-card .recruit_top_image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.qg-recruit-single-card .recruit_table,
.qg-recruit-archive-card .recruit_table,
.qg-page-card table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}

.qg-recruit-single-card .recruit_table th,
.qg-recruit-archive-card .recruit_table th,
.qg-page-card table th {
  width: 28% !important;
  background: #f8fafc !important;
  color: #111111 !important;
  font-weight: 900 !important;
  border: 1px solid #e2e8f0 !important;
  padding: 14px 16px !important;
}

.qg-recruit-single-card .recruit_table td,
.qg-recruit-archive-card .recruit_table td,
.qg-page-card table td {
  border: 1px solid #e2e8f0 !important;
  padding: 14px 16px !important;
  background: #fff !important;
}

/* 応募ボタン系 */
.qg-recruit-single-main a[href*="entry"],
.qg-recruit-single-main a[href*="contact"],
.qg-recruit-archive-main a[href*="entry"],
.qg-recruit-archive-main a[href*="contact"],
.qg-page-card a[href*="contact"],
.qg-page-card a[href*="entry"] {
  background: #C8161D !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 20px !important;
}

/* スマホ */
@media (max-width: 900px) {
  .qg-subpage-hero,
  .page_title_wrap.qg-subpage-hero {
    grid-template-columns: 1fr !important;
  }

  .qg-subpage-hero__text,
  .page_title_wrap.qg-subpage-hero .page_title_text {
    min-height: auto !important;
  }

  .qg-subpage-hero__image,
  .page_title_wrap.qg-subpage-hero .page_title_image,
  .qg-subpage-hero__image img,
  .page_title_wrap.qg-subpage-hero .page_title_image img {
    min-height: 190px !important;
  }

  .qg-recruit-archive-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .qg-subpage-hero,
  .page_title_wrap.qg-subpage-hero {
    width: calc(100% - 24px) !important;
    margin-top: 20px !important;
    border-radius: 22px !important;
  }

  .qg-page-main,
  .qg-recruit-archive-main,
  .qg-recruit-single-main,
  .qg-breadcrumb,
  .bread-list.qg-breadcrumb,
  .bread-list_archive.qg-breadcrumb {
    width: calc(100% - 24px) !important;
  }

  .qg-page-card,
  .qg-recruit-single-card,
  .qg-recruit-archive-main .recruit_text {
    border-radius: 18px !important;
    padding: 18px 14px !important;
  }

  .qg-recruit-single-card {
    padding: 0 !important;
  }

  .qg-recruit-single-card .recruit_table th,
  .qg-recruit-single-card .recruit_table td,
  .qg-recruit-archive-card .recruit_table th,
  .qg-recruit-archive-card .recruit_table td,
  .qg-page-card table th,
  .qg-page-card table td {
    display: block !important;
    width: 100% !important;
    padding: 11px 12px !important;
  }

  .qg-recruit-archive-card .recruit_table_title h2 {
    font-size: 17px !important;
  }
}


/* ==================================================
   QuickGear v1.4 Custom Template Unification
   事業案内・会社概要・応募・ニュース・インタビューなど独自テンプレ対応
================================================== */

/* 独自テンプレの本文幅 */
.qg-custom-page-main,
.qg-business-main,
.qg-company-main,
.qg-entry-main,
.qg-news-archive-main,
.qg-news-single-main,
.qg-interview-archive-main,
.qg-interview-single-main,
.qg-taxonomy-main {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 64px !important;
}

/* 元テーマのwrap幅をQuickGear内では揃える */
.qg-custom-page-main .wrap,
.qg-business-main .wrap,
.qg-company-main .wrap,
.qg-entry-main .wrap,
.qg-news-archive-main.wrap,
.qg-news-single-main .wrap,
.qg-interview-archive-main .wrap,
.qg-interview-single-main .wrap,
.qg-taxonomy-main .wrap {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 事業案内カード */
.qg-business-main .business_box,
.qg-company-main .company_box,
.qg-company-main .company_message_headline,
.qg-entry-main .entry_form_wrap,
.qg-entry-main .entry_confirm_wrap,
.qg-entry-main .thanks_box,
.qg-news-single-main .news_single_wrap,
.qg-interview-single-main .profile_box,
.qg-interview-single-main .single_interview_wrap,
.qg-interview-archive-main .interview_box,
.qg-news-archive-main li,
.qg-taxonomy-main .recruit_table_wrap {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.07) !important;
  overflow: hidden !important;
}

/* 事業案内・会社概要の余白 */
.qg-business-main .business_box,
.qg-company-main .company_box,
.qg-entry-main .entry_form_wrap,
.qg-entry-main .entry_confirm_wrap,
.qg-news-single-main .news_single_wrap,
.qg-interview-single-main .single_interview_wrap {
  padding: clamp(22px, 4vw, 38px) !important;
  margin-bottom: 24px !important;
}

/* 会社概要メッセージ見出し */
.qg-company-main .company_message_headline {
  padding: 0 !important;
  margin-bottom: 24px !important;
}

.qg-company-main .company_message_headline h2,
.qg-entry-main h2,
.qg-business-main h2,
.qg-news-single-main h1,
.qg-interview-single-main h1,
.qg-interview-single-main h2 {
  color: #111111 !important;
  font-weight: 900 !important;
}

/* 見出し統一 */
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2 {
  border-left: 6px solid #C8161D !important;
  padding-left: 14px !important;
  background: transparent !important;
  color: #111111 !important;
}

/* 画像の角丸・比率 */
.qg-business-main img,
.qg-company-main img,
.qg-news-single-main img,
.qg-interview-single-main img,
.qg-interview-archive-main img {
  border-radius: 16px !important;
}

/* 応募フォーム */
.qg-entry-main form,
.qg-entry-main table {
  width: 100% !important;
}

.qg-entry-main input[type="text"],
.qg-entry-main input[type="email"],
.qg-entry-main input[type="tel"],
.qg-entry-main textarea,
.qg-entry-main select {
  width: 100% !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  font-size: 16px !important;
}

.qg-entry-main input[type="submit"],
.qg-entry-main button,
.qg-entry-main .submit_btn,
.qg-entry-main .entry_btn,
.qg-entry-main a[href*="thanks"],
.qg-entry-main a[href*="confirm"] {
  background: #C8161D !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  box-shadow: 0 12px 24px rgba(249,115,22,.25) !important;
}

/* ニュース一覧 */
.qg-news-archive-main {
  display: grid !important;
  gap: 16px !important;
}

.qg-news-archive-main li {
  padding: 20px 22px !important;
  list-style: none !important;
}

.qg-news-archive-main a {
  color: #111111 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.qg-news-single-main .news_single_wrap {
  width: 100% !important;
  max-width: none !important;
}

.qg-news-single-main time {
  display: inline-flex !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  font-weight: 900 !important;
  margin-bottom: 12px !important;
}

/* インタビュー */
.qg-interview-archive-main {
  display: grid !important;
  gap: 20px !important;
}

.qg-interview-single-main .profile_box {
  padding: clamp(22px, 4vw, 38px) !important;
  margin-bottom: 24px !important;
}

/* テーブル共通 */
.qg-company-main table,
.qg-business-main table,
.qg-entry-main table,
.qg-news-single-main table,
.qg-interview-single-main table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.qg-company-main th,
.qg-business-main th,
.qg-entry-main th,
.qg-news-single-main th,
.qg-interview-single-main th {
  background: #f8fafc !important;
  color: #111111 !important;
  font-weight: 900 !important;
}

.qg-company-main th,
.qg-company-main td,
.qg-business-main th,
.qg-business-main td,
.qg-entry-main th,
.qg-entry-main td,
.qg-news-single-main th,
.qg-news-single-main td,
.qg-interview-single-main th,
.qg-interview-single-main td {
  border: 1px solid #e2e8f0 !important;
  padding: 13px 15px !important;
}

/* 元テーマの色指定をQuickGear寄せ */
.qg-custom-page-main .key_color1,
.qg-custom-page-main .key_color2,
.qg-custom-page-main .key_color3,
.qg-custom-page-main .key_color5 {
  color: #A90F15 !important;
}

.qg-custom-page-main .key_color1_background,
.qg-custom-page-main .key_color2_background,
.qg-custom-page-main .key_color3_background,
.qg-custom-page-main .key_color5_background {
  background: #C8161D !important;
  color: #fff !important;
}

/* スマホ */
@media (max-width: 900px) {
  .qg-custom-page-main,
  .qg-business-main,
  .qg-company-main,
  .qg-entry-main,
  .qg-news-archive-main,
  .qg-news-single-main,
  .qg-interview-archive-main,
  .qg-interview-single-main,
  .qg-taxonomy-main {
    width: calc(100% - 24px) !important;
    margin-bottom: 42px !important;
  }
}

@media (max-width: 560px) {
  .qg-business-main .business_box,
  .qg-company-main .company_box,
  .qg-entry-main .entry_form_wrap,
  .qg-entry-main .entry_confirm_wrap,
  .qg-news-single-main .news_single_wrap,
  .qg-interview-single-main .single_interview_wrap,
  .qg-interview-single-main .profile_box {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .qg-company-main th,
  .qg-company-main td,
  .qg-business-main th,
  .qg-business-main td,
  .qg-entry-main th,
  .qg-entry-main td,
  .qg-news-single-main th,
  .qg-news-single-main td,
  .qg-interview-single-main th,
  .qg-interview-single-main td {
    display: block !important;
    width: 100% !important;
    padding: 11px 12px !important;
  }
}


/* ==================================================
   QuickGear v1.5 Elegant Color Tuning
   CV導線は残しつつ、色味を上品寄せに調整
================================================== */

:root {
  --qg-navy-deep: #111111;
  --qg-navy: #111827;
  --qg-blue-deep: #232323;
  --qg-blue-soft: #333333;
  --qg-orange: #C8161D;
  --qg-orange-hover: #A90F15;
  --qg-orange-soft: #FFF1F2;
  --qg-bg-soft: #F7F8FA;
  --qg-border-soft: #E5E7EB;
  --qg-text-main: #1F2937;
  --qg-text-muted: #64748B;
}

/* 全体背景を少し落ち着かせる */
body,
.page .main,
.single .main,
.archive .main,
.page main,
.single main,
.archive main {
  background: var(--qg-bg-soft) !important;
  color: var(--qg-text-main) !important;
}

/* 強い青を少し深く、落ち着いた印象に */
.qg-hero,
.qg-cta-box,
.qg-subpage-hero__text,
.page_title_wrap.qg-subpage-hero .page_title_text,
.qg-recruit-single-main > h2,
.qg-recruit-archive-card .recruit_table_title,
.recruit_table_title {
  background: linear-gradient(135deg, var(--qg-navy-deep), var(--qg-blue-deep)) !important;
}

/* 見出しは濃紺で統一 */
.qg-section-title h2,
.qg-page-card h2,
.qg-page-card h3,
.qg-recruit-single-main h2,
.qg-recruit-single-main h3,
.qg-recruit-archive-main h2,
.qg-recruit-archive-main h3,
.qg-business-main h2,
.qg-company-main h2,
.qg-entry-main h2,
.qg-news-single-main h1,
.qg-interview-single-main h1,
.qg-interview-single-main h2,
.page h1,
.single h1,
.archive h1,
.page h2,
.single h2 {
  color: var(--qg-navy) !important;
}

/* オレンジはCTAと重要アクセント中心に抑える */
.qg-btn,
.qg-cta-box a,
.fixed-recruit-cta a,
.qg-recruit-single-main a[href*="entry"],
.qg-recruit-single-main a[href*="contact"],
.qg-recruit-archive-main a[href*="entry"],
.qg-recruit-archive-main a[href*="contact"],
.qg-page-card a[href*="contact"],
.qg-page-card a[href*="entry"],
.qg-entry-main input[type="submit"],
.qg-entry-main button,
.qg-entry-main .submit_btn,
.qg-entry-main .entry_btn,
.recruit_table_btn a {
  background: var(--qg-orange) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(232,111,26,.22) !important;
}

.qg-btn:hover,
.qg-cta-box a:hover,
.fixed-recruit-cta a:hover,
.qg-entry-main input[type="submit"]:hover,
.qg-entry-main button:hover,
.recruit_table_btn a:hover {
  background: var(--qg-orange-hover) !important;
}

/* 見出し左線は少し細く、派手さを抑える */
.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap),
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2,
.page .entry-content h2,
.single .entry-content h2,
.page .post_content h2,
.single .post_content h2 {
  border-left-color: var(--qg-orange) !important;
  border-left-width: 5px !important;
}

/* ラベル類は薄いオレンジで上品に */
.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5,
.qg-recruit-archive-main .recruit_category_list li,
.qg-recruit-archive-main .recruit_category_list a,
.qg-news-single-main time {
  background: var(--qg-orange-soft) !important;
  color: var(--qg-orange-hover) !important;
}

/* カードは白基調・影控えめ */
.qg-page-card,
.qg-recruit-single-card,
.qg-recruit-archive-main .recruit_text,
.qg-business-main .business_box,
.qg-company-main .company_box,
.qg-entry-main .entry_form_wrap,
.qg-entry-main .entry_confirm_wrap,
.qg-entry-main .thanks_box,
.qg-news-single-main .news_single_wrap,
.qg-interview-single-main .profile_box,
.qg-interview-single-main .single_interview_wrap,
.qg-interview-archive-main .interview_box,
.qg-news-archive-main li,
.qg-taxonomy-main .recruit_table_wrap,
.qg-newjob-card,
.qg-recruit-archive-card,
.recruit_table_wrap.qg-recruit-archive-card {
  border-color: var(--qg-border-soft) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.055) !important;
}

/* 表は少し柔らかく */
.qg-recruit-single-card .recruit_table th,
.qg-recruit-archive-card .recruit_table th,
.qg-page-card table th,
.qg-company-main th,
.qg-business-main th,
.qg-entry-main th,
.qg-news-single-main th,
.qg-interview-single-main th {
  background: #F9FAFB !important;
  color: var(--qg-navy) !important;
}

/* キーカラー系の上書きを落ち着いた色へ */
.key_color1_background,
.key_color2_background,
.key_color3_background,
.qg-custom-page-main .key_color1_background,
.qg-custom-page-main .key_color2_background,
.qg-custom-page-main .key_color3_background,
.qg-custom-page-main .key_color5_background {
  background: var(--qg-blue-deep) !important;
  color: #fff !important;
}

.key_color1,
.key_color2,
.key_color3,
.key_color5,
.qg-custom-page-main .key_color1,
.qg-custom-page-main .key_color2,
.qg-custom-page-main .key_color3,
.qg-custom-page-main .key_color5 {
  color: var(--qg-blue-deep) !important;
}

/* 応募・CTA周辺だけはオレンジ優先 */
.fixed-recruit-cta a,
.qg-cta-box a,
.qg-btn {
  background: var(--qg-orange) !important;
}

/* スマホ固定CTAはやや落ち着いた影に */
.fixed-recruit-cta a {
  box-shadow: 0 12px 28px rgba(17,24,39,.20) !important;
}


/* ==================================================
   QuickGear v1.6 Logo Safe Color Fix
   ロゴとの違和感を減らし、濃色背景上の文字可読性を修正
================================================== */

/* ブランド色を少しニュートラル寄せに戻す
   ※ロゴ色が別にある場合は、この4色をロゴに合わせて調整すれば全体に反映されます */
:root {
  --qg-brand-navy: #111827;
  --qg-brand-blue: #232323;
  --qg-brand-orange: #C8161D;
  --qg-brand-orange-dark: #A90F15;
  --qg-brand-cream: #FFF6EC;
}

/* 濃色背景の見出しは必ず白にする */
.qg-subpage-hero .page_title_text_box h1,
.qg-subpage-hero .page_title_text_box span,
.page_title_wrap.qg-subpage-hero h1,
.page_title_wrap.qg-subpage-hero span,
.qg-subpage-hero__text h1,
.qg-subpage-hero__text p,
.qg-subpage-hero__text span,
.qg-custom-template-hero h1,
.qg-custom-template-hero span,
.qg-recruit-archive-hero h1,
.qg-recruit-archive-hero span,
.qg-recruit-single-hero h1,
.qg-recruit-single-hero span {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.22) !important;
  opacity: 1 !important;
}

/* タイトルボックス内の余計な濃色指定を無効化 */
.page_title_wrap.qg-subpage-hero .page_title_text_box h1,
.page_title_wrap.qg-subpage-hero .page_title_text_box span {
  color: #fff !important;
}

/* ヒーロー背景は暗すぎる紺を少しだけ柔らかく */
.qg-hero,
.qg-cta-box,
.qg-subpage-hero__text,
.page_title_wrap.qg-subpage-hero .page_title_text,
.qg-recruit-single-main > h2,
.qg-recruit-archive-card .recruit_table_title,
.recruit_table_title {
  background: linear-gradient(135deg, var(--qg-brand-navy), var(--qg-brand-blue)) !important;
}

/* 左端のオレンジラインを少しロゴ寄せの明るいオレンジへ */
.qg-subpage-hero,
.page_title_wrap.qg-subpage-hero {
  border-left: 7px solid var(--qg-brand-orange) !important;
}

/* CTAは明るめのオレンジで視認性維持 */
.qg-btn,
.qg-cta-box a,
.fixed-recruit-cta a,
.qg-recruit-single-main a[href*="entry"],
.qg-recruit-single-main a[href*="contact"],
.qg-recruit-archive-main a[href*="entry"],
.qg-recruit-archive-main a[href*="contact"],
.qg-page-card a[href*="contact"],
.qg-page-card a[href*="entry"],
.qg-entry-main input[type="submit"],
.qg-entry-main button,
.qg-entry-main .submit_btn,
.qg-entry-main .entry_btn,
.recruit_table_btn a {
  background: var(--qg-brand-orange) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(242,140,40,.22) !important;
}

.qg-btn:hover,
.qg-cta-box a:hover,
.fixed-recruit-cta a:hover,
.qg-entry-main input[type="submit"]:hover,
.qg-entry-main button:hover,
.recruit_table_btn a:hover {
  background: var(--qg-brand-orange-dark) !important;
}

/* 薄いラベルもロゴ寄せ */
.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5,
.qg-recruit-archive-main .recruit_category_list li,
.qg-recruit-archive-main .recruit_category_list a,
.qg-news-single-main time {
  background: var(--qg-brand-cream) !important;
  color: var(--qg-brand-orange-dark) !important;
}

/* 見出しアクセント */
.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap),
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2,
.page .entry-content h2,
.single .entry-content h2,
.page .post_content h2,
.single .post_content h2 {
  border-left-color: var(--qg-brand-orange) !important;
}

/* 強制的に見えなくなっている文字対策 */
.page_title_text_box,
.page_title_text_box * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* サブタイトルは白すぎず読みやすく */
.page_title_wrap.qg-subpage-hero .page_title_text_box span,
.qg-subpage-hero__text span,
.qg-subpage-hero__text p {
  color: rgba(255,255,255,.86) !important;
}

/* スマホでもタイトル可読性を確保 */
@media (max-width: 560px) {
  .qg-subpage-hero .page_title_text_box h1,
  .page_title_wrap.qg-subpage-hero h1,
  .qg-subpage-hero__text h1 {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }
}


/* ==================================================
   QuickGear v1.7 Red Black Balanced
   ロゴカラーに合わせた赤×黒ベース。重くなりすぎないCV向け配色。
================================================== */

:root {
  --qg-logo-red: #C8161D;
  --qg-logo-red-bright: #E02A2F;
  --qg-logo-red-dark: #A90F15;
  --qg-black: #111111;
  --qg-charcoal: #232323;
  --qg-gray: #595757;
  --qg-bg-warm: #F7F7F7;
  --qg-bg-red-soft: #FFF1F2;
  --qg-border-red-soft: #F5C2C5;
  --qg-border-gray: #E5E7EB;
  --qg-text: #1F1F1F;
  --qg-muted: #666666;
}

/* 全体：白・薄グレー多めで重くしすぎない */
body,
.page .main,
.single .main,
.archive .main,
.page main,
.single main,
.archive main {
  background: var(--qg-bg-warm) !important;
  color: var(--qg-text) !important;
}

/* 濃色エリア：黒〜チャコールへ */
.qg-hero,
.qg-cta-box,
.qg-subpage-hero__text,
.page_title_wrap.qg-subpage-hero .page_title_text,
.qg-recruit-single-main > h2,
.qg-recruit-archive-card .recruit_table_title,
.recruit_table_title {
  background: linear-gradient(135deg, var(--qg-black), var(--qg-charcoal)) !important;
}

/* 左アクセント：ロゴ赤 */
.qg-subpage-hero,
.page_title_wrap.qg-subpage-hero {
  border-left: 7px solid var(--qg-logo-red) !important;
}

/* 濃色背景の文字は白固定 */
.qg-subpage-hero .page_title_text_box h1,
.qg-subpage-hero .page_title_text_box span,
.page_title_wrap.qg-subpage-hero h1,
.page_title_wrap.qg-subpage-hero span,
.qg-subpage-hero__text h1,
.qg-subpage-hero__text p,
.qg-subpage-hero__text span,
.qg-custom-template-hero h1,
.qg-custom-template-hero span,
.qg-recruit-archive-hero h1,
.qg-recruit-archive-hero span,
.qg-recruit-single-hero h1,
.qg-recruit-single-hero span,
.qg-cta-box h2,
.qg-cta-box h3,
.qg-cta-box p {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
}

/* CTA：赤を主役に。CV導線は強く残す */
.qg-btn,
.qg-cta-box a,
.fixed-recruit-cta a,
.qg-recruit-single-main a[href*="entry"],
.qg-recruit-single-main a[href*="contact"],
.qg-recruit-archive-main a[href*="entry"],
.qg-recruit-archive-main a[href*="contact"],
.qg-page-card a[href*="contact"],
.qg-page-card a[href*="entry"],
.qg-entry-main input[type="submit"],
.qg-entry-main button,
.qg-entry-main .submit_btn,
.qg-entry-main .entry_btn,
.recruit_table_btn a {
  background: var(--qg-logo-red) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 12px 24px rgba(200,22,29,.22) !important;
}

.qg-btn:hover,
.qg-cta-box a:hover,
.fixed-recruit-cta a:hover,
.qg-entry-main input[type="submit"]:hover,
.qg-entry-main button:hover,
.recruit_table_btn a:hover {
  background: var(--qg-logo-red-bright) !important;
}

/* 見出しは黒、アクセント線は赤 */
.qg-section-title h2,
.qg-page-card h2,
.qg-page-card h3,
.qg-recruit-single-main h2,
.qg-recruit-single-main h3,
.qg-recruit-archive-main h2,
.qg-recruit-archive-main h3,
.qg-business-main h2,
.qg-company-main h2,
.qg-entry-main h2,
.qg-news-single-main h1,
.qg-interview-single-main h1,
.qg-interview-single-main h2,
.page h1,
.single h1,
.archive h1,
.page h2,
.single h2 {
  color: var(--qg-black) !important;
}

.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap),
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2,
.page .entry-content h2,
.single .entry-content h2,
.page .post_content h2,
.single .post_content h2 {
  border-left-color: var(--qg-logo-red) !important;
}

/* ラベル・カテゴリは薄赤で柔らかく */
.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5,
.qg-recruit-archive-main .recruit_category_list li,
.qg-recruit-archive-main .recruit_category_list a,
.qg-news-single-main time {
  background: var(--qg-bg-red-soft) !important;
  color: var(--qg-logo-red-dark) !important;
  border: 1px solid var(--qg-border-red-soft) !important;
}

/* カード類は白背景、影控えめ */
.qg-page-card,
.qg-recruit-single-card,
.qg-recruit-archive-main .recruit_text,
.qg-business-main .business_box,
.qg-company-main .company_box,
.qg-entry-main .entry_form_wrap,
.qg-entry-main .entry_confirm_wrap,
.qg-entry-main .thanks_box,
.qg-news-single-main .news_single_wrap,
.qg-interview-single-main .profile_box,
.qg-interview-single-main .single_interview_wrap,
.qg-interview-archive-main .interview_box,
.qg-news-archive-main li,
.qg-taxonomy-main .recruit_table_wrap,
.qg-newjob-card,
.qg-recruit-archive-card,
.recruit_table_wrap.qg-recruit-archive-card {
  background: #fff !important;
  border-color: var(--qg-border-gray) !important;
  box-shadow: 0 8px 22px rgba(17,17,17,.06) !important;
}

/* テーブル：黒見出しではなく薄グレーで読みやすく */
.qg-recruit-single-card .recruit_table th,
.qg-recruit-archive-card .recruit_table th,
.qg-page-card table th,
.qg-company-main th,
.qg-business-main th,
.qg-entry-main th,
.qg-news-single-main th,
.qg-interview-single-main th {
  background: #F5F5F5 !important;
  color: var(--qg-black) !important;
  font-weight: 900 !important;
}

/* 元テーマのキーカラーを赤黒へ */
.key_color1,
.key_color2,
.key_color3,
.key_color5,
.qg-custom-page-main .key_color1,
.qg-custom-page-main .key_color2,
.qg-custom-page-main .key_color3,
.qg-custom-page-main .key_color5 {
  color: var(--qg-logo-red) !important;
}

.key_color1_background,
.key_color2_background,
.key_color3_background,
.key_color5_background,
.qg-custom-page-main .key_color1_background,
.qg-custom-page-main .key_color2_background,
.qg-custom-page-main .key_color3_background,
.qg-custom-page-main .key_color5_background {
  background: var(--qg-black) !important;
  color: #fff !important;
}

/* 新着求人カード内のタイトルを黒で読みやすく */
.qg-newjob-text strong,
.qg-recruit-pickup .top_recruit_text strong {
  color: var(--qg-black) !important;
}

/* パンくず・補足テキスト */
.qg-breadcrumb,
.bread-list.qg-breadcrumb,
.bread-list_archive.qg-breadcrumb,
.qg-section-title p,
.qg-page-card p,
.qg-recruit-single-main p,
.qg-business-main p,
.qg-company-main p {
  color: var(--qg-muted) !important;
}

/* 固定CTAは赤で強め。ただし影は黒系で上品に */
.fixed-recruit-cta a {
  background: var(--qg-logo-red) !important;
  box-shadow: 0 12px 28px rgba(17,17,17,.22) !important;
}

/* フォームフォーカスも赤 */
.qg-entry-main input[type="text"]:focus,
.qg-entry-main input[type="email"]:focus,
.qg-entry-main input[type="tel"]:focus,
.qg-entry-main textarea:focus,
.qg-entry-main select:focus {
  outline: none !important;
  border-color: var(--qg-logo-red) !important;
  box-shadow: 0 0 0 3px rgba(200,22,29,.12) !important;
}

/* モバイルでも重く見えないように角丸・余白を維持 */
@media (max-width: 560px) {
  .qg-subpage-hero,
  .page_title_wrap.qg-subpage-hero {
    border-left-width: 5px !important;
  }
}


/* ==================================================
   QuickGear v1.8 Clean Brand
   迷走した青・オレンジを完全整理。ロゴ赤×黒×白で統一。
================================================== */

:root {
  --qg-red: #C8161D;
  --qg-red-hover: #E02A2F;
  --qg-red-dark: #A90F15;
  --qg-black: #111111;
  --qg-charcoal: #232323;
  --qg-gray: #595757;
  --qg-light: #F7F7F7;
  --qg-white: #FFFFFF;
  --qg-soft-red: #FFF1F2;
  --qg-soft-border: #E5E7EB;
  --qg-text: #1F1F1F;
  --qg-muted: #666666;
}

/* ベース */
html body {
  background: var(--qg-light) !important;
  color: var(--qg-text) !important;
}

/* オレンジ・青の残骸を全消しするための強め指定 */
[style*="#f97316"],
[style*="#F97316"],
[style*="#ea580c"],
[style*="#EA580C"],
[style*="#F28C28"],
[style*="#E86F1A"] {
  color: inherit;
}

/* 濃色エリアは黒〜チャコール */
.qg-hero,
.qg-cta-box,
.qg-subpage-hero__text,
.page_title_wrap.qg-subpage-hero .page_title_text,
.qg-recruit-single-main > h2,
.qg-recruit-archive-card .recruit_table_title,
.recruit_table_title,
.key_color1_background,
.key_color2_background,
.key_color3_background,
.key_color5_background,
.qg-custom-page-main .key_color1_background,
.qg-custom-page-main .key_color2_background,
.qg-custom-page-main .key_color3_background,
.qg-custom-page-main .key_color5_background {
  background: linear-gradient(135deg, var(--qg-black), var(--qg-charcoal)) !important;
  background-color: var(--qg-black) !important;
}

/* 濃色背景上の文字は強制的に白 */
.qg-hero,
.qg-hero *,
.qg-cta-box,
.qg-cta-box h1,
.qg-cta-box h2,
.qg-cta-box h3,
.qg-cta-box p,
.qg-subpage-hero__text,
.qg-subpage-hero__text *,
.page_title_wrap.qg-subpage-hero .page_title_text,
.page_title_wrap.qg-subpage-hero .page_title_text *,
.qg-recruit-single-main > h2,
.qg-recruit-archive-card .recruit_table_title,
.qg-recruit-archive-card .recruit_table_title *,
.recruit_table_title,
.recruit_table_title *,
.key_color1_background,
.key_color1_background *,
.key_color2_background,
.key_color2_background *,
.key_color3_background,
.key_color3_background *,
.key_color5_background,
.key_color5_background * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

/* ページタイトルだけは少し影をつけて画像上でも読めるように */
.page_title_wrap.qg-subpage-hero h1,
.page_title_wrap.qg-subpage-hero span,
.qg-subpage-hero__text h1,
.qg-subpage-hero__text span,
.qg-subpage-hero__text p {
  text-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
}

/* 赤アクセント */
.qg-subpage-hero,
.page_title_wrap.qg-subpage-hero {
  border-left: 7px solid var(--qg-red) !important;
}

/* CTA・応募ボタンは全てロゴ赤 */
.qg-btn,
.qg-cta-box a,
.fixed-recruit-cta a,
.qg-recruit-single-main a[href*="entry"],
.qg-recruit-single-main a[href*="contact"],
.qg-recruit-archive-main a[href*="entry"],
.qg-recruit-archive-main a[href*="contact"],
.qg-page-card a[href*="contact"],
.qg-page-card a[href*="entry"],
.qg-entry-main input[type="submit"],
.qg-entry-main button,
.qg-entry-main .submit_btn,
.qg-entry-main .entry_btn,
.recruit_table_btn a,
input[type="submit"],
button[type="submit"] {
  background: var(--qg-red) !important;
  background-color: var(--qg-red) !important;
  color: #fff !important;
  border-color: var(--qg-red) !important;
  box-shadow: 0 12px 24px rgba(200,22,29,.22) !important;
}

.qg-btn:hover,
.qg-cta-box a:hover,
.fixed-recruit-cta a:hover,
.qg-entry-main input[type="submit"]:hover,
.qg-entry-main button:hover,
.recruit_table_btn a:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--qg-red-hover) !important;
  background-color: var(--qg-red-hover) !important;
}

/* 通常見出しは黒、アクセント線は赤 */
h1, h2, h3,
.qg-section-title h2,
.qg-page-card h2,
.qg-page-card h3,
.qg-recruit-single-main h2,
.qg-recruit-single-main h3,
.qg-recruit-archive-main h2,
.qg-recruit-archive-main h3,
.qg-business-main h2,
.qg-company-main h2,
.qg-entry-main h2,
.qg-news-single-main h1,
.qg-interview-single-main h1,
.qg-interview-single-main h2,
.page h1,
.single h1,
.archive h1,
.page h2,
.single h2 {
  color: var(--qg-black) !important;
}

.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap),
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2,
.page .entry-content h2,
.single .entry-content h2,
.page .post_content h2,
.single .post_content h2 {
  border-left-color: var(--qg-red) !important;
  color: var(--qg-black) !important;
}

/* ただし濃色背景内の見出しは白を優先 */
.qg-hero h1,
.qg-hero h2,
.qg-hero h3,
.qg-cta-box h1,
.qg-cta-box h2,
.qg-cta-box h3,
.qg-subpage-hero h1,
.qg-subpage-hero h2,
.qg-subpage-hero h3,
.recruit_table_title h1,
.recruit_table_title h2,
.recruit_table_title h3,
.qg-recruit-single-main > h2 {
  color: #fff !important;
}

/* カテゴリ・ラベルは薄赤 */
.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5,
.qg-recruit-archive-main .recruit_category_list li,
.qg-recruit-archive-main .recruit_category_list a,
.qg-news-single-main time,
.key_color5 {
  background: var(--qg-soft-red) !important;
  background-color: var(--qg-soft-red) !important;
  color: var(--qg-red-dark) !important;
  border-color: #F5C2C5 !important;
}

/* カード類は白、線は薄グレー */
.qg-page-card,
.qg-recruit-single-card,
.qg-recruit-archive-main .recruit_text,
.qg-business-main .business_box,
.qg-company-main .company_box,
.qg-entry-main .entry_form_wrap,
.qg-entry-main .entry_confirm_wrap,
.qg-entry-main .thanks_box,
.qg-news-single-main .news_single_wrap,
.qg-interview-single-main .profile_box,
.qg-interview-single-main .single_interview_wrap,
.qg-interview-archive-main .interview_box,
.qg-news-archive-main li,
.qg-taxonomy-main .recruit_table_wrap,
.qg-newjob-card,
.qg-recruit-archive-card,
.recruit_table_wrap.qg-recruit-archive-card {
  background: #fff !important;
  border-color: var(--qg-soft-border) !important;
  box-shadow: 0 8px 22px rgba(17,17,17,.06) !important;
}

/* テーブル・フォーム */
th,
.qg-recruit-single-card .recruit_table th,
.qg-recruit-archive-card .recruit_table th,
.qg-page-card table th,
.qg-company-main th,
.qg-business-main th,
.qg-entry-main th,
.qg-news-single-main th,
.qg-interview-single-main th {
  background: #F5F5F5 !important;
  color: var(--qg-black) !important;
  font-weight: 900 !important;
}

td,
.qg-recruit-single-card .recruit_table td,
.qg-recruit-archive-card .recruit_table td,
.qg-page-card table td {
  color: var(--qg-text) !important;
}

/* リンク色 */
a {
  color: var(--qg-red) !important;
}

.qg-newjob-card a,
.qg-recruit-archive-card a,
.recruit_table_title a,
.qg-cta-box a,
.fixed-recruit-cta a,
.qg-btn {
  text-decoration: none !important;
}

.qg-newjob-text strong,
.qg-recruit-pickup .top_recruit_text strong {
  color: var(--qg-black) !important;
}

/* パンくず・本文補足 */
.qg-breadcrumb,
.bread-list.qg-breadcrumb,
.bread-list_archive.qg-breadcrumb,
.qg-section-title p,
.qg-page-card p,
.qg-recruit-single-main p,
.qg-business-main p,
.qg-company-main p {
  color: var(--qg-muted) !important;
}

/* フォームのフォーカスも赤 */
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--qg-red) !important;
  box-shadow: 0 0 0 3px rgba(200,22,29,.12) !important;
}

/* スマホ */
@media (max-width: 560px) {
  .qg-subpage-hero,
  .page_title_wrap.qg-subpage-hero {
    border-left-width: 5px !important;
  }

  .page_title_wrap.qg-subpage-hero h1,
  .qg-subpage-hero__text h1 {
    color: #fff !important;
  }
}


/* ==================================================
   QuickGear v1.9 Readability Fix
   TOP右カードの可読性を最優先で修正
================================================== */

/* v1.8で .qg-hero * を白にしてしまった副作用を打ち消す */
.qg-hero .qg-hero-card,
.qg-hero .qg-hero-card * {
  color: #111111 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

.qg-hero .qg-hero-card {
  background: rgba(255,255,255,0.98) !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  box-shadow: 0 12px 30px rgba(17,17,17,.08) !important;
}

.qg-hero .qg-hero-card h2 {
  color: #111111 !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  margin: 0 0 18px !important;
}

.qg-hero .qg-income-box {
  background: #FFF1F2 !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 20px !important;
  padding: 18px !important;
}

.qg-hero .qg-income-box > div:first-child {
  color: #666666 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

.qg-hero .qg-income-box .qg-large {
  color: #C8161D !important;
  font-size: 48px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
}

.qg-hero .qg-income-box small {
  display: block !important;
  color: #666666 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 8px !important;
}

.qg-hero .qg-check-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.qg-hero .qg-check-list li {
  color: #333333 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  padding-left: 30px !important;
  margin: 10px 0 !important;
}

.qg-hero .qg-check-list li::before {
  color: #C8161D !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

/* 右カード内のリンクや強調も白化させない */
.qg-hero .qg-hero-card a,
.qg-hero .qg-hero-card strong,
.qg-hero .qg-hero-card span,
.qg-hero .qg-hero-card small,
.qg-hero .qg-hero-card p,
.qg-hero .qg-hero-card li {
  color: inherit !important;
}

@media (max-width: 900px) {
  .qg-hero .qg-hero-card h2 {
    font-size: 24px !important;
  }
  .qg-hero .qg-income-box .qg-large {
    font-size: 42px !important;
  }
}

@media (max-width: 560px) {
  .qg-hero .qg-hero-card {
    padding: 18px !important;
    border-radius: 22px !important;
  }
  .qg-hero .qg-hero-card h2 {
    font-size: 21px !important;
  }
  .qg-hero .qg-income-box {
    padding: 14px !important;
  }
  .qg-hero .qg-income-box .qg-large {
    font-size: 34px !important;
  }
  .qg-hero .qg-check-list li {
    font-size: 14px !important;
    margin: 8px 0 !important;
  }
}


/* ==================================================
   QuickGear v2.1 Stable Minimal Fix
   v1.9をベースに、崩さない範囲だけ最小修正
================================================== */

/* TOP右カードの可読性を再保証 */
.qg-hero .qg-hero-card,
.qg-hero .qg-hero-card * {
  color: #111111 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

.qg-hero .qg-hero-card {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid #E5E7EB !important;
  box-shadow: 0 12px 30px rgba(17,17,17,.08) !important;
}

.qg-hero .qg-hero-card h2 {
  color: #111111 !important;
  font-weight: 900 !important;
}

.qg-hero .qg-income-box {
  background: #FFF1F2 !important;
  border: 1px solid #F5C2C5 !important;
}

.qg-hero .qg-income-box > div:first-child,
.qg-hero .qg-income-box small {
  color: #666666 !important;
}

.qg-hero .qg-income-box .qg-large {
  color: #C8161D !important;
  font-weight: 950 !important;
}

.qg-hero .qg-check-list li {
  color: #333333 !important;
  font-weight: 700 !important;
}

.qg-hero .qg-check-list li::before {
  color: #C8161D !important;
}

/* CTAはロゴ赤に統一 */
.qg-btn,
.qg-cta-box a,
.fixed-recruit-cta a,
.recruit_table_btn a,
input[type="submit"],
button[type="submit"] {
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border-color: #C8161D !important;
}

.qg-btn:hover,
.qg-cta-box a:hover,
.fixed-recruit-cta a:hover,
.recruit_table_btn a:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: #E02A2F !important;
  background-color: #E02A2F !important;
}

/* ヘッダーENTRYの青残り対策 */
header a[href*="entry"],
header .entry a,
header .entry_btn,
header .header_entry,
header .global_entry,
.header_entry a,
.global_entry a,
.nav_entry a,
.header_nav a[href*="entry"],
.global_nav a[href*="entry"],
.menu a[href*="entry"] {
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border-color: #C8161D !important;
}

/* ラベルは薄赤 */
.qg-newjob-cat,
.qg-recruit-pickup .styles li,
.qg-recruit-pickup .key_color5,
.qg-recruit-archive-main .recruit_category_list a,
.qg-news-single-main time {
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  border-color: #F5C2C5 !important;
}

/* 見出しアクセントは赤 */
.qg-page-card h2,
.qg-recruit-single-main h2:not(.single_interview_text_wrap),
.qg-recruit-archive-main h2:not(.single_interview_text_wrap),
.qg-business-main .business_box h2,
.qg-company-main .company_box h2,
.qg-entry-main h2,
.qg-news-single-main .news_title,
.qg-interview-single-main h2 {
  border-left-color: #C8161D !important;
}


/* ==================================================
   QuickGear v2.3 Precise Menu Footer Slider Fix
   実クラス名に直接指定：nav_wrap / nav_inner / hamburger / footer / main_image_text
================================================== */

/* スライド上の青ボックス */
.main_image .main_image_text,
.main_image .main_image_text.key_color1_background {
  background: linear-gradient(135deg, #111111, #232323) !important;
  background-color: #111111 !important;
  border-left: 7px solid #C8161D !important;
}

.main_image .main_image_text h2,
.main_image .main_image_text p,
.main_image .main_image_text span,
.main_image .main_image_text * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* フッター */
footer.key_color2_background,
footer {
  background: linear-gradient(135deg, #111111, #232323) !important;
  background-color: #111111 !important;
  color: #fff !important;
}

footer *,
footer small,
footer p,
footer a,
footer li {
  color: #fff !important;
}

footer .footer_btn_wrap .footer_btn a,
footer .footer_btn a,
footer a[href*="entry"] {
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border-color: #C8161D !important;
}

footer .footer_btn_wrap .footer_btn a:hover,
footer .footer_btn a:hover {
  background: #E02A2F !important;
  background-color: #E02A2F !important;
  color: #fff !important;
}

footer .footer_btn_wrap .footer_btn a::before {
  background: rgba(255,255,255,.55) !important;
}

/* ハンバーガー本体：通常時は白背景上に見えるよう黒線 */
button.hamburger,
.hamburger#js-hamburger {
  background: transparent !important;
  border: none !important;
  display: block;
}

button.hamburger span,
.hamburger#js-hamburger span {
  background-color: #111111 !important;
}

/* メニュー展開中の背景と文字 */
header .nav_wrap,
header .nav_wrap#js-nav {
  background: linear-gradient(135deg, #111111, #232323) !important;
  background-color: #111111 !important;
}

header .nav_wrap .nav_inner,
header .nav_wrap .nav_inner.key_color2 {
  background: transparent !important;
  color: #fff !important;
}

header .nav_wrap .nav_inner *,
header .nav_wrap .nav_inner ul li a,
header .nav_wrap .nav_inner a {
  color: #fff !important;
}

/* メニュー内の赤文字を白に固定。ホバーも白 */
header .nav_wrap .nav_inner ul li a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}

header .nav_wrap .nav_inner ul li.current-menu-item a {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}

/* メニュー内ENTRYボタン */
header .nav_wrap .nav_entry_btn,
header .nav_wrap .nav_entry_btn.key_color2_background,
header .nav_entry_btn {
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border-color: #C8161D !important;
}

/* 閉じるボタン画像は白系画像ならそのまま、暗い場合に備えて反転 */
header .nav_wrap .hbg_close img {
  filter: brightness(0) invert(1) !important;
}

/* メニュー展開中にhamburgerへ付く可能性のあるクラス対策 */
.hamburger.is-active span,
.hamburger.active span,
.hamburger.open span,
button.hamburger.is-active span,
button.hamburger.active span,
button.hamburger.open span {
  background-color: #111111 !important;
}

/* 1180px以下だけ本来のハンバーガー表示 */
@media screen and (min-width: 1181px) {
  button.hamburger,
  .hamburger#js-hamburger {
    display: none !important;
  }
}

@media screen and (max-width: 1180px) {
  button.hamburger,
  .hamburger#js-hamburger {
    display: block !important;
    z-index: 3001 !important;
  }

  header .nav_wrap,
  header .nav_wrap#js-nav {
    z-index: 3000 !important;
  }
}


/* ==================================================
   QuickGear v2.4 Soft Hero & Readable Text
   ファーストビューを少し軽くし、CTA見出しの可読性を修正
================================================== */

:root {
  --qg-soft-hero-left: #121723;
  --qg-soft-hero-right: #233251;
  --qg-soft-hero-glow: rgba(255,255,255,.08);
}

/* ファーストビューを真っ黒すぎない黒×濃紺へ */
.qg-hero {
  background: linear-gradient(135deg, var(--qg-soft-hero-left) 0%, #1a2335 52%, var(--qg-soft-hero-right) 100%) !important;
  color: #fff !important;
}
.qg-hero::before {
  background: var(--qg-soft-hero-glow) !important;
}
.qg-hero h1,
.qg-hero h1 strong,
.qg-hero .qg-hero-lead,
.qg-hero .qg-badge,
.qg-hero .qg-badge * {
  color: #fff !important;
}
.qg-hero h1 strong {
  color: #ffd9dc !important;
}
.qg-hero .qg-hero-lead {
  color: rgba(255,255,255,.92) !important;
}

/* 最後のCTAボックスも少し軽めに */
.qg-cta {
  background: linear-gradient(135deg, #141923 0%, #1a2335 54%, #24324f 100%) !important;
  color: #fff !important;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.18) !important;
}
.qg-cta h2 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
}
.qg-cta p {
  color: rgba(255,255,255,.92) !important;
}
.qg-cta * {
  text-shadow: none;
}
.qg-cta h2, .qg-cta p {
  position: relative;
  z-index: 1;
}

/* 背景画像/暗背景上の見出しで黒文字化しないよう強め指定 */
.qg-cta h2,
.qg-hero h1,
.qg-hero h2,
.qg-hero h3,
.qg-cta-box h2,
.qg-cta-box h3,
.main_image .main_image_text h2,
.main_image .main_image_text p,
.main_image .main_image_text span {
  color: #fff !important;
}

/* スライドのテキストボックスも少し軽めの黒×濃紺に */
.main_image .main_image_text,
.main_image .main_image_text.key_color1_background {
  background: linear-gradient(135deg, #16203a 0%, #1f2d50 100%) !important;
  border-left: 7px solid #C8161D !important;
}
.main_image .main_image_text h2,
.main_image .main_image_text p {
  text-shadow: 0 2px 8px rgba(0,0,0,.22) !important;
}


/* ==================================================
   QuickGear v2.5 Area / LINE / Tag Fix
================================================== */

/* LINEボタン */
.qg-btn-line {
  background: #06C755 !important;
  background-color: #06C755 !important;
  color: #fff !important;
  border-color: #06C755 !important;
  box-shadow: 0 12px 24px rgba(6,199,85,.20) !important;
}
.qg-btn-line:hover {
  background: #05B54D !important;
  background-color: #05B54D !important;
}
.qg-actions .qg-btn-line {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.40) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* 固定CTA 2分割 */
.qg-fixed-cta-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.qg-fixed-cta-split a {
  width: 100% !important;
}
.qg-fixed-cta .qg-fixed-line {
  background: #06C755 !important;
  background-color: #06C755 !important;
  color: #fff !important;
}

/* LINE CTAブロック */
.qg-line-cta {
  margin: 30px auto 0 !important;
  padding: 24px !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  text-align: center !important;
  box-shadow: 0 8px 22px rgba(17,17,17,.05) !important;
}
.qg-line-cta p {
  color: #333 !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
}

/* 新着求人カードのカテゴリタグ統一 */
.qg-newjob-cats,
.qg-recruit-pickup .qg-newjob-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  align-items: center !important;
  margin: 0 0 8px !important;
}
.qg-newjob-cat,
.qg-newjob-cat a,
.qg-recruit-pickup .qg-newjob-cat,
.qg-recruit-pickup .qg-newjob-cat a,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats span,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 2px 8px !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.qg-newjob-cat::before,
.qg-newjob-cat::after,
.qg-newjob-cat a::before,
.qg-newjob-cat a::after,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats span::before,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats span::after,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats a::before,
.qg-recruit-pickup .top_recruit_text .qg-newjob-cats a::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
}

/* 募集エリア自動ボタン */
.qg-region-grid a {
  color: #111 !important;
}
.qg-region-grid a:hover {
  border-color: #C8161D !important;
  color: #C8161D !important;
}

/* エリアSEOブロック */
.qg-area-seo-block {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 28px rgba(17,17,17,.06) !important;
  padding: clamp(22px,4vw,38px) !important;
  margin: 0 0 28px !important;
}
.qg-area-seo-block h2 {
  color: #111 !important;
  border-left: 6px solid #C8161D !important;
  padding-left: 14px !important;
  font-weight: 900 !important;
}
.qg-area-seo-block p {
  color: #333 !important;
}
.qg-area-seo-cards {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
.qg-area-seo-cards div {
  background: #F7F7F7 !important;
  border-radius: 16px !important;
  padding: 16px !important;
}
.qg-area-seo-cards strong {
  display: block !important;
  color: #C8161D !important;
  font-weight: 900 !important;
  margin-bottom: 6px !important;
}
.qg-area-seo-cards span {
  color: #333 !important;
  font-size: 14px !important;
}

/* 求人詳細LINEボタン */
.qg-recruit-detail-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: center !important;
}
.qg-recruit-detail-actions .qg-recruit-line-btn {
  min-height: 48px !important;
  padding: 0 24px !important;
}

@media(max-width: 700px) {
  .qg-area-seo-cards {
    grid-template-columns: 1fr !important;
  }
  .qg-actions .qg-btn,
  .qg-cta-actions .qg-btn {
    width: 100% !important;
  }
}


/* ==================================================
   QuickGear v2.6 Tag and Icon Fix
   新着求人タグの空装飾を解消 / 絵文字アイコンを非表示
================================================== */

/* 新着求人カード：元テーマのカテゴリ装飾を完全リセット */
.qg-newjob-cats,
.qg-recruit-pickup .qg-newjob-cats,
.top_recruit_text .qg-newjob-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.qg-newjob-cats::before,
.qg-newjob-cats::after,
.qg-recruit-pickup .qg-newjob-cats::before,
.qg-recruit-pickup .qg-newjob-cats::after,
.top_recruit_text .qg-newjob-cats::before,
.top_recruit_text .qg-newjob-cats::after {
  content: none !important;
  display: none !important;
}

/* 新しいタグ本体 */
.qg-newjob-tag,
.qg-recruit-pickup .qg-newjob-tag,
.top_recruit_text .qg-newjob-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 3px 9px !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* 旧タグclassや元テーマ装飾の残骸を消す */
.qg-newjob-cat,
.qg-newjob-cat a,
.qg-newjob-cat::before,
.qg-newjob-cat::after,
.qg-newjob-cat a::before,
.qg-newjob-cat a::after,
.qg-recruit-pickup .styles,
.qg-recruit-pickup .styles li::before,
.qg-recruit-pickup .styles li::after,
.qg-recruit-pickup .top_recruit_text span::before,
.qg-recruit-pickup .top_recruit_text span::after,
.top_recruit_text .qg-newjob-cats span::before,
.top_recruit_text .qg-newjob-cats span::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* qg-newjob-tagだけは非表示対象から戻す */
.qg-newjob-tag {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  padding: 3px 9px !important;
  border: 1px solid #F5C2C5 !important;
  background: #FFF1F2 !important;
}

/* カード内の絵文字アイコンは安っぽく見えるため非表示 */
.qg-card-icon {
  display: none !important;
}

/* アイコンを消した分、カード内の余白を少し調整 */
.qg-card h3 {
  margin-top: 0 !important;
}

/* FEATURE/INCOMEカードを少し締める */
.qg-card {
  padding-top: 24px !important;
}

@media(max-width: 560px) {
  .qg-newjob-tag,
  .qg-recruit-pickup .qg-newjob-tag,
  .top_recruit_text .qg-newjob-tag {
    font-size: 10px !important;
    padding: 2px 7px !important;
  }
}


/* ==================================================
   QuickGear v2.7 Icon Restore
   絵アイコンは残し、周りのピンク枠だけ削除
================================================== */

.qg-card-icon {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

.qg-card-icon::before,
.qg-card-icon::after {
  content: none !important;
  display: none !important;
}

.qg-card h3 {
  margin-top: 0 !important;
}


/* ==================================================
   QuickGear v2.9 Minor Fixes
   LINEボタン影 / 見出し文言 / カスタマイザー整理
================================================== */

/* LINEボタンは赤ボタン運用なので、緑の影を残さない */
.qg-btn-line,
.qg-fixed-cta .qg-fixed-line,
.qg-recruit-line-btn {
  box-shadow: 0 12px 24px rgba(200,22,29,.20) !important;
}

/* ヒーロー上のLINEボタンは透明系なので影なし */
.qg-actions .qg-btn-line {
  box-shadow: none !important;
}

/* LINEボタンを緑表示に戻したい場合でも、影だけ変に残らないようにする */
.qg-line-cta .qg-btn-line,
.qg-area-line-cta .qg-btn-line {
  box-shadow: 0 12px 24px rgba(200,22,29,.18) !important;
}


/* ==================================================
   QuickGear v3.0 Recruit Ops
   求人テンプレ文章・CSV/SEO追加項目表示
================================================== */

.qg-recruit-auto-text {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  padding: 24px !important;
  margin: 0 0 24px !important;
  box-shadow: 0 8px 22px rgba(17,17,17,.05) !important;
}

.qg-recruit-auto-text h2 {
  color: #111 !important;
  border-left: 6px solid #C8161D !important;
  padding-left: 14px !important;
  margin: 0 0 12px !important;
  font-weight: 900 !important;
}

.qg-recruit-auto-text p {
  color: #333 !important;
  margin: 0 !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}


/* ==================================================
   QuickGear v3.1 Legacy Recruit Fix
   既存求人の黒背景×黒文字崩れを修正
================================================== */

/* 求人一覧・求人詳細の濃色タイトル枠 */
.recruit_table_title,
.qg-recruit-archive-card .recruit_table_title,
.qg-recruit-single-main .recruit_table_title,
.qg-taxonomy-main .recruit_table_title,
.qg-recruit-archive-main .recruit_table_title,
.recruit_table_wrap .recruit_table_title {
  background: linear-gradient(135deg, #121723 0%, #1a2335 55%, #233251 100%) !important;
  background-color: #121723 !important;
  color: #fff !important;
}

/* タイトル枠内の文字・リンクを白固定 */
.recruit_table_title *,
.recruit_table_title h1,
.recruit_table_title h2,
.recruit_table_title h3,
.recruit_table_title p,
.recruit_table_title span,
.recruit_table_title a,
.qg-recruit-archive-card .recruit_table_title *,
.qg-recruit-single-main .recruit_table_title *,
.qg-taxonomy-main .recruit_table_title *,
.qg-recruit-archive-main .recruit_table_title * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.22) !important;
}

/* 元テーマのbefore背景や見出し色が黒指定で残る場合の対策 */
.recruit_table_title .key_color1,
.recruit_table_title .key_color2,
.recruit_table_title .key_color3,
.recruit_table_title .key_color4,
.recruit_table_title .key_color5,
.recruit_table_title [class*="key_color"] {
  color: #fff !important;
}

/* タイトルに付く装飾線・疑似要素が邪魔な場合は赤アクセントだけ残す */
.recruit_table_title h1::before,
.recruit_table_title h2::before,
.recruit_table_title h3::before,
.recruit_table_title h1::after,
.recruit_table_title h2::after,
.recruit_table_title h3::after {
  background: #C8161D !important;
  border-color: #C8161D !important;
}

/* ページタイトルヒーローも念のため白固定 */
.qg-subpage-hero__text *,
.page_title_wrap.qg-subpage-hero .page_title_text *,
.qg-recruit-single-hero *,
.qg-custom-template-hero * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ただし本文カード内まで白にならないように戻す */
.qg-recruit-single-card,
.qg-recruit-single-card *,
.qg-recruit-archive-card table,
.qg-recruit-archive-card table *,
.qg-taxonomy-main table,
.qg-taxonomy-main table * {
  text-shadow: none !important;
}

.qg-recruit-single-card td,
.qg-recruit-single-card th,
.qg-recruit-archive-card td,
.qg-recruit-archive-card th,
.qg-taxonomy-main td,
.qg-taxonomy-main th {
  color: #1F1F1F !important;
}

.qg-recruit-single-card th,
.qg-recruit-archive-card th,
.qg-taxonomy-main th {
  color: #111111 !important;
}

/* 求人自動文章ブロックは旧求人でも自然に表示 */
.qg-recruit-auto-text {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  padding: 24px !important;
  margin: 0 0 24px !important;
  box-shadow: 0 8px 22px rgba(17,17,17,.05) !important;
}

.qg-recruit-auto-text h2 {
  color: #111 !important;
  border-left: 6px solid #C8161D !important;
  padding-left: 14px !important;
  margin: 0 0 12px !important;
  font-weight: 900 !important;
}

.qg-recruit-auto-text p {
  color: #333 !important;
  margin: 0 !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}


/* ==================================================
   QuickGear v3.3 Recruit Title/Button Fix
   旧求人タイトル可読性 / 応募ボタン崩れ修正
================================================== */

/* 求人詳細・求人一覧の濃色タイトル枠を広めに補足 */
.single-recruit .recruit_table_title,
.single-recruit .recruit_table_title *,
.single-recruit .recruit_table_title h1,
.single-recruit .recruit_table_title h2,
.single-recruit .recruit_table_title a,
.single-recruit .recruit_table_title span,
.post-type-archive-recruit .recruit_table_title,
.post-type-archive-recruit .recruit_table_title *,
.tax-recruit-category .recruit_table_title,
.tax-recruit-category .recruit_table_title *,
.qg-recruit-single-main .recruit_table_title,
.qg-recruit-single-main .recruit_table_title *,
.qg-recruit-archive-main .recruit_table_title,
.qg-recruit-archive-main .recruit_table_title *,
.qg-taxonomy-main .recruit_table_title,
.qg-taxonomy-main .recruit_table_title * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* スクショの黒い角丸タイトル枠。class違いでも拾う */
.single-recruit main > h1,
.single-recruit main > h2,
.single-recruit .recruit_container > h1,
.single-recruit .recruit_container > h2,
.single-recruit .wrap_l > h1,
.single-recruit .wrap_l > h2,
.single-recruit .recruit_title,
.single-recruit .recruit_title *,
.single-recruit .single_title,
.single-recruit .single_title *,
.single-recruit .page_title,
.single-recruit .page_title *,
.single-recruit [class*="recruit"][class*="title"],
.single-recruit [class*="recruit"][class*="title"] *,
.single-recruit [class*="title_wrap"] h1,
.single-recruit [class*="title_wrap"] h2 {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.24) !important;
}

/* もしタイトル枠自体が黒背景なら文字だけ白にする */
.single-recruit .recruit_table_title,
.single-recruit .recruit_title,
.single-recruit .single_title,
.single-recruit .page_title {
  background: linear-gradient(135deg,#121723 0%,#1a2335 55%,#233251 100%) !important;
  background-color: #121723 !important;
}

/* 元テーマのkey_colorが黒文字を戻すのを防ぐ */
.single-recruit .recruit_table_title [class*="key_color"],
.single-recruit .recruit_title [class*="key_color"],
.single-recruit .single_title [class*="key_color"],
.tax-recruit-category .recruit_table_title [class*="key_color"],
.post-type-archive-recruit .recruit_table_title [class*="key_color"] {
  color: #fff !important;
}

/* ただし募集要項テーブル内は通常文字色 */
.single-recruit .recruit_table,
.single-recruit .recruit_table *,
.qg-recruit-single-card,
.qg-recruit-single-card * {
  text-shadow: none !important;
}

.single-recruit .recruit_table td,
.single-recruit .recruit_table th,
.qg-recruit-single-card td,
.qg-recruit-single-card th {
  color: #1F1F1F !important;
}

.single-recruit .recruit_table th,
.qg-recruit-single-card th {
  color: #111111 !important;
}

/* 応募ボタン周り：元テーマのspan依存をやめて安定表示 */
.form_detail_btn.qg-recruit-detail-actions,
.qg-recruit-detail-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 34px auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.qg-recruit-detail-actions::before,
.qg-recruit-detail-actions::after,
.form_detail_btn.qg-recruit-detail-actions::before,
.form_detail_btn.qg-recruit-detail-actions::after {
  content: none !important;
  display: none !important;
}

.qg-recruit-detail-actions a,
.qg-detail-apply-btn,
.qg-detail-line-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(460px, 100%) !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(200,22,29,.20) !important;
}

.qg-recruit-detail-actions a::after,
.qg-detail-apply-btn::after,
.qg-detail-line-btn::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 18px !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

.qg-recruit-detail-actions a:hover,
.qg-detail-apply-btn:hover,
.qg-detail-line-btn:hover {
  background: #E02A2F !important;
  color: #fff !important;
}

@media (max-width: 720px) {
  .qg-recruit-detail-actions {
    gap: 10px !important;
    margin: 26px auto !important;
  }

  .qg-recruit-detail-actions a,
  .qg-detail-apply-btn,
  .qg-detail-line-btn {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 16px !important;
    padding: 0 20px !important;
  }
}


/* ==================================================
   QuickGear v3.4 Recruit Cleanup
   求人詳細の重複タイトル削除 / ボタン矢印二重修正
================================================== */

/* 上部ヒーロータイトルは白で固定 */
.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box h1,
.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box span,
.single-recruit .qg-recruit-single-hero .page_title_text_box h1,
.single-recruit .qg-recruit-single-hero .page_title_text_box span,
.single-recruit .qg-subpage-hero__text h1,
.single-recruit .qg-subpage-hero__text span {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

/* 上に同じタイトルが出ているため、求人詳細内の重複タイトル枠は非表示 */
.single-recruit .qg-recruit-single-main .recruit_table_title,
.single-recruit main.qg-recruit-single-main .recruit_table_title,
.single-recruit .recruit_container.qg-recruit-single-main .recruit_table_title {
  display: none !important;
}

/* ただし求人一覧・カテゴリ一覧ではタイトル枠を表示したまま白文字にする */
.post-type-archive-recruit .recruit_table_title,
.tax-recruit-category .recruit_table_title,
.qg-recruit-archive-main .recruit_table_title,
.qg-taxonomy-main .recruit_table_title {
  display: block !important;
  background: linear-gradient(135deg,#121723 0%,#1a2335 55%,#233251 100%) !important;
  color: #fff !important;
}

.post-type-archive-recruit .recruit_table_title *,
.tax-recruit-category .recruit_table_title *,
.qg-recruit-archive-main .recruit_table_title *,
.qg-taxonomy-main .recruit_table_title * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ボタン矢印二重対策：既存疑似要素を全部消す */
.qg-recruit-detail-actions a::before,
.qg-recruit-detail-actions a::after,
.qg-detail-apply-btn::before,
.qg-detail-apply-btn::after,
.qg-detail-line-btn::before,
.qg-detail-line-btn::after,
.form_detail_btn.qg-recruit-detail-actions a::before,
.form_detail_btn.qg-recruit-detail-actions a::after {
  content: none !important;
  display: none !important;
}

/* ボタン本体 */
.form_detail_btn.qg-recruit-detail-actions,
.qg-recruit-detail-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 34px auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.qg-recruit-detail-actions a,
.qg-detail-apply-btn,
.qg-detail-line-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  width: min(460px, 100%) !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(200,22,29,.20) !important;
}

.qg-recruit-detail-actions a span,
.qg-detail-apply-btn span,
.qg-detail-line-btn span {
  color: #fff !important;
}

.qg-recruit-detail-actions .qg-btn-arrow {
  display: inline-block !important;
  font-size: 28px !important;
  line-height: 1 !important;
  margin-left: 4px !important;
}

.qg-recruit-detail-actions a:hover,
.qg-detail-apply-btn:hover,
.qg-detail-line-btn:hover {
  background: #E02A2F !important;
  color: #fff !important;
}

@media (max-width: 720px) {
  .qg-recruit-detail-actions {
    gap: 10px !important;
    margin: 26px auto !important;
  }
  .qg-recruit-detail-actions a,
  .qg-detail-apply-btn,
  .qg-detail-line-btn {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 16px !important;
    padding: 0 20px !important;
  }
  .qg-recruit-detail-actions .qg-btn-arrow {
    font-size: 22px !important;
  }
}


/* ==================================================
   QuickGear v3.5 Recruit UI Fix
   求人詳細の重複タイトル枠を非表示 / 応募ボタンを統一
================================================== */

/* 求人詳細では、上部ヒーローにタイトルがあるので本文側の黒い重複タイトル枠を非表示 */
body.single-recruit .recruit_table_title,
body.single-recruit .recruit_table_wrap > .recruit_table_title,
body.single-recruit .qg-recruit-single-main .recruit_table_title,
body.single-recruit .qg-recruit-single-card .recruit_table_title,
body.single-recruit .recruit_container .recruit_table_title,
body.single-recruit main .recruit_table_title,
body.single-recruit article .recruit_table_title,
body.single-recruit section .recruit_table_title {
  display: none !important;
}

/* 旧テーマ側で別classの黒い重複見出しが出る場合も非表示。
   ただし上部ヒーローのタイトルとパンくずは除外 */
body.single-recruit main > .key_color1_background:not(.page_title_text),
body.single-recruit main > .key_color2_background:not(.page_title_text),
body.single-recruit main > .key_color3_background:not(.page_title_text),
body.single-recruit .recruit_container > .key_color1_background,
body.single-recruit .recruit_container > .key_color2_background,
body.single-recruit .recruit_container > .key_color3_background,
body.single-recruit .wrap_l > .key_color1_background,
body.single-recruit .wrap_l > .key_color2_background,
body.single-recruit .wrap_l > .key_color3_background {
  display: none !important;
}

/* 上部ヒーロータイトルは白で維持 */
body.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box h1,
body.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box span,
body.single-recruit .qg-recruit-single-hero .page_title_text_box h1,
body.single-recruit .qg-recruit-single-hero .page_title_text_box span,
body.single-recruit .qg-subpage-hero__text h1,
body.single-recruit .qg-subpage-hero__text span {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

/* 求人詳細下部ボタン：2つを同じ高さ・同じ幅・同じ太さに統一 */
body.single-recruit .form_detail_btn.qg-recruit-detail-actions,
body.single-recruit .qg-recruit-detail-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 460px)) !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 24px !important;
  max-width: 980px !important;
  margin: 42px auto !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-recruit .qg-recruit-detail-actions::before,
body.single-recruit .qg-recruit-detail-actions::after,
body.single-recruit .form_detail_btn.qg-recruit-detail-actions::before,
body.single-recruit .form_detail_btn.qg-recruit-detail-actions::after {
  content: none !important;
  display: none !important;
}

body.single-recruit .qg-recruit-detail-actions a,
body.single-recruit .qg-detail-apply-btn,
body.single-recruit .qg-detail-line-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  background-color: #C8161D !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(200,22,29,.20) !important;
  white-space: nowrap !important;
}

body.single-recruit .qg-recruit-detail-actions a::before,
body.single-recruit .qg-recruit-detail-actions a::after,
body.single-recruit .qg-detail-apply-btn::before,
body.single-recruit .qg-detail-apply-btn::after,
body.single-recruit .qg-detail-line-btn::before,
body.single-recruit .qg-detail-line-btn::after {
  content: none !important;
  display: none !important;
}

body.single-recruit .qg-recruit-detail-actions a span,
body.single-recruit .qg-detail-apply-btn span,
body.single-recruit .qg-detail-line-btn span {
  color: #fff !important;
}

body.single-recruit .qg-recruit-detail-actions .qg-btn-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 26px !important;
  line-height: 1 !important;
  margin-left: 6px !important;
  color: #fff !important;
}

body.single-recruit .qg-recruit-detail-actions a:hover,
body.single-recruit .qg-detail-apply-btn:hover,
body.single-recruit .qg-detail-line-btn:hover {
  background: #E02A2F !important;
  color: #fff !important;
}

@media (max-width: 840px) {
  body.single-recruit .form_detail_btn.qg-recruit-detail-actions,
  body.single-recruit .qg-recruit-detail-actions {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-width: 560px !important;
    margin: 32px auto !important;
  }

  body.single-recruit .qg-recruit-detail-actions a,
  body.single-recruit .qg-detail-apply-btn,
  body.single-recruit .qg-detail-line-btn {
    min-height: 60px !important;
    height: auto !important;
    font-size: 16px !important;
    padding: 0 20px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.single-recruit .qg-recruit-detail-actions .qg-btn-arrow {
    font-size: 22px !important;
  }
}


/* ==================================================
   QuickGear v3.6 Hide Second Recruit Title
   求人詳細の本文側に残る2つ目タイトル枠を非表示
================================================== */

/* 上部ヒーローにタイトルがあるため、求人詳細本文側のタイトル枠は非表示 */
body.single-recruit .recruit_table_wrap > .recruit_table_title,
body.single-recruit .recruit_table_wrap > div.recruit_table_title,
body.single-recruit .recruit_table_wrap > .key_color1_background,
body.single-recruit .recruit_table_wrap > .key_color2_background,
body.single-recruit .recruit_table_wrap > .key_color3_background,
body.single-recruit .recruit_table_wrap > .key_color5_background,
body.single-recruit .qg-recruit-single-card > .recruit_table_title,
body.single-recruit .qg-recruit-single-main .recruit_table_wrap > .recruit_table_title,
body.single-recruit .qg-recruit-single-main .recruit_table_wrap > [class*="key_color"] {
  display: none !important;
}

/* table直前の黒い重複見出し対策 */
body.single-recruit .recruit_table_wrap > h1:first-child,
body.single-recruit .recruit_table_wrap > h2:first-child,
body.single-recruit .qg-recruit-single-card > h1:first-child,
body.single-recruit .qg-recruit-single-card > h2:first-child {
  display: none !important;
}

/* 応募ボタンは同じ太さ・同じ高さを維持 */
body.single-recruit .qg-recruit-detail-actions {
  align-items: stretch !important;
}

body.single-recruit .qg-recruit-detail-actions a {
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
}

/* 旧テーマがボタンに疑似矢印を足すのを完全停止 */
body.single-recruit .qg-recruit-detail-actions a::before,
body.single-recruit .qg-recruit-detail-actions a::after,
body.single-recruit .form_detail_btn a::before,
body.single-recruit .form_detail_btn a::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 840px) {
  body.single-recruit .qg-recruit-detail-actions a {
    height: auto !important;
    max-height: none !important;
    min-height: 60px !important;
  }
}


/* ==================================================
   QuickGear v3.7 Direct Title Fix
   single-recruit.php内の本文側重複タイトルを直接削除済み。
   再発防止の最小CSS。
================================================== */

/* 上部ヒーロータイトルは白文字で維持 */
body.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box h1,
body.single-recruit .page_title_wrap.qg-subpage-hero .page_title_text_box span,
body.single-recruit .qg-recruit-single-hero .page_title_text_box h1,
body.single-recruit .qg-recruit-single-hero .page_title_text_box span {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

/* 万一、本文側に同じh2が再生成された場合のみ非表示 */
body.single-recruit main.qg-recruit-single-main > h2.key_color3_before_background:first-child,
body.single-recruit main.recruit_single_container > h2.key_color3_before_background:first-child {
  display: none !important;
}

/* ボタンは同じ高さ・同じ太さで維持 */
body.single-recruit .qg-recruit-detail-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 460px)) !important;
  justify-content: center !important;
  gap: 24px !important;
  max-width: 980px !important;
  margin: 42px auto !important;
  padding: 0 16px !important;
}

body.single-recruit .qg-recruit-detail-actions a {
  height: 72px !important;
  min-height: 72px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

body.single-recruit .qg-recruit-detail-actions a::before,
body.single-recruit .qg-recruit-detail-actions a::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 840px) {
  body.single-recruit .qg-recruit-detail-actions {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.single-recruit .qg-recruit-detail-actions a {
    height: auto !important;
    min-height: 60px !important;
  }
}


/* ==================================================
   QuickGear v3.8 Hide Duplicate Image
   求人詳細の本文側アイキャッチ画像を非表示
================================================== */

/* 上部ヒーローに同じ画像があるため、本文側のrecruit_top_imageは非表示 */
body.single-recruit .recruit_top_image,
body.single-recruit figure.recruit_top_image {
  display: none !important;
}

/* 画像を消した分、募集要項カードの上余白を少し自然に */
body.single-recruit .qg-recruit-single-card {
  padding-top: 0 !important;
}


/* ==================================================
   QuickGear v3.9 Archive Category Fix
   求人一覧の空白説明枠 / カテゴリフィルター二重枠を修正
================================================== */

/* recruitTextが空ならPHPで出さない。出る場合も余白を自然に */
.qg-recruit-archive-main .recruit_text:empty,
.qg-recruit-archive-main .recruit_text p:empty {
  display: none !important;
}

.qg-recruit-archive-main .recruit_text {
  margin: 0 auto 28px !important;
  padding: 22px 26px !important;
  border-radius: 22px !important;
}

/* 求人カテゴリフィルター：liには枠を付けず、aだけボタン化 */
.qg-recruit-archive-main .recruit_category_list,
.qg-taxonomy-main .recruit_category_list,
.recruit_container .recruit_category_list.qg-recruit-filter-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 28px auto 34px !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.qg-recruit-archive-main .recruit_category_list li,
.qg-taxonomy-main .recruit_category_list li,
.recruit_container .recruit_category_list.qg-recruit-filter-list li {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.qg-recruit-archive-main .recruit_category_list li::before,
.qg-recruit-archive-main .recruit_category_list li::after,
.qg-taxonomy-main .recruit_category_list li::before,
.qg-taxonomy-main .recruit_category_list li::after,
.recruit_container .recruit_category_list.qg-recruit-filter-list li::before,
.recruit_container .recruit_category_list.qg-recruit-filter-list li::after {
  content: none !important;
  display: none !important;
}

/* aだけをタグ風ボタンにする */
.qg-recruit-archive-main .recruit_category_list a,
.qg-taxonomy-main .recruit_category_list a,
.recruit_container .recruit_category_list.qg-recruit-filter-list a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  background: #FFF1F2 !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 999px !important;
  color: #A90F15 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.qg-recruit-archive-main .recruit_category_list a::before,
.qg-recruit-archive-main .recruit_category_list a::after,
.qg-taxonomy-main .recruit_category_list a::before,
.qg-taxonomy-main .recruit_category_list a::after,
.recruit_container .recruit_category_list.qg-recruit-filter-list a::before,
.recruit_container .recruit_category_list.qg-recruit-filter-list a::after {
  content: none !important;
  display: none !important;
}

/* 現在選択中 */
.qg-recruit-archive-main .recruit_category_list .is-current a,
.qg-taxonomy-main .recruit_category_list .is-current a,
.recruit_container .recruit_category_list.qg-recruit-filter-list .is-current a,
.qg-recruit-archive-main .recruit_category_list .recruit_all.is-current a {
  background: #C8161D !important;
  border-color: #C8161D !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(200,22,29,.18) !important;
}

.qg-recruit-archive-main .recruit_category_list a:hover,
.qg-taxonomy-main .recruit_category_list a:hover,
.recruit_container .recruit_category_list.qg-recruit-filter-list a:hover {
  border-color: #C8161D !important;
  color: #C8161D !important;
  background: #fff !important;
}

/* 全てボタンだけ少し目立たせる */
.qg-recruit-archive-main .recruit_category_list .recruit_all a,
.qg-taxonomy-main .recruit_category_list .recruit_all a {
  padding-inline: 26px !important;
}

@media (max-width: 560px) {
  .qg-recruit-archive-main .recruit_category_list,
  .qg-taxonomy-main .recruit_category_list,
  .recruit_container .recruit_category_list.qg-recruit-filter-list {
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 22px auto 28px !important;
  }

  .qg-recruit-archive-main .recruit_category_list a,
  .qg-taxonomy-main .recruit_category_list a,
  .recruit_container .recruit_category_list.qg-recruit-filter-list a {
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }
}


/* ==================================================
   QuickGear v4.0 Table Dot Fix
   求人一覧の募集要項テーブルに出るオレンジ丸装飾を削除
================================================== */

/* 元テーマの key_color3_before_background がthに付くと、文字に丸が被るため削除 */
.qg-recruit-archive-main .recruit_table th::before,
.qg-recruit-archive-main .recruit_table th::after,
.qg-taxonomy-main .recruit_table th::before,
.qg-taxonomy-main .recruit_table th::after,
.qg-recruit-archive-card .recruit_table th::before,
.qg-recruit-archive-card .recruit_table th::after,
.recruit_table_wrap.qg-recruit-archive-card .recruit_table th::before,
.recruit_table_wrap.qg-recruit-archive-card .recruit_table th::after,
body.single-recruit .recruit_table th::before,
body.single-recruit .recruit_table th::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* th自体の余白も通常テーブル用に整える */
.qg-recruit-archive-main .recruit_table th,
.qg-taxonomy-main .recruit_table th,
.qg-recruit-archive-card .recruit_table th,
.recruit_table_wrap.qg-recruit-archive-card .recruit_table th,
body.single-recruit .recruit_table th {
  position: static !important;
  padding-left: 22px !important;
  color: #111 !important;
  background: #F7F7F7 !important;
  font-weight: 900 !important;
}

/* 万一th内の見出しclassに疑似要素が付いた場合も停止 */
.qg-recruit-archive-main .recruit_table th [class*="key_color"]::before,
.qg-recruit-archive-main .recruit_table th [class*="key_color"]::after,
.qg-taxonomy-main .recruit_table th [class*="key_color"]::before,
.qg-taxonomy-main .recruit_table th [class*="key_color"]::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   QuickGear v4.9 Single Recruit Hero Only
   求人詳細ページだけ、タイトルを左の黒背景内に収める
   TOP・固定ページ・お知らせ・求人一覧には影響させない
================================================== */

/* 対象を求人詳細の専用classに限定 */
body.single-recruit .qg-single-recruit-hero-only {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* 左：黒背景＋文字 */
body.single-recruit .qg-single-recruit-hero-only .page_title_text,
body.single-recruit .qg-single-recruit-hero-only .qg-subpage-hero__text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1a2335 100%) !important;
  color: #fff !important;
  position: relative !important;
  z-index: 2 !important;
  transform: none !important;
  inset: auto !important;
}

/* 右：画像だけ。文字は乗せない */
body.single-recruit .qg-single-recruit-hero-only .page_title_image,
body.single-recruit .qg-single-recruit-hero-only .qg-subpage-hero__image {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.single-recruit .qg-single-recruit-hero-only .page_title_image img,
body.single-recruit .qg-single-recruit-hero-only .qg-subpage-hero__image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
}

/* タイトルボックス */
body.single-recruit .qg-single-recruit-hero-only .page_title_text_box {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  text-align: left !important;
  overflow: visible !important;
}

/* 表示用タイトル */
body.single-recruit .qg-single-hero-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  line-height: 1.18 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.single-recruit .qg-single-hero-area {
  display: block !important;
  color: rgba(255,255,255,.86) !important;
  font-size: clamp(18px, 1.8vw, 28px) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

body.single-recruit .qg-single-hero-main {
  display: block !important;
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 56px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
}

/* サブタイトル */
body.single-recruit .qg-single-recruit-hero-only .page_title_text_box > span:not(.qg-single-hero-area):not(.qg-single-hero-main) {
  display: block !important;
  margin-top: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* スマホでは画像を背景扱いにして可読性優先 */
@media (max-width: 900px) {
  body.single-recruit .qg-single-recruit-hero-only {
    grid-template-columns: 1fr !important;
  }

  body.single-recruit .qg-single-recruit-hero-only .page_title_text,
  body.single-recruit .qg-single-recruit-hero-only .qg-subpage-hero__text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    padding: 34px 24px !important;
    background: rgba(18,23,35,.92) !important;
  }

  body.single-recruit .qg-single-recruit-hero-only .page_title_image,
  body.single-recruit .qg-single-recruit-hero-only .qg-subpage-hero__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    opacity: .26 !important;
  }

  body.single-recruit .qg-single-hero-main {
    font-size: clamp(30px, 8vw, 44px) !important;
  }
}


/* ==================================================
   QuickGear v5.0 Archive Tax Hero Only
   求人一覧・地域ページだけ、タイトルを左の黒背景内に収める
   TOP・固定ページ・お知らせ・求人詳細には影響させない
================================================== */

/* 求人一覧・地域ページ専用 */
body.post-type-archive-recruit .qg-recruit-archive-hero-only,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* 左：黒背景＋文字 */
body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_text,
body.post-type-archive-recruit .qg-recruit-archive-hero-only .qg-subpage-hero__text,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_text,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .qg-subpage-hero__text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1a2335 100%) !important;
  color: #fff !important;
  position: relative !important;
  z-index: 2 !important;
  transform: none !important;
  inset: auto !important;
}

/* 右：画像だけ。文字は乗せない */
body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_image,
body.post-type-archive-recruit .qg-recruit-archive-hero-only .qg-subpage-hero__image,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_image,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .qg-subpage-hero__image {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_image img,
body.post-type-archive-recruit .qg-recruit-archive-hero-only .qg-subpage-hero__image img,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_image img,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .qg-subpage-hero__image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
}

/* タイトルボックス */
body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_text_box,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_text_box {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  text-align: left !important;
  overflow: visible !important;
}

body.post-type-archive-recruit .qg-recruit-archive-hero-only h1,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only h1 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 3.8vw, 56px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_text_box > span,
body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_text_box > span {
  display: block !important;
  position: static !important;
  margin-top: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* スマホでは画像を背景扱いにして可読性優先 */
@media (max-width: 900px) {
  body.post-type-archive-recruit .qg-recruit-archive-hero-only,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only {
    grid-template-columns: 1fr !important;
  }

  body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_text,
  body.post-type-archive-recruit .qg-recruit-archive-hero-only .qg-subpage-hero__text,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_text,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only .qg-subpage-hero__text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    padding: 34px 24px !important;
    background: rgba(18,23,35,.92) !important;
  }

  body.post-type-archive-recruit .qg-recruit-archive-hero-only .page_title_image,
  body.post-type-archive-recruit .qg-recruit-archive-hero-only .qg-subpage-hero__image,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only .page_title_image,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only .qg-subpage-hero__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    opacity: .26 !important;
  }

  body.post-type-archive-recruit .qg-recruit-archive-hero-only h1,
  body.tax-recruit-category .qg-recruit-taxonomy-hero-only h1 {
    font-size: clamp(30px, 8vw, 44px) !important;
  }
}


/* ==================================================
   QuickGear v5.1 Fixed Page Hero Only
   固定ページだけ、タイトルを左の黒背景内に収める
   TOP・求人・お知らせ・インタビューには影響させない
================================================== */

/* 固定ページ系テンプレート専用 */
body.page .qg-fixed-page-hero-only {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* 左：黒背景＋文字 */
body.page .qg-fixed-page-hero-only .page_title_text,
body.page .qg-fixed-page-hero-only .qg-subpage-hero__text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1a2335 100%) !important;
  color: #fff !important;
  position: relative !important;
  z-index: 2 !important;
  transform: none !important;
  inset: auto !important;
}

/* 右：画像だけ。文字は乗せない */
body.page .qg-fixed-page-hero-only .page_title_image,
body.page .qg-fixed-page-hero-only .qg-subpage-hero__image {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.page .qg-fixed-page-hero-only .page_title_image img,
body.page .qg-fixed-page-hero-only .qg-subpage-hero__image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
}

/* タイトルボックス */
body.page .qg-fixed-page-hero-only .page_title_text_box {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  text-align: left !important;
  overflow: visible !important;
}

body.page .qg-fixed-page-hero-only h1 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 3.8vw, 56px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.page .qg-fixed-page-hero-only .page_title_text_box > span {
  display: block !important;
  position: static !important;
  margin-top: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* スマホでは画像を背景扱いにして可読性優先 */
@media (max-width: 900px) {
  body.page .qg-fixed-page-hero-only {
    grid-template-columns: 1fr !important;
  }

  body.page .qg-fixed-page-hero-only .page_title_text,
  body.page .qg-fixed-page-hero-only .qg-subpage-hero__text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    padding: 34px 24px !important;
    background: rgba(18,23,35,.92) !important;
  }

  body.page .qg-fixed-page-hero-only .page_title_image,
  body.page .qg-fixed-page-hero-only .qg-subpage-hero__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    opacity: .26 !important;
  }

  body.page .qg-fixed-page-hero-only h1 {
    font-size: clamp(30px, 8vw, 44px) !important;
  }
}


/* ==================================================
   QuickGear v5.2 Fixed Page Actual Template
   実際に通常固定ページが参照する page.php のヒーローにも対応
================================================== */

/* page.php は page_title_wrap ではなく qg-subpage-hero 直下構造 */
body.page .qg-subpage-hero.qg-fixed-page-hero-only {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* 左：黒背景＋文字 */
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .page_title_text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1a2335 100%) !important;
  color: #fff !important;
  position: relative !important;
  z-index: 2 !important;
  transform: none !important;
  inset: auto !important;
}

/* 右：画像だけ */
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image,
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .page_title_image {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 320px !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image img,
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .page_title_image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
}

body.page .qg-subpage-hero.qg-fixed-page-hero-only h1 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 3.8vw, 56px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.32) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.page .qg-subpage-hero.qg-fixed-page-hero-only p,
body.page .qg-subpage-hero.qg-fixed-page-hero-only .page_title_text_box > span {
  display: block !important;
  position: static !important;
  margin-top: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* page_title_wrap型の固定ページテンプレートも維持 */
body.page .page_title_wrap.qg-fixed-page-hero-only {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

/* スマホ */
@media (max-width: 900px) {
  body.page .qg-subpage-hero.qg-fixed-page-hero-only,
  body.page .page_title_wrap.qg-fixed-page-hero-only {
    grid-template-columns: 1fr !important;
  }

  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .page_title_text,
  body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    padding: 34px 24px !important;
    background: rgba(18,23,35,.92) !important;
  }

  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image,
  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .page_title_image,
  body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    opacity: .26 !important;
  }

  body.page .qg-subpage-hero.qg-fixed-page-hero-only h1,
  body.page .page_title_wrap.qg-fixed-page-hero-only h1 {
    font-size: clamp(30px, 8vw, 44px) !important;
  }
}






/* ==================================================
   QuickGear v5.5 Fixed Page Height Balance
   固定ページヒーローの縦幅を抑えつつ、ヘッダー被りを回避
================================================== */

/* 外側位置は動かさない */
body.page .qg-fixed-page-hero-only,
body.page .page_title_wrap.qg-fixed-page-hero-only {
  margin-top: 0 !important;
}

/* page.php型：v5.4より縦幅を抑える */
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text {
  padding-top: 72px !important;
  padding-bottom: 42px !important;
  min-height: 340px !important;
}

/* page_title_wrap型テンプレート */
body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
  padding-top: 72px !important;
  padding-bottom: 42px !important;
  min-height: 340px !important;
}

/* 画像側も高さを合わせる */
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image,
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image img,
body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_image,
body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_image img {
  min-height: 340px !important;
}

/* 管理バー表示時も同じ高さで、少しだけ上余白を詰める */
body.admin-bar.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
body.admin-bar.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
  padding-top: 58px !important;
}

/* タイトルが大きすぎてヒーローを押し広げないよう調整 */
body.page .qg-subpage-hero.qg-fixed-page-hero-only h1,
body.page .page_title_wrap.qg-fixed-page-hero-only h1 {
  font-size: clamp(32px, 3.4vw, 50px) !important;
  line-height: 1.16 !important;
}

/* 長いタイトルの場合だけ自然に折り返す */
body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
  justify-content: center !important;
}

/* スマホ */
@media (max-width: 900px) {
  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
  body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
    padding-top: 54px !important;
    padding-bottom: 32px !important;
    min-height: 280px !important;
  }

  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image,
  body.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__image img,
  body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_image,
  body.page .page_title_wrap.qg-fixed-page-hero-only .page_title_image img {
    min-height: 280px !important;
  }

  body.admin-bar.page .qg-subpage-hero.qg-fixed-page-hero-only > .qg-subpage-hero__text,
  body.admin-bar.page .page_title_wrap.qg-fixed-page-hero-only .page_title_text {
    padding-top: 44px !important;
  }

  body.page .qg-subpage-hero.qg-fixed-page-hero-only h1,
  body.page .page_title_wrap.qg-fixed-page-hero-only h1 {
    font-size: clamp(28px, 7.4vw, 40px) !important;
  }
}


/* ==================================================
   QuickGear v5.6 Recruit Auto Detail Block
   新しいqg_*入力欄がある求人だけ、自動生成の詳細ブロックを表示
================================================== */

body.single-recruit .qg-recruit-auto-detail {
  margin: 0 0 34px !important;
}

body.single-recruit .qg-recruit-auto-detail section {
  box-sizing: border-box !important;
}

body.single-recruit .qg-recruit-auto-text,
body.single-recruit .qg-recruit-auto-section {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 34px rgba(17, 24, 39, .06) !important;
  padding: 30px 34px !important;
  margin: 0 0 24px !important;
}

body.single-recruit .qg-recruit-auto-text h2,
body.single-recruit .qg-recruit-auto-section h2 {
  position: relative !important;
  margin: 0 0 18px !important;
  padding-left: 18px !important;
  color: #111 !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.3 !important;
  font-weight: 950 !important;
}

body.single-recruit .qg-recruit-auto-text h2::before,
body.single-recruit .qg-recruit-auto-section h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .18em !important;
  width: 5px !important;
  height: 1.1em !important;
  background: #C8161D !important;
  border-radius: 999px !important;
}

body.single-recruit .qg-recruit-auto-text p,
body.single-recruit .qg-recruit-auto-section p {
  margin: 0 !important;
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  font-weight: 700 !important;
}

body.single-recruit .qg-recruit-auto-table {
  width: 100% !important;
  border-collapse: collapse !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}

body.single-recruit .qg-recruit-auto-table th,
body.single-recruit .qg-recruit-auto-table td {
  border-bottom: 1px solid #E5E7EB !important;
  padding: 18px 20px !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.single-recruit .qg-recruit-auto-table tr:last-child th,
body.single-recruit .qg-recruit-auto-table tr:last-child td {
  border-bottom: 0 !important;
}

body.single-recruit .qg-recruit-auto-table th {
  width: 220px !important;
  background: #F7F7F7 !important;
  color: #111 !important;
  font-weight: 950 !important;
}

body.single-recruit .qg-recruit-auto-table th::before,
body.single-recruit .qg-recruit-auto-table th::after {
  content: none !important;
  display: none !important;
}

body.single-recruit .qg-recruit-auto-table td {
  color: #333 !important;
  font-weight: 700 !important;
}

body.single-recruit .qg-recruit-auto-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-recruit .qg-recruit-auto-list li {
  background: #FFF1F2 !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 14px !important;
  color: #A90F15 !important;
  padding: 13px 16px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
}

body.single-recruit .qg-recruit-auto-flow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: qg-flow !important;
}

body.single-recruit .qg-recruit-auto-flow li {
  position: relative !important;
  background: #F7F7F7 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  padding: 18px 16px !important;
}

body.single-recruit .qg-recruit-auto-flow li::before {
  counter-increment: qg-flow !important;
  content: counter(qg-flow) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-weight: 950 !important;
  margin-bottom: 10px !important;
}

body.single-recruit .qg-recruit-auto-flow strong {
  display: block !important;
  color: #111 !important;
  font-size: 16px !important;
  margin-bottom: 8px !important;
}

body.single-recruit .qg-recruit-auto-flow span {
  display: block !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}

body.single-recruit .qg-recruit-auto-faq {
  display: grid !important;
  gap: 14px !important;
}

body.single-recruit .qg-recruit-auto-faq > div {
  background: #F7F7F7 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
}

body.single-recruit .qg-recruit-auto-faq h3 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

body.single-recruit .qg-recruit-auto-faq p {
  font-size: 14px !important;
  color: #555 !important;
}

@media (max-width: 900px) {
  body.single-recruit .qg-recruit-auto-text,
  body.single-recruit .qg-recruit-auto-section {
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  body.single-recruit .qg-recruit-auto-table th,
  body.single-recruit .qg-recruit-auto-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.single-recruit .qg-recruit-auto-table th {
    padding-bottom: 8px !important;
  }

  body.single-recruit .qg-recruit-auto-table td {
    padding-top: 8px !important;
  }

  body.single-recruit .qg-recruit-auto-list,
  body.single-recruit .qg-recruit-auto-flow {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   QuickGear v5.7 Recruit Auto Heading Fix
   自動生成ブロック見出しの赤い縦線が文字に被る問題を修正
================================================== */

/* v5.6で追加した見出しbefore装飾を、自動生成ブロック内だけ無効化 */
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-text h2::before,
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-section h2::before,
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-text h2::after,
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-section h2::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* 見出しは赤線なしで自然に表示 */
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-text h2,
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-section h2 {
  position: static !important;
  padding-left: 0 !important;
  margin: 0 0 18px !important;
  text-align: center !important;
}

/* 募集要項などテーブル内thにも念のため擬似要素を出さない */
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-table th::before,
body.single-recruit .qg-recruit-auto-detail .qg-recruit-auto-table th::after {
  content: none !important;
  display: none !important;
}


/* ==================================================
   QuickGear v6.0 Recruit Quality Career
   新求人の責任感・長期稼働・将来的な正社員可能性を自動生成ブロックに反映
================================================== */

body.single-recruit .qg-recruit-career-section {
  border-color: #F5C2C5 !important;
  background: linear-gradient(180deg, #fff 0%, #FFF8F8 100%) !important;
}

body.single-recruit .qg-recruit-career-note {
  margin-top: 10px !important;
  color: #666 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}


/* ==================================================
   QuickGear v6.5 Archive Summary For New Recruit
   新求人入力欄だけで作成した求人も一覧カードに簡易情報を表示
================================================== */

.qg-recruit-archive-auto-row th::before,
.qg-recruit-archive-auto-row th::after {
  content: none !important;
  display: none !important;
}

.qg-recruit-archive-auto-row th {
  background: #F7F7F7 !important;
  color: #111 !important;
  font-weight: 900 !important;
}

.qg-recruit-archive-auto-row td {
  color: #333 !important;
  font-weight: 700 !important;
}


/* ==================================================
   QuickGear v6.6 Archive Legacy Short
   旧求人の一覧カードを新方式と同じくらい短く表示
================================================== */

/* 求人一覧・地域ページのカードでは、旧テーブルの全行表示を止める */
.qg-recruit-archive-main .recruit_table > tbody > tr.recruit_table_text:not(.qg-recruit-archive-auto-row):not(.qg-recruit-archive-legacy-short-row),
.qg-taxonomy-main .recruit_table > tbody > tr.recruit_table_text:not(.qg-recruit-archive-auto-row):not(.qg-recruit-archive-legacy-short-row),
.qg-recruit-archive-main .recruit_table > tr.recruit_table_text:not(.qg-recruit-archive-auto-row):not(.qg-recruit-archive-legacy-short-row),
.qg-taxonomy-main .recruit_table > tr.recruit_table_text:not(.qg-recruit-archive-auto-row):not(.qg-recruit-archive-legacy-short-row) {
  display: none !important;
}

/* 短縮表示した行は通常表示 */
.qg-recruit-archive-main .qg-recruit-archive-legacy-short-row,
.qg-taxonomy-main .qg-recruit-archive-legacy-short-row {
  display: table-row !important;
}

.qg-recruit-archive-legacy-short-row th::before,
.qg-recruit-archive-legacy-short-row th::after {
  content: none !important;
  display: none !important;
}

.qg-recruit-archive-legacy-short-row th,
.qg-recruit-archive-auto-row th {
  background: #F7F7F7 !important;
  color: #111 !important;
  font-weight: 900 !important;
}

.qg-recruit-archive-legacy-short-row td,
.qg-recruit-archive-auto-row td {
  color: #333 !important;
  font-weight: 700 !important;
}


/* ==================================================
   QuickGear v6.8 Area LP Fusion
   固定ページの採用コンテンツ要素を、タグ自動生成のエリアページに融合
================================================== */

.qg-area-lp-fusion {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 26px !important;
  box-shadow: 0 16px 42px rgba(17, 24, 39, .07) !important;
  padding: clamp(26px, 4vw, 46px) !important;
  margin: 0 0 34px !important;
}

.qg-area-lp-head {
  text-align: center !important;
  max-width: 920px !important;
  margin: 0 auto 28px !important;
}

.qg-area-lp-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 10px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
}

.qg-area-lp-head h2 {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: clamp(26px, 3vw, 42px) !important;
  line-height: 1.28 !important;
  font-weight: 950 !important;
}

.qg-area-lp-head p {
  margin: 0 !important;
  color: #444 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  font-weight: 700 !important;
}

.qg-area-lp-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 28px 0 !important;
}

.qg-area-lp-cards > div,
.qg-area-lp-faq > div {
  background: #F7F7F7 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 18px !important;
  padding: 20px !important;
}

.qg-area-lp-cards strong,
.qg-area-lp-faq strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

.qg-area-lp-cards span,
.qg-area-lp-faq span {
  display: block !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

.qg-area-lp-mini-section {
  margin-top: 28px !important;
}

.qg-area-lp-mini-section h3 {
  margin: 0 0 16px !important;
  color: #111 !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  line-height: 1.35 !important;
  font-weight: 950 !important;
  text-align: center !important;
}

.qg-area-lp-flow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: qg-area-flow !important;
}

.qg-area-lp-flow li {
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 18px !important;
  padding: 20px 16px !important;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .05) !important;
}

.qg-area-lp-flow li::before {
  counter-increment: qg-area-flow !important;
  content: counter(qg-area-flow) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 10px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-weight: 950 !important;
}

.qg-area-lp-flow strong {
  display: block !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  margin-bottom: 8px !important;
}

.qg-area-lp-flow span {
  display: block !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}

.qg-area-lp-faq {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.qg-area-lp-fusion .qg-area-line-cta {
  margin-top: 30px !important;
}

@media (max-width: 900px) {
  .qg-area-lp-fusion {
    border-radius: 20px !important;
    padding: 24px 18px !important;
  }

  .qg-area-lp-cards,
  .qg-area-lp-flow,
  .qg-area-lp-faq {
    grid-template-columns: 1fr !important;
  }

  .qg-area-lp-head {
    text-align: left !important;
  }

  .qg-area-lp-mini-section h3 {
    text-align: left !important;
  }
}


/* ==================================================
   QuickGear v6.9 Area Pattern National
   全国47都道府県想定で、エリアLPの訴求パターンを自動切替
================================================== */

.qg-area-lp-pattern-cards {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}

.qg-area-lp-pattern-cards > div {
  background: linear-gradient(180deg, #fff 0%, #FFF8F8 100%) !important;
  border-color: #F5C2C5 !important;
}

.qg-area-pattern-urban .qg-area-lp-kicker {
  background: #FFF1F2 !important;
  color: #A90F15 !important;
}

.qg-area-pattern-suburban .qg-area-lp-kicker {
  background: #FFF7ED !important;
  color: #9A3412 !important;
}

.qg-area-pattern-regional .qg-area-lp-kicker {
  background: #F0FDF4 !important;
  color: #166534 !important;
}

.qg-area-pattern-wide .qg-area-lp-kicker {
  background: #EFF6FF !important;
  color: #1D4ED8 !important;
}


/* ==================================================
   QuickGear v6.11 Area Readability Fix
   エリアLP上部を文字の羅列から、短い導入＋カード型に整理
================================================== */

.qg-area-lp-fusion {
  padding: clamp(22px, 3vw, 36px) !important;
}

.qg-area-lp-head-compact {
  margin-bottom: 22px !important;
}

.qg-area-lp-head-compact h2 {
  font-size: clamp(25px, 2.8vw, 38px) !important;
  margin-bottom: 10px !important;
}

.qg-area-lp-lead {
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 760px !important;
  margin: 0 auto 10px !important;
}

.qg-area-lp-catch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 12px auto 0 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.5 !important;
}

.qg-area-lp-point-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.qg-area-lp-basic-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 18px !important;
}

.qg-area-lp-point-cards > div,
.qg-area-lp-basic-cards > div {
  padding: 18px !important;
}

.qg-area-lp-point-cards strong,
.qg-area-lp-basic-cards strong {
  font-size: 16px !important;
}

.qg-area-lp-point-cards span,
.qg-area-lp-basic-cards span {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

.qg-area-lp-mini-section {
  margin-top: 24px !important;
}

.qg-area-lp-mini-section h3 {
  font-size: clamp(21px, 2.2vw, 28px) !important;
}

.qg-area-lp-flow li,
.qg-area-lp-faq > div {
  padding: 16px !important;
}

@media (max-width: 900px) {
  .qg-area-lp-head-compact {
    text-align: left !important;
  }

  .qg-area-lp-catch {
    display: flex !important;
    width: 100% !important;
    text-align: left !important;
    justify-content: flex-start !important;
    border-radius: 14px !important;
  }

  .qg-area-lp-point-cards,
  .qg-area-lp-basic-cards {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   QuickGear v6.12 Area LP Compact
   エリアLP上部を文章カード型から、見出し・チェック・CTA中心へ整理
================================================== */

.qg-area-lp-fusion {
  padding: clamp(22px, 3vw, 34px) !important;
  margin-bottom: 28px !important;
}

/* CITY AREA等の英字ラベルは非表示 */
.qg-area-lp-kicker {
  display: none !important;
}

.qg-area-lp-head-compact {
  max-width: 920px !important;
  margin: 0 auto 18px !important;
  text-align: center !important;
}

.qg-area-lp-head-compact h2 {
  margin: 0 0 10px !important;
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.22 !important;
  letter-spacing: .01em !important;
}

.qg-area-lp-lead {
  max-width: 760px !important;
  margin: 0 auto 10px !important;
  color: #333 !important;
  font-size: clamp(15px, 1.5vw, 17px) !important;
  line-height: 1.75 !important;
  font-weight: 800 !important;
}

.qg-area-lp-catch {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 12px auto 0 !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.5 !important;
}

/* 要点はカードではなくチェックリストに */
.qg-area-lp-checks {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 22px 0 18px !important;
  padding: 0 !important;
  list-style: none !important;
}

.qg-area-lp-checks li {
  position: relative !important;
  min-height: 86px !important;
  padding: 16px 16px 16px 44px !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 16px !important;
  background: #FFF8F8 !important;
}

.qg-area-lp-checks li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 16px !important;
  top: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 13px !important;
}

.qg-area-lp-checks strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 950 !important;
}

.qg-area-lp-checks span {
  display: block !important;
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

/* CTA */
.qg-area-lp-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 18px 0 22px !important;
}

.qg-area-lp-action-primary,
.qg-area-lp-actions .qg-area-lp-action-line,
.qg-area-lp-actions .qg-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.qg-area-lp-action-primary {
  background: #C8161D !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(200, 22, 29, .22) !important;
}

.qg-area-lp-actions .qg-area-lp-action-line,
.qg-area-lp-actions .qg-btn {
  background: #fff !important;
  color: #C8161D !important;
  border: 1px solid #F5C2C5 !important;
}

/* 共通情報は表っぽく圧縮 */
.qg-area-lp-quick-info {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 18px 0 22px !important;
}

.qg-area-lp-quick-info > div {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 13px 16px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.qg-area-lp-quick-info span {
  color: #A90F15 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.qg-area-lp-quick-info strong {
  color: #222 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 850 !important;
}

/* 下部の補足は少し控えめに */
.qg-area-lp-mini-section {
  margin-top: 22px !important;
}

.qg-area-lp-mini-section h3 {
  margin-bottom: 14px !important;
  font-size: clamp(20px, 2vw, 26px) !important;
}

.qg-area-lp-flow,
.qg-area-lp-faq {
  gap: 10px !important;
}

.qg-area-lp-flow li,
.qg-area-lp-faq > div {
  padding: 14px !important;
  border-radius: 14px !important;
}

.qg-area-lp-flow span,
.qg-area-lp-faq span {
  font-size: 13px !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  .qg-area-lp-head-compact {
    text-align: left !important;
  }

  .qg-area-lp-catch {
    width: 100% !important;
    border-radius: 14px !important;
  }

  .qg-area-lp-checks,
  .qg-area-lp-quick-info {
    grid-template-columns: 1fr !important;
  }

  .qg-area-lp-quick-info > div {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }

  .qg-area-lp-actions {
    align-items: stretch !important;
  }

  .qg-area-lp-action-primary,
  .qg-area-lp-actions .qg-area-lp-action-line,
  .qg-area-lp-actions .qg-btn {
    width: 100% !important;
  }
}


/* ==================================================
   QuickGear v6.13 Area LP Visual Design
   文字量を削るのではなく、余白・強弱・アイコン・カード設計で読みやすく改善
================================================== */

.qg-area-lp-fusion {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(30px, 4.5vw, 56px) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at top right, rgba(200,22,29,.08) 0, rgba(200,22,29,0) 34%),
    linear-gradient(180deg, #fff 0%, #fff 62%, #FFF8F8 100%) !important;
  border: 1px solid rgba(229,231,235,.95) !important;
  box-shadow: 0 18px 48px rgba(17,24,39,.08) !important;
}

.qg-area-lp-fusion::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 8px !important;
  height: 100% !important;
  background: linear-gradient(180deg, #C8161D 0%, rgba(200,22,29,.18) 100%) !important;
}

.qg-area-lp-head-compact {
  max-width: 980px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
}

.qg-area-lp-head-compact h2 {
  margin: 0 0 16px !important;
  color: #111 !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
}

.qg-area-lp-head-compact h2::after {
  content: "" !important;
  display: block !important;
  width: 72px !important;
  height: 4px !important;
  margin: 18px auto 0 !important;
  border-radius: 999px !important;
  background: #C8161D !important;
}

.qg-area-lp-lead {
  max-width: 880px !important;
  margin: 0 auto 16px !important;
  color: #333 !important;
  font-size: clamp(16px, 1.65vw, 19px) !important;
  line-height: 2 !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
}

.qg-area-lp-catch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 12px auto 0 !important;
  padding: 11px 20px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  border: 1px solid #F5C2C5 !important;
  color: #A90F15 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.5 !important;
}

.qg-area-lp-catch::before {
  content: "POINT" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 52px !important;
  height: 24px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

/* 小バッジ */
.qg-area-lp-mini-badges {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}

.qg-area-lp-mini-badges span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #F7F7F7 !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.qg-area-lp-mini-badges span::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

/* 3要点：数字アイコン付きカード */
.qg-area-lp-visual-checks {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 30px 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

.qg-area-lp-visual-checks li {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 16px !important;
  min-height: 148px !important;
  padding: 22px !important;
  border: 1px solid #F5C2C5 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(17,24,39,.06) !important;
}

.qg-area-lp-visual-checks li::before {
  content: none !important;
}

.qg-area-lp-visual-checks i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #C8161D 0%, #E02A2F 100%) !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  box-shadow: 0 10px 22px rgba(200,22,29,.22) !important;
}

.qg-area-lp-visual-checks strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 950 !important;
}

.qg-area-lp-visual-checks span {
  display: block !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  font-weight: 700 !important;
}

/* CTA */
.qg-area-lp-actions {
  margin: 26px 0 30px !important;
}

.qg-area-lp-action-primary,
.qg-area-lp-actions .qg-area-lp-action-line,
.qg-area-lp-actions .qg-btn {
  min-height: 58px !important;
  padding: 0 34px !important;
  font-size: 16px !important;
  box-shadow: 0 14px 28px rgba(17,24,39,.08) !important;
}

/* 共通情報：アイコン付き横長カード */
.qg-area-lp-visual-info {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 28px 0 30px !important;
}

.qg-area-lp-visual-info > div {
  display: grid !important;
  grid-template-columns: 48px 92px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 20px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 26px rgba(17,24,39,.05) !important;
}

.qg-area-lp-visual-info i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background: #FFF1F2 !important;
  font-style: normal !important;
  font-size: 22px !important;
}

.qg-area-lp-visual-info span {
  color: #A90F15 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.qg-area-lp-visual-info strong {
  color: #222 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 850 !important;
}

/* 流れ：カード感を強化 */
.qg-area-lp-mini-section {
  margin-top: 34px !important;
}

.qg-area-lp-mini-section h3 {
  margin-bottom: 20px !important;
  color: #111 !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1.35 !important;
  font-weight: 950 !important;
}

.qg-area-lp-flow {
  gap: 16px !important;
}

.qg-area-lp-flow li {
  padding: 20px !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(17,24,39,.05) !important;
}

.qg-area-lp-flow li::before {
  width: 34px !important;
  height: 34px !important;
  margin-bottom: 12px !important;
}

.qg-area-lp-flow strong {
  font-size: 17px !important;
}

.qg-area-lp-flow span {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

/* FAQ：Qマークを追加 */
.qg-area-lp-faq {
  gap: 16px !important;
}

.qg-area-lp-faq > div {
  position: relative !important;
  padding: 20px 20px 20px 58px !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(17,24,39,.05) !important;
}

.qg-area-lp-faq > div::before {
  content: "Q" !important;
  position: absolute !important;
  left: 20px !important;
  top: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.qg-area-lp-faq strong {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.qg-area-lp-faq span {
  margin-top: 6px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

/* 求人一覧へのつなぎ */
.qg-area-recruit-list-heading {
  margin: 36px 0 20px !important;
  text-align: center !important;
}

.qg-area-recruit-list-heading span {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #FFF1F2 !important;
  color: #A90F15 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
}

.qg-area-recruit-list-heading h3 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: clamp(24px, 2.7vw, 38px) !important;
  line-height: 1.3 !important;
  font-weight: 950 !important;
}

.qg-area-recruit-list-heading p {
  margin: 0 !important;
  color: #666 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  .qg-area-lp-fusion {
    padding: 28px 18px !important;
    border-radius: 22px !important;
  }

  .qg-area-lp-head-compact {
    text-align: left !important;
  }

  .qg-area-lp-head-compact h2::after {
    margin-left: 0 !important;
  }

  .qg-area-lp-catch {
    border-radius: 16px !important;
    align-items: flex-start !important;
  }

  .qg-area-lp-mini-badges {
    justify-content: flex-start !important;
  }

  .qg-area-lp-visual-checks,
  .qg-area-lp-visual-info {
    grid-template-columns: 1fr !important;
  }

  .qg-area-lp-visual-checks li {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: auto !important;
    padding: 18px !important;
  }

  .qg-area-lp-visual-checks i {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }

  .qg-area-lp-visual-info > div {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .qg-area-lp-visual-info i {
    grid-row: span 2 !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }

  .qg-area-lp-visual-info span {
    align-self: end !important;
  }

  .qg-area-lp-visual-info strong {
    grid-column: 2 !important;
  }

  .qg-area-recruit-list-heading {
    text-align: left !important;
  }
}


/* ==================================================
   QuickGear v6.14 Area Original Style
   固定ページで作っていた白カード＋3カード＋LINE CTAの見せ方に寄せる
================================================== */

/* v6.13の過剰な背景装飾をリセット */
.qg-area-lp-fusion {
  position: relative !important;
  overflow: visible !important;
  max-width: 1160px !important;
  margin: 0 auto 42px !important;
  padding: clamp(34px, 4.4vw, 58px) !important;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 42px rgba(17,24,39,.06) !important;
}

.qg-area-lp-fusion::before {
  content: "" !important;
  position: absolute !important;
  left: 38px !important;
  top: 58px !important;
  width: 5px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
}

/* 英字ラベルは出さない */
.qg-area-lp-kicker {
  display: none !important;
}

.qg-area-lp-head-compact {
  max-width: none !important;
  margin: 0 0 28px !important;
  padding-left: 26px !important;
  text-align: left !important;
}

.qg-area-lp-head-compact h2 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  font-weight: 950 !important;
}

.qg-area-lp-head-compact h2::after {
  content: none !important;
  display: none !important;
}

.qg-area-lp-lead {
  max-width: none !important;
  margin: 0 !important;
  color: #333 !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  line-height: 2 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.qg-area-lp-catch {
  display: block !important;
  width: auto !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #C8161D !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1.8 !important;
}

.qg-area-lp-catch::before {
  content: none !important;
  display: none !important;
}

/* 元の固定ページ風：横並び3カード */
.qg-area-lp-original-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 26px 0 26px !important;
}

.qg-area-lp-original-cards > div {
  min-height: 138px !important;
  padding: 26px 28px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #F7F7F7 !important;
  box-shadow: none !important;
}

.qg-area-lp-original-cards strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: #C8161D !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.qg-area-lp-original-cards span {
  display: block !important;
  color: #333 !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  line-height: 1.9 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

/* 2段目は少しコンパクト */
.qg-area-lp-original-subcards {
  margin-top: 18px !important;
}

.qg-area-lp-original-subcards > div {
  min-height: 126px !important;
  background: #FAFAFA !important;
}

/* LINE CTA：元画像のように大きな白ボックス＋赤ボタン */
.qg-area-lp-fusion .qg-area-line-cta {
  margin: 34px 0 0 !important;
  padding: 34px 28px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(17,24,39,.05) !important;
  text-align: center !important;
}

.qg-area-lp-fusion .qg-area-line-cta p {
  margin: 0 0 20px !important;
  color: #222 !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  line-height: 1.8 !important;
  font-weight: 950 !important;
}

.qg-area-lp-fusion .qg-area-line-cta .qg-btn,
.qg-area-lp-fusion .qg-area-line-cta a {
  min-width: min(420px, 100%) !important;
  min-height: 62px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 30px rgba(200,22,29,.20) !important;
}

/* 流れ・FAQは下に控えめに。情報は残しつつ邪魔にならないように */
.qg-area-lp-mini-section {
  margin-top: 30px !important;
  padding-top: 2px !important;
}

.qg-area-lp-mini-section h3 {
  margin: 0 0 18px !important;
  color: #111 !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  text-align: left !important;
}

.qg-area-lp-flow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.qg-area-lp-flow li {
  padding: 18px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.qg-area-lp-flow li::before {
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 10px !important;
  background: #C8161D !important;
}

.qg-area-lp-flow strong {
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 950 !important;
}

.qg-area-lp-flow span {
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

.qg-area-lp-faq {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.qg-area-lp-faq > div {
  position: relative !important;
  padding: 18px 18px 18px 54px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.qg-area-lp-faq > div::before {
  content: "Q" !important;
  position: absolute !important;
  left: 18px !important;
  top: 19px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.qg-area-lp-faq strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 950 !important;
}

.qg-area-lp-faq span {
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

/* 求人一覧へのつなぎ */
.qg-area-recruit-list-heading {
  max-width: 1160px !important;
  margin: 38px auto 20px !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.qg-area-recruit-list-heading span {
  display: none !important;
}

.qg-area-recruit-list-heading h3 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.4 !important;
  font-weight: 950 !important;
}

.qg-area-recruit-list-heading p {
  margin: 0 !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  .qg-area-lp-fusion {
    padding: 30px 20px !important;
    border-radius: 22px !important;
  }

  .qg-area-lp-fusion::before {
    left: 20px !important;
    top: 34px !important;
    height: 30px !important;
  }

  .qg-area-lp-head-compact {
    padding-left: 20px !important;
  }

  .qg-area-lp-original-cards,
  .qg-area-lp-flow,
  .qg-area-lp-faq {
    grid-template-columns: 1fr !important;
  }

  .qg-area-lp-original-cards > div {
    min-height: auto !important;
    padding: 22px 20px !important;
  }

  .qg-area-lp-fusion .qg-area-line-cta {
    padding: 26px 18px !important;
  }
}


/* ==================================================
   QuickGear v6.15 Area Fixed Content Fusion
   タグ自動生成エリアページの白カード構成をベースに、固定ページで作った地域別訴求を融合
================================================== */

.qg-area-fixed-fusion {
  position: relative !important;
  overflow: visible !important;
  max-width: 1160px !important;
  margin: 0 auto 42px !important;
  padding: clamp(34px, 4.4vw, 58px) !important;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 42px rgba(17,24,39,.06) !important;
}

.qg-area-fixed-fusion::before {
  content: "" !important;
  position: absolute !important;
  left: 38px !important;
  top: 56px !important;
  width: 5px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
}

/* CITY AREA等の英字ラベルは使わない */
.qg-area-fixed-fusion .qg-area-lp-kicker {
  display: none !important;
}

.qg-area-fixed-head {
  max-width: none !important;
  margin: 0 0 28px !important;
  padding-left: 26px !important;
  text-align: left !important;
}

.qg-area-fixed-head h2 {
  margin: 0 0 12px !important;
  color: #111 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  font-weight: 950 !important;
}

.qg-area-fixed-head h2::after {
  content: none !important;
  display: none !important;
}

.qg-area-fixed-head p {
  max-width: none !important;
  margin: 0 !important;
  color: #333 !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  line-height: 2 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.qg-area-fixed-catch {
  margin-top: 14px !important;
  color: #C8161D !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  font-weight: 950 !important;
  line-height: 1.75 !important;
}

/* メイン3カード */
.qg-area-fixed-cards,
.qg-area-fixed-subcards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 26px 0 !important;
}

.qg-area-fixed-cards > div,
.qg-area-fixed-subcards > div {
  min-height: 138px !important;
  padding: 26px 28px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #F7F7F7 !important;
  box-shadow: none !important;
}

.qg-area-fixed-cards strong,
.qg-area-fixed-subcards strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: #C8161D !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.qg-area-fixed-cards span,
.qg-area-fixed-subcards span {
  display: block !important;
  color: #333 !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  line-height: 1.9 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.qg-area-fixed-subcards {
  margin-top: 18px !important;
}

.qg-area-fixed-subcards > div {
  min-height: 126px !important;
  background: #FAFAFA !important;
}

/* 流れ・FAQは情報として残しつつ、主張しすぎない */
.qg-area-fixed-flow,
.qg-area-fixed-faq {
  margin-top: 30px !important;
}

.qg-area-fixed-flow h3,
.qg-area-fixed-faq h3 {
  margin: 0 0 18px !important;
  color: #111 !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  text-align: left !important;
}

.qg-area-fixed-fusion .qg-area-lp-flow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.qg-area-fixed-fusion .qg-area-lp-flow li {
  padding: 18px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.qg-area-fixed-fusion .qg-area-lp-flow li::before {
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 10px !important;
  background: #C8161D !important;
}

.qg-area-fixed-fusion .qg-area-lp-flow strong {
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 950 !important;
}

.qg-area-fixed-fusion .qg-area-lp-flow span {
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

.qg-area-fixed-fusion .qg-area-lp-faq {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.qg-area-fixed-fusion .qg-area-lp-faq > div {
  position: relative !important;
  padding: 18px 18px 18px 54px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.qg-area-fixed-fusion .qg-area-lp-faq > div::before {
  content: "Q" !important;
  position: absolute !important;
  left: 18px !important;
  top: 19px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.qg-area-fixed-fusion .qg-area-lp-faq strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 950 !important;
}

.qg-area-fixed-fusion .qg-area-lp-faq span {
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

/* LINE CTA */
.qg-area-fixed-line-cta {
  margin: 34px 0 0 !important;
  padding: 34px 28px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(17,24,39,.05) !important;
  text-align: center !important;
}

.qg-area-fixed-line-cta p {
  margin: 0 0 20px !important;
  color: #222 !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  line-height: 1.8 !important;
  font-weight: 950 !important;
}

.qg-area-fixed-line-cta .qg-btn,
.qg-area-fixed-line-cta a {
  min-width: min(420px, 100%) !important;
  min-height: 62px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 30px rgba(200,22,29,.20) !important;
}

/* 求人一覧見出し */
.qg-area-recruit-list-heading {
  max-width: 1160px !important;
  margin: 38px auto 20px !important;
  text-align: left !important;
}

.qg-area-recruit-list-heading span {
  display: none !important;
}

.qg-area-recruit-list-heading h3 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.4 !important;
  font-weight: 950 !important;
}

.qg-area-recruit-list-heading p {
  margin: 0 !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  .qg-area-fixed-fusion {
    padding: 30px 20px !important;
    border-radius: 22px !important;
  }

  .qg-area-fixed-fusion::before {
    left: 20px !important;
    top: 34px !important;
    height: 30px !important;
  }

  .qg-area-fixed-head {
    padding-left: 20px !important;
  }

  .qg-area-fixed-cards,
  .qg-area-fixed-subcards,
  .qg-area-fixed-fusion .qg-area-lp-flow,
  .qg-area-fixed-fusion .qg-area-lp-faq {
    grid-template-columns: 1fr !important;
  }

  .qg-area-fixed-cards > div,
  .qg-area-fixed-subcards > div {
    min-height: auto !important;
    padding: 22px 20px !important;
  }

  .qg-area-fixed-line-cta {
    padding: 26px 18px !important;
  }
}


/* ==================================================
   QuickGear v6.17 Area Cards Restore
   タグエリアページの元要素（白枠・3カード・CTA）を確実に復元し、地域別固定ページ訴求を融合
================================================== */

.qg-area-card-lp,
.qg-area-card-lp * {
  box-sizing: border-box !important;
}

.qg-area-card-lp {
  position: relative !important;
  max-width: 1160px !important;
  margin: 0 auto 42px !important;
  padding: clamp(34px, 4.4vw, 58px) !important;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 42px rgba(17,24,39,.06) !important;
}

.qg-area-card-lp::before {
  content: "" !important;
  position: absolute !important;
  left: 38px !important;
  top: 56px !important;
  width: 5px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
}

.qg-area-card-head {
  padding-left: 26px !important;
  margin-bottom: 28px !important;
  text-align: left !important;
}

.qg-area-card-head h2 {
  margin: 0 0 12px !important;
  color: #111 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  font-weight: 950 !important;
}

.qg-area-card-head h2::before,
.qg-area-card-head h2::after {
  content: none !important;
  display: none !important;
}

.qg-area-card-head p {
  margin: 0 !important;
  color: #333 !important;
  font-size: clamp(15px, 1.35vw, 17px) !important;
  line-height: 2 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.qg-area-card-head .qg-area-card-catch {
  margin-top: 14px !important;
  color: #C8161D !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  font-weight: 950 !important;
  line-height: 1.75 !important;
}

.qg-area-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 26px 0 !important;
}

.qg-area-card-item {
  display: block !important;
  min-height: 138px !important;
  padding: 26px 28px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #F7F7F7 !important;
  box-shadow: none !important;
}

.qg-area-card-item strong {
  display: block !important;
  margin: 0 0 14px !important;
  color: #C8161D !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.qg-area-card-item span {
  display: block !important;
  color: #333 !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  line-height: 1.9 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.qg-area-local-grid {
  margin-top: 18px !important;
}

.qg-area-card-item-local {
  min-height: 150px !important;
  background: #FAFAFA !important;
}

/* Flow cards */
.qg-area-card-flow {
  margin-top: 32px !important;
}

.qg-area-card-flow h3 {
  margin: 0 0 18px !important;
  color: #111 !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.45 !important;
  font-weight: 950 !important;
  text-align: left !important;
}

.qg-area-card-flow ol {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: qg-area-flow !important;
}

.qg-area-card-flow li {
  position: relative !important;
  padding: 18px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.qg-area-card-flow li::before {
  counter-increment: qg-area-flow !important;
  content: counter(qg-area-flow) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 10px !important;
  border-radius: 50% !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.qg-area-card-flow strong {
  display: block !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 950 !important;
  margin-bottom: 6px !important;
}

.qg-area-card-flow span {
  display: block !important;
  color: #555 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}

/* LINE CTA */
.qg-area-card-line {
  margin: 34px 0 0 !important;
  padding: 34px 28px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(17,24,39,.05) !important;
  text-align: center !important;
}

.qg-area-card-line p {
  margin: 0 0 20px !important;
  color: #222 !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  line-height: 1.8 !important;
  font-weight: 950 !important;
}

.qg-area-card-line .qg-btn,
.qg-area-card-line a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: min(420px, 100%) !important;
  min-height: 62px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  background: #C8161D !important;
  color: #fff !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(200,22,29,.20) !important;
}

@media (max-width: 900px) {
  .qg-area-card-lp {
    padding: 30px 20px !important;
    border-radius: 22px !important;
  }

  .qg-area-card-lp::before {
    left: 20px !important;
    top: 34px !important;
    height: 30px !important;
  }

  .qg-area-card-head {
    padding-left: 20px !important;
  }

  .qg-area-card-grid,
  .qg-area-card-flow ol {
    grid-template-columns: 1fr !important;
  }

  .qg-area-card-item {
    min-height: auto !important;
    padding: 22px 20px !important;
  }

  .qg-area-card-line {
    padding: 26px 18px !important;
  }
}




/* ==================================================
   QuickGear v6.22 Area Redbar Cleanup
   過去版の赤線CSSを整理し、赤線を1本だけに統一
================================================== */

body.tax-recruit-category .qg-area-card-lp::before,
body.tax-recruit-category .qg-area-card-lp::after,
body.tax-recruit-category .qg-area-fixed-fusion::before,
body.tax-recruit-category .qg-area-fixed-fusion::after,
body.tax-recruit-category .qg-area-card-head::before,
body.tax-recruit-category .qg-area-card-head::after,
body.tax-recruit-category .qg-area-card-head h2::before,
body.tax-recruit-category .qg-area-card-head h2::after,
body.tax-recruit-category .qg-area-card-lp h2::before,
body.tax-recruit-category .qg-area-card-lp h2::after,
body.tax-recruit-category .qg-area-title-bar {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.tax-recruit-category .qg-area-card-head {
  position: relative !important;
  padding-left: 24px !important;
  border-left: 5px solid #C8161D !important;
  margin-bottom: 28px !important;
  text-align: left !important;
}

body.tax-recruit-category .qg-area-card-head h2 {
  position: static !important;
  display: block !important;
  padding-left: 0 !important;
  margin: 0 0 12px !important;
}

body.tax-recruit-category .qg-area-card-head p,
body.tax-recruit-category .qg-area-card-catch {
  margin-left: 0 !important;
}

body.tax-recruit-category .qg-area-card-flow li {
  display: grid !important;
  grid-template-columns: 52px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 16px !important;
  row-gap: 14px !important;
  align-items: center !important;
  padding: 24px !important;
}

body.tax-recruit-category .qg-area-card-flow li::before {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: start !important;
  margin: 0 !important;
  width: 48px !important;
  height: 48px !important;
}

body.tax-recruit-category .qg-area-card-flow strong {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
}

body.tax-recruit-category .qg-area-card-flow span {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: block !important;
  margin: 0 !important;
}


/* ==================================================
   QuickGear v6.23 Area H2 Redbar Kill
   見出し側に残る赤線を無効化し、親ブロック左borderだけに統一
================================================== */

body.tax-recruit-category .qg-area-card-head h1,
body.tax-recruit-category .qg-area-card-head h2,
body.tax-recruit-category .qg-area-card-head h3,
body.tax-recruit-category .qg-area-card-head .ttl,
body.tax-recruit-category .qg-area-card-head .title,
body.tax-recruit-category .qg-area-card-head .heading,
body.tax-recruit-category .qg-area-card-head [class*="title"],
body.tax-recruit-category .qg-area-card-head [class*="ttl"],
body.tax-recruit-category .qg-area-card-head [class*="heading"] {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

body.tax-recruit-category .qg-area-card-head h1::before,
body.tax-recruit-category .qg-area-card-head h1::after,
body.tax-recruit-category .qg-area-card-head h2::before,
body.tax-recruit-category .qg-area-card-head h2::after,
body.tax-recruit-category .qg-area-card-head h3::before,
body.tax-recruit-category .qg-area-card-head h3::after,
body.tax-recruit-category .qg-area-card-head .ttl::before,
body.tax-recruit-category .qg-area-card-head .ttl::after,
body.tax-recruit-category .qg-area-card-head .title::before,
body.tax-recruit-category .qg-area-card-head .title::after,
body.tax-recruit-category .qg-area-card-head .heading::before,
body.tax-recruit-category .qg-area-card-head .heading::after,
body.tax-recruit-category .qg-area-card-head [class*="title"]::before,
body.tax-recruit-category .qg-area-card-head [class*="title"]::after,
body.tax-recruit-category .qg-area-card-head [class*="ttl"]::before,
body.tax-recruit-category .qg-area-card-head [class*="ttl"]::after,
body.tax-recruit-category .qg-area-card-head [class*="heading"]::before,
body.tax-recruit-category .qg-area-card-head [class*="heading"]::after,
body.tax-recruit-category .qg-area-card-lp h2::before,
body.tax-recruit-category .qg-area-card-lp h2::after,
body.tax-recruit-category .qg-area-card-lp::before,
body.tax-recruit-category .qg-area-card-lp::after,
body.tax-recruit-category .qg-area-title-bar {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.tax-recruit-category .qg-area-card-head {
  position: relative !important;
  padding-left: 24px !important;
  border-left: 5px solid #C8161D !important;
  margin-bottom: 28px !important;
  text-align: left !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.tax-recruit-category .qg-area-card-head::before,
body.tax-recruit-category .qg-area-card-head::after {
  content: none !important;
  display: none !important;
}

body.tax-recruit-category .qg-area-card-head h2 {
  display: block !important;
  position: static !important;
  margin: 0 0 12px !important;
  color: #111 !important;
  line-height: 1.35 !important;
  font-weight: 950 !important;
}

body.tax-recruit-category .qg-area-card-flow span {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: block !important;
  margin: 0 !important;
}


/* ==================================================
   QuickGear v6.24 Company Title Fix
   企業概要ページの黒いタイトル帯を白文字にする
================================================== */

body.page-about .page_title_wrap *,
body.page-company .page_title_wrap *,
body.page-company-info .page_title_wrap *,
body.page-company-profile .page_title_wrap *,
body.page-overview .page_title_wrap *,
body.page-kigyou-gaiyou .page_title_wrap *,
body.page-about .pageTitle *,
body.page-company .pageTitle *,
body.page-company-info .pageTitle *,
body.page-company-profile .pageTitle *,
body.page-overview .pageTitle *,
body.page-kigyou-gaiyou .pageTitle *,
body.page-about .lowerTitle *,
body.page-company .lowerTitle *,
body.page-company-info .lowerTitle *,
body.page-company-profile .lowerTitle *,
body.page-overview .lowerTitle *,
body.page-kigyou-gaiyou .lowerTitle * {
  color: #fff !important;
  text-shadow: none !important;
}


/* ==================================================
   QuickGear v6.25 Lower Header Unify
   下層ページ上部ヘッダーの文字色・スマホ画像表示を統一
================================================== */

body:not(.home) .page_title_wrap h1,
body:not(.home) .pageTitle h1,
body:not(.home) .lowerTitle h1,
body:not(.home) .lower_title h1,
body:not(.home) .mv h1,
body:not(.home) .lower_mv h1,
body:not(.home) .mainvisual h1,
body:not(.home) .main_visual h1,
body:not(.home) .page_title_wrap .ttl,
body:not(.home) .pageTitle .ttl,
body:not(.home) .lowerTitle .ttl,
body:not(.home) .lower_title .ttl {
  color: #fff !important;
  text-shadow: none !important;
}

body:not(.home) .breadcrumb,
body:not(.home) .breadcrumb *,
body:not(.home) .breadcrumbs,
body:not(.home) .breadcrumbs *,
body:not(.home) .bread,
body:not(.home) .bread * {
  color: inherit !important;
  text-shadow: none !important;
}

@media (max-width: 900px) {
  body:not(.home) .page_title_wrap img,
  body:not(.home) .pageTitle img,
  body:not(.home) .lowerTitle img,
  body:not(.home) .lower_title img,
  body:not(.home) .mv img,
  body:not(.home) .lower_mv img,
  body:not(.home) .mainvisual img,
  body:not(.home) .main_visual img,
  body:not(.home) .page_title_wrap .img,
  body:not(.home) .pageTitle .img,
  body:not(.home) .lowerTitle .img,
  body:not(.home) .lower_title .img,
  body:not(.home) .mv .img,
  body:not(.home) .lower_mv .img,
  body:not(.home) .mainvisual .img,
  body:not(.home) .main_visual .img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* ==================================================
   QuickGear v6.26 Actual Lower Header Unify
   実テンプレートに付与した qg-lower-hero-unified を直接統一
================================================== */

.page_title_wrap.qg-lower-hero-unified {
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border-left: 7px solid #C8161D !important;
  border-radius: 0 0 28px 28px !important;
  background: #121723 !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_text {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1A2335 100%) !important;
  color: #fff !important;
  z-index: 2 !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_image {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-height: 320px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: cover !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.page_title_wrap.qg-lower-hero-unified h1,
.page_title_wrap.qg-lower-hero-unified .page_title_text_box,
.page_title_wrap.qg-lower-hero-unified .page_title_text_box * {
  color: #fff !important;
  text-shadow: none !important;
}

@media (max-width: 900px) {
  .page_title_wrap.qg-lower-hero-unified {
    grid-template-columns: 1fr !important;
    min-height: 280px !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    background: rgba(18, 23, 35, .88) !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 280px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_image img {
    min-height: 280px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}






/* ==================================================
   QuickGear v6.29 Lower Hero Class Cleanup
   下層ヘッダーは qg-lower-hero-unified のみで統一
================================================== */

.page_title_wrap.qg-lower-hero-unified {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 18px !important;
  padding-top: 80px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border-left: 7px solid #C8161D !important;
  border-radius: 0 0 28px 28px !important;
  background: #121723 !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_text,
.page_title_wrap.qg-lower-hero-unified .qg-subpage-hero__text,
.page_title_wrap.qg-lower-hero-unified .page_title_image,
.page_title_wrap.qg-lower-hero-unified .qg-subpage-hero__image {
  height: 340px !important;
  min-height: 340px !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_text {
  grid-column: 1 !important;
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px 56px !important;
  background: linear-gradient(135deg, #121723 0%, #1A2335 100%) !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_image {
  grid-column: 2 !important;
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.page_title_wrap.qg-lower-hero-unified .page_title_image img {
  height: 340px !important;
  min-height: 340px !important;
  object-fit: cover !important;
  display: block !important;
}

.page_title_wrap.qg-lower-hero-unified h1,
.page_title_wrap.qg-lower-hero-unified .page_title_text_box,
.page_title_wrap.qg-lower-hero-unified .page_title_text_box * {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 900px) {
  .page_title_wrap.qg-lower-hero-unified {
    padding-top: 60px !important;
    grid-template-columns: 1fr !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_text {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: auto !important;
    min-height: 280px !important;
    background: rgba(18,23,35,.92) !important;
    z-index: 2 !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: auto !important;
    min-height: 280px !important;
    opacity: .32 !important;
    z-index: 1 !important;
  }

  .page_title_wrap.qg-lower-hero-unified .page_title_image img {
    height: 280px !important;
    min-height: 280px !important;
  }
}






/* ==================================================
   QuickGear v6.33 Company Pill Text Fix
   企業情報ページ本文内の黒い丸角ラベルだけ白文字化
================================================== */

body.qg-company-info-page .qg-company-pill-fixed,
body.qg-company-info-page .qg-company-pill-fixed * {
  color: #fff !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}






/* ==================================================
   QuickGear v6.44 Verified Card Icon Fix
   front-page.php の qg-card-icon と qg-fixed-cta だけを修正
================================================== */

@media (max-width: 768px) {
  .qg-top-lp .qg-card .qg-card-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    font-size: 42px !important;
    line-height: 1 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .qg-top-lp .qg-card .qg-card-icon img,
  .qg-top-lp .qg-card .qg-card-icon img.emoji {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .qg-top-lp .qg-card {
    padding-top: 26px !important;
  }

  .qg-fixed-cta {
    display: none !important;
  }

  body {
    padding-bottom: 0 !important;
  }
}


/* ==================================================
   QuickGear v6.45 Mobile Fixed CTA Final
   TOPスマホの固定応募CTAを最終的に非表示
================================================== */

@media (max-width: 768px) {
  .qg-fixed-cta,
  .fixed-recruit-cta {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body {
    padding-bottom: 0 !important;
  }
}


/* ==================================================
   QuickGear v6.46 Top Card Button Gap
   TOPスマホのカード内CTAボタン重なり修正
================================================== */

@media (max-width: 768px) {
  .qg-top-lp .qg-card .qg-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    row-gap: 14px !important;
    margin-top: 24px !important;
  }

  .qg-top-lp .qg-card .qg-actions .qg-btn,
  .qg-top-lp .qg-card .qg-actions a {
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .qg-top-lp .qg-card {
    overflow: visible !important;
  }
}
