/* Recruit page header: SNS icons absolute positioning */
/* To prevent SNS icons (originally float:right) from colliding with CTA buttons in the .recruit-header at certain widths. */
#header .sp-col-12 {
  position: relative;
}
#header .social-icons {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding-top: 0;
  right: 15px;
  float: none;
  z-index: 10;
}

/* ===== Recruit header: raise hamburger breakpoint + right-align (2026-06-16) ===== */
/* The desktop nav only fits when the Bootstrap container reaches 1320px, which */
/* happens at >=1400px. Between 992-1399px the container shrinks (1140 / 960) and */
/* the menu + SNS icons overlap the recruit CTA buttons, so on the recruit page */
/* switch to the hamburger menu up to 1399px (was 942px). */
@media only screen and (max-width: 1399px) {
  body.page-template-page-recruit-hero #header-mobile-wrapper { display: none !important; }
  body.page-template-page-recruit-hero #mobile-top { display: flex !important; align-items: center !important; height: auto !important; min-height: 52px !important; }
  body.page-template-page-recruit-hero #slick-mobile-menu { display: inline-block !important; }

  /* Right-align the hamburger button inside the fixed mobile header */
  /* Right-align &amp; vertically center the hamburger (whole menu box, keeps SP position correct) */
  body.page-template-page-recruit-hero #mobile-top #slick-mobile-menu {
    position: static;
    margin-left: auto;
    margin-right: 16px;
    transform: none;
    float: none;
  }
  /* Dropdown: original-ish width, a bit wider, right-aligned (not full width) */
  body.page-template-page-recruit-hero #mobile-top .slicknav_nav {
    position: absolute;
    top: 100%;
    right: 16px;
    left: auto;
    width: 270px;
    z-index: 100;
    background: #fff;
  }
  /* Remove slicknav default top margin so the button centers with the logo */
  body.page-template-page-recruit-hero #mobile-top .slicknav_btn {
    margin: 0;
  }
}

/* SNS icons injected into the hamburger menu (paired with the footer.php JS snippet) */
.slicknav_nav .slicknav-social { text-align: center; padding: 14px 0; }
.slicknav_nav .slicknav-social a { display: inline-block; margin: 0 12px; font-size: 22px; }

/* Tablet and up (>=768px): add top spacing for the larger logo. Phones keep the original centered look. */
@media only screen and (min-width: 768px) and (max-width: 1399px) {
  body.page-template-page-recruit-hero #mobile-top {
    padding-top: 15px;
  }
}

/* News list (SP): logo(white header) と本文が密着する問題の解消 / ロゴ下に余白を確保 */
@media only screen and (max-width: 766px) {
  body.page-template-page-fullwidth-news #main {
    padding-top: 48px;
  }
}

/* Hamburger unify (all pages): recruit と同じ浮遊ドロップダウン挙動に統一 */
@media only screen and (max-width: 1399px) {
  #header-mobile-wrapper { display: none !important; }
  #mobile-top { display: flex !important; align-items: center !important; height: auto !important; min-height: 52px !important; }
  #slick-mobile-menu { display: inline-block !important; }
  #mobile-top #slick-mobile-menu { position: static; margin-left: auto; margin-right: 16px; transform: none; float: none; }
  #mobile-top .slicknav_nav { position: absolute; top: 100%; right: 16px; left: auto; width: 270px; z-index: 100; background: #fff; }
  #mobile-top .slicknav_btn { margin: 0; }
}

/* Mobile header logo cap: 中間幅でロゴが肥大化して固定ヘッダーに本文（見出し）が被るのを防ぐ */
@media only screen and (max-width: 1399px) {
  #mobile-top #logo img {
    max-height: 44px !important;
    width: auto !important;
    height: auto !important;
  }
}
