/* レイアウト共通（ヘッダーの中で使用） */
.l-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  height: inherit;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    max-width: 632px;
    padding: 0 1rem;
  }
}

/* ボタン（ヘッダーボタン・ドロワーボタンで使用） */
.c-btn__color {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 999px;
  background: #3aa2ff;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  padding-block: 0.75rem;
  padding-inline: 1.75rem;
  position: relative;
  overflow: hidden;
}
.c-btn__color span {
  color: #ffffff;
  font-size: max(1.125rem, 14.4px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-btn__color span {
    font-size: 1.125rem;
  }
}
.c-btn__color svg {
  width: 2rem;
  height: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  position: relative;
  z-index: 1;
}
.c-btn__color::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: #005bac;
  scale: 0 1;
  -webkit-transform-origin: right center;
  transform-origin: right center;
  -webkit-transition: scale 0.2s ease;
  transition: scale 0.2s ease;
}
@media (any-hover: hover) {
  .c-btn__color:hover {
    cursor: pointer;
  }
  .c-btn__color:hover::before {
    scale: 1 1;
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transition: scale 0.4s ease;
    transition: scale 0.4s ease;
  }
}

/* 見出し（ドロップダウン内） */
.c-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.c-title__en {
  color: #3aa2ff;
  font-family: "Poppins", sans-serif;
  font-size: 3rem;
  font-style: normal;
  font-weight: 600;
  line-height: 133%;
  letter-spacing: 2.88px;
  -webkit-padding-after: 0.25rem;
  padding-block-end: 0.25rem;
}
.c-title__en.--white {
  color: #ffffff;
}
.c-title__en.--center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-size: 2rem;
    font-weight: 600;
    line-height: 132%;
    letter-spacing: 1.92px;
  }
}

.c-title__jp {
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 2.16px;
}
.c-title__jp.--white {
  color: #ffffff;
}
.c-title__jp.--center {
  text-align: center;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-title__jp {
    font-size: 0.875rem;
    letter-spacing: 1.68px;
  }
}

/* ヘッダー本体 */
.p-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding-inline: 3.75rem;
  background: #ffffff;
  height: 6rem;
  -webkit-transition: translate 0.5s ease;
  transition: translate 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-header {
    height: 4rem;
    padding-inline: 1rem;
  }
}

.p-header__inner {
  display: grid;
  grid-template-columns: 20.625rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: 1rem;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    grid-template-columns: 13.75rem 1fr;
    padding-block: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__inner.--faq {
    grid-template-columns: 1fr;
    padding-block: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__inner.--faq .p-header__logo {
    margin-inline: auto;
  }
}

.p-header__logo {
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
  width: min(20.625rem, 100%);
  height: auto;
  aspect-ratio: 330/60;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 13.75rem;
    height: auto;
    aspect-ratio: 220/40;
  }
}

.p-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  position: relative;
}
@media (max-width: 1349px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.p-header__list {
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
  font-size: max(1rem, 12.8px);
  font-weight: 400;
  line-height: 1.97;
  letter-spacing: 0.12em;
  padding-inline: 0.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-header__list {
    font-size: 1rem;
  }
}
.p-header__list::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #3aa2ff;
  scale: 0;
  -webkit-transform-origin: right center;
  transform-origin: right center;
  -webkit-transition: scale 0.4s ease;
  transition: scale 0.4s ease;
}
@media (any-hover: hover) {
  .p-header__list:hover .p-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .p-header__list:hover::after {
    scale: 1;
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

/* ヘッダーボタン（エントリー） */
.p-header__btn {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 999px;
  background: #3aa2ff;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  padding-block: 0.75rem;
  padding-inline: 1.75rem;
}
.p-header__btn span {
  color: #ffffff;
  font-size: max(1.125rem, 14.4px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-header__btn span {
    font-size: 1.125rem;
  }
}
.p-header__btn svg {
  width: 2rem;
  height: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

/* グローバルナビのドロップダウン */
.p-dropdown {
  margin-top: 26px;
  width: 100vw;
  position: fixed;
  top: 5.9375rem;
  left: 0;
  background: #f8f8f8;
  padding-block: 3.5rem;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease,
    -webkit-transform 0.3s ease;
  -webkit-transform: translateY(-40px);
  transform: translateY(-40px);
}
@media (any-hover: hover) {
  .p-dropdown:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.p-dropdown::before {
  content: "";
  position: absolute;
  top: -2.5rem;
  left: 0;
  width: 100%;
  height: 2.5rem;
  background: transparent;
}

.p-dropdown__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3.5rem;
  -moz-column-gap: 3.5rem;
  column-gap: 3.5rem;
}

.p-dropdown__lists--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
}

.p-dropdown__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.5rem;
}

.p-dropdown__list {
  border-bottom: 1px solid #b0b8bf;
  color: #6a6e73;
  padding-block: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 12.5rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: color 0.3s ease, border-bottom 0.3s ease;
  transition: color 0.3s ease, border-bottom 0.3s ease;
}
.p-dropdown__list.--long {
  width: 16.5625rem;
}
.p-dropdown__list span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 197%;
  letter-spacing: 1.92px;
}
.p-dropdown__list svg {
  width: 1.5rem;
  height: 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  stroke: #6a6e73;
  -webkit-transition: stroke 0.3s ease;
  transition: stroke 0.3s ease;
}
@media (any-hover: hover) {
  .p-dropdown__list:hover {
    color: #3aa2ff;
    border-bottom: 1px solid #3aa2ff;
  }
  .p-dropdown__list:hover svg {
    stroke: #3aa2ff;
  }
}

/* ドロワーメニュー（ハンバーガー） */
.p-drawer__icon {
  position: fixed;
  z-index: 102;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #3aa2ff;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  top: 0.5rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
}
.p-drawer__icon.js-show {
  background: transparent;
}
@media (min-width: 1350px) {
  .p-drawer__icon {
    display: none;
  }
}

.p-drawer__icon--bars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  row-gap: 0.4375rem;
}

.p-drawer__icon--bar {
  width: 1.75rem;
  height: 0.0625rem;
  background: #ffffff;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.p-drawer__icon--bar:nth-of-type(3) {
  width: 1rem;
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(1) {
  rotate: 45deg;
  translate: 0 0.3375rem;
  background: #3aa2ff;
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(2) {
  display: none;
}
.p-drawer__icon.js-show .p-drawer__icon--bar:nth-of-type(3) {
  rotate: -45deg;
  translate: 0 -0.1875rem;
  width: 1.75rem;
  background: #3aa2ff;
}

/* ドロワー本体 */
.p-drawer {
  position: fixed;
  z-index: 101;
  overflow-y: scroll;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: #f8f8f8;
}

.p-drawer__icon--bar {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.p-drawer {
  translate: 101%;
  -webkit-transition: translate 0.5s ease;
  transition: translate 0.5s ease;
}
.p-drawer.js-show {
  translate: 0;
}

.p-drawer__body {
  position: relative;
  width: 100%;
  height: inherit;
  padding-block: 4rem 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: min(33.5rem, 100%);
  padding-inline: 1.125rem;
  margin-inline: auto;
}

.p-drawer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.5rem;
  width: 100%;
}

/* details / summary（ドロワーのアコーディオン） */
@media (any-hover: hover) {
  details:hover {
    cursor: pointer;
  }
}

summary {
  display: block;
}
summary::-webkit-details-marker {
  display: none;
}

/* 各セクションタイトル（募集職種 / 人を知る など） */
.p-drawer__title {
  position: relative;
  padding-block: 1rem;
  border-bottom: 1px solid #b0b8bf;
}
.p-drawer__title::before,
.p-drawer__title::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: #3aa2ff;
}
.p-drawer__title::before {
  width: 1rem;
  height: 0.1875rem;
  right: 2rem;
}
.p-drawer__title::after {
  width: 0.1875rem;
  height: 1rem;
  right: 2.4375rem;
  -webkit-transition: rotate 0.3s ease;
  transition: rotate 0.3s ease;
}

.p-drawer__title--text {
  padding-inline: 1rem 3.125rem;
  font-size: max(1rem, 12.8px);
  font-weight: 700;
  line-height: 1.97;
  letter-spacing: 0.12em;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-drawer__title--text {
    font-size: 1rem;
  }
}

/* details 要素が開いたときの＋→×アニメーション */
.is-opened .p-drawer__title::after {
  rotate: 90deg;
}

/* ドロワー内のリンクリスト */
.p-drawer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.5rem;
  -webkit-padding-before: 1rem;
  padding-block-start: 1rem;
}

.p-drawer__list--text {
  font-size: max(0.875rem, 11.2px);
  font-weight: 400;
  line-height: 1.73;
  letter-spacing: 0.12em;
  padding-inline: 1rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__list--text {
    font-size: 0.875rem;
  }
}

/* ドロワーのフッターリンク部分 */
.p-drawer__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1rem;
  margin-block: 1.5rem 2.5rem;
}

.p-drawer__text {
  padding-inline: 1rem;
  font-size: max(1rem, 12.8px);
  font-weight: 400;
  line-height: 1.97;
  letter-spacing: 0.12em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-drawer__text {
    font-size: 1rem;
  }
}
.p-drawer__text svg {
  width: 20px;
  height: 18px;
  aspect-ratio: 10/9;
}

/* ドロワーのエントリーボタン */
.p-drawer__btn {
  margin-inline: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* ドロワー右下の背景画像（※HTMLには未使用なら削ってOK） */
.p-drawer__bg {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 11.0625rem;
  height: auto;
  z-index: -1;
}
.p-drawer__bg img {
  width: 100%;
  height: 100%;
}

/* アコーディオン中身の開閉アニメーション */
.js-content {
  -webkit-transition: height 0.4s ease, opacity 0.4s ease;
  transition: height 0.4s ease, opacity 0.4s ease;
}

/* 少し下に下げる */

.p-fv{
    margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .p-fv{
    margin-top: 60px;
}
  }

/* ボタン用追加 */


.p-job__banners {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  flex-direction: column;
  row-gap: 0.5rem;
}
.p-job__banner {
  width: auto;
  height: 56px;
  aspect-ratio: 544/136;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-job__banner img {
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
}

@media screen and (max-width: 767px) {
  .p-job__banners {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 1rem;
  }

  .p-job__banner {
  width: 100%;
  height: auto;
  aspect-ratio: 544/136;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
}


@media (any-hover: hover) {
  .p-job__banner:hover {
    opacity: 0.8;
  }
}
