@charset "UTF-8";
@import url(https://cdn.jsdelivr.net/npm/destyle.css@4.0.1/destyle.min.css);
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDMincho:wght@400;700&family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  font-size: 62.5%;
}

.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}

.is-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

.is-pc--mid {
  display: block;
}
@media screen and (max-width: 1200px) {
  .is-pc--mid {
    display: none !important;
  }
}

:root {
  --base-font-size: max(1.6rem, 16px);
  --color-white: #fff;
  --color-black: #2c3132;
  --color-gray: #eaecf0;
  --color-pink: #ef8a9c;
  --color-red: #ff1a1c;
  --base-bg: #fff;
  --primary-color: #004ea2;
  --secondary-color: #793d1c;
  --font-noto-san: "Noto Sans JP", sans-serif;
  --font-biz: "BIZ UDMincho", serif;
  --font-noto-serif: "Noto Serif JP", serif;
  --font-zen-kaku: "Zen Kaku Gothic New", sans-serif;
  --font-poppins: "Poppins", sans-serif;
  --font-antonio: "Antonio", sans-serif;
  --font-AcuminVariableConcept: "Acumin Variable Concept", sans-serif;
  --sec-padding: 6.4rem 0;
}
@media screen and (max-width: 767px) {
  :root {
    --base-font-size: max(1.6rem, 14px);
  }
}

img {
  width: 100%;
  vertical-align: top;
}

body {
  width: 100vw;
  overflow-x: hidden;
  font-family: var(--font-noto-san);
  font-weight: 500;
  color: var(--color-black);
  background-color: var(--base-bg);
  font-size: var(--base-font-size);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bg-blue {
  background: #f2f2f7;
}

.l-header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  background: var(--color-white);
  transition: all 0.3s ease;
}
.l-header#js-top.is-trans {
  background: transparent;
}
.l-header#js-top.is-trans .l-header__logo img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}
.l-header#js-top.is-trans .l-header__navListItem {
  color: var(--color-white);
}
.l-header#lower .l-header__navListItem {
  color: #d1d1d6;
}
.l-header#lower .l-header__navListItem.is-current {
  color: var(--primary-color);
}
@media screen and (max-width: 1200px) {
  .l-header#lower .l-header__navListItem.is-current {
    color: var(--color-black);
  }
}
.l-header__inner {
  margin-left: 3.2rem;
  margin-right: 3.2rem;
}
@media screen and (max-width: 1200px) {
  .l-header__inner {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}
.l-header__container {
  padding: 1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header__logo {
  max-width: 21.4rem;
}
.l-header__logo img {
  filter: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .l-header__nav {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    background: var(--color-white);
    width: 100vw;
    height: 100dvh;
    transition: opacity 0.3s ease;
    overflow-y: scroll;
  }
  .l-header__nav.is-active {
    opacity: 1;
    visibility: visible;
  }
}
.l-header__navList {
  display: flex;
  gap: 3.2rem;
}
@media screen and (max-width: 1200px) {
  .l-header__navList {
    flex-direction: column;
    width: 100%;
    max-width: min(100rem, 100% - 8rem);
    margin: 0 auto;
    gap: 2rem;
    padding: 0 4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__navList {
    padding: 0 2rem;
    max-width: min(100rem, 100% - 4rem);
  }
}
@media screen and (max-width: 520px) {
  .l-header__navList {
    padding: 0;
    gap: 0;
  }
}
.l-header__navListItem {
  position: relative;
}
.l-header__navListItem a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  transition: color 0.3s ease;
}
.l-header__navListItem a:hover {
  color: var(--primary-color);
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem a {
    flex-direction: row-reverse;
    justify-content: start;
    gap: 1em;
    color: var(--color-black);
    border-bottom: 1px solid #d9d9d9;
    padding: 2rem 0;
  }
  .l-header__navListItem a:after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 2.8rem;
    height: 0.8rem;
    background: url(/jp/jobs/assets/images/common/nav-arrow.svg) no-repeat center center/contain;
    filter: brightness(0) saturate(100%);
  }
}
@media screen and (max-width: 1200px) and (max-width: 520px) {
  .l-header__navListItem a:after {
    width: 2.1rem;
    height: 0.6rem;
  }
}
.l-header__navListItem .is-entry {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  cursor: pointer;
  color: var(--color-white);
  text-align: center;
  font-weight: 700;
  letter-spacing: 1.6px;
  background: var(--primary-color);
  padding: 0.9rem 3rem;
  border-radius: 999px;
  border: 1px solid var(--primary-color);
  transition: all 0.3s ease;
}
.l-header__navListItem .is-entry:hover {
  color: var(--primary-color);
  background: var(--color-white);
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem:nth-last-child(1) {
    display: none;
  }
}
.l-header__navListItem .l-header__subNav {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-white);
  width: 20rem;
  box-shadow: 3px 5px 20px 0 rgba(0, 0, 128, 0.2);
  border-radius: 1rem;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem .l-header__subNav {
    height: 0;
    overflow: hidden;
    position: relative;
    visibility: visible;
    opacity: 1;
    width: 100%;
    box-shadow: none;
  }
}
.l-header__navListItem .l-header__subNavList {
  display: grid;
}
.l-header__navListItem .l-header__subNavListItem a {
  padding: 0.5em;
  color: #d1d1d6;
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem .l-header__subNavListItem a {
    padding: 2rem 1em;
    position: relative;
    color: var(--color-black);
  }
  .l-header__navListItem .l-header__subNavListItem a:after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 2.8rem;
    height: 0.8rem;
    background: url(/jp/jobs/assets/images/common/nav-arrow.svg) no-repeat center center/contain;
    filter: brightness(0) saturate(100%);
  }
}
@media screen and (max-width: 1200px) and (max-width: 520px) {
  .l-header__navListItem .l-header__subNavListItem a:after {
    width: 2.1rem;
    height: 0.6rem;
  }
}
.l-header__navListItem .l-header__subNavListItem a:hover {
  color: var(--primary-color);
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem a[href="javascript:void(0);"] {
    position: relative;
  }
  .l-header__navListItem a[href="javascript:void(0);"]::before {
    position: absolute;
    content: "";
    display: block;
    width: 2.8rem;
    height: 0.1rem;
    background: var(--color-black);
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-90deg);
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1200px) and (max-width: 520px) {
  .l-header__navListItem a[href="javascript:void(0);"]::before {
    width: 2rem;
  }
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem a[href="javascript:void(0);"]::after {
    position: absolute;
    content: "";
    display: block;
    width: 2.8rem;
    height: 0.1rem;
    background: var(--color-black);
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1200px) and (max-width: 520px) {
  .l-header__navListItem a[href="javascript:void(0);"]::after {
    width: 2rem;
  }
}
@media screen and (max-width: 1200px) {
  .l-header__navListItem a[href="javascript:void(0);"].is-open::before {
    transform: translateY(-50%) rotate(0deg);
  }
}
.l-header__navListItem:hover .l-header__subNav {
  opacity: 1;
  visibility: visible;
}
.l-header__navEntry {
  display: none;
}
@media screen and (max-width: 1200px) {
  .l-header__navEntry {
    position: relative;
    display: block;
    max-width: min(100rem, 100% - 8rem);
    margin: 6rem auto 0;
    padding: 6rem 0;
  }
  .l-header__navEntry:after {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 4.8rem;
    height: 1.4rem;
    background: url(/jp/jobs/assets/images/common/btn-arrow.svg) no-repeat center center/contain;
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
  }
}
@media screen and (max-width: 1200px) and (max-width: 520px) {
  .l-header__navEntry:after {
    width: 3.6rem;
    height: 1.05rem;
  }
}
@media screen and (max-width: 1200px) {
  .l-header__navEntry a {
    display: block;
    background: url(/jp/jobs/assets/images/common/sp_entry.png) no-repeat center center/cover;
    color: var(--color-white);
    text-align: center;
    font-size: 2.4rem;
    padding: 2.4rem;
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .l-header__navEntry {
    max-width: min(100rem, 100% - 4rem);
    padding: 4rem 0;
  }
}
@media screen and (max-width: 520px) {
  .l-header__navEntry {
    padding: 2rem 0;
  }
}
.l-header__navFoot {
  display: none;
}
@media screen and (max-width: 1200px) {
  .l-header__navFoot {
    position: fixed;
    bottom: 0;
    width: 100%;
    display: block;
    background: var(--primary-color);
    color: var(--color-white);
  }
}
.l-header__navFoot .p-in-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.6rem 6.4rem;
  padding: 2rem;
}
@media screen and (max-width: 520px) {
  .l-header__navFoot .p-in-list {
    font-size: 1.2rem;
  }
}
.l-header__navFoot .p-in-copy {
  padding: 2rem;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .l-header__navFoot .p-in-copy {
    font-size: 1rem;
  }
}

.l-main {
  width: 100%;
}
.l-main.is-top {
  padding-top: 0;
}

.l-footer {
  width: 100%;
  background: var(--primary-color);
}
.l-footer p {
  text-align: center;
  color: var(--color-white);
  padding: 2rem;
}

.l-inner {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
}
.l-inner--small {
  max-width: min(103rem, 100% - 40px);
  margin: 0 auto;
}
.l-inner--xsmall {
  max-width: min(1200px, 100% - 40px);
  margin: 0 auto;
}

.c-btn {
  width: max-content;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
}
.c-btn:after {
  content: "";
  display: block;
  width: 4.8rem;
  height: 1.4rem;
  background: url(/jp/jobs/assets/images/common/btn-arrow.svg) no-repeat center center/contain;
  margin-top: 1.6rem;
}
.c-btn.is-white {
  color: var(--color-white);
}
.c-btn.is-white:after {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}

.c-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--color-gray-500);
  max-width: min(1400px, 100% - 4rem);
  margin: 0 auto;
  padding: 0.5rem 0;
}
.c-breadcrumb li:nth-last-of-type(1) {
  color: var(--primary-color);
}
.c-breadcrumb li:nth-last-of-type(1)::after {
  content: none;
}
.c-breadcrumb li::after {
  content: "/";
  padding-left: 0.8rem;
}

.c-pageHead {
  overflow: hidden;
  position: relative;
  height: 80dvh;
  width: 100%;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.42, 0, 0.6, 1.19);
}
@media screen and (max-width: 767px) {
  .c-pageHead {
    height: 90dvh;
  }
}
@media screen and (max-width: 520px) {
  .c-pageHead {
    height: 100dvh;
    min-height: 82rem;
    max-height: 100rem;
  }
}
.c-pageHead::after {
  content: "";
  display: block;
  width: 100%;
  height: 30rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #004ea2 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-pageHead::after {
    height: 24rem;
  }
}
.c-pageHead__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: scale(1.05);
}
.c-pageHead__bg img {
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .c-pageHead__bg.-miyata img {
    object-position: 75%;
  }
}
@media screen and (max-width: 767px) {
  .c-pageHead__bg.-kusano img {
    object-position: 40%;
  }
}
@media screen and (max-width: 520px) {
  .c-pageHead__bg.-kusano img {
    object-position: 37% 0;
  }
}
@media screen and (max-width: 767px) {
  .c-pageHead__bg.-matsumoto img {
    object-position: 75%;
  }
}
.c-pageHead__container {
  position: absolute;
  z-index: 2;
  bottom: 6.4rem;
  left: 0;
  width: 100%;
}
.c-pageHead__title {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.c-pageHead__title .-en {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-white);
}
.c-pageHead__title .-ja {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-white);
}
.c-pageHead__cable {
  position: absolute;
  width: min(100% - (100% - 120rem) / 2, 100% - 20px - 31.583px);
  height: 13px;
  background: var(--color-white);
}
.c-pageHead__cable::after {
  content: "";
  width: 31.583px;
  height: 18px;
  background: url(/jp/jobs/assets/images/common/cable.svg) no-repeat;
  position: absolute;
  right: -31.583px;
  top: 50%;
  transform: translateY(-50%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}
.c-pageHead__interview {
  position: absolute;
  left: max((100vw - 120rem) / 2, 2rem);
  top: 20%;
  display: grid;
  gap: 2rem;
  padding: 6.4rem 3.2rem;
  min-width: 27rem;
}
@media screen and (max-width: 767px) {
  .c-pageHead__interview {
    gap: 1.6rem;
    padding: 3.2rem;
    left: auto;
    top: 60%;
    right: max((100vw - 120rem) / 2, 2rem);
  }
}
@media screen and (max-width: 520px) {
  .c-pageHead__interview {
    top: 55%;
    right: 0;
    min-width: 20rem;
  }
}
.c-pageHead__interview.-right {
  left: auto;
  right: max((100vw - 120rem) / 2, 2rem);
}
@media screen and (max-width: 520px) {
  .c-pageHead__interview.-right {
    top: 55%;
    right: 0;
    min-width: 20rem;
  }
}
.c-pageHead__interviewBg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  mix-blend-mode: multiply;
}
.c-pageHead__interviewDepartment {
  position: relative;
  color: var(--primary-color);
  background: var(--color-white);
  width: fit-content;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-pageHead__interviewDepartment {
    font-size: 1.6rem;
  }
}
.c-pageHead__interviewName {
  position: relative;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
}
.c-pageHead__interviewName .-ja {
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-pageHead__interviewName .-ja {
    font-size: 2rem;
  }
}
.c-pageHead__interviewName .-en {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.24rem;
}
@media screen and (max-width: 767px) {
  .c-pageHead__interviewName .-en {
    font-size: 1.4rem;
  }
}
.c-pageHead__interviewYear {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-pageHead__interviewYear {
    font-size: 1.6rem;
  }
}

.c-pageMain__lead {
  max-width: min(85rem, 100% - 4rem);
  margin: 0 auto;
  padding: var(--sec-padding);
}
.c-pageMain__lead .-title {
  color: var(--primary-color);
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-pageMain__lead .-title {
    font-size: 2rem;
    width: max-content;
    margin: 0 auto;
    text-align: start;
  }
}
.c-pageMain__lead .-text {
  font-weight: 500;
}
.c-pageMain section {
  padding: 3.2rem 0;
}

.c-secTitle {
  width: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 1200px) {
  .c-secTitle {
    flex-direction: column-reverse;
    align-items: start;
    width: fit-content;
  }
}
.c-secTitle .c-in-cable {
  display: block;
  max-width: calc((100% - 120rem) / 2);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .c-secTitle .c-in-cable {
    max-width: 100%;
  }
}
.c-secTitle .c-in-cable::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.3rem;
  background: var(--primary-color);
  flex: 1;
}
.c-secTitle .c-in-cable::after {
  content: "";
  display: block;
  width: 3.1583rem;
  height: 1.8rem;
  background: url(/jp/jobs/assets/images/common/cable.svg) no-repeat center center/contain;
  transform: translateX(-1px);
}
.c-secTitle h2 {
  display: flex;
  flex-direction: column;
  justify-content: start;
  transition: all 0.3s ease;
}
.c-secTitle h2 .is-en {
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-secTitle h2 .is-en {
    font-size: 1.6rem;
  }
}
.c-secTitle h2 .is-ja {
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-secTitle h2 .is-ja {
    font-size: 2rem;
  }
}
.c-secTitle h2 .-lower {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.42rem;
  color: var(--primary-color);
}
@media screen and (max-width: 1200px) {
  .c-secTitle h2 {
    padding: 0 2rem;
  }
}
.c-secTitle.is-white {
  color: var(--color-white);
}

@media screen and (max-width: 1200px) {
  .c-secTitle.-lower {
    flex-direction: column-reverse;
    align-items: start;
    width: calc(100% - 2rem);
  }
}
@media screen and (max-width: 1200px) {
  .c-secTitle.-lower h2 {
    display: block;
    margin: 0 auto;
  }
}
.c-secTitle.-lower h2 .-lower {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.42rem;
  color: var(--primary-color);
}
@media screen and (max-width: 1200px) {
  .c-secTitle.-lower h2 .-lower {
    font-size: 2rem;
  }
}

.js-image figure {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.js-image figure::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: var(--primary-color);
}

.js-image.move figure::before {
  animation: barAnime forwards 1.5s 1 cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s normal;
}

.js-image figure img {
  opacity: 0;
  transform: scale(1.1);
  transition: transform 3s ease;
}

.js-image.move figure img {
  animation: photoAnime forwards 1.5s 1 cubic-bezier(0.165, 0.84, 0.44, 1) 0.7s normal;
  transform: scale(1);
}

@keyframes barAnime {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@keyframes photoAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.js-title .line {
  overflow: hidden;
}

.js-concept-detail {
  opacity: 0; /* 完全に非表示に設定 */
  transform: translateY(20px); /* 下に少しずらして非表示にする */
}

.js-scale {
  transition-delay: 500ms;
  transition-duration: 2000ms;
  transition-timing-function: cubic-bezier(0.42, 0, 0.6, 1.19);
}

.c-pageMain {
  /* 前へ次への矢印カスタマイズ */
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
}
.c-pageMain .swiper-button-prev,
.c-pageMain .swiper-button-next {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-pageMain .swiper-button-prev,
  .c-pageMain .swiper-button-next {
    display: flex;
    position: relative !important;
    margin: 0 !important;
    width: 3.8rem;
    height: 4rem;
    top: 0;
    left: 0;
  }
}
.c-pageMain .swiper-button-prev::after,
.c-pageMain .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "" !important;
  width: 3.8rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pageMain .swiper-button-prev::after {
  background-image: url(/jp/jobs/assets/images/common/swiper_btn.svg);
  transform: scale(-1, 1);
}
.c-pageMain .swiper-button-next::after {
  background-image: url(/jp/jobs/assets/images/common/swiper_btn.svg);
}
.c-pageMain .swiper__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.2rem;
  height: 50px;
  width: 100%;
  margin-bottom: 3.2rem;
}

.c-modal {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
  transition: all 0.3s ease;
}
.c-modal.is-open {
  visibility: visible;
  opacity: 1;
}
.c-modal__close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 2.5rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.c-modal__close span {
  --rotate: 45deg;
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--color-black);
  grid-area: 1/1/-1/-1;
}
.c-modal__close span:nth-child(1) {
  rotate: var(--rotate);
}
.c-modal__close span:nth-child(2) {
  rotate: calc(var(--rotate) * -1);
}
.c-modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: min(65rem, 100% - 4rem);
  width: 100%;
  margin: 0 auto;
  background: var(--color-white);
  padding: 3.2rem 2rem;
  border-radius: 2rem;
}
.c-modal__title {
  text-align: center;
  margin-bottom: 3.2rem;
}
.c-modal__title span {
  display: block;
}
.c-modal__title .is-en {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--primary-color);
}
.c-modal__title .is-ja {
  font-size: 1.6rem;
  font-weight: 700;
}
.c-modal__list {
  max-width: 50rem;
  margin: 0 auto 3.2rem;
  display: flex;
  flex-direction: column;
}
.c-modal__list-item {
  border-bottom: 1px solid #d9d9d9;
  position: relative;
}
.c-modal__list-item:after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 2.8rem;
  height: 0.8rem;
  background: url(/jp/jobs/assets/images/common/nav-arrow.svg) no-repeat center center/contain;
  filter: brightness(0) saturate(100%);
}
@media screen and (max-width: 520px) {
  .c-modal__list-item:after {
    width: 2.1rem;
    height: 0.6rem;
  }
}
.c-modal__list-item a {
  padding: 2rem 0;
  display: block;
  transition: all 0.3s ease;
}
.c-modal__list-item .careertasu img {
  max-width: 16.4rem;
  margin-bottom: 0.8rem;
}
.c-modal__list-item .careertasu figcaption {
  font-size: 1.4rem;
  font-weight: 400;
}
.c-modal__list-item:hover a {
  color: var(--primary-color);
  transform: translateX(5px);
}

.l-header.is-trans .l-header__hamburger span {
  background: var(--color-white);
}
.l-header__hamburger {
  --opacity: 1;
  --rotate: 0;
  --translate: 1.1rem;
  display: none;
  place-items: center;
  width: 4rem;
  aspect-ratio: 1;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .l-header__hamburger {
    display: grid;
  }
}
.l-header__hamburger.is-active {
  --opacity: 0;
  --rotate: 45deg;
  --translate: 0;
}
.l-header__hamburger span {
  display: block;
  width: 2.8rem;
  height: 4px;
  border-radius: 999px;
  background-color: var(--primary-color);
  grid-area: 1/1/-1/-1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-header__hamburger span {
    width: max(16px, 3.6rem);
    height: max(2px, 0.2rem);
  }
}
.l-header__hamburger span:nth-child(1) {
  opacity: var(--opacity);
}
.l-header__hamburger span:nth-child(2) {
  translate: 0 calc(var(--translate) * -1);
  rotate: var(--rotate);
}
.l-header__hamburger span:nth-child(3) {
  translate: 0 var(--translate);
  rotate: calc(var(--rotate) * -1);
}

#jobs .p-mv {
  position: relative;
  width: 100vw;
  height: 100dvh;
}
#jobs .p-mv__video {
  position: relative;
}
#jobs .p-mv__video::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
}
#jobs .p-mv__video video {
  width: 100vw;
  height: 100dvh;
  object-fit: cover;
}
#jobs .p-mv__contents {
  position: absolute;
  width: 100%;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 520px) {
  #jobs .p-mv__contents {
    top: 40%;
  }
}
#jobs .p-mv__title--ja {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
  font-family: var(--font-biz);
  font-size: 8rem;
  color: var(--color-white);
  letter-spacing: 0.8rem;
  text-shadow: 0 0 15px #fff;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #jobs .p-mv__title--ja {
    font-size: max(10.4166666667vw, 40px);
  }
}
#jobs .p-mv__title--ja span {
  font-size: 6rem;
  color: var(--color-white);
  letter-spacing: 0.6rem;
  text-shadow: 0 0 15px #fff;
}
@media screen and (max-width: 767px) {
  #jobs .p-mv__title--ja span {
    font-size: max(7.8125vw, 32px);
  }
}
#jobs .p-mv__title--en {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
  font-size: 3.4rem;
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 0.476rem;
  text-shadow: 0 0 15px #fff;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  #jobs .p-mv__title--en {
    font-size: max(4.4270833333vw, 22px);
    margin-bottom: 4.1666666667vw;
    letter-spacing: 0.6197916667vw;
  }
}
#jobs .p-mv__text {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 0.384rem;
  text-shadow: 0 0 15px #fff;
}
@media screen and (max-width: 767px) {
  #jobs .p-mv__text {
    font-size: max(3.125vw, 16px);
    letter-spacing: 0.5vw;
  }
}
#jobs .p-mv__cable {
  position: relative;
  width: min(100% - (100% - 120rem) / 2, 100% - 20px - 31.583px);
  height: 13px;
  background: var(--color-white);
  box-shadow: 0 0 15px #fff;
}
@media screen and (max-width: 520px) {
  #jobs .p-mv__cable {
    height: 9px;
  }
}
#jobs .p-mv__cable::after {
  content: "";
  width: 31.583px;
  height: 18px;
  background: url(/jp/jobs/assets/images/common/cable.svg) no-repeat center center/contain;
  position: absolute;
  right: -31.583px;
  top: 50%;
  transform: translateY(-50%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}
@media screen and (max-width: 520px) {
  #jobs .p-mv__cable::after {
    width: 21.0553312278px;
    height: 11.9999988px;
    right: -20.0553312278px;
  }
}
#jobs .p-mv__btn {
  max-width: min(120rem, 100% - 40px);
  margin: 0 auto;
  width: 100%;
  position: absolute;
  z-index: 2;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 520px) {
  #jobs .p-mv__btn {
    bottom: 10%;
  }
}
#jobs .p-mv__btnContainer {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-left: auto;
  gap: 3.2rem;
}
@media screen and (max-width: 767px) {
  #jobs .p-mv__btnContainer {
    margin: 0 auto;
  }
}
#jobs .p-mv__btnCompany {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: fit-content;
  font-weight: 500;
  color: var(--color-white);
  text-align: center;
}
#jobs .p-mv__btnCompany:after {
  content: "";
  display: block;
  width: 4.8rem;
  height: 1.4rem;
  background: url(/jp/jobs/assets/images/common/btn-arrow.svg) no-repeat center center/contain;
  margin-top: 1.6rem;
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}
#jobs .p-mv__btnEntry {
  display: none;
}
@media screen and (max-width: 1200px) {
  #jobs .p-mv__btnEntry {
    width: fit-content;
    display: block;
    color: var(--color-white);
    text-align: center;
    font-weight: 700;
    letter-spacing: 1.6px;
    background: var(--primary-color);
    padding: 0.9rem 3rem;
    border-radius: 999px;
  }
}
#jobs .p-topCt {
  position: relative;
  padding: var(--sec-padding);
}
#jobs .p-topCt .c-secTitle {
  position: absolute;
  z-index: 10;
}
#jobs .p-topCt__content a {
  display: block;
  max-width: 86.4rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #jobs .p-topCt__content a {
    height: 55rem;
  }
}
@media screen and (max-width: 520px) {
  #jobs .p-topCt__content a {
    height: 60dvh;
  }
}
#jobs .p-topCt__image {
  position: relative;
  border-radius: 999px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #jobs .p-topCt__image {
    height: 55rem;
    width: auto;
  }
}
@media screen and (max-width: 520px) {
  #jobs .p-topCt__image {
    height: 60dvh;
  }
}
#jobs .p-topCt__image img {
  filter: blur(5px);
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  #jobs .p-topCt__image img {
    object-fit: cover;
    height: 100%;
  }
}
#jobs .p-topCt__image::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 94, 168, 0.3);
}
#jobs .p-topCt__btn {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#jobs .p-topCt__content a:hover .p-topCt__image img {
  scale: 1.05;
  filter: blur(0);
}

#interview {
  position: relative;
}
#interview .p-topInterview__ship {
  position: absolute;
  z-index: -1;
  right: 5%;
  top: 0;
  max-width: 28rem;
  transform: translateY(-85%);
}
@media screen and (max-width: 520px) {
  #interview .p-topInterview__ship {
    max-width: 20rem;
  }
}

.p-topInterview {
  position: relative;
  pointer-events: none;
  overflow: hidden;
}
.p-topInterview::before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 2.4rem;
  top: 0;
  clip-path: url(#js-giftbgpath02);
  background: rgba(0, 78, 162, 0.4);
}
.p-topInterview::after {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: 100%;
  height: calc(100% - 2.4rem);
  bottom: 0;
  left: 0;
  background: rgba(0, 78, 162, 0.4);
}
.p-topInterview__bg::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(2.4rem 0 0 0);
  background: url(/jp/jobs/assets/images/top/top_interview-bg01.webp) no-repeat;
  background-size: cover;
  background-position: center;
  transition: background-image 0.3s ease;
}
.p-topInterview__bg div {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: url(/jp/jobs/assets/images/top/top_interview-bg01.webp) no-repeat;
  background-size: cover;
  background-position: center;
  clip-path: url(#js-giftbgpath);
  transition: background-image 0.3s ease;
}
.p-topInterview__bg.is-01 div {
  background: url(/jp/jobs/assets/images/top/top_interview-bg01.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-01 div {
    background-position: 68% 0%;
  }
}
.p-topInterview__bg.is-01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(2.4rem 0 0 0);
  background: url(/jp/jobs/assets/images/top/top_interview-bg01.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-01::after {
    background-position: 68% 0%;
  }
}
.p-topInterview__bg.is-02 div {
  background: url(/jp/jobs/assets/images/top/top_interview-bg02.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-02 div {
    background-position: 25% 0%;
  }
}
.p-topInterview__bg.is-02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(2.4rem 0 0 0);
  background: url(/jp/jobs/assets/images/top/top_interview-bg02.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-02::after {
    background-position: 25% 0%;
  }
}
.p-topInterview__bg.is-03 div {
  background: url(/jp/jobs/assets/images/top/top_interview-bg03.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-03 div {
    background-position: 75% 0%;
  }
}
.p-topInterview__bg.is-03::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(2.4rem 0 0 0);
  background: url(/jp/jobs/assets/images/top/top_interview-bg03.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-topInterview__bg.is-03::after {
    background-position: 75% 0%;
  }
}
.p-topInterview .js-wrapper {
  padding: var(--sec-padding);
}
.p-topInterview__container {
  max-width: min(120rem, 100% - 4rem);
  margin: 0 auto;
}
.p-topInterview__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6.3%;
}
@media screen and (max-width: 767px) {
  .p-topInterview__list {
    display: flex;
    justify-content: center;
    width: fit-content;
    gap: 6.4rem;
    padding: 0 20%;
  }
}
@media screen and (max-width: 520px) {
  .p-topInterview__list {
    padding: 0 10vw;
  }
}
.p-topInterview__listItem {
  pointer-events: auto;
}
.p-topInterview__listItem a {
  position: relative;
  display: block;
  border-radius: 999px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-topInterview__listItem a {
    min-width: 350px;
  }
}
@media screen and (max-width: 520px) {
  .p-topInterview__listItem a {
    min-width: 80vw;
  }
}
.p-topInterview__listItem a .p-in-image {
  filter: blur(5px);
  transition: all 0.3s ease;
}
.p-topInterview__listItem a .p-in-detail {
  visibility: hidden;
  opacity: 0;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  color: var(--color-white);
  text-align: center;
  font-weight: 500;
  padding: 1.8rem 0 4rem;
  background: rgba(0, 78, 162, 0.6980392157);
  transition: all 0.3s ease;
}
.p-topInterview__listItem a .p-in-detail h3 {
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.4rem;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.p-topInterview__listItem a .p-in-detail:after {
  content: "";
  display: grid;
  place-items: center;
  margin: 0 auto;
  width: 4.8rem;
  height: 1.4rem;
  background: url(/jp/jobs/assets/images/common/btn-arrow.svg) no-repeat center center/contain;
  margin-top: 1.6rem;
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(8%) hue-rotate(194deg) brightness(104%) contrast(103%);
}
.p-topInterview__listItem:nth-last-child(1) .p-in-detail {
  background: rgba(151, 71, 255, 0.5019607843);
}
.p-topInterview__listItem:hover .p-in-image {
  filter: blur(0);
  scale: 1.05;
}
.p-topInterview__listItem:hover .p-in-detail {
  opacity: 1;
  visibility: visible;
}
.p-topInterview__listItem.is-hover .p-in-image {
  filter: blur(0);
  scale: 1.05;
}
.p-topInterview__listItem.is-hover .p-in-detail {
  opacity: 1;
  visibility: visible;
}

.p-topRecruit {
  position: relative;
  padding: var(--sec-padding);
}
.p-topRecruit__image {
  max-width: 80%;
  margin: 0 auto;
  border-radius: 999px;
  overflow: hidden;
}
.p-topRecruit__btn {
  padding: 6.4rem 0;
  width: fit-content;
  margin: 0 auto;
}

.p-topWork {
  position: relative;
  background: url(/jp/jobs/assets/images/top/top_work.webp) no-repeat center center/cover;
  min-height: 70rem;
}
@media screen and (max-width: 767px) {
  .p-topWork {
    background: url(/jp/jobs/assets/images/top/top_work--tab.webp) no-repeat center center/cover;
  }
}
@media screen and (max-width: 520px) {
  .p-topWork {
    background: url(/jp/jobs/assets/images/top/top_work--sp.webp) no-repeat center center/cover;
  }
}
.p-topWork::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 11rem;
  background: url(/jp/jobs/assets/images/top/top_work-deco.svg) repeat-x;
}
.p-topWork .c-secTitle {
  top: 12.8rem;
  position: absolute;
}
.p-topWork__btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-topPamhlet {
  position: relative;
  margin-top: 3.2rem;
  min-height: 23rem;
  display: flex;
  align-items: end;
}
.p-topPamhlet__image {
  position: relative;
}
.p-topPamhlet__image .is-off {
  position: absolute;
  top: 0;
  left: 0;
}
.p-topPamhlet__btn {
  position: absolute;
  top: 5vw;
  left: 50%;
  transform: translateX(-50%);
}

.js-pageHeadSwiper {
  width: 100%;
  height: 100%;
}

.p-member__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.p-member__listItem {
  padding: 0 2rem;
  display: grid;
  place-items: center;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 1.4rem;
}
.p-member__listItem.swiper-slide {
  display: grid;
  grid-template-rows: auto;
}
.p-member__image {
  max-width: 22rem;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1;
}
.p-member__group {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-white);
  background: var(--primary-color);
  width: fit-content;
  padding: 0.2rem 1.4rem;
}
.p-member__name {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.p-member__name .-ja {
  font-size: 2.4rem;
}
.p-member__name.-en {
  font-size: 1.6rem;
}
.p-member__major {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary-color);
  text-align: center;
}
.p-member__text {
  padding: 3.2rem;
  background: #f2f2f7;
  height: 100%;
}

.bg-blue .p-talk__title {
  color: var(--primary-color);
  background: var(--color-white);
}

.p-talk__title {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-white);
  background: var(--primary-color);
  padding: 0.8rem 3.2rem;
  text-align: center;
  width: fit-content;
  margin: 0 auto 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-talk__title {
    font-size: 1.6rem;
    padding: 0.8rem 2rem;
  }
}
.p-talk__container {
  display: grid;
  gap: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-talk__container {
    gap: 1.6rem;
  }
}
.p-talk__box {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-talk__box {
    display: grid;
    grid-template-columns: 8rem 1fr;
    gap: 0.8rem 1.6rem;
  }
  .p-talk__box .p-talk__boxImage {
    grid-area: 1/1/2/2;
  }
  .p-talk__box .-name {
    grid-area: 1/2/2/3;
    align-self: end;
  }
  .p-talk__box .-text {
    grid-area: 2/1/3/3;
  }
}
.p-talk__boxImage {
  border-radius: 999px;
  overflow: hidden;
  aspect-ratio: 1;
  max-width: 10rem;
}
@media screen and (max-width: 767px) {
  .p-talk__boxImage {
    max-width: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-talk__boxDetail {
    display: contents;
  }
}
.p-talk__boxDetail .-name {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 0.8rem;
}
.p-talk__boxDetail .-text {
  font-weight: 500;
}

.p-career__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-career__list {
    gap: 0rem;
  }
}
.p-career__listItem {
  display: grid;
  place-items: left;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 1.4rem;
}
.p-career__listItem.swiper-slide {
  display: grid;
  grid-template-rows: auto;
}
.p-career__image {
  max-width: 28rem;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
}
.p-career__year {
  font-size: 2.4rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: left;
}
.p-career__title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary-color);
  min-width: 2.8rem;
}
.p-career__text {
  height: 100%;
  line-height: 2;
  font-weight: 500;
}

.p-interview {
  width: 100vw;
  overflow: hidden;
}
.p-interview__container {
  padding: 6rem 0;
}
.p-interview__container:nth-of-type(2n) .p-interview__content {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__content {
    flex-direction: column;
  }
}
.p-interview__container:nth-of-type(2n) .p-interview__contentImage {
  margin-right: 5%;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__contentImage .-spGrid {
    grid-area: 1/1/2/3;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__num {
    grid-area: 1/3/2/4;
    place-self: end center;
  }
}
.p-interview__container:nth-of-type(2n) .p-interview__title {
  width: fit-content;
}
@media screen and (max-width: 1200px) {
  .p-interview__container:nth-of-type(2n) .p-interview__title {
    width: 100%;
  }
}
.p-interview__container:nth-of-type(2n) .p-interview__title .-cable.js-interviewCable {
  transform: translate(200%, -50%);
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__title .-cable.js-interviewCable {
    transform: translate(-200%, -50%);
  }
}
.p-interview__container:nth-of-type(2n) .p-interview__title .-cable {
  position: absolute;
  left: auto;
  right: 0;
  top: 50%;
  width: 40vw;
  max-width: none;
  transform: translate(100%, -50%);
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  transition: all 1s ease;
}
@media screen and (max-width: 1200px) {
  .p-interview__container:nth-of-type(2n) .p-interview__title .-cable {
    position: relative;
    transform: translate(2rem, 0);
    max-width: 100%;
    width: 100%;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__title .-cable {
    transform: translate(-2rem, 0);
    flex-direction: row;
  }
}
.p-interview__container:nth-of-type(2n) .p-interview__title .-cable::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.3rem;
  background: var(--primary-color);
  flex: 1;
}
.p-interview__container:nth-of-type(2n) .p-interview__title .-cable::after {
  content: "";
  display: block;
  width: 3.1583rem;
  height: 1.8rem;
  background: url(/jp/jobs/assets/images/common/cable.svg) no-repeat center center/contain;
  transform: translateX(1px) rotate(180deg);
}
@media screen and (max-width: 767px) {
  .p-interview__container:nth-of-type(2n) .p-interview__title .-cable::after {
    transform: translateX(-1px) rotate(0);
  }
}
.p-interview__content {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-interview__content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
.p-interview__contentDetail {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .p-interview__contentDetail {
    width: 100%;
    display: contents;
  }
}
.p-interview__contentImage {
  width: 40%;
  margin-left: 5%;
}
@media screen and (max-width: 767px) {
  .p-interview__contentImage {
    width: 100%;
    margin: 0;
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__contentImage .-spGrid {
    grid-area: 1/2/2/4;
  }
}
.p-interview__num {
  font-size: 6.4rem;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  .p-interview__num {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__num {
    font-size: 6.4rem;
    grid-area: 1/1/2/2;
    place-self: end center;
  }
}
@media screen and (max-width: 520px) {
  .p-interview__num {
    font-size: 4.8rem;
  }
}
.p-interview__title {
  position: relative;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  .p-interview__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__title {
    text-align: center;
    grid-area: 2/1/3/4;
    margin: 0;
  }
}
.p-interview__title .-cable.js-interviewCable {
  transform: translate(-200%, -50%);
}
.p-interview__title .-cable {
  position: absolute;
  left: 0;
  top: 50%;
  max-width: calc((100vw - 120rem) / 2);
  transform: translate(-100%, -50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 1s ease;
}
@media screen and (max-width: 1200px) {
  .p-interview__title .-cable {
    position: relative;
    transform: translate(-2rem, 0);
    max-width: 100%;
    top: 0;
    left: 0;
  }
}
.p-interview__title .-cable::before {
  content: "";
  display: block;
  width: 100%;
  height: 1.3rem;
  background: var(--primary-color);
  flex: 1;
}
.p-interview__title .-cable::after {
  content: "";
  display: block;
  width: 3.1583rem;
  height: 1.8rem;
  background: url(/jp/jobs/assets/images/common/cable.svg) no-repeat center center/contain;
  transform: translateX(-1px);
}
.p-interview__text {
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-interview__text {
    grid-area: 3/1/4/4;
  }
}

.p-message__container {
  max-width: 100rem;
  margin: 0 auto;
}
.p-message__title h3 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 2.4rem;
  letter-spacing: 0.42rem;
  color: var(--color-white);
  background-color: var(--primary-color);
  width: fit-content;
  text-align: center;
  padding: 2rem 6rem;
}
@media screen and (max-width: 1200px) {
  .p-message__title h3 {
    font-size: 2rem;
  }
}
.p-message__box {
  display: flex;
  align-items: center;
  padding: 2.4rem 3.2rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-message__box {
    display: contents;
  }
}
.p-message__boxText {
  width: 75%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 2.4px;
  padding: 1rem 0;
}
.p-message__boxText strong {
  color: var(--primary-color);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 3.6px;
  display: block;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 1200px) {
  .p-message__boxText strong {
    font-size: 2rem;
  }
}
.p-message__boxImage {
  width: 25%;
  margin-left: 5%;
}
@media screen and (max-width: 767px) {
  .p-message .l-inner {
    display: contents;
  }
  .p-message__content {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .p-message__boxImage {
    width: 60%;
    margin: 0 auto;
    order: 1;
  }
  .p-message__title {
    margin: 0 auto;
    order: 2;
  }
  .p-message__boxText {
    width: 100%;
    order: 3;
    background: var(--color-white);
    padding: 2rem;
  }
  .p-message__boxText strong {
    font-size: 1.6rem;
    text-align: center;
  }
}
@media screen and (max-width: 520px) {
  .p-message__title h3 {
    padding: 2rem;
  }
}

.p-work__container {
  display: grid;
  margin: 6.4rem auto;
}
.p-work__content {
  width: 100%;
  max-width: 950px;
  margin: 3.2rem auto;
}
.p-work__title {
  width: 100%;
  position: relative;
  z-index: 1;
}
.p-work__title::after {
  content: "";
  width: 100%;
  height: 50%;
  background-color: #fff;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.p-work__title h3 {
  color: var(--white, #fff);
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.36rem;
  line-height: 1;
  background-color: var(--primary-color);
  width: fit-content;
  padding: 1.6rem 2.8rem;
}
@media screen and (max-width: 520px) {
  .p-work__title h3 {
    font-size: 1.6rem;
  }
}
.p-work__table {
  width: 100%;
  background-color: #fff;
  padding: 2.8rem;
}
@media screen and (max-width: 520px) {
  .p-work__table {
    padding: 1rem;
  }
}
.p-work__table table {
  display: table;
  width: 100%;
}
.p-work__table tr {
  width: 100%;
}
@media screen and (max-width: 520px) {
  .p-work__table tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #d1d1d6;
  }
}
.p-work__table tr:last-child th,
.p-work__table tr:last-child td {
  border: none;
}
@media screen and (max-width: 520px) {
  .p-work__table tr:last-child {
    border: none;
  }
}
.p-work__table th {
  color: var(--primary-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 28px; /* 140% */
  letter-spacing: 3px;
  padding: 2.6rem 1rem;
  width: 25rem;
  border-bottom: 1px solid #d1d1d6;
}
@media screen and (max-width: 520px) {
  .p-work__table th {
    font-size: 1.6rem;
    padding: 0.8rem;
    border: none;
  }
}
.p-work__table td {
  font-size: 16px;
  font-weight: 500;
  line-height: 28px; /* 175% */
  letter-spacing: 2.4px;
  padding: 2.6rem 1rem;
  border-bottom: 1px solid #d1d1d6;
}
@media screen and (max-width: 520px) {
  .p-work__table td {
    font-size: 1.4rem;
    padding: 0.8rem;
    border: none;
  }
}
.p-work__table td .-fuyo {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.p-work__table td .-syokudo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.2rem;
}
@media screen and (max-width: 520px) {
  .p-work__table td .-syokudo {
    flex-direction: column;
    align-items: start;
    gap: 1em;
  }
}
.p-work__table td .-syokudo img {
  width: 100%;
  max-width: 224px;
  aspect-ratio: 112/75;
}
.p-work__table p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 28px; /* 175% */
  letter-spacing: 2.4px;
}
@media screen and (max-width: 520px) {
  .p-work__table p {
    font-size: 1.4rem;
  }
}
.p-work__table span {
  color: var(--primary-color);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 2.4px;
}
.p-work__table .p-in-flex {
  display: flex;
  gap: 1em;
}
.p-work__table dl div {
  display: flex;
  gap: 0 1em;
  flex-wrap: wrap;
}
.p-work__table dl div dt {
  min-width: 6em;
  font-weight: 500;
}

.p-recruit__container {
  display: grid;
  margin: 6.4rem auto;
}
.p-recruit__content {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
}
.p-recruit__table {
  width: 100%;
  background-color: #fff;
  padding: 2.8rem;
}
@media screen and (max-width: 520px) {
  .p-recruit__table {
    padding: 1rem;
  }
}
.p-recruit__table table {
  display: table;
  width: 100%;
}
.p-recruit__table tr {
  width: 100%;
}
@media screen and (max-width: 520px) {
  .p-recruit__table tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #d1d1d6;
  }
}
.p-recruit__table tr:last-child th,
.p-recruit__table tr:last-child td {
  border: none;
}
@media screen and (max-width: 520px) {
  .p-recruit__table tr:last-child {
    border: none;
  }
}
.p-recruit__table th {
  color: var(--primary-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 28px; /* 140% */
  letter-spacing: 3px;
  padding: 2.6rem 1rem;
  width: 25rem;
  border-bottom: 1px solid #d1d1d6;
}
@media screen and (max-width: 520px) {
  .p-recruit__table th {
    font-size: 1.6rem;
    padding: 0.8rem;
    border: none;
  }
}
.p-recruit__table td {
  font-size: 16px;
  font-weight: 500;
  line-height: 28px; /* 175% */
  letter-spacing: 2.4px;
  padding: 2.6rem 1rem;
  border-bottom: 1px solid #d1d1d6;
}
@media screen and (max-width: 520px) {
  .p-recruit__table td {
    font-size: 1.4rem;
    padding: 0.8rem;
    border: none;
  }
}
.p-recruit__table td .-fuyo {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.p-recruit__table td .-syokudo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.2rem;
}
@media screen and (max-width: 520px) {
  .p-recruit__table td .-syokudo {
    flex-direction: column;
    align-items: start;
    gap: 1em;
  }
}
.p-recruit__table td .-syokudo img {
  width: 100%;
  max-width: 224px;
  aspect-ratio: 112/75;
}
.p-recruit__table p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 28px; /* 175% */
  letter-spacing: 2.4px;
  margin-bottom: 1em;
}
.p-recruit__table p:nth-last-of-type(1) {
  margin-bottom: 0;
}
@media screen and (max-width: 520px) {
  .p-recruit__table p {
    font-size: 1.4rem;
  }
}
.p-recruit__table span {
  color: var(--primary-color);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 2.4px;
}
.p-recruit__table .p-in-flex {
  display: flex;
  gap: 1em;
}
.p-recruit__table dl div {
  display: flex;
  gap: 0 1em;
  flex-wrap: wrap;
}
.p-recruit__table dl div dt {
  min-width: 10em;
  font-weight: 500;
}
.p-recruit__table ul li {
  list-style-type: disc;
  list-style-position: inside;
}

.u-green {
  color: var(--primary-color);
}

.u-white {
  color: var(--color-white);
}

.u-red {
  color: var(--color-red);
}

.u-pb--0 {
  padding-bottom: 0;
}

.u-border {
  border-bottom: 1px solid var(--primary-color);
}

.u-btn-col {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 520px) {
  .u-btn-col {
    flex-direction: column;
    gap: 3.2rem;
  }
}