/* 緊急修正：body表示保証 */
html, body, body.body, .body, body.public-page {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* === 最優先：body・html表示保証 === */
html { display: block !important; }
body, body.body, body.public-page, body.page-body { display: block !important; }
.body { display: block !important; }

@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Template: cocoon-master
Version: 1.1.3
*/

/* ================================================
   JobJepang.com カスタムスタイル
   Primary: #0072b1 / Sub: #E2F6FF
================================================ */

/* body・html は絶対に display:none にしない */
html, body { display: block !important; }
body { background: #E2F6FF !important; }

/* === レイアウト基本 === */
.l-sidebar,
[class*="widget-sidebar"],
.widget-area,
.c-aside { display: none !important; }

.l-main, #main, .main, .l-contents, .l-wrap, .l-body {
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
}

h1.entry-title,
.entry-title,
.article-header,
.entry-header,
.c-entry__header { display: none !important; }

.entry-content,
.l-article,
.c-entry__content { padding: 0 !important; margin: 0 !important; }

.l-container { max-width: 100% !important; padding: 0 !important; }
.c-breadcrumb, .breadcrumb { display: none !important; }
.article { padding: 0 !important; }
.l-contents { padding: 0 !important; margin: 0 !important; }

/* === 不要要素を非表示 === */
.toc-box, .toc, .toc-inner, [class*="toc"],
.sns-share, .sns-buttons, .sns-share-buttons,
.author-box,
.related-entries,
[class*="ad-"],
.post-navi,
#comments, .comment-area,
.mobile-button-fmb,
.tagline,
.site-description { display: none !important; }

/* === Cocoonデフォルトフッターを非表示 === */
#footer.footer-container,
.l-footer { display: none !important; }

/* === カスタムフッター (#jj-footer) を表示 === */
#jj-footer { display: block !important; width: 100% !important; }

/* === jj-sec padding (旧ページ用) === */
.jj-sec, .jj-wh, .jj-sb { padding: 28px 0 !important; }

/* ================================================
   ヘッダー
================================================ */
.header-container {
  background: #0072b1 !important;
  box-shadow: 0 2px 16px rgba(0,114,177,.25) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  padding: 0 !important;
  border: none !important;
}
#header-container-in, .header-container-in {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 68px !important;
}
#header-in, .header-in {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}
.logo, .header-logo, .logo-header, .site-name {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.logo img, .header-logo img, .site-name img {
  height: 44px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
}
.logo-text, .site-name-text, .site-name-text a {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}
#navi, .navi { display: flex !important; align-items: center !important; margin: 0 !important; }
.navi-in { display: flex !important; align-items: center !important; }
.navi-in > ul {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 2px !important;
}
.navi-in > ul > li > a {
  color: rgba(255,255,255,.9) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background .15s !important;
  white-space: nowrap !important;
  display: block !important;
}
.navi-in > ul > li > a:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}
.navi-in > ul > li > ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  min-width: 180px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
  z-index: 10000 !important;
}
.navi-in > ul > li > ul > li > a {
  color: #1c2b36 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  display: block !important;
  text-decoration: none !important;
}
.navi-in > ul > li > ul > li > a:hover {
  background: #E2F6FF !important;
  color: #0072b1 !important;
}
.navi-in > ul > li:last-child > a {
  background: #E84855 !important;
  color: #fff !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 12px rgba(232,72,85,.3) !important;
}
.navi-in > ul > li:last-child > a:hover {
  background: #c93440 !important;
  color: #fff !important;
}
.navi-toggle, .menu-toggle, #navi-toggle {
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 8px !important;
}
.navi-toggle span, .menu-toggle span { background: #fff !important; }

/* ================================================
   レスポンシブ
================================================ */
@media (max-width: 767px) {
  #header-container-in, .header-container-in {
    padding: 0 16px !important;
    min-height: 58px !important;
  }
  .logo img, .header-logo img, .site-name img { height: 34px !important; }
  .logo-text, .site-name-text, .site-name-text a { font-size: 15px !important; }
}
@media (min-width: 768px) {
  #header-container-in, .header-container-in { padding: 0 32px !important; }
}
@media (min-width: 1200px) {
  #header-container-in, .header-container-in { padding: 0 40px !important; }
}





/* ================================================
   ヘッダー最終版（hlt-top-menu hlt-tm-right対応）
================================================ */

/* ヘッダー全体 */
.header-container {
  background: #0072b1 !important;
  box-shadow: 0 2px 16px rgba(0,114,177,.25) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  padding: 0 !important;
  border: none !important;
}

/* ヘッダーコンテナを横並びに */
#header-container-in {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  min-height: 68px !important;
  width: 100% !important;
}

/* ヘッダー内部（ロゴエリア） */
#header {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  min-height: auto !important;
}
#header-in {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  min-height: auto !important;
  background: transparent !important;
  width: auto !important;
}

/* tagline非表示 */
.tagline,
.site-description { display: none !important; }

/* ロゴ */
.logo, .header-logo, .logo-header, .site-name {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.logo img, .header-logo img, .site-name img {
  height: 44px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
}
.site-name-text, .site-name-text a {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* ナビ */
#navi {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.navi-in {
  display: flex !important;
  align-items: center !important;
}
.navi-in > ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 2px !important;
}
.navi-in > ul > li { position: relative !important; }
.navi-in > ul > li > a {
  color: rgba(255,255,255,.9) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: block !important;
  transition: background .15s !important;
}
.navi-in > ul > li > a:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

/* ドロップダウン */
.navi-in > ul > li > ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  min-width: 180px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
  z-index: 10000 !important;
  display: none !important;
}
.navi-in > ul > li:hover > ul { display: block !important; }
.navi-in > ul > li > ul > li > a {
  color: #1c2b36 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  display: block !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.navi-in > ul > li > ul > li > a:hover {
  background: #E2F6FF !important;
  color: #0072b1 !important;
}

/* 最後のli（無料相談する）→ CTAボタン */
.navi-in > ul > li:last-child > a {
  background: #E84855 !important;
  color: #fff !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  box-shadow: 0 4px 12px rgba(232,72,85,.3) !important;
  margin-left: 8px !important;
}
.navi-in > ul > li:last-child > a:hover {
  background: #c93440 !important;
  color: #fff !important;
}

/* 不要な要素非表示 */
.navi-follow, [class*="follow-button"],
.header-follow, .follow-button-wrap { display: none !important; }

/* スマホ */
@media (max-width: 767px) {
  #header-container-in { padding: 0 16px !important; min-height: 58px !important; }
  .navi-in > ul { display: none !important; }
  .site-name-text, .site-name-text a { font-size: 14px !important; }
}
