:root {
  --schedule-head-width: 8rem;
  --schedule-body-width: 34.3rem;
  --schedule-gutter-block: 2rem;
  --schedule-position-top: var(--header-height);
}
@media (width <= 768px) {
  :root {
    --schedule-head-width: 5.6rem;
    --schedule-body-width: 30.4rem;
  }
}
@media (width > 768px) {
  :root:has(.l-side-buttons) {
    --schedule-position-top: 30.8rem;
  }
}

.p-schedule {
  width: fit-content;
  display: flex;
  align-items: flex-start;
}
.p-schedule h3 {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-inline: 3.2rem 2rem;
  background-color: var(--color-blue);
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: var(--schedule-head-width);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  cursor: pointer;
}
@media (width <= 768px) {
  .p-schedule h3 {
    gap: 1.2rem;
    padding-inline: 3rem 1.6rem;
    font-size: 1.6rem;
  }
}
.p-schedule h3 .icon {
  width: 2rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: currentColor;
  mask: url(/assets/img/icn_arrow_01_r.svg) no-repeat center/100%;
  rotate: y 180deg;
}
@media (width <= 768px) {
  .p-schedule h3 .icon {
    width: 1.6rem;
  }
}
.p-schedule__body {
  padding: 2rem;
  width: var(--schedule-body-width);
  max-height: calc(100dvh - var(--schedule-position-top) - var(--schedule-gutter-block) * 2);
  overflow: scroll;
  border: 0.1rem solid var(--color-blue);
  background-color: #fff;
  color: var(--color-blue);
  scrollbar-width: none;
}
.p-schedule__list {
  padding-block: 2rem;
  padding-inline: 2rem;
}
@media (width <= 768px) {
  .p-schedule__list {
    padding-inline: 0.5rem;
  }
}
.p-schedule__list .item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-inline-start: 3.8rem;
}
.p-schedule__list .item:not(:last-child) {
  padding-block-end: 4.5rem;
}
@media (width <= 768px) {
  .p-schedule__list .item:not(:last-child) {
    padding-block-end: 4.2rem;
  }
}
.p-schedule__list .item::before {
  display: block;
  content: "";
  position: absolute;
  inset-block: 0;
  left: 1.1rem;
  background-color: currentColor;
  width: 0.1rem;
}
.p-schedule__list .time {
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.p-schedule__list .time::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: calc((1lh - 2.2rem) / 2);
  aspect-ratio: 1/1;
  background-color: currentColor;
  width: 2.2rem;
}
.p-schedule__list .text {
  font-size: 1.8rem;
  line-height: var(--line-height-narrow);
}
@media (width <= 768px) {
  .p-schedule__list .text {
    font-size: 1.6rem;
  }
}
.p-schedule__close {
  transition: opacity 0.3s ease;
}
.p-schedule__close:active, .p-schedule__close:hover {
  opacity: 0.7;
}
.p-schedule__close {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-start: 1.5rem;
  height: 6rem;
  width: 100%;
  border: 0.1rem solid currentColor;
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 400;
  text-align: center;
}
.p-schedule__close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 3rem;
  translate: 0 -50%;
  aspect-ratio: 1/1;
  width: 1.8rem;
  mask: url(/assets/img/icn_arrow_01_b.svg) no-repeat center/100%;
  background-color: currentColor;
  rotate: 180deg;
}
@media (width <= 768px) {
  .p-schedule__close::after {
    right: 1.5rem;
  }
}
.p-interview-schedule.--active .p-schedule h3 .icon {
  rotate: y 0deg;
}

.p-interview-kv {
  max-width: 1366px;
  margin-inline: auto;
}
@media (width > 768px) {
  .p-interview-kv {
    display: grid;
    margin-block-end: 3rem;
    text-shadow: 0 0 1rem color-mix(in srgb, var(--color-blue) 30%, transparent);
  }
  .p-interview-kv > * {
    grid-area: 1/1/-1/-1;
  }
}
@media (width <= 768px) {
  .p-interview-kv {
    padding-block-end: 1rem;
  }
}
.p-interview-kv .image {
  position: relative;
}
@media (width > 768px) {
  .p-interview-kv .image::after {
    display: block;
    content: "";
    position: absolute;
    inset-block: 0;
    left: 0;
    width: 72rem;
    background-color: var(--color-blue);
    opacity: 0.2;
    pointer-events: none;
  }
}
@media (width > 768px) {
  .p-interview-kv .image img {
    object-fit: cover;
    height: 100%;
  }
}
@media (width <= 768px) {
  .p-interview-kv .image.--sp-clip {
    overflow: hidden;
  }
  .p-interview-kv .image.--sp-clip img {
    aspect-ratio: 375/270;
    object-fit: cover;
    object-position: var(--clip-position, 115% 50%);
    scale: 1.7;
    transform-origin: 50% 0%;
  }
}
.p-interview-kv .inner {
  position: relative;
}
@media (width > 768px) {
  .p-interview-kv .inner {
    align-self: flex-end;
    padding-block: 3.6rem;
    color: #fff;
  }
}
@media (width <= 768px) {
  .p-interview-kv .inner {
    margin-block-start: 2rem;
    color: var(--color-blue);
  }
}
.p-interview-kv .inner h1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  margin-block-end: 1rem;
}
@media (width <= 768px) {
  .p-interview-kv .inner h1 {
    gap: 2.5rem;
    margin-block-end: 0.8rem;
  }
}
.p-interview-kv .inner h1 .number {
  position: relative;
  background-color: var(--color-blue);
  box-shadow: 0 0 0 10rem var(--color-blue);
  clip-path: inset(0 -5.8rem);
  color: #fff;
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 400;
  line-height: 5.4rem;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-interview-kv .inner h1 .number {
    clip-path: inset(0 0 0 -1.5rem);
    font-size: 1.6rem;
    line-height: 4rem;
    padding-inline: 2rem;
  }
}
.p-interview-kv .inner h1 .number::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -4.5rem;
  aspect-ratio: 1/1;
  width: 3rem;
  background-color: currentColor;
  mask: url(/assets/img/icn_arrow_01_b.svg) no-repeat center/100%;
  rotate: 90deg;
  translate: 0 -50%;
}
@media (width <= 768px) {
  .p-interview-kv .inner h1 .number::before {
    left: -1rem;
    width: 2rem;
  }
}
.p-interview-kv .inner h1 .department {
  font-size: 3rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-interview-kv .inner h1 .department {
    font-size: 1.6rem;
  }
}
.p-interview-kv .inner h1:not(:has(.department)) {
  margin-block-end: 1.5rem;
}
@media (width <= 768px) {
  .p-interview-kv .inner h1:not(:has(.department)) {
    margin-block-end: 2.5rem;
  }
}
.p-interview-kv .inner h2 {
  margin-block-end: 1.5rem;
  font-feature-settings: "halt";
  font-size: 4.3rem;
  font-weight: 700;
  line-height: var(--line-height-narrow);
}
@media (width <= 768px) {
  .p-interview-kv .inner h2 {
    margin-block-end: 0.6rem;
    font-size: 2.4rem;
  }
}
.p-interview-kv .inner h2.--nowrap {
  white-space: nowrap;
}
.p-interview-kv .inner dl {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  line-height: var(--line-height-narrow);
}
@media (width <= 768px) {
  .p-interview-kv .inner dl {
    gap: 0.5rem;
    color: var(--base-font-color);
  }
}
.p-interview-kv .inner dl dt {
  font-size: 3rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .p-interview-kv .inner dl dt {
    font-size: 2.4rem;
  }
}
.p-interview-kv .inner dl dd {
  font-size: 2rem;
}
@media (width <= 768px) {
  .p-interview-kv .inner dl dd {
    font-size: 1.2rem;
  }
}
.p-interview-contents {
  display: grid;
}
.p-interview-contents > * {
  grid-area: 1/1/-1/-1;
  min-width: 0;
}
.p-interview-schedule {
  position: sticky;
  z-index: 5;
  top: calc(var(--schedule-position-top) + var(--schedule-gutter-block));
  align-self: start;
  justify-self: end;
  margin-block: 5rem;
  translate: calc((100dvw - 100cqi - var(--scrollbar-width, 0px)) / 2 + var(--schedule-body-width)) 0;
  transition: translate 0.3s ease, opacity 0.1s ease;
}
@media (width > 768px) {
  .p-interview-schedule.--fade-out {
    opacity: 0;
    pointer-events: none;
  }
}
.p-interview-schedule.--active {
  translate: calc((100dvw - 100cqi - var(--scrollbar-width, 0px)) / 2) 0;
}
.p-interview-row {
  display: grid;
  padding-block: 5rem;
  gap: 4.8rem;
}
@media (width > 768px) {
  .p-interview-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-interview-row:nth-of-type(2n) {
  background-color: #ebebfa;
  box-shadow: 0 0 0 50vw #ebebfa;
  clip-path: inset(0 -10.7rem);
}
@media (width > 768px) {
  .p-interview-row:has(.p-interview-figure) {
    align-items: center;
  }
}
@media (width <= 768px) {
  .p-interview-section {
    padding-inline-end: 3rem;
  }
}
.p-interview-section h2 {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  margin-block-end: 1rem;
  color: var(--color-blue);
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-interview-section h2 {
    margin-block-end: 1.2rem;
  }
}
.p-interview-section h2 .number {
  font-size: 3em;
  line-height: 0.8em;
}
.p-interview-section h2 .sub {
  line-height: var(--line-height-x-narrow);
}
.p-interview-section h3 {
  margin-block-end: 0.8rem;
  color: var(--color-blue);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: var(--line-height-narrow);
}
@media (width <= 768px) {
  .p-interview-section h3 {
    margin-block-end: 2.5rem;
  }
}
.p-interview-section p {
  line-height: var(--line-height-wide);
  font-size: 1.8rem;
}
@media (width <= 768px) {
  .p-interview-section p {
    font-size: 1.6rem;
  }
}
@media (width <= 768px) {
  .p-interview-figure {
    margin-block: 1rem;
    margin-inline: -1.5rem;
  }
}
.p-interview-figure img {
  border-radius: var(--base-border-radius);
}
.p-interview-end {
  text-align: center;
}
@media (width > 768px) {
  .p-interview-end {
    grid-column: 1/-1;
  }
}
@media (width <= 768px) {
  .p-interview-end {
    margin-inline: -1.5rem;
  }
}
.p-interview-end img {
  border-radius: var(--base-border-radius);
}
@media (width <= 768px) {
  .p-interview-end.--sp-clip img {
    aspect-ratio: 345/210;
    object-fit: cover;
    object-position: var(--clip-position, 50% 50%);
  }
}
.p-interview-navi {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding-block: 7.6rem;
}
@media (width <= 768px) {
  .p-interview-navi {
    justify-content: space-between;
    padding-block: 5.2rem;
  }
}
.p-interview-navi a {
  transition: opacity 0.3s ease;
}
.p-interview-navi a:active, .p-interview-navi a:hover {
  opacity: 0.7;
}
.p-interview-navi a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}
.p-interview-navi a .icon {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  width: 7.8rem;
}
@media (width <= 768px) {
  .p-interview-navi a .icon {
    width: 4.7rem;
  }
}
.p-interview-navi a .icon::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
}
.p-interview-navi a .label {
  color: var(--color-blue);
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
@media (width <= 768px) {
  .p-interview-navi a .label {
    font-size: 1.6rem;
  }
}
.p-interview-navi a.index .icon::before {
  mask: url(/assets/img/icn_index.svg) no-repeat center/90%;
  background-color: var(--color-blue);
}
@media (width <= 768px) {
  .p-interview-navi a.index .icon::before {
    mask-size: 115%;
  }
}
.p-interview-navi a.prev .icon, .p-interview-navi a.next .icon {
  border-radius: 50%;
  background-color: var(--color-blue);
  color: #fff;
}
.p-interview-navi a.prev .icon::before, .p-interview-navi a.next .icon::before {
  mask: no-repeat center/50%;
  background-color: currentColor;
}
.p-interview-navi a.prev .icon::before {
  mask-image: url(/assets/img/icn_arrow_02_l.svg);
}
.p-interview-navi a.next .icon::before {
  mask-image: url(/assets/img/icn_arrow_02_r.svg);
}/*# sourceMappingURL=interview.css.map */