/* =========================================================
   Cocoon → Job Hoppers Lab v2 オーバーライド
   ========================================================= */

/* ---- Global ---- */
body {
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif !important;
  background: #f7f7f4 !important;
  color: #3a3a3a !important;
  -webkit-font-smoothing: antialiased;
}

/* ---- Header ---- */
.header-container-in, #header .header-in {
  background: #fff !important;
  border-bottom: 1px solid #e4e3dd;
}
.logo-header a, .site-name-text {
  color: #14263f !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}
.tagline {
  font-size: 11px !important;
  color: #6b6b6b !important;
}

/* ---- Nav ---- */
#navi, .navi-in {
  background: #fff !important;
  border-bottom: 1px solid #e4e3dd !important;
}
#navi .menu-item a, .navi-in a {
  color: #3a3a3a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
#navi .menu-item a:hover { color: #14263f !important; background: transparent !important; }
#navi .menu-item a[href*="taishoku-daikou-osusume"] {
  background: #d97a4a !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
#navi .menu-item a[href*="taishoku-daikou-osusume"]:hover {
  background: #c86a3d !important;
}

/* ---- Breadcrumb ---- */
.breadcrumb {
  font-size: 12px !important;
  color: #6b6b6b !important;
  background: #fff !important;
  border-bottom: 1px solid #e4e3dd;
}
.breadcrumb a { color: #2a4c74 !important; }

/* ---- Article ---- */
.article {
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.entry-title, .article h1 {
  font-size: clamp(24px, 3.4vw, 36px) !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  color: #2a2a2a !important;
}
.entry-content, .article-body {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #3a3a3a !important;
}
.entry-content h2, .article h2 {
  font-size: 26px !important;
  margin: 48px 0 18px !important;
  padding: 0 0 12px !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 2px solid #1e3a5f !important;
  background: transparent !important;
  color: #2a2a2a !important;
}
.entry-content h3, .article h3 {
  font-size: 21px !important;
  margin: 36px 0 14px !important;
  padding: 0 0 0 14px !important;
  border-left: 3px solid #e89060 !important;
  border-bottom: none !important;
  border-top: none !important;
  border-right: none !important;
  background: transparent !important;
  color: #2a2a2a !important;
}
.entry-content h4 {
  font-size: 18px !important;
  color: #2a2a2a !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}
.entry-content strong {
  color: #2a2a2a !important;
  background: linear-gradient(transparent 65%, #fbe8d9 65%);
  padding: 0 2px;
}
.entry-content ul li::marker { color: #e89060; }
.entry-content a { color: #2a4c74 !important; text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: #14263f !important; }
.entry-content blockquote {
  background: #f7f7f4 !important;
  border-left: 3px solid #3d628a !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 20px 24px !important;
}
.entry-content blockquote::before { display: none !important; }

/* ---- TOC ---- */
.toc, .toc-content {
  background: #f7f7f4 !important;
  border: 1px solid #e4e3dd !important;
  border-radius: 8px !important;
}
.toc-title {
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
}
.toc a { color: #3a3a3a !important; text-decoration: none !important; }

/* ---- CTA Box ---- */
.jh-cta-box {
  background: #1e3a5f !important;
  border-radius: 12px !important;
  padding: 28px !important;
  color: #fff !important;
  box-shadow: none !important;
}
.jh-cta-box::before { display: none !important; }
.jh-cta-box .cta-label {
  background: transparent !important;
  color: #f2b693 !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 0 !important;
}
.jh-cta-box .cta-heading { font-size: 22px !important; color: #fff !important; }
.jh-cta-box .cta-subtext { color: rgba(255,255,255,.85) !important; font-size: 13px !important; }
.jh-cta-box .cta-btn {
  background: #d97a4a !important;
  color: #fff !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  animation: none !important;
  font-size: 16px !important;
}
.jh-cta-box .cta-btn:hover { background: #c86a3d !important; }
.jh-cta-box .cta-note { color: rgba(255,255,255,.6) !important; }

/* ---- Inline CTA ---- */
.jh-cta-inline {
  background: #f2f5f9 !important;
  border-left: none !important;
  border-radius: 8px !important;
  padding: 16px 18px !important;
}
.jh-cta-inline .cta-inline-text { color: #3a3a3a !important; font-size: 13px !important; }
.jh-cta-inline .cta-inline-text strong { color: #14263f !important; background: none !important; }
.jh-cta-inline .cta-inline-btn {
  background: #d97a4a !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  padding: 10px 18px !important;
}

/* ---- Related / Cards ---- */
.related-entry-card {
  border: 1px solid #e4e3dd !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.related-entry-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(20,38,63,.08) !important;
}
.related-entry-card-title { color: #2a2a2a !important; }

/* ---- Category labels ---- */
.cat-label {
  background: #f2f5f9 !important;
  color: #2a4c74 !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
}

/* ---- Sidebar ---- */
#sidebar { background: transparent !important; border: none !important; }
.sidebar h3, #sidebar h3 {
  font-size: 12px !important;
  letter-spacing: .12em !important;
  color: #6b6b6b !important;
  border-bottom: 1px solid #e4e3dd !important;
  border-left: none !important;
  background: transparent !important;
  padding: 0 0 10px !important;
}

/* ---- Footer ---- */
#footer, .footer, footer {
  background: #14263f !important;
  color: rgba(255,255,255,.8) !important;
  border-top: none !important;
}
#footer a, .footer a { color: rgba(255,255,255,.85) !important; }
.copyright { font-size: 12px !important; color: rgba(255,255,255,.55) !important; }

/* ---- Pagination ---- */
.pagination-next-link, .page-numbers {
  border: 1px solid #e4e3dd !important;
  border-radius: 8px !important;
  color: #2a4c74 !important;
  background: #fff !important;
}
.page-numbers.current {
  background: #1e3a5f !important;
  color: #fff !important;
  border-color: #1e3a5f !important;
}

/* ---- SNS Share ---- */
.sns-share-buttons a {
  border-radius: 50% !important;
  border: 1px solid #e4e3dd !important;
  background: transparent !important;
  color: #3a3a3a !important;
}

/* ===========================================================
   TOP PAGE v2
   =========================================================== */
.front-top-page .article,
.front-top-page .entry-content { padding: 0 !important; margin: 0 !important; border: none !important; box-shadow: none !important; background: transparent !important; }
.front-top-page #sidebar { display: none !important; }
.front-top-page #main { margin: 0 auto !important; float: none !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; }
.front-top-page #content-in { display: block !important; max-width: 100%; margin: 0 auto; }
.front-top-page .sns-share, .front-top-page .sns-follow, .front-top-page .date-tags,
.front-top-page .author-info, .front-top-page .footer-meta, .front-top-page .entry-title,
.front-top-page .article-header, .front-top-page .eye-catch-wrap, .front-top-page .toc { display: none !important; }

.jh-top-v2 { font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; color: #3a3a3a; }
.jh-top-v2 h1, .jh-top-v2 h2, .jh-top-v2 h3 { color: #2a2a2a; font-weight: 700; border: none !important; background: none !important; padding: 0 !important; }

/* Hero */
.jh-hero-v2 { padding: 88px 0 104px; background: #f7f7f4; }
.jh-hero-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 56px; align-items: center; }
.jh-eyebrow-v2 { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; letter-spacing: .12em; color: #2a4c74; text-transform: uppercase; }
.jh-eyebrow-v2::before { content: ""; width: 24px; height: 1px; background: #2a4c74; }
.jh-hero-v2-line { width: 48px; height: 2px; background: #1e3a5f; margin: 24px 0 28px; }
.jh-hero-v2 h1 { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.4; margin: 0 0 20px; max-width: 18ch; }
.jh-hero-v2 h1 em { font-style: normal; background: linear-gradient(transparent 70%, #fbe8d9 70%); padding: 0 2px; }
.jh-hero-v2-text p { font-size: 17px; color: #3a3a3a; line-height: 1.9; max-width: 40ch; margin: 0; }
.jh-hero-v2-visual { aspect-ratio: 4/5; border-radius: 12px; overflow: hidden; }
.jh-hero-v2-visual img { width: 100%; height: 100%; object-fit: cover; }

/* Guide */
.jh-guide-v2 { padding: 72px 0; background: #fff; border-top: 1px solid #e4e3dd; border-bottom: 1px solid #e4e3dd; }
.jh-guide-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.jh-guide-v2-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
.jh-guide-v2-head h2 { font-size: 28px; margin: 16px 0 0; line-height: 1.4; }
.jh-guide-v2-head > p { font-size: 13px; color: #6b6b6b; margin: 0; max-width: 44ch; }
.jh-guide-v2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.jh-guide-v2-card {
  padding: 28px 24px; background: #f7f7f4; border: 1px solid #e4e3dd;
  border-radius: 12px; text-decoration: none !important; color: inherit;
  display: flex; flex-direction: column; gap: 14px; transition: all .18s ease;
}
.jh-guide-v2-card:hover { border-color: #e89060; transform: translateY(-2px); }
.jh-guide-v2-num { font-family: "SFMono-Regular",Consolas,monospace; font-size: 12px; color: #c86a3d; letter-spacing: .1em; }
.jh-guide-v2-card h3 { font-size: 17px; margin: 0; line-height: 1.55; }
.jh-guide-v2-card p { font-size: 13px; color: #6b6b6b; line-height: 1.85; margin: 0; }
.jh-guide-v2-go { font-size: 13px; font-weight: 700; color: #2a4c74; margin-top: auto; }

/* Empathy */
.jh-empathy-v2 { padding: 72px 0; background: #fff; border-bottom: 1px solid #e4e3dd; }
.jh-empathy-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.jh-empathy-v2 h2 { font-size: 22px; line-height: 1.9; max-width: 30ch; margin: 20px 0 0; font-weight: 500; }
.jh-empathy-v2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.jh-empathy-v2-item {
  padding: 20px; background: #f7f7f4; border-radius: 8px;
  border-left: 2px solid #8ea4bd; font-size: 13px; line-height: 1.85; color: #3a3a3a;
}
.jh-empathy-v2-item strong { color: #2a2a2a; background: none; }

/* Feature */
.jh-feature-v2 { padding: 96px 0; background: #14263f; color: #fff; position: relative; overflow: hidden; }
.jh-feature-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; position: relative; }
.jh-feature-v2-kicker { display: inline-flex; align-items: center; gap: 10px; color: #f2b693; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 16px; font-weight: 700; }
.jh-feature-v2 h2 { font-size: clamp(26px, 3.6vw, 36px); line-height: 1.45; color: #fff; margin: 0 0 16px; max-width: 20ch; }
.jh-feature-v2-lead { font-size: 17px; line-height: 1.9; color: rgba(255,255,255,.78); max-width: 46ch; margin: 0 0 40px; }
.jh-feature-v2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.jh-feature-v2-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; padding: 24px; text-decoration: none !important; color: inherit;
  transition: border-color .18s, background .18s;
}
.jh-feature-v2-card:hover { border-color: rgba(232,144,96,.6); background: rgba(255,255,255,.06); }
.jh-feature-v2-card-num { font-family: "SFMono-Regular",Consolas,monospace; font-size: 13px; color: #f2b693; letter-spacing: .1em; margin-bottom: 12px; display: block; }
.jh-feature-v2-card h3,
.jh-feature-v2-card h3 span { font-size: 19px !important; line-height: 1.5 !important; color: #fff !important; margin: 0 0 8px !important; }
.jh-feature-v2-card p { font-size: 13px !important; line-height: 1.85 !important; color: rgba(255,255,255,.7) !important; margin: 0 !important; }
/* ダークセクション — 全テキスト白 */
.jh-feature-v2,
.jh-feature-v2 * { color: #fff !important; }
.jh-feature-v2-title-wrap {
  font-size: clamp(26px, 3.6vw, 36px) !important;
  line-height: 1.45 !important;
  color: #fff !important;
  margin: 0 0 16px !important;
  max-width: 20ch;
  font-weight: 700 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.jh-feature-v2-lead {
  color: rgba(255,255,255,.78) !important;
}
.jh-feature-v2-card-title {
  font-size: 19px !important;
  line-height: 1.5 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
  font-weight: 700 !important;
}
.jh-feature-v2-card-desc {
  font-size: 13px !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,.7) !important;
  margin: 0 !important;
}
.jh-feature-v2-card-num {
  color: #f2b693 !important;
}
.jh-feature-v2-kicker {
  color: #f2b693 !important;
}
/* Cocoon目次のチェックボックスを非表示 */
.jh-top-v2 .toc-checkbox,
.jh-top-v2 .toc-content,
.jh-top-v2 .toc { display: none !important; }
.jh-feature-v2-cta { margin-top: 36px; }
.jh-feature-v2-cta a {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px;
  font-weight: 700; font-size: 17px; border-radius: 8px; border: 1px solid rgba(255,255,255,.3);
  color: #fff; text-decoration: none !important; transition: all .18s;
}
.jh-feature-v2-cta a:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); color: #fff; }

/* Compare */
.jh-compare-v2 { padding: 80px 0; background: #14263f; color: #fff; border-top: 1px solid rgba(255,255,255,.06); }
.jh-compare-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.jh-compare-v2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.jh-compare-v2-kicker { color: #f2b693; font-family: "SFMono-Regular",Consolas,monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; display: inline-block; }
.jh-compare-v2 h2 { color: #fff !important; font-size: clamp(26px, 3.6vw, 38px); margin: 0 0 16px; line-height: 1.4; }
/* ダークセクション全テキスト白 */
.jh-compare-v2, .jh-compare-v2 * { color: #fff !important; }
.jh-compare-v2-heading {
  color: #fff !important;
  font-size: clamp(26px, 3.6vw, 38px) !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  line-height: 1.4 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.jh-compare-v2 p { color: rgba(255,255,255,.8) !important; }
.jh-compare-v2 small { color: rgba(255,255,255,.55) !important; }
.jh-compare-v2-kicker { color: #f2b693 !important; }
.jh-compare-v2-row .price { color: #f2b693 !important; }
.jh-compare-v2-row .note { color: rgba(255,255,255,.7) !important; }
.jh-compare-v2-row-head, .jh-compare-v2-row-head * { color: rgba(255,255,255,.55) !important; }
.jh-compare-v2-btn { background: #e89060 !important; color: #fff !important; }
.jh-compare-v2-btn:hover { background: #d97a4a !important; }
.jh-compare-v2 > .jh-compare-v2-inner > .jh-compare-v2-grid > div:first-child > p { color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.95; margin: 0 0 28px; }
.jh-compare-v2-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px;
  background: #e89060; color: #fff; font-weight: 700; font-size: 17px;
  border-radius: 8px; text-decoration: none !important; transition: all .18s;
}
.jh-compare-v2-btn:hover { background: #d97a4a; color: #fff; }
.jh-compare-v2 small { display: block; margin-top: 14px; font-size: 12px; color: rgba(255,255,255,.55); }
.jh-compare-v2-table {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; overflow: hidden;
}
.jh-compare-v2-row {
  display: grid; grid-template-columns: 1.2fr 1fr 1fr;
  padding: 14px 20px; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,.08); align-items: center;
}
.jh-compare-v2-row:last-child { border-bottom: 0; }
.jh-compare-v2-row-head {
  background: rgba(0,0,0,.2); color: rgba(255,255,255,.55);
  font-family: "SFMono-Regular",Consolas,monospace; font-size: 11px;
  letter-spacing: .12em; text-transform: uppercase; padding: 10px 20px;
}
.jh-compare-v2-row .name { font-weight: 700; color: #fff; }
.jh-compare-v2-row .price { color: #f2b693; font-family: "SFMono-Regular",Consolas,monospace; }
.jh-compare-v2-row .note { color: rgba(255,255,255,.7); font-size: 12px; }

/* Latest */
.jh-latest-v2 { padding: 80px 0; }
.jh-latest-v2-inner { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.jh-latest-v2 h2 { font-size: 28px; margin: 0 0 32px; padding-bottom: 16px !important; border-bottom: 1px solid #e4e3dd !important; }

/* Latest posts grid (Cocoon auto-generated) */
.jh-top-v2 .jh-top-latest-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.jh-top-v2 .jh-top-latest-card {
  background: #fff !important;
  border: 1px solid #e4e3dd !important;
  border-radius: 12px !important;
  overflow: hidden;
  text-decoration: none !important;
  transition: transform .18s, box-shadow .18s;
}
.jh-top-v2 .jh-top-latest-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(20,38,63,.08);
}
.jh-top-v2 .jh-top-latest-card img {
  border-radius: 0 !important;
  border: none !important;
}
.jh-top-v2 .jh-top-latest-cat {
  background: #f2f5f9 !important;
  color: #2a4c74 !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
}
.jh-top-v2 .jh-top-latest-title {
  color: #2a2a2a !important;
  font-weight: 700;
}

/* Bottom CTA */
.jh-bottom-v2 { padding: 80px 0; background: #eeeeea; }
.jh-bottom-v2-inner { max-width: 720px; margin: 0 auto; text-align: center; padding: 0 24px; }
.jh-bottom-v2 h2 { font-size: 36px; margin: 0 0 16px; line-height: 1.4; }
.jh-bottom-v2 p { font-size: 17px; color: #3a3a3a; margin: 0 0 28px; line-height: 1.9; }
.jh-bottom-v2-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px;
  background: #d97a4a; color: #fff; font-weight: 700; font-size: 17px;
  border-radius: 8px; text-decoration: none !important; transition: all .18s;
}
.jh-bottom-v2-btn:hover { background: #c86a3d; color: #fff; }

/* ==== Mobile ==== */
@media (max-width: 860px) {
  .jh-hero-v2-inner { grid-template-columns: 1fr !important; gap: 32px; }
  .jh-hero-v2-visual { max-width: 320px; }
  .jh-guide-v2-grid { grid-template-columns: 1fr !important; }
  .jh-guide-v2-head { flex-direction: column; align-items: flex-start; }
  .jh-empathy-v2-grid { grid-template-columns: 1fr !important; }
  .jh-feature-v2-grid { grid-template-columns: 1fr !important; }
  .jh-compare-v2-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .jh-top-v2 .jh-top-latest-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .jh-bottom-v2 h2 { font-size: 26px; }
}
@media (max-width: 520px) {
  .jh-top-v2 .jh-top-latest-grid { grid-template-columns: 1fr !important; }
}
