.p-header__right { display: flex; flex-wrap: wrap; align-items: center; }
.p-header__menu-list-right { display: contents; }
.p-header__right > .p-header__actions { margin-left: 16px; }
.p-header__onenext-item a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; }
.p-header__onenext-item img.u-sp-only { width: 36px; height: 36px; }
.p-header__onenext-item a:focus-visible { outline: 3px solid #3894cc; outline-offset: 3px; }
.p-header__onenext-item a:hover { opacity: 0.7; }
.p-header__right .menu-item-img { display: flex; align-items: center; gap: 16px; }
.p-header__right .menu-item-img a + a { font-size: 0; }
.p-header__right .p-header__contact { margin-top: 20px; }

@media screen and (max-width: 767px) {
  .p-header__right .p-header__menu-item:not(.menu-item-img) { width: 100%; }
  .p-header__right .menu-item-img { padding-right: 0; }
  .p-header__right > .p-header__actions { width: 100%; margin: 16px 0 0; }
  .p-header__onenext-item { width: 100%; max-width: calc(330 / 16 * 1rem); margin-inline: auto; }
  .p-header__onenext-item a { position: relative; overflow: hidden; width: 100%; height: 70px; padding: 10px; background: #fff; border: 2px solid #fff; border-radius: calc(40 / 16 * 1rem); }
  .p-header__onenext-item a::before { content: ""; position: absolute; inset: 0; background: var(--color-accent); transform: scale(0, 1); transform-origin: top left; transition: transform 0.4s; }
  .p-header__onenext-item a::after { content: ""; position: absolute; inset: 10px; background: url("./onenextlink-logo-white.svg") center / contain no-repeat; opacity: 0; transition: opacity 0.3s; }
  .p-header__onenext-item img.u-sp-only { position: relative; width: 100%; height: 100%; object-fit: contain; transition: opacity 0.3s; }
  .p-header__onenext-item a:hover, .p-header__onenext-item a:focus-visible { opacity: 1; }
  .p-header__onenext-item a:hover::before, .p-header__onenext-item a:focus-visible::before { transform: scale(1, 1); }
  .p-header__onenext-item a:hover::after, .p-header__onenext-item a:focus-visible::after { opacity: 1; }
  .p-header__onenext-item a:hover img, .p-header__onenext-item a:focus-visible img { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .p-header__onenext-item a::before, .p-header__onenext-item a::after, .p-header__onenext-item img.u-sp-only { transition: none; }
}

@media screen and (min-width: 768px) {
  body { min-width: 0; }
  .p-header__inner { max-width: none; padding: 0 20px; }
  .p-header__menu-wrapper { width: 100%; }
  .p-header__menu { position: static; min-width: 0; width: 100%; height: auto; }
  .p-header__menu-contents { display: grid; grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr); align-items: center; gap: 24px; padding: 0; height: auto; width: max(1360px, 100%); margin-left: calc((100% - max(1360px, 100%)) / 2); transform: scale(var(--preview-nav-scale, 1)); transform-origin: top center; }
  .p-header__menu-list { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 24px; padding: 0; margin: 0; min-width: 0; }
  .p-header__menu-item:not(:last-child), .p-header__menu-item-logo { margin: 0; }
  .p-header__menu-item a { font-size: 16px; white-space: nowrap; letter-spacing: 0; }
  .p-header__menu-item-logo img { width: 160px; min-width: 0; }
  .p-header__right { flex-wrap: nowrap; gap: 20px; }
  .p-header__menu-list-right { display: contents; }
  .p-header__right > .p-header__actions { margin: 0; }
  .p-header__right .menu-item-img a + a { display: none; }
  .p-header__onenext-item a { width: 160px; height: 60px; }
  .p-header__onenext-item img.u-pc-only { display: block; width: 160px; height: auto; }
  .p-header__right .p-header__contact { width: 180px; margin: 0; }
  .p-header__contact-button { width: 180px; min-width: 180px; max-width: 180px; height: 60px; }
  .p-header__contact-button span { font-size: 15px; padding-left: 30px; background-size: 22px auto; }
  .p-header__right { min-width: 0; }
  .p-header__menu-item, .p-header__actions, .p-header__contact { flex-shrink: 0; }
  .p-header__right .menu-item-img a { flex-shrink: 0; }
  .preview-recruitment .p-header { position: sticky; }
  .preview-recruitment .l-sub-main { padding-top: 0; }
}

@media screen and (min-width: 1200px) {
  .p-footer__menu-left { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .p-footer__menu-list:not(:last-child) { padding-right: 0; }
}

.p-sub-recruit__entry-link-item + .p-sub-recruit__entry-link-item { margin-top: 24px; }