@charset "UTF-8";
/** single-recruit_job.phpにおけるスタイルは最後に記載 **/

/* main */
/* ===== Util / Components ===== */
.c-section-title {
  text-align: center;
}

.c-section-title-en {
  display: block;
  margin-bottom: 40px;
}

.c-section-title-ja {
  margin-bottom: 80px;
  /* 36px 〜 50px : 768px 〜 1920px */
  font-size: clamp(36px, 26.67px + 1.215vw, 50px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  color: #333;
}

/* 同一画像を2枚横並べにし、translateX(-50% - gap/2) でシームレスにループ */
.c-img-loop {
  overflow: hidden;
  width: 100%;
}

.c-img-loop__track {
  display: flex;
  column-gap: 20px;
  width: max-content;
  animation: c-img-loop-marquee 55s linear infinite;
  will-change: transform;
}
.c-img-loop__track > * {
  flex-shrink: 0;
}

@keyframes c-img-loop-marquee {
  from {
    transform: translateX(0);
  }
  to {
    /* calc はギャップの半分を引く（column-gap と keyframes を揃える） */
    transform: translateX(calc(-50% - 10px));
  }
}
/* 2枚目は __item 未付与でも .c-img-loop 配下なら対象になる */
.c-img-loop img {
  display: block;
  width: 2020px;
  /* 1010px 〜 2020px : 768px 〜 1920px */
  width: clamp(1010px, 336.67px + 87.674vw, 2020px);
  max-width: none;
  height: auto;
}

/* ======================================
      【SP】 c-img-loop
========================================= */
@media (max-width: 767px) {
  .c-section-title {
    text-align: center;
  }
  .c-section-title-en {
    display: block;
    margin-bottom: 5.7vw;
  }
  .c-section-title-ja {
    margin-bottom: 80px;
    font-size: 6.7vw;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  .c-img-loop {
    overflow: hidden;
    width: 100%;
  }
  .c-img-loop__track {
    display: flex;
    column-gap: 4.8vw;
    width: max-content;
    animation: c-img-loop-marquee 55s linear infinite;
    will-change: transform;
  }
  .c-img-loop img {
    display: block;
    width: 287.9vw;
    max-width: none;
    height: auto;
  }
  @keyframes c-img-loop-marquee {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(calc(-50% - 2.4vw));
    }
  }
}
/* ===== Recruit / header ===== */
@media (min-width: 768px) {
  #recruit .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  #recruit .header .header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1920px;
    margin-inline: auto;
    /* 8px 〜 20px : 768px 〜 1920px */
    padding-top: clamp(8px, 0px + 1.042vw, 20px);
    /* 8px 〜 20px : 768px 〜 1920px */
    padding-right: clamp(8px, 0px + 1.042vw, 20px);
    /* 16px 〜 20px : 768px 〜 1920px */
    padding-left: clamp(16px, 13.33px + 0.347vw, 20px);
    padding-bottom: 0;
  }
  #recruit .header .header__logo {
    display: flex;
    align-items: flex-end;
    gap: 8px;
  }
  #recruit .header .header__logo-link {
    width: 120px;
    height: auto;
    aspect-ratio: 120/16;
  }
  #recruit .header .header__logo img {
    width: 100%;
  }
  #recruit .header .header__logo-text {
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #fff;
  }
  #recruit .header .header__logo-text-en {
    font-family: ui-serif, Georgia, "Palatino Linotype", Palatino, serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
  }
  #recruit .header .header__actions {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  #recruit .header .header__entry {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block: 13px;
    /* 40px 〜 73px : 768px 〜 1920px */
    padding-inline: clamp(40px, 18px + 2.865vw, 73px);
    /* 12px 〜 16px : 768px 〜 1920px */
    font-size: clamp(12px, 9.33px + 0.347vw, 16px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #231815;
    background: #FFE415;
  }
  #recruit .header .header__menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 50px;
    border: 1px solid #fff;
    border-radius: 25px;
    background: transparent;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
  }
  #recruit .header .header__menu-btn:hover {
    background: rgba(255, 255, 255, 0.12);
  }
  #recruit .header .header__menu-btn-lines {
    position: relative;
    display: block;
    width: 40px;
    height: 8px;
  }
  #recruit .header .header__menu-btn-lines::before, #recruit .header .header__menu-btn-lines::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  #recruit .header .header__menu-btn-lines::before {
    top: 0;
  }
  #recruit .header .header__menu-btn-lines::after {
    bottom: 0;
  }
  #recruit .header .header__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
/* ======================================
      【SP】 Header
========================================= */
@media (max-width: 767px) {
  #recruit .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 2.8vw 0 3.2vw;
    z-index: 100;
  }
  #recruit .header .header__inner {
    width: 100%;
    height: auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 100%;
    margin-inline: auto;
  }
  #recruit .header .header__logo {
    display: flex;
    align-items: flex-end;
  }
  #recruit .header .header__logo-link {
    width: 29vw;
    height: auto;
    margin-right: 1.9vw;
  }
  #recruit .header .header__logo img {
    width: 100%;
  }
  #recruit .header .header__logo-text {
    font-size: 2.2vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #fff;
  }
  #recruit .header .header__logo-text-en {
    width: 14.5vw;
    margin-left: 1.2vw;
  }
  #recruit .header .header__actions {
    display: flex;
    align-items: center;
    gap: 0;
  }
  #recruit .header .header__entry {
    display: none;
  }
  #recruit .header .header__menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17.5vw;
    height: 7.2vw;
    transform: translateY(3.4vw);
    border: 0.2vw solid #fff;
    border-radius: 6vw;
    background: transparent;
  }
  #recruit .header .header__menu-btn-lines {
    position: relative;
    display: block;
    width: 6.4vw;
    height: 1.2vw;
  }
  #recruit .header .header__menu-btn-lines::before, #recruit .header .header__menu-btn-lines::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.2vw;
    background: #fff;
  }
  #recruit .header .header__menu-btn-lines::before {
    top: 0;
  }
  #recruit .header .header__menu-btn-lines::after {
    bottom: 0;
  }
  #recruit .header .header__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
/* ===== Recruit / menu ===== */
@media (min-width: 768px) {
  #recruit.is-recruit-menu-open {
    overflow: hidden;
  }
  /* パネルメニュー */
  #recruit .panel {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    /* 700px 〜 800px : 768px 〜 1920px */
    width: clamp(700px, 633.33px + 8.681vw, 800px);
    background: #333333;
    pointer-events: none;
    opacity: 0;
    transform: translateX(100%);
    z-index: 200;
    transition: transform 0.35s ease, opacity 0.35s ease;
  }
  #recruit .panel.is-open {
    pointer-events: auto;
    opacity: 1;
    transform: translateX(0);
  }
  #recruit .panel .panel-menu__logo {
    display: none;
  }
  #recruit .panel .panel__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    margin-bottom: 130px;
    padding: 20px 20px 0;
  }
  #recruit .panel .panel__entry {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 73px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #231815;
    background: #FFE415;
  }
  #recruit .panel .panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 120px;
    height: 50px;
    border: 1px solid #fff;
    border-radius: 25px;
    background: transparent;
    cursor: pointer;
    transition: background 0.2s;
  }
}
@media (min-width: 768px) and (hover: hover) {
  #recruit .panel .panel__close:hover {
    opacity: 0.6;
  }
}
@media (min-width: 768px) {
  #recruit .panel .panel__close-icon {
    position: relative;
    display: block;
    width: 40px;
    height: 8px;
  }
  #recruit .panel .panel__close-icon::before, #recruit .panel .panel__close-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  #recruit .panel .panel__close-icon::before {
    transform: translate(-50%, -50%) rotate(12deg);
  }
  #recruit .panel .panel__close-icon::after {
    transform: translate(-50%, -50%) rotate(-12deg);
  }
  #recruit .panel .panel__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    /* 40px 〜 80px : 768px 〜 1920px */
    padding-inline: clamp(40px, 13.33px + 3.472vw, 80px);
  }
  #recruit .panel .panel__item {
    border-bottom: 1px solid #E3E3E3;
  }
  #recruit .panel .panel__item + .panel__item {
    margin-top: 40px;
  }
  #recruit .panel .panel__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 16px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    color: #fff;
  }
  #recruit .panel .panel__nav-arrow {
    /* 16px 〜 18px : 768px 〜 1920px */
    font-size: clamp(16px, 14.67px + 0.174vw, 18px);
    font-weight: 500;
    letter-spacing: 0;
  }
}
/* ======================================
      【SP】 Panel Menu
========================================= */
@media (max-width: 767px) {
  #recruit.is-recruit-menu-open {
    overflow: hidden;
  }
  #recruit .panel {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: 82.2vw;
    height: 100%;
    background: #333333;
    pointer-events: none;
    opacity: 0;
    transform: translateX(100%);
    z-index: 200;
    transition: transform 0.35s ease, opacity 0.35s ease;
    overflow-y: auto;
  }
  #recruit .panel.is-open {
    pointer-events: auto;
    opacity: 1;
    transform: translateX(0);
  }
  #recruit .panel .panel-menu__logo {
    position: absolute;
    top: 3.3vw;
    left: 4vw;
    width: 29.23vw;
    height: auto;
    aspect-ratio: 121/16.5;
  }
  #recruit .panel .panel-menu__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #recruit .panel .panel__toolbar {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 9.4vw;
    padding: 2.6vw 2.8vw 0;
    margin-bottom: 15.8vw;
  }
  #recruit .panel .panel__entry {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94.2%;
    height: auto;
    margin-right: 1.3vw;
    padding: 4.4vw 0;
    font-size: 3.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #231815;
    background: #FFE415;
  }
  #recruit .panel .panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17.5vw;
    height: 8.2vw;
    border: 0.2vw solid #fff;
    border-radius: 6vw;
    background: transparent;
  }
  #recruit .panel .panel__close-icon {
    position: relative;
    display: block;
    width: 7.7vw;
    height: 0.5vw;
  }
  #recruit .panel .panel__close-icon::before, #recruit .panel .panel__close-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 0.2vw;
    background: #fff;
  }
  #recruit .panel .panel__close-icon::before {
    transform: translate(-50%, -50%) rotate(15deg);
  }
  #recruit .panel .panel__close-icon::after {
    transform: translate(-50%, -50%) rotate(-15deg);
  }
  #recruit .panel .panel__nav {
    display: block;
    padding: 0 5.8vw 12vw;
  }
  #recruit .panel .panel__list {
    width: 100%;
  }
  #recruit .panel .panel__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 5.9vw;
    padding-bottom: 3.6vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  #recruit .panel .panel__nav-arrow {
    font-size: 3.9vw;
    font-weight: 500;
  }
}
/* ===== fv ===== */
@media (min-width: 768px) {
  #recruit .fv {
    position: relative;
    background-image: url("../images/recruit/fv.jpg");
    background-size: cover;
    background-position: center;
    width: 100%;
    aspect-ratio: 1920/900;
  }
  #recruit .fv .fv__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  #recruit .fv .fv__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #recruit .fv .fv__title {
    /* 12px 〜 64px : 768px 〜 1920px */
    margin-bottom: clamp(12px, -22.67px + 3.5vw, 64px);
    /* 180px 〜 405px : 768px 〜 1920px */
    width: clamp(180px, 30px + 19.531vw, 405px);
    padding: 90px 0 0 0;
  }
  #recruit .fv .fv__title img {
    width: 100%;
  }
  #recruit .fv .fv__sub-title {
    /* 10px 〜 64px : 768px 〜 1920px */
    margin-bottom: clamp(10px, -26px + 4.688vw, 64px);
    /* 18px 〜 32px : 768px 〜 1920px */
    font-size: clamp(18px, 8.67px + 1.215vw, 32px);
    font-weight: 700;
    line-height: 1.84375;
    color: #fff;
  }
  #recruit .fv .fv__lead {
    /* 14px 〜 24px : 768px 〜 1920px */
    font-size: clamp(14px, 7.33px + 0.868vw, 24px);
    font-weight: 700;
    line-height: 1.95833;
    text-align: center;
    color: #fff;
  }
  #recruit .fv .fv__scrolldown {
    position: absolute;
    bottom:clamp(-215px, -89.333px - -1.528vw, -165px);
    left: 50%;
    width: 1px;
    height: 230px;
    /* 115px 〜 230px : 768px 〜 1920px */
    height: clamp(155px, 88.33px + 14.983vw, 310px);
    background: #000;
    animation: fv-scrolldown-line 2s infinite backwards;
    z-index: 10;
    pointer-events: none;
  }
  @keyframes fv-scrolldown-line {
    0% {
      scale: 1 0;
      transform-origin: center top;
    }
    50% {
      scale: 1 1;
      transform-origin: center top;
    }
    51% {
      scale: 1 1;
      transform-origin: center bottom;
    }
    100% {
      scale: 1 0;
      transform-origin: center bottom;
    }
  }
}
/* ======================================
      【SP】 hero (fv)
========================================= */
@media (max-width: 767px) {
  #recruit .fv {
    position: relative;
    background-image: url("../images/recruit/fv_sp.jpg");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 414/800;
  }
  #recruit .fv .fv__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    padding-top: 92.9vw;
  }
  #recruit .fv .fv__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin:8vw 0 0 0;
  }
  #recruit .fv .fv__title {
    width: 69.4vw;
    margin-bottom: 4.4vw;
  }
  #recruit .fv .fv__title img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .fv .fv__sub-title {
    font-size: 4.3vw;
    font-weight: 700;
    line-height: 1.84;
    color: #fff;
    margin-bottom: 3.5vw;
    text-align: center;
  }
  #recruit .fv .fv__lead {
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1.95;
    text-align: center;
    color: #fff;
  }
  #recruit .fv .fv__lead a{ color: #fff;}


  #recruit .fv .fv__scrolldown {
    position: absolute;
    bottom: -20.6vw;
    left: 50%;
    width: 1px;
    height: 36.4vw;
    background: #000;
    animation: fv-scrolldown-line 2s infinite backwards;
    z-index: 10;
    pointer-events: none;
  }
  @keyframes fv-scrolldown-line {
    0% {
      scale: 1 0;
      transform-origin: center top;
    }
    50% {
      scale: 1 1;
      transform-origin: center top;
    }
    51% {
      scale: 1 1;
      transform-origin: center bottom;
    }
    100% {
      scale: 1 0;
      transform-origin: center bottom;
    }
  }
}
/* ===== Pages / introduction ===== */
@media (min-width: 768px) {
  #recruit .introduction .introduction__inner {
    padding-top: 174px;
    padding-bottom: 230px;
  }
  #recruit .introduction .introduction__logo-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 100px;
    margin-top: 120px;
  }
  #recruit .introduction .introduction__logo-text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #231815;
  }
  #recruit .introduction .introduction__title {
    margin-bottom: 62px;
    font-size: 42px;
    font-weight: 900;
    line-height: 2.38;
    text-align: center;
    color: #231815;
  }
  #recruit .introduction .introduction__desc {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 400;
    line-height: 2.708333;
    letter-spacing: 0;
    color: #231815;
    text-align: center;
  }
  #recruit .introduction .introduction__desc:last-child {
    margin-bottom: 0;
  }
}
/* ======================================
      【SP】 introduction
========================================= */
@media (max-width: 767px) {
  #recruit .introduction {
    width: 100%;
  }
  #recruit .introduction .introduction__inner {
    width: 100%;
    height: auto;
    padding-top: 25vw;
    padding-bottom: 29.3vw;
  }
  #recruit .introduction .introduction__logo-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 1.4vw;
    margin-top: 15vw;
  }
  #recruit .introduction .introduction__logo-text {
    font-size: 3.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #231815;
  }
  #recruit .introduction .introduction__title {
    margin-bottom: 6.7vw;
    font-size: 6.5vw;
    font-weight: 900;
    line-height: 2.4;
    text-align: center;
    color: #231815;
  }
  #recruit .introduction .introduction__desc {
    margin-bottom: 10.8vw;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 2.7;
    letter-spacing: 0;
    color: #231815;
    text-align: center;
  }
  #recruit .introduction .introduction__desc:last-child {
    margin-bottom: 0;
  }
}
/* ===== Pages / message ===== */
@media (min-width: 768px) {
  #recruit .message {
    padding-bottom: 140px;
  }
  #recruit .message .message__inner {
    position: relative;
    display: grid;
    /* 2列目（写真側）の幅をトラック側で確定し、残りを1列目へ配分する */
    grid-template-columns: minmax(0, 1fr) minmax(0, clamp(320px, 53.333px + 34.722vw, 720px));
    align-items: start;
    /* 16px 〜 32px : 768px 〜 1920px */
    column-gap: clamp(16px, 5.33px + 1.389vw, 32px);
    width: min(98%, 1600px);
    margin-inline: auto;
    margin-bottom: 140px;
    padding-top: 140px;
    /* 60px 〜 140px : 768px 〜 1920px */
    padding-top: clamp(60px, 6.67px + 6.944vw, 140px);
    /* 40px 〜 80px : 768px 〜 1920px */
    padding-left: clamp(40px, 13.33px + 3.472vw, 80px);
    /* 40px 〜 80px : 768px 〜 1920px */
    padding-right: clamp(40px, 13.33px + 3.472vw, 80px);
    /* 80px 〜 160px : 768px 〜 1920px */
    padding-bottom: clamp(80px, 26.67px + 6.944vw, 160px);
    overflow: visible;
    background: #F2F2F2;
  }
  #recruit .message .message__main {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    overflow: visible;
  }
  #recruit .message .message__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #recruit .message .message__title-en {
    display: inline-block;
    /* 20px 〜 40px : 768px 〜 1920px */
    margin-bottom: clamp(20px, 6.67px + 1.736vw, 40px);
  }
  #recruit .message .message__title-ja {
    display: inline-block;
    width: 100%;
    max-width: 640px;
    /* 32px 〜 64px : 768px 〜 1920px */
    margin-bottom: clamp(32px, 10.67px + 2.778vw, 64px);
    /* 10px 〜 20px : 768px 〜 1920px */
    padding-bottom: clamp(10px, 3.33px + 0.868vw, 20px);
    /* 34px 〜 50px : 768px 〜 1920px */
    font-size: clamp(34px, 23.33px + 1.389vw, 50px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
    border-bottom: 1px solid #333;
  }
  #recruit .message {
    /*
     * 追従画像: ラッパーを行の高さいっぱい（align-self: stretch）にしないと、
     * 子の高さ＝画像だけになり sticky の可動域が 0 になる。
     * margin-top: 以前の absolute top:-80px 相当（inner padding-top 140 + はみ出し 80）
     */
    /*
     * justify-self:end だとアイテム幅がコンテンツ基準になり、狭い幅で 2 列目が食い込み
     * message__main 列が 0 になる。stretch + min-width:0 で軌道幅に追従させる。
     */
  }
  #recruit .message .message__sticky-aid {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0;
    width: 100%;
    max-width: none;
    margin-top: clamp(-220px, -20px - 10.417vw, -100px);
    z-index: 1;
  }
  #recruit .message .message__image {
    position: sticky;
    /* 追従時にビューポート上端と写真の間に余白 */
    top: 32px;
    width: 100%;
    min-width: 0;
    /* 320px 〜 720px : 768px 〜 1920px */
    max-width: clamp(320px, 53.33px + 34.722vw, 720px);
    height: auto;
    aspect-ratio: 720/880;
    margin: 0 0 0 auto;
  }
  #recruit .message .message__image img {
    width: 100%;
  }
  #recruit .message {
    /* 左カラム幅に縛られず写真側へはみ出す。重なりはキャッチが上（sticky 画像より手前） */
  }
  #recruit .message .message__catch {
    position: relative;
    width: max-content;
    max-width: none;
    margin-bottom: 40px;
    z-index: 2;
  }
  #recruit .message .message__catch span {
    position: relative;
    display: inline-block;
    margin-bottom: 4px;
    /* 8px 〜 24px : 768px 〜 1920px */
    padding-inline: clamp(8px, -2.67px + 1.389vw, 24px);
    /* 20px 〜 40px : 768px 〜 1920px */
    font-size: clamp(20px, 6.67px + 1.736vw, 40px);
    font-weight: 700;
    line-height: 2.1;
    letter-spacing: 0.04em;
    color: #333;
    background-color: #fff;
    z-index: 0;
  }
  #recruit .message .message__name-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    /* 40px 〜 80px : 768px 〜 1920px */
    margin-bottom: clamp(40px, 13.33px + 3.472vw, 80px);
  }
  #recruit .message .message__position {
    /* 14px 〜 20px : 768px 〜 1920px */
    font-size: clamp(14px, 10px + 0.521vw, 20px);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .message .message__desc-wrap {
    width: min(90%, 640px);
  }
  #recruit .message .message__desc {
    /* 24px 〜 48px : 768px 〜 1920px */
    margin-bottom: clamp(24px, 8px + 2.083vw, 48px);
    /* 12px 〜 16px : 768px 〜 1920px */
    font-size: clamp(12px, 9.33px + 0.347vw, 16px);
    font-weight: 400;
    line-height: 2.25;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .message .message__desc:last-child {
    margin-bottom: 0;
  }
  #recruit .message .message__desc--dots {
    line-height: 1;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__desc--dots {
    display: none;
  }
  #recruit .message .message__btn {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    /* 12px 〜 16px : 768px 〜 1920px */
    font-size: clamp(12px, 9.33px + 0.347vw, 16px);
    font-weight: 400;
    line-height: 2.25;
    color: #333;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
  }
  #recruit .message .message__btn--close {
    display: none;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__btn--more {
    display: none;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__btn--close {
    display: inline-block;
  }
  #recruit .message {
    /* アコーディオン: 0fr → 1fr（内側ラッパーで overflow:hidden） */
  }
  #recruit .message .message__desc-more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s ease;
    overflow: hidden;
  }
  #recruit .message .message__desc-more.is-open {
    grid-template-rows: 1fr;
  }
  #recruit .message .message__desc-more-inner {
    min-height: 0;
    overflow: hidden;
  }
  #recruit .message .message__desc-more-inner > .message__desc:last-of-type {
    margin-bottom: 40px;
  }
}
/* ======================================
      【SP】 message
========================================= */
@media (max-width: 767px) {
  #recruit .message {
    padding-bottom: 9.6vw;
  }
  #recruit .message .message__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-inline: auto;
    margin-bottom: 12.2vw;
    padding-top: 7.5vw;
    padding-bottom: 17.7vw;
    padding-inline: 0;
    overflow: visible;
    background: #F2F2F2;
  }
  #recruit .message .message__main {
    display: contents;
    width: 100%;
    min-width: 0;
    overflow: visible;
  }
  #recruit .message .message__title {
    order: 1;
    width: 100%;
    padding-left: 6.6vw;
    padding-right: 6.6vw;
  }
  #recruit .message .message__title-en {
    display: inline-block;
    width: 8.937vw;
    margin-bottom: 4.5vw;
  }
  #recruit .message .message__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .message .message__title-ja {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 5.7vw;
    padding-bottom: 4vw;
    font-size: 6.7vw;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
    border-bottom: 0.2vw solid #333;
  }
  #recruit .message .message__sticky-aid {
    display: contents;
    width: 100%;
    margin-top: 0;
    margin-bottom: 9.7vw;
    align-self: stretch;
    justify-self: stretch;
    min-width: 0;
    z-index: 1;
  }
  #recruit .message .message__image {
    order: 2;
    position: relative;
    top: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 414/320;
    margin: 0;
  }
  #recruit .message .message__image img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .message .message__catch {
    order: 3;
    position: relative;
    display: inline-block;
    width: 87.3vw;
    max-width: none;
    margin-top: -14.5vw;
    margin-bottom: 8vw;
    margin-left: 4vw;
    margin-right: 4vw;
    padding-top: 2.5vw;
    padding-left: 4vw;
    padding-bottom: 2.2vw;
    background-color: #fff;
    z-index: 2;
  }
  #recruit .message .message__catch span {
    position: relative;
    display: inline;
    margin-bottom: 0;
    padding-inline: 0;
    font-size: 5.1vw;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 0.04em;
    color: #333;
    z-index: 0;
  }
  #recruit .message .message__name-wrap {
    order: 4;
    display: flex;
    align-items: flex-end;
    gap: 3vw;
    width: 100%;
    margin-bottom: 12.7vw;
    padding-left: 6.4vw;
  }
  #recruit .message .message__position {
    font-size: 2.9vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .message .message__name {
    width: 31.4vw;
  }
  #recruit .message .message__desc-wrap {
    order: 5;
    width: 100%;
    padding-inline: 6.4vw;
  }
  #recruit .message .message__desc {
    margin-bottom: 8.9vw;
    font-size: 3.6vw;
    font-weight: 400;
    line-height: 2.25;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .message .message__desc:last-child {
    margin-bottom: 0;
  }
  #recruit .message .message__desc--before-dots {
    margin-bottom: 4.4vw;
  }
  #recruit .message .message__desc--dots {
    line-height: 1;
    margin-bottom: 1vw;
  }
  #recruit .message .message__btn {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 3.7vw;
    font-weight: 400;
    line-height: 2.25;
    color: #333;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
  }
  #recruit .message .message__btn--close {
    display: none;
  }
  #recruit .message .message__desc-more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s ease;
    /* 0fr 折りたたみが SP（特に WebKit）で本文高さ分まで広がり、
       後続兄弟として「続きを読む」の上に重なってタップを奪うのを防ぐ */
    overflow: hidden;
  }
  #recruit .message .message__desc-more.is-open {
    grid-template-rows: 1fr;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__desc--dots {
    display: none;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__btn--more {
    display: none;
  }
  #recruit .message .message__desc-wrap--accordion.is-message-expanded .message__btn--close {
    display: inline-block;
  }
  #recruit .message .message__desc-more-inner {
    min-height: 0;
    overflow: hidden;
  }
}
/* ===== Pages / member ===== */
@media (min-width: 768px) {
  #recruit .member {
    padding-bottom: 140px;
  }
  #recruit .member .member__inner {
    padding-bottom: 150px;
    /* 40px 〜 150px : 768px 〜 1920px */
    padding-bottom: clamp(40px, -33.33px + 9.549vw, 150px);
  }
  #recruit .member .member__title {
    margin-bottom: 32px;
  }
  #recruit .member .member__lead {
    margin-bottom: 80px;
    /* 18px 〜 24px : 768px 〜 1920px */
    font-size: clamp(18px, 14px + 0.521vw, 24px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    color: #333;
  }
  #recruit .member .member__question-wrap {
    width: min(90%, 1200px);
    margin-inline: auto;
    margin-bottom: 80px;
    padding-block: 50px;
    /* 25px 〜 50px : 768px 〜 1920px */
    padding-inline: clamp(25px, 8.33px + 2.17vw, 50px);
    background: #F2F2F2;
  }
  #recruit .member .member__question-item {
    display: flex;
    align-items: center;
    /* 24px 〜 64px : 768px 〜 1920px */
    gap: clamp(24px, -2.67px + 3.472vw, 64px);
    margin-bottom: 38px;
    padding-bottom: 26px;
    border-bottom: 1px solid #707070;
  }
  #recruit .member .member__question-item:last-child {
    margin-bottom: 0;
  }
  #recruit .member .member__question-number {
    display: block;
    /* 28px 〜 56px : 768px 〜 1920px */
    padding-left: clamp(28px, 9.33px + 2.431vw, 56px);
  }
  #recruit .member .member__question-text {
    /* 16px 〜 18px : 768px 〜 1920px */
    font-size: clamp(16px, 14.67px + 0.174vw, 18px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__desc {
    display: flex;
    align-items: center;
    gap: 53px;
    width: min(90%, 1440px);
    margin-inline: auto;
    margin-bottom: 80px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__desc::before, #recruit .member .member__desc::after {
    content: "";
    flex: 1 1 0;
    min-width: 0;
    height: 1px;
    background-color: #333;
  }
  #recruit .member .member__desc-text {
    flex-shrink: 0;
    max-width: 100%;
    text-align: center;
  }
  #recruit .member .member__member-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 40px;
    /* 40px 〜 160px : 768px 〜 1920px */
    column-gap: clamp(40px, -40px + 10.417vw, 160px);
    width: min(90%, 1340px);
    margin-inline: auto;
    margin-bottom: 130px;
    list-style: none;
    padding: 0;
  }
  #recruit .member .member__member-list.is-member-expanded .member__member-item:not(.is-active) {
    opacity: 0.5;
  }
  #recruit .member .member__member-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.25s ease;
  }
  #recruit .member .member__member-item:focus {
    outline: none;
  }
  #recruit .member .member__member-item:focus-visible {
    outline: 2px solid #333;
    outline-offset: 4px;
  }
  #recruit .member .member__member-photo {
    display: block;
    /* 16px 〜 40px : 768px 〜 1920px */
    margin-bottom: clamp(16px, 0px + 2.083vw, 40px);
    border-radius: 50%;
  }
  #recruit .member .member__member-item.is-active .member__member-photo {
    border: 4px solid #AA905A;
  }
  #recruit .member .member__member-photo img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  #recruit .member .member__member-position {
    margin-bottom: 12px;
    /* 14px 〜 20px : 768px 〜 1920px */
    font-size: clamp(14px, 10px + 0.521vw, 20px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__member-name {
    /* 26px 〜 32px : 768px 〜 1920px */
    font-size: clamp(26px, 22px + 0.521vw, 32px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__member-item.is-active .member__member-position,
  #recruit .member .member__member-item.is-active .member__member-name {
    border-bottom: 1px solid #333;
  }
  #recruit .member .member__member-panel {
    grid-column: 1/-1;
    position: relative;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #recruit .member .member__member-panel::before {
    content: "";
    position: absolute;
    top: -22px;
    left: var(--member-panel-caret-left, 50%);
    transform: translateX(-50%);
    width: 60px;
    height: auto;
    aspect-ratio: 60/64;
    background-image: url("../images/recruit/member-panel-arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.1s ease;
    pointer-events: none;
  }
  #recruit .member .member__member-panel.is-open::before {
    opacity: 1;
  }
  #recruit .member {
    /* アコーディオン開閉（高さ + フェード） */
  }
  #recruit .member .member__panel-anim {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.5s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.35s ease;
  }
  #recruit .member .member__member-panel.is-open .member__panel-anim {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  #recruit .member .member__panel-anim-inner {
    overflow: hidden;
    min-height: 0;
  }
  #recruit .member .member__panel-box {
    margin-top: 40px;
    padding-top: 64px;
    /* 40px 〜 80px : 768px 〜 1440px */
    padding-right: clamp(40px, -5.71px + 5.952vw, 80px);
    /* 35px 〜 70px : 768px 〜 1440px */
    padding-left: clamp(35px, -5px + 5.208vw, 70px);
    /* 20px 〜 80px : 768px 〜 1440px */
    padding-bottom: clamp(20px, -48.57px + 8.929vw, 80px);
    background: #F2F2F2;
  }
  #recruit .member .member__panel-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  #recruit .member .member__panel-intro {
    flex: 1 1 0;
    min-width: 0;
  }
  #recruit .member .member__panel-catch {
    /* 26px 〜 56px : 768px 〜 1440px */
    margin-top: clamp(26px, -8.29px + 4.464vw, 56px);
    margin-bottom: 24px;
  }
  #recruit .member {
    /* 直接の子のみ＝catch_lines の1要素1行。内側の .pc/.sp は対象外 */
  }
  #recruit .member .member__panel-catch > span {
    position: relative;
    display: block;
    width: max-content;
    margin-bottom: 4px;
    /* 10px 〜 20px : 768px 〜 1440px */
    padding-inline: clamp(10px, -1.43px + 1.488vw, 20px);
    /* 17px 〜 32px : 768px 〜 1440px */
    font-size: clamp(17px, -0.14px + 2.232vw, 32px);
    font-weight: 700;
    line-height: 1.9375;
    letter-spacing: 0.05em;
    color: #333;
    background-color: #fff;
    z-index: 2;
  }
  #recruit .member .member__panel-name {
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__panel-position {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__panel-photo-wrap {
    position: relative;
    flex: 0 0 auto;
    /* 320px 〜 640px : 768px 〜 1440px */
    width: clamp(320px, -45.71px + 47.619vw, 640px);
    z-index: 1;
  }
  #recruit .member .member__panel-photo-wrap img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .member {
    /* dl 型パネル Q&A */
  }
  #recruit .member .member__panel-qa-list {
    width: min(95%, 1100px);
    margin-inline: auto;
  }
  #recruit .member .member__panel-qa-wrap {
    margin-bottom: 64px;
  }
  #recruit .member .member__panel-question {
    display: grid;
    grid-template-columns: clamp(4rem, 11vw, 7.5rem) minmax(0, 1fr);
    /* 32px 〜 64px : 768px 〜 1440px */
    column-gap: clamp(32px, -4.57px + 4.762vw, 64px);
    align-items: flex-start;
    padding-bottom: 24px;
    border-bottom: 1px solid #707070;
  }
  #recruit .member .member__panel-question:first-of-type {
    padding-top: 0;
  }
  #recruit .member .member__panel-answer {
    display: grid;
    grid-template-columns: clamp(4rem, 11vw, 7.5rem) minmax(0, 1fr);
    /* 32px 〜 64px : 768px 〜 1440px */
    column-gap: clamp(32px, -4.57px + 4.762vw, 64px);
    align-items: flex-start;
    padding-top: 24px;
  }
  #recruit .member .member__panel-question-number,
  #recruit .member .member__panel-answer-icon {
    display: flex;
    justify-content: flex-end;
    align-self: start;
  }
  #recruit .member .member__panel-question-number img,
  #recruit .member .member__panel-answer-icon img {
    display: block;
    height: auto;
    max-width: 100%;
  }
  #recruit .member .member__panel-question-text,
  #recruit .member .member__panel-answer-text {
    margin: 0;
    min-width: 0;
  }
  #recruit .member .member__panel-question-text {
    /* 16px 〜 18px : 768px 〜 1440px */
    font-size: clamp(16px, 13.71px + 0.298vw, 18px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__panel-answer-text {
    /* 12px 〜 14px : 768px 〜 1440px */
    font-size: clamp(12px, 9.714px + 0.298vw, 14px);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.02em;
    color: #333;
  }
}
/* ======================================
      【SP】 member
========================================= */
@media (max-width: 767px) {
  #recruit .member {
    padding-bottom: 0;
  }
  #recruit .member .member__inner {
    width: 100%;
    padding-bottom: 14.5vw;
  }
  #recruit .member .member__title {
    margin-bottom: 7.7vw;
  }
  #recruit .member .member__title-en {
    width: 11.038vw;
    margin-inline: auto;
    margin-bottom: 4.5vw;
  }
  #recruit .member .member__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .member .member__lead {
    margin-bottom: 10.1vw;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.07em;
    text-align: center;
    color: #333;
  }
  #recruit .member .member__question-wrap {
    width: 92vw;
    margin-inline: auto;
    margin-bottom: 15vw;
    padding-top: 6.1vw;
    padding-bottom: 9.8vw;
    padding-left: 6vw;
    padding-right: 6vw;
    background: #F2F2F2;
  }
  #recruit .member .member__question-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.1vw;
    margin-bottom: 6vw;
    padding-bottom: 2.6vw;
    border-bottom: 0.2vw solid #707070;
  }
  #recruit .member .member__question-item:last-child {
    margin-bottom: 0;
  }
  #recruit .member .member__question-number {
    display: block;
    width: 11.1vw;
    padding-left: 0;
  }
  #recruit .member .member__question-number img {
    width: 100%;
    height: auto;
  }
  #recruit .member .member__question-text {
    font-size: 3.6vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__desc {
    display: flex;
    align-items: center;
    gap: 3.8vw;
    width: 92vw;
    margin-inline: auto;
    margin-bottom: 10.3vw;
    font-size: 3.7vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__desc::before, #recruit .member .member__desc::after {
    content: "";
    flex: 1 1 0;
    min-width: 0;
    height: 0.2vw;
    background-color: #333;
  }
  #recruit .member .member__desc-text {
    flex-shrink: 0;
    max-width: 100%;
    text-align: center;
  }
  #recruit .member .member__member-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 6.3vw;
    column-gap: 2.4vw;
    width: 92vw;
    margin-inline: auto;
    margin-bottom: 17.7vw;
    list-style: none;
    padding: 0;
  }
  #recruit .member .member__member-list.is-member-expanded .member__member-item:not(.is-active) {
    opacity: 0.5;
  }
  #recruit .member .member__member-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.25s ease;
  }
  #recruit .member .member__member-photo {
    display: block;
    width: 100%;
    margin-bottom: 2.2vw;
    border-radius: 50%;
    overflow: hidden;
  }
  #recruit .member .member__member-item.is-active .member__member-photo {
    border: 2px solid #AA905A;
  }
  #recruit .member .member__member-photo img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .member .member__member-position {
    margin-bottom: 1.4vw;
    font-size: 1.9vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
    text-align: center;
  }
  #recruit .member .member__member-name {
    font-size: 3.7vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #333;
    text-align: center;
  }
  #recruit .member .member__member-item.is-active .member__member-position,
  #recruit .member .member__member-item.is-active .member__member-name {
    border-bottom: 0.2vw solid #333;
  }
  #recruit .member .member__member-panel {
    grid-column: 1/-1;
    position: relative;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #recruit .member .member__member-panel::before {
    content: "";
    position: absolute;
    top: -3.3vw;
    left: var(--member-panel-caret-left, 50%);
    transform: translateX(-50%);
    width: 7.24vw;
    height: auto;
    aspect-ratio: 30/32;
    background-image: url("../images/recruit/member-panel-arrow_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.1s ease;
    pointer-events: none;
  }
  #recruit .member .member__member-panel.is-open::before {
    opacity: 1;
  }
  #recruit .member .member__panel-anim {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.5s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.35s ease;
  }
  #recruit .member .member__member-panel.is-open .member__panel-anim {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  #recruit .member .member__panel-anim-inner {
    overflow: hidden;
    min-height: 0;
  }
  #recruit .member .member__panel-box {
    width: 100%;
    margin-top: 3.7vw;
    padding-top: 6.1vw;
    padding-right: 4.8vw;
    padding-left: 4.8vw;
    padding-bottom: 21.8vw;
    background: #F2F2F2;
  }
  #recruit .member .member__panel-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 9.5vw;
  }
  #recruit .member .member__panel-intro {
    width: 100%;
    order: 2;
  }
  #recruit .member .member__panel-photo-wrap {
    position: relative;
    width: 100%;
    margin-bottom: 0;
    order: 1;
    z-index: 1;
  }
  #recruit .member .member__panel-photo-wrap img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .member .member__panel-catch {
    position: relative;
    display: inline-block;
    max-width: calc(100% + 2.4vw);
    min-width: 0;
    margin-top: -3.1vw;
    margin-left: -2.4vw;
    margin-bottom: 2.6vw;
    padding-top: 1.8vw;
    padding-left: 3.3vw;
    padding-right: 3.3vw;
    padding-bottom: 2vw;
    box-sizing: border-box;
    z-index: 2;
    text-align: left;
    background-color: #fff;
  }
  #recruit .member .member__panel-catch > span {
    position: relative;
    display: inline;
    max-width: 100%;
    margin-bottom: 0vw;
    padding-inline: 0vw;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    font-size: 4.1vw;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__panel-name {
    margin-left: -2.2vw;
    margin-bottom: 0.8vw;
    font-size: 3.8vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__panel-position {
    margin-left: -2.2vw;
    font-size: 2.9vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .member .member__panel-qa-list {
    width: 100%;
    margin-inline: auto;
  }
  #recruit .member .member__panel-qa-wrap {
    margin-bottom: 8.5vw;
    padding-inline: 1.3vw;
  }
  #recruit .member .member__panel-question {
    display: flex;
    flex-direction: column;
    gap: 3.1vw;
    align-items: flex-start;
    padding-bottom: 1.8vw;
    border-bottom: 0.2vw solid #707070;
  }
  #recruit .member .member__panel-answer {
    display: flex;
    gap: 3.9vw;
    align-items: flex-start;
    padding-top: 4.5vw;
  }
  #recruit .member .member__panel-question-number,
  #recruit .member .member__panel-answer-icon {
    display: flex;
    justify-content: flex-start;
    width: 10.8vw;
  }
  #recruit .member .member__panel-answer-icon {
    flex-shrink: 0;
    width: 5.07vw;
    margin-top: 2.4vw;
  }
  #recruit .member .member__panel-question-number img,
  #recruit .member .member__panel-answer-icon img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .member .member__panel-question-text {
    font-size: 3.6vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .member .member__panel-answer-text {
    font-size: 2.8vw;
    font-weight: 400;
    line-height: 1.8888;
    letter-spacing: 0.05em;
    color: #333;
  }
}
/* ===== Pages / schedule ===== */
#recruit .schedule {
  background-color: #F2F2F2;
}
#recruit .schedule .schedule__inner {
  /* 100px 〜 140px : 768px 〜 1920px */
  padding-top: clamp(100px, 73.33px + 3.472vw, 140px);
  /* 30px 〜 60px : 768px 〜 1920px */
  padding-bottom: clamp(30px, 10px + 2.604vw, 60px);
}
#recruit .schedule .schedule__title {
  /* 56px 〜 80px : 768px 〜 1920px */
  margin-bottom: clamp(56px, 40px + 2.083vw, 80px);
}
#recruit .schedule .schedule__list {
  width: min(90%, 1100px);
  margin-inline: auto;
}
#recruit .schedule .schedule__item {
  margin-bottom: 80px;
}
#recruit .schedule .schedule__item-inner {
  display: flex;
  align-items: flex-start;
  /* 32px 〜 96px : 768px 〜 1920px */
  gap: clamp(32px, -10.67px + 5.556vw, 96px);
}
#recruit .schedule .schedule__profile {
  display: flex;
  justify-content: center;
  align-items: center;
  /* 12px 〜 24px : 768px 〜 1920px */
  gap: clamp(12px, 4px + 1.042vw, 24px);
}
#recruit .schedule .schedule__icon {
  display: block;
  /* 60px 〜 80px : 768px 〜 1920px */
  width: clamp(60px, 46.67px + 1.736vw, 80px);
}
#recruit .schedule .schedule__icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
#recruit .schedule .schedule__profile-text {
  max-width: 100px;
  /* 16px 〜 20px : 768px 〜 1920px */
  font-size: clamp(16px, 13.33px + 0.347vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #333;
  white-space: nowrap;
  overflow: visible;
}
#recruit .schedule .schedule__card {
  flex: 1;
  min-width: 0;
  background-color: #fff;
}
#recruit .schedule {
  /* 平日 / 土日祝タブ（三人目など .schedule__item--tabs） */
}
#recruit .schedule .schedule__card--tabs {
  display: flex;
  flex-direction: column;
}
#recruit .schedule .schedule__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
}
#recruit .schedule .schedule__tab {
  margin: 0;
  padding-block: 14px;
  /* 4px 〜 14px : 768px 〜 1920px */
  padding-block: clamp(4px, -2.67px + 0.868vw, 14px);
  padding-inline: 16px;
  font-family: "Zen Old Mincho", serif;
  /* 14px 〜 16px : 768px 〜 1920px */
  font-size: clamp(14px, 12.67px + 0.174vw, 16px);
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  cursor: pointer;
  background-color: #707070;
  border: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#recruit .schedule .schedule__tab.is-active {
  color: #333;
  background-color: #EBDFC5;
}
#recruit .schedule .schedule__tab:focus-visible {
  outline: 2px solid #333;
  outline-offset: -2px;
}
#recruit .schedule .schedule__panels {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
#recruit .schedule .schedule__tabpanel {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
#recruit .schedule {
  /* [hidden] より display:flex が勝って両パネルが縦に並ぶのを防ぐ */
}
#recruit .schedule .schedule__tabpanel[hidden] {
  display: none !important;
}
#recruit .schedule .schedule__tabpanel .schedule__body {
  flex: 1;
}
#recruit .schedule .schedule__body {
  /* 30px 〜 60px : 768px 〜 1920px */
  padding-top: clamp(30px, 10px + 2.604vw, 60px);
  /* 30px 〜 60px : 768px 〜 1920px */
  padding-inline: clamp(30px, 10px + 2.604vw, 60px);
  padding-bottom: 0;
}
#recruit .schedule {
  /* 1行目: 時刻・傍線・タイトルを縦中央揃え / 2行目: 本文はタイトル列の下 */
}
#recruit .schedule .schedule__timeline-row {
  display: grid;
  /* 中央の傍線列：狭いビューポートほど max を下げ、右列（タイトル＋本文）を広く */
  grid-template-columns: max-content minmax(0, clamp(28px, 12vw, 144px)) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  row-gap: 0;
  margin-bottom: 40px;
}
#recruit .schedule .schedule__timeline-time {
  grid-column: 1;
  grid-row: 1;
  font-size: clamp(18px, 16.67px + 0.174vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #333;
}
#recruit .schedule .schedule__timeline-line {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 0;
  /* 48px 〜 80px : 768px 〜 1920px */
  max-width: clamp(48px, 26.67px + 2.778vw, 80px);
  width: 100%;
  height: 1px;
  /* 10px 〜 24px : 768px 〜 1920px */
  margin-right: clamp(10px, 0.67px + 1.215vw, 24px);
  /* 12px 〜 40px : 768px 〜 1920px */
  margin-left: clamp(12px, -6.667px + 2.431vw, 40px);
  background-color: #707070;
  box-sizing: border-box;
}
#recruit .schedule .schedule__timeline-title {
  grid-column: 3;
  grid-row: 1;
  /* 18px 〜 20px : 768px 〜 1920px */
  font-size: clamp(18px, 16.67px + 0.174vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #333;
}
#recruit .schedule .schedule__timeline-title span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0;
  color: #333;
}
#recruit .schedule .schedule__timeline-detail {
  grid-column: 3;
  grid-row: 2;
  min-width: 0;
  /* 12px 〜 14px : 768px 〜 1920px */
  font-size: clamp(12px, 10.67px + 0.174vw, 14px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #333;
}
#recruit .schedule {
  /* 「続きを見る」開閉（message の .message__desc-more と同じ 0fr → 1fr） */
}
#recruit .schedule .schedule__expand-anim {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s ease;
}
#recruit .schedule .schedule__card.is-schedule-expanded .schedule__expand-anim,
#recruit .schedule .schedule__tabpanel.is-schedule-expanded .schedule__expand-anim {
  grid-template-rows: 1fr;
}
@media (prefers-reduced-motion: reduce) {
  #recruit .schedule .schedule__expand-anim {
    transition: none;
  }
}
#recruit .schedule .schedule__expand-anim-inner {
  min-height: 0;
  overflow: hidden;
}
#recruit .schedule .schedule__expand {
  padding-top: 8px;
}
#recruit .schedule .schedule__timeline-note {
  margin-top: 8px;
  padding: 16px 24px;
  font-size: 12px;
  line-height: 1.8333;
  color: #333;
  background-color: #F2F2F2;
  border-radius: 16px;
}
#recruit .schedule .schedule__timeline-note p {
  margin: 0;
}
#recruit .schedule .schedule__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding-block: 8px;
  font-family: "Zen Old Mincho", serif;
  /* 14px 〜 16px : 768px 〜 1920px */
  font-size: clamp(14px, 12.67px + 0.174vw, 16px);
  font-weight: 400;
  line-height: 2;
  text-align: center;
  color: #333;
  background-color: #E3E3E3;
  border: none;
}

/* ======================================
      【SP】 schedule
========================================= */
@media (max-width: 767px) {
  #recruit .schedule {
    width: 100%;
    background-color: #F2F2F2;
  }
  #recruit .schedule .schedule__inner {
    width: 100%;
    padding-top: 12.2vw;
    padding-bottom: 9.3vw;
  }
  #recruit .schedule .schedule__title {
    margin-bottom: 10vw;
  }
  #recruit .schedule .schedule__title-en {
    width: 11.038vw;
    margin-inline: auto;
  }
  #recruit .schedule .schedule__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .schedule .schedule__list {
    width: 92.4vw;
    margin-inline: auto;
  }
  #recruit .schedule .schedule__item {
    width: 100%;
    margin-bottom: 9.8vw;
  }
  #recruit .schedule .schedule__item-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.8vw;
    width: 100%;
  }
  #recruit .schedule .schedule__profile {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 4.3vw;
    width: 100%;
    margin-left: 2.5vw;
  }
  #recruit .schedule .schedule__icon {
    display: block;
    width: 14.5vw;
  }
  #recruit .schedule .schedule__icon img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  #recruit .schedule .schedule__profile-text {
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .schedule .schedule__position {
    margin-bottom: 2.3vw;
    font-size: 3.7vw;
    font-weight: 400;
    line-height: 1.2;
    color: #333;
  }
  #recruit .schedule .schedule__name {
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.2;
    color: #333;
    white-space: nowrap;
  }
  #recruit .schedule .schedule__card {
    position: relative;
    width: 100%;
    min-width: 0;
    background-color: #fff;
  }
  #recruit .schedule .schedule__card--tabs {
    display: flex;
    flex-direction: column;
  }
  #recruit .schedule .schedule__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  #recruit .schedule .schedule__tab {
    margin: 0;
    padding-block: 1.5vw;
    padding-inline: 3.9vw;
    font-family: "Zen Old Mincho", serif;
    font-size: 3.4vw;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #fff;
    cursor: pointer;
    background-color: #707070;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  #recruit .schedule .schedule__tab.is-active {
    color: #333;
    background-color: #EBDFC5;
  }
  #recruit .schedule .schedule__panels {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    width: 100%;
  }
  #recruit .schedule .schedule__tabpanel {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    width: 100%;
  }
  #recruit .schedule .schedule__tabpanel[hidden] {
    display: none !important;
  }
  #recruit .schedule .schedule__body {
    width: 100%;
    padding-top: 4.9vw;
    padding-left: 5vw;
    padding-right: 5.3vw;
    padding-bottom: 1.6vw;
  }
  #recruit .schedule .schedule__timeline {
    width: 100%;
  }
  #recruit .schedule .schedule__timeline-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: flex-start;
    row-gap: 0;
    column-gap: 3.7vw;
    margin-bottom: 3.8vw;
    width: 100%;
  }
  #recruit .schedule .schedule__timeline-time {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0.8vw;
    margin-right: 0;
    margin-left: 0;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .schedule .schedule__timeline-line {
    display: none;
  }
  #recruit .schedule .schedule__timeline-title {
    grid-column: 2;
    grid-row: 1;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .schedule .schedule__timeline-title span {
    display: block;
    font-size: 3.4vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .schedule .schedule__timeline-detail {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    padding-top: 1.9vw;
    font-size: 2.9vw;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .schedule .schedule__timeline-desc {
    width: 100%;
  }
  #recruit .schedule .schedule__timeline-desc--list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  #recruit .schedule .schedule__expand-anim {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s ease;
    width: 100%;
  }
  #recruit .schedule .schedule__card.is-schedule-expanded .schedule__expand-anim,
  #recruit .schedule .schedule__tabpanel.is-schedule-expanded .schedule__expand-anim {
    grid-template-rows: 1fr;
  }
  #recruit .schedule .schedule__expand-anim-inner {
    min-height: 0;
    overflow: hidden;
    width: 100%;
  }
  #recruit .schedule .schedule__expand {
    width: 100%;
    padding-top: 1.9vw;
  }
  #recruit .schedule .schedule__timeline-note {
    width: 66.7vw;
    margin-top: 3.2vw;
    padding: 1.6vw 3.3vw;
    font-size: 2.9vw;
    line-height: 1.8;
    color: #333;
    background-color: #F2F2F2;
    border-radius: 5px;
  }
  #recruit .schedule .schedule__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.9vw;
    width: 100%;
    padding-block: 1vw;
    font-family: "Zen Old Mincho", serif;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.07em;
    text-align: center;
    color: #333;
    background-color: #E3E3E3;
    border: none;
  }
}
/* ===== Pages / resource（人事評価・育成） ===== */
@media (min-width: 768px) {
  #recruit .resource .resource__inner {
    /* 70px 〜 140px : 768px 〜 1920px */
    padding-top: clamp(70px, 23.33px + 6.076vw, 140px);
    /* 62px 〜 124px : 768px 〜 1920px */
    padding-bottom: clamp(62px, 20.67px + 5.382vw, 124px);
  }
  #recruit .resource .resource__title {
    margin-bottom: 80px;
  }
  #recruit .resource .resource__contents {
    width: min(90%, 1200px);
    margin-inline: auto;
    margin-bottom: 100px;
  }
  #recruit .resource .resource__contents-inner {
    padding-top: 40px;
    padding-bottom: 80px;
    padding-inline: 50px;
    background-color: #F8F7F2;
  }
  #recruit .resource .resource__contents--2nd .resource__contents-inner {
    padding-top: 64px;
    /* 24px 〜 80px : 768px 〜 1920px */
    padding-inline: clamp(24px, -13.33px + 4.861vw, 80px);
    padding-bottom: 80px;
  }
  #recruit .resource .resource__contents--3rd .resource__contents-inner {
    padding-top: 64px;
    /* 24px 〜 80px : 768px 〜 1920px */
    padding-inline: clamp(24px, -13.33px + 4.861vw, 80px);
    padding-bottom: 64px;
  }
  #recruit .resource .resource__contents-title {
    padding-block: 24px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    background-color: #AA905A;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  #recruit .resource .resource__lead {
    margin-bottom: 64px;
    /* 16px 〜 18px : 768px 〜 1920px */
    font-size: clamp(16px, 14.67px + 0.174vw, 18px);
    font-weight: 400;
    line-height: 1.888;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  #recruit .resource .resource__canvas {
    position: relative;
    margin-bottom: 40px;
    padding-top: 24px;
    padding-left: 45px;
    background-color: #fff;
    border: 1px solid #EBDFC5;
  }
  #recruit .resource .resource__canvas-title {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    padding-block: 4px;
    padding-inline: 29px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
    background-color: #EBDFC5;
  }
  #recruit .resource .resource__canvas-image {
    text-align: center;
  }

#recruit .resource .resource__canvas--2nd .resource__canvas-image{
  width: 1000px;
}


  #recruit .resource .resource__middle-catch {
    max-width: 1000px;
    margin-inline: auto;
    margin-top: 64px;
    margin-bottom: 40px;
    padding: 16px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.888;
    letter-spacing: 0;
    text-align: center;
    border-radius: 10px;
    color: #333;
    background-color: #E0C389;
  }
  #recruit .resource .resource__middle-lead {
    margin-bottom: 40px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.888;
    letter-spacing: 0;
    text-align: center;
  }
  #recruit .resource .resource__skillmap-text {
    /* 18px 〜 20px : 768px 〜 1920px */
    font-size: clamp(18px, 16.67px + 0.174vw, 20px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  #recruit .resource .resource__skillmap-list {
    margin-block: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
  #recruit .resource .resource__skillmap-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    gap: 14px;
    width: 260px;
    aspect-ratio: 1/1;
    padding: 20px 16px;
    text-align: center;
    background-color: #fff;
    border-radius: 50%;
  }
  #recruit .resource .resource__skillmap-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 20px;
    height: auto;
    aspect-ratio: 20/28;
    background-image: url(../images/recruit/resource-skillmap-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #recruit .resource .resource__skillmap-item:last-child::after {
    content: none;
  }
  #recruit .resource .resource__skillmap-item-title {
    margin: 0;
    /* 14px 〜 24px : 768px 〜 1920px */
    font-size: clamp(14px, 7.33px + 0.868vw, 24px);
    font-weight: 500;
    line-height: 1.2;
  }
  #recruit .resource .resource__skillmap-item:first-child img {
    transform: translateX(14px);
  }
  #recruit .resource .resource__skillmap-item-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
  }
  #recruit .resource .resource__skillmap-item-desc {
    margin: 0;
    /* 10px 〜 16px : 768px 〜 1920px */
    font-size: clamp(10px, 6px + 0.521vw, 16px);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .resource .resource__sheet {
    max-width: 1000px;
    margin-inline: auto;
    margin-top: 40px;
  }
  #recruit .resource .resource__contents--3rd .resource__sheet {
    margin-top: 64px;
  }
  #recruit .resource .resource__grid-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    /* 16px 〜 32px : 768px 〜 1920px */
    gap: clamp(16px, 5.33px + 1.389vw, 32px);
  }
  #recruit .resource .resource__grid-text h4 {
    margin-bottom: 28px;
    /* 16px 〜 20px : 768px 〜 1920px */
    font-size: clamp(16px, 13.33px + 0.347vw, 20px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .resource .resource__grid-text p {
    /* 13px 〜 16px : 768px 〜 1920px */
    font-size: clamp(13px, 11px + 0.26vw, 16px);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .resource .resource__grid-text--top > p {
    /* 8px 〜 40px : 768px 〜 1920px */
    margin-bottom: clamp(8px, -13.33px + 2.778vw, 40px);
  }
  #recruit .resource .resource__grid-text--bottom > p {
    /* 8px 〜 40px : 768px 〜 1920px */
    margin-bottom: clamp(8px, -13.33px + 2.778vw, 40px);
  }
  #recruit .resource .resource__grid-text--bottom > p:last-child {
    margin-bottom: 0;
  }
  #recruit .resource .resource__grid-image {
    flex-shrink: 0;
    width: 50%;
  }
  #recruit .resource .resource__grid-image img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  #recruit .resource {
    /* スキルマップシート：サムネクリックで Magnific Popup使用*/
  }
  #recruit .resource .resource__sheet-link {
    display: block;
    text-decoration: none;
    color: inherit;
    outline-offset: 4px;
  }
  #recruit .resource .resource__sheet-frame {
    position: relative;
    display: block;
    overflow: hidden;
  }
  #recruit .resource .resource__sheet-image img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .resource .resource__sheet-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.22);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
  }
  #recruit .resource .resource__sheet-link:hover .resource__sheet-overlay,
  #recruit .resource .resource__sheet-link:focus-visible .resource__sheet-overlay {
    opacity: 1;
  }
  /* Magnific：resource シートのみ。画像の左右が窮屈にならないようホルダー＋img の両方に余白。 */
  .mfp-wrap.mfp-resource-sheet .mfp-image-holder {
    max-width: min(95%, 1440px);
    left: 50%;
    transform: translateX(-50%);
  }
  .resource__bottom-slide {
    margin-top: 155px;
  }


  /* ===== Scroll Hint 制御エリア ===== */
  .resource__canvas-image.js-resource-canvas-scroll {
    display: block;
    overflow: hidden;
  }

  figure.js-resource-canvas-scroll {
    overflow-x: scroll !important;
  }


  .resource__canvas-image.js-resource-canvas-scroll img {
    display: block;
    max-width: none;
    width: auto;
    /* width: 960px; */
    width: clamp(960px, 9.333px + 76.667vw, 1052px);
    /* width: clamp(602px, -2188.000px + 225vw, 1052px); */
    padding-right: 42px;
    padding-block: 40px;
  }
  
  /* scroll-hintが生成するラッパーにoverflowを効かせる */
  .resource__canvas--scroll .scroll-hint {
    overflow-x: scroll !important;
  }
  
  /* 画像は縮まないようにする */
  .resource__canvas--scroll .scroll-hint img {
    max-width: none;
    width: 100%;
  }

  #recruit .resource .resource__canvas--2nd .resource__canvas-image.js-resource-canvas-scroll img {
    width: 1430px;
  }


  /* ライブラリが作った「本当のスクロール窓口」 */
  .resource__canvas--scroll .scroll-hint {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* アイコンが消える設定 */
  .scroll-hint.is-scroll-hint-hidden .scroll-hint-icon-wrap {
    display: none !important;
    visibility: hidden;
    opacity: 0;
  }
  /* ヒントアイコンの重なりと操作設定 */
  .scroll-hint-icon-wrap {
    z-index: 10;
    pointer-events: none;
  }
  /* ライブラリが「非表示」クラスを付けた時に確実に消す設定 */
  .scroll-hint.is-scroll-hint-hidden .scroll-hint-icon-wrap {
    display: none !important;
  }
  /* スクロールバー自体を非表示にする */
  .js-resource-canvas-scroll {
    -ms-overflow-style: none; /* IE, Edge用 */
    scrollbar-width: none; /* Firefox用 */
  }
  /* Chrome, Safari用 */
  .js-resource-canvas-scroll::-webkit-scrollbar {
    display: none;
  }
}
/* ======================================
      【SP】 resource
========================================= */
@media (max-width: 767px) {
  #recruit .resource {
    width: 100%;
  }
  #recruit .resource .resource__inner {
    width: 100%;
    padding-top: 17.8vw;
  }
  #recruit .resource .resource__title {
    margin-bottom: 10vw;
  }
  #recruit .resource .resource__title-en {
    width: 39.734vw;
    margin-inline: auto;
    margin-bottom: 3.5vw;
  }
  #recruit .resource .resource__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .resource .resource__title-en {
    margin-bottom: 3.5vw;
  }
  #recruit .resource .resource__title-ja {
    line-height: 1.4;
  }
  #recruit .resource .resource__contents {
    width: 92vw;
    margin-inline: auto;
    margin-bottom: 14.8vw;
  }
  #recruit .resource .resource__contents-inner {
    width: 100%;
    padding-top: 5vw;
    padding-bottom: 14.3vw;
    padding-inline: 0;
    background-color: #F8F7F2;
  }
  #recruit .resource .resource__contents-title {
    width: 100%;
    padding-block: 4.7vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    background-color: #AA905A;
    border-top-left-radius: 2.4vw;
    border-top-right-radius: 2.4vw;
  }
  #recruit .resource .resource__lead {
    margin-bottom: 6.3vw;
    padding-inline: 4.8vw;
    font-size: 3.6vw;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  #recruit .resource {
    /* 図表エリア */
  }
  #recruit .resource .resource__canvas-wrap {
    padding-inline: 4.8vw;
  }
  #recruit .resource .resource__canvas {
    position: relative;
    width: 100%;
    margin-bottom: 3.4vw;
    padding-top: 5.6vw;
    padding-bottom: 1.8vw;
    padding-inline: 4.8vw;
    padding-left: 0;
    background-color: #fff;
    border: 1px solid #EBDFC5;
  }
  #recruit .resource .resource__canvas--2nd {
    padding-bottom: 4.6vw;
  }
  #recruit .resource .resource__canvas-title {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    padding-block: 1.4vw;
    padding-inline: 4.9vw;
    font-size: 3vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
    background-color: #EBDFC5;
  }
  #recruit .resource .resource__canvas-image {
    width: 100%;
    text-align: center;
  }
  #recruit .resource .resource__canvas--1st .resource__canvas-image.js-resource-canvas-scroll img {
    display: block;
    max-width: none;
    width: auto;
    height: 26vw;
    padding-right: 7.7vw;
    padding-left: 7.7vw;
    padding-block: 4.7vw;
  }
  #recruit .resource .resource__canvas--2nd .resource__canvas-image.js-resource-canvas-scroll img {
    display: block;
    max-width: none;
    width: auto;
    height: 43vw;
    padding-right: 7.7vw;
    padding-left: 7.7vw;
    padding-block: 3.8vw;
  }


  #recruit .resource {
    /* 図表ここまで */
  }
  #recruit .resource .resource__middle-catch {
    width: 87vw;
    margin-top: 9.6vw;
    margin-bottom: 5vw;
    margin-inline: auto;
    padding-top: 3.9vw;
    padding-inline: 3.4vw;
    padding-bottom: 3.3vw;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    border-radius: 5px;
    color: #333;
    background-color: #E0C389;
  }
  #recruit .resource .resource__middle-lead {
    width: 100%;
    margin-bottom: 9.7vw;
    padding-inline: 4.8vw;
    font-size: 3.6vw;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
    text-align: center;
  }
  #recruit .resource .resource__skillmap-text {
    width: 100%;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  #recruit .resource .resource__skillmap-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-block: 6.8vw 5.3vw;
    gap: 3.3vw;
    width: 73vw;
    margin-inline: auto;
  }
  #recruit .resource .resource__skillmap-item {
    position: relative;
    display: grid;
    justify-content: center;
    grid-template-columns: 48% max-content;
    grid-template-areas: "title icon" "desc icon";
    row-gap: 2.9vw;
    column-gap: 3.3vw;
    width: 100%;
    padding: 6.4vw 3.9vw;
    background-color: #fff;
    border-radius: 10px;
  }
  #recruit .resource .resource__skillmap-item::after {
    content: "";
    position: absolute;
    bottom: -1.7vw;
    left: 50%;
    transform: translateX(-50%);
    width: 7.729vw;
    height: auto;
    aspect-ratio: 32/16;
    background-image: url(../images/recruit/resource-skillmap-arrow_sp.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #recruit .resource .resource__skillmap-item:last-child::after {
    content: none;
  }
  #recruit .resource .resource__skillmap-item-title {
    grid-area: title;
    margin: 0;
    font-size: 4.3vw;
    font-weight: 500;
    line-height: 1.2;
  }
  #recruit .resource .resource__skillmap-item-icon {
    grid-area: icon;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 24.2vw;
  }
  #recruit .resource .resource__skillmap-item-icon img {
    width: 100%;
    height: auto;
  }
  #recruit .resource .resource__skillmap-item-desc {
    grid-area: desc;
    margin: 0;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .resource .resource__skillmap-item:nth-child(1) img {
    width: 26.57vw;
    height: auto;
    aspect-ratio: 110/65;
    transform: translateX(3.4vw);
  }
  #recruit .resource .resource__skillmap-item:nth-child(2) img {
    width: 20.29vw;
    height: auto;
    aspect-ratio: 84/76;
  }
  #recruit .resource .resource__skillmap-item:nth-child(3) img {
    width: 25.845vw;
    height: auto;
    aspect-ratio: 107/76;
  }
  #recruit .resource .resource__skillmap-item:nth-child(2) {
    grid-template-columns: 55% max-content;
  }
  #recruit .resource .resource__skillmap-item:nth-child(2) .resource__skillmap-item-title,
  #recruit .resource .resource__skillmap-item:nth-child(2) .resource__skillmap-item-desc {
    transform: translateX(2.3vw);
  }
  #recruit .resource .resource__skillmap-item:nth-child(2) .resource__skillmap-item-icon {
    transform: translateX(2.3vw);
  }
  #recruit .resource .resource__skillmap-item:nth-child(3) {
    row-gap: 0;
    padding-bottom: 8.7vw;
  }
  #recruit .resource .resource__skillmap-item:nth-child(3) .resource__skillmap-item-title {
    align-self: flex-end;
  }
  #recruit .resource .resource__skillmap-item:nth-child(3) .resource__skillmap-item-desc {
    align-self: flex-end;
  }
  #recruit .resource .resource__skillmap-item:nth-child(3) .resource__skillmap-item-icon {
    transform: translate(3.7vw, 2.7vw);
  }
  #recruit .resource .resource__skillmap-text--bottom {
    line-height: 1.75;
  }
  #recruit .resource .resource__sheet {
    width: 82vw;
    margin-top: 5.3vw;
    margin-inline: auto;
  }
  #recruit .resource .resource__grid-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  #recruit .resource .resource__grid-text-wrap {
    display: contents;
    width: 100%;
  }
  #recruit .resource .resource__grid-text--top {
    order: 1;
  }
  #recruit .resource .resource__grid-text--bottom {
    order: 3;
  }
  #recruit .resource .resource__grid-text h4 {
    margin-bottom: 5.8vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .resource .resource__grid-text p {
    font-size: 3.6vw;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .resource .resource__grid-text--top > p {
    margin-bottom: 4.8vw;
  }
  #recruit .resource .resource__grid-text--bottom > p {
    margin-bottom: 6.4vw;
  }
  #recruit .resource .resource__grid-text--bottom > p:last-child {
    margin-bottom: 3vw;
  }
  #recruit .resource .resource__grid-image {
    order: 2;
    margin-bottom: 5vw;
  }
  #recruit .resource .resource__grid-image img {
    width: 82.125vw;
    height: auto;
  }
  #recruit .resource .resource__sheet-link {
    display: block;
    width: 100%;
  }
  #recruit .resource .resource__sheet-frame {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
  }
  #recruit .resource .resource__sheet-image img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .resource .resource__sheet-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.22);
    opacity: 0;
    pointer-events: none;
  }
  #recruit .resource .resource__canvas--scroll .scroll-hint {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }
  #recruit .resource .resource__grid-text--top h4 {
    margin-bottom: 4vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .resource .resource__contents--2nd .resource__contents-inner {
    width: 100%;
    padding-top: 8.7vw;
    padding-inline: 4.8vw;
    padding-bottom: 11.9vw;
  }
  #recruit .resource .resource__contents--2nd .resource__contents-title {
    line-height: 1.85;
    padding-block: 3.4vw;
  }
  #recruit .resource .resource__contents--3rd .resource__contents-inner {
    width: 100%;
    padding-top: 9vw;
    padding-inline: 4.8vw;
    padding-bottom: 10.5vw;
  }
  #recruit .resource .resource__contents--3rd .resource__grid-text--top {
    margin-bottom: 3.3vw;
  }
  #recruit .resource .resource__contents--3rd .resource__grid-image {
    margin-bottom: 9vw;
  }
  #recruit .resource .resource__contents--3rd .resource__sheet {
    margin-top: 15.5vw;
  }
  #recruit .resource .resource__bottom-loop {
    margin-top: 19.1vw;
  }
  /* Scroll Hint 制御エリア */
  .resource__canvas--scroll .scroll-hint {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100%;
    height: auto;
  }
  .resource__canvas--scroll .scroll-hint-icon-wrap {
    margin-top: -24px;
  }
  .resource__canvas--scroll .scroll-hint-icon {
    border-radius: 14px;
    padding: 30px 10px 12px 10px;
  }
  .resource__canvas--scroll .scroll-hint.is-scroll-hint-hidden .scroll-hint-icon-wrap {
    display: none !important;
    opacity: 0;
    visibility: hidden;
  }
  .resource__contents--first .resource__canvas-image.js-resource-canvas-scroll img {
    padding-block: 8vw;
    height: 26vw;
  }
  /* スクロールバー自体を非表示にする */
  .js-resource-canvas-scroll {
    -ms-overflow-style: none; /* IE, Edge用 */
    scrollbar-width: none; /* Firefox用 */
  }
  /* Chrome, Safari用 */
  .js-resource-canvas-scroll::-webkit-scrollbar {
    display: none;
  }
}



@media screen and (min-width:768px) and (max-width:1340px) {
#recruit .resource .resource__canvas--2nd .resource__canvas-image {width: 100%;}
#recruit .resource .resource__canvas--2nd .resource__canvas-image.js-resource-canvas-scroll img{width: 106.72vw;}
}


/* ===== Pages / number（数値で見る） ===== */
@media (min-width: 768px) {
  #recruit .number .number__inner {
    background-color: #F2F2F2;
    /* 70px 〜 140px : 768px 〜 1920px */
    padding-top: clamp(70px, 23.33px + 6.076vw, 140px);
    /* 2px 〜 40px : 768px 〜 1920px */
    padding-bottom: clamp(2px, -23.33px + 3.299vw, 40px);
  }
  #recruit .number .number__title {
    margin-bottom: 80px;
  }
  #recruit .number .number__contents {
    width: min(90%, 1200px);
    margin-inline: auto;
    margin-bottom: 100px;
  }
  #recruit .number .number__contents-inner {
    padding-block: 64px;
    /* 24px 〜 80px : 768px 〜 1920px */
    padding-inline: clamp(24px, -13.33px + 4.861vw, 80px);
    background-color: #fff;
  }
  #recruit .number .number__contents-title {
    padding-block: 22px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    background-color: #AA905A;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  #recruit .number .number__contents-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
    /* 20px 〜 40px : 768px 〜 1920px */
    column-gap: clamp(20px, 6.67px + 1.736vw, 40px);
    width: 100%;
  }
  #recruit .number .number__contents-item-image img {
    width: 100%;
  }
  #recruit .number {
    /* 横長画像を1行で表示するためのクラス */
  }
  #recruit .number .number__contents-item--full {
    grid-column: 1/-1;
  }
  #recruit .number .number__contents-item-title {
    position: relative;
    /* 12px 〜 24px : 768px 〜 1920px */
    margin-bottom: clamp(12px, 4px + 1.042vw, 24px);
    padding-left: 30px;
    /* 16px 〜 20px : 768px 〜 1920px */
    font-size: clamp(16px, 13.33px + 0.347vw, 20px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
  }

  #recruit .number .number__contents-item-title span{ font-size: 14px;}

  #recruit .number .number__contents-item-title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: 20px;
    height: 20px;
    background-color: #AA905A;
  }
  #recruit .number .number__bottom-loop {
    margin-top: 100px;
    margin-bottom: 40px;
  }
}
/* ======================================
      【SP】 number
========================================= */
@media (max-width: 767px) {
  #recruit .number {
    width: 100%;
  }
  #recruit .number .number__inner {
    width: 100%;
    height: auto;
    background-color: #F2F2F2;
    padding-top: 16.9vw;
    padding-bottom: 5.4vw;
  }
  #recruit .number .number__title {
    width: 100%;
    margin-bottom: 10.1vw;
  }
  #recruit .number .number__title-en {
    width: 11.224vw;
    margin-inline: auto;
  }
  #recruit .number .number__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .number .number__contents {
    width: 92vw;
    margin-inline: auto;
    margin-bottom: 9.5vw;
  }
  #recruit .number .number__contents-inner {
    width: 100%;
    padding-top: 6.5vw;
    padding-bottom: 9.7vw;
    padding-inline: 6vw;
    background-color: #fff;
  }
  #recruit .number .number__contents-title {
    width: 100%;
    padding-block: 4.9vw;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    background-color: #AA905A;
    border-top-left-radius: 2.4vw;
    border-top-right-radius: 2.4vw;
  }
  #recruit .number .number__contents-grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 6.7vw;
    column-gap: 0;
    width: 100%;
  }
  #recruit .number .number__contents-item {
    width: 100%;
  }
  #recruit .number .number__contents-item-image {
    width: 100%;
  }
  #recruit .number .number__contents-item-image img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .number .number__contents-item--full {
    grid-column: 1/-1;
  }
  #recruit .number .number__contents-item-title {
    position: relative;
    margin-bottom: 5vw;
    padding-left: 5.8vw;
    font-size: 3.9vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .number .number__contents-item-title span{
    font-size: 3.2vw;
  }

  #recruit .number .number__contents-item-title::before {
    content: "";
    position: absolute;
    top: 2.7vw;
    left: 0.4vw;
    translate: 0 -50%;
    width: 4.2vw;
    height: 4.2vw;
    margin-top: 0.4vw;
    background-color: #AA905A;
  }
  #recruit .number .number__bottom-loop {
    width: 100%;
    margin-top: 14.6vw;
  }
}
/* ===== Pages / recruiting（募集中の職種）===== */
@media (min-width: 768px) {
  #recruit .recruiting .recruiting__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  #recruit .recruiting .recruiting__title {
    /* 50px 〜 100px : 768px 〜 1920px */
    margin-bottom: clamp(50px, 16.67px + 4.34vw, 100px);
  }
  #recruit .recruiting .recruiting__list {
    width: min(90%, 1200px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 80px;
    /* 20px 〜 40px : 768px 〜 1920px */
    column-gap: clamp(20px, 6.67px + 1.736vw, 40px);
    margin-inline: auto;
    margin-bottom: 100px;
  }
  #recruit .recruiting .recruiting__card {
    /* 20px 〜 40px : 768px 〜 1920px */
    padding-top: clamp(20px, 6.67px + 1.736vw, 40px);
    padding-inline: 20px;
    /* 10px 〜 20px : 768px 〜 1920px */
    padding-inline: clamp(10px, 3.33px + 0.868vw, 20px);
    background-color: #fff;
    border-top: 2px solid #AA905A;
  }
  #recruit .recruiting .recruiting__card-head {
    display: flex;
    /* 12px 〜 24px : 768px 〜 1920px */
    gap: clamp(12px, 4px + 1.042vw, 24px);
    align-items: center;
    margin-bottom: 24px;
  }
  #recruit .recruiting .recruiting__card-meta {
    flex: 1;
    min-width: 0;
  }
  #recruit .recruiting .recruiting__card-title {
    /* 20px 〜 24px : 768px 〜 1920px */
    font-size: clamp(20px, 17.33px + 0.347vw, 24px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #231815;
  }
  #recruit .recruiting .recruiting__card-dept,
  #recruit .recruiting .recruiting__card-type {
    /* 14px 〜 18px : 768px 〜 1920px */
    font-size: clamp(14px, 11.33px + 0.347vw, 18px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .recruiting .recruiting__card-title,
  #recruit .recruiting .recruiting__card-dept {
    margin-bottom: 8px;
  }
  #recruit .recruiting .recruiting__card-info {
    margin-bottom: 24px;
    border: 1px solid #E3E3E3;
  }
  #recruit .recruiting .recruiting__card-info-row {
    display: grid;
    grid-template-columns: clamp(100px, 86.667px + 1.736vw, 120px) 1fr;
    margin: 0;
  }
  #recruit .recruiting .recruiting__card-info-row:first-child {
    border-bottom: 1px solid #e8e4dc;
  }
  #recruit .recruiting .recruiting__card-info-title {
    padding-top: 20px;
    padding-right: 12px;
    padding-bottom: 20px;
    padding-left: 24px;
    /* 12px 〜 24px : 768px 〜 1920px */
    padding-left: clamp(12px, 4px + 1.042vw, 24px);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #333;
    background-color: #F2F2F2;
  }
  #recruit .recruiting .recruiting__card-info-desc {
    margin: 0;
    padding-block: 15px;
    /* 12px 〜 24px : 768px 〜 1920px */
    padding-inline: clamp(12px, 4px + 1.042vw, 24px);
    /* 13px 〜 16px : 768px 〜 1920px */
    font-size: clamp(13px, 11px + 0.26vw, 14px);
    font-weight: 400;
    line-height: 1.75;
    color: #333;
    background-color: #fff;
  }
  #recruit .recruiting .recruiting__card-btn {
    position: relative;
    display: block;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    background-color: #AA905A;
  }
  #recruit .recruiting .recruiting__card-btn::after {
    content: "→";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 40px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
  }
  #recruit .recruiting .recruiting__no-jobs {
    width: min(90%, 1200px);
    margin-inline: auto;
    padding-block: 100px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
    border-top: 2px solid #AA905A;
    border-bottom: 2px solid #AA905A;
  }
}
/* ======================================
      【SP】 recruiting
========================================= */
@media (max-width: 767px) {
  #recruit .recruiting {
    width: 100%;
  }
  #recruit .recruiting .recruiting__inner {
    width: 100%;
    height: auto;
    padding-top: 18.5vw;
  }
  #recruit .recruiting .recruiting__title {
    width: 100%;
    margin-bottom: 10.2vw;
  }
  #recruit .recruiting .recruiting__title-en {
    width: 13.847vw;
    margin-inline: auto;
  }
  #recruit .recruiting .recruiting__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .recruiting .recruiting__list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 9.7vw;
    column-gap: 0;
    width: 87.4vw;
    margin-inline: auto;
    margin-bottom: 24.2vw;
  }
  #recruit .recruiting .recruiting__item {
    width: 100%;
  }
  #recruit .recruiting .recruiting__card {
    width: 100%;
    height: auto;
    padding-top: 3.8vw;
    background-color: #fff;
    border-top: 0.5vw solid #AA905A;
  }
  #recruit .recruiting .recruiting__card-head {
    display: flex;
    align-items: center;
    gap: 3.6vw;
    width: 100%;
    margin-bottom: 3.8vw;
  }
  #recruit .recruiting .recruiting__card-icon {
    flex-shrink: 0;
    width: 19.6vw;
  }
  #recruit .recruiting .recruiting__card-icon img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .recruiting .recruiting__card-meta {
    flex: 1;
    min-width: 0;
  }
  #recruit .recruiting .recruiting__card-title {
    margin-bottom: 2.9vw;
    font-size: 4.4vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #231815;
  }
  #recruit .recruiting .recruiting__card-dept,
  #recruit .recruiting .recruiting__card-type {
    font-size: 3.2vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #333;
  }
  #recruit .recruiting .recruiting__card-info {
    width: 100%;
    margin-bottom: 5.8vw;
    border: 0.2vw solid #E3E3E3;
  }
  #recruit .recruiting .recruiting__card-info-row {
    display: grid;
    grid-template-columns: 24.2vw 1fr;
    margin: 0;
    width: 100%;
  }
  #recruit .recruiting .recruiting__card-info-row:first-child {
    border-bottom: 0.2vw solid #e8e4dc;
  }
  #recruit .recruiting .recruiting__card-info-title {
    display: flex;
    align-items: flex-start;
    padding-block: 4.2vw;
    padding-left: 4.9vw;
    padding-right: 2.9vw;
    font-size: 3.3vw;
    font-weight: 400;
    line-height: 1;
    color: #333;
    background-color: #F2F2F2;
  }
  #recruit .recruiting .recruiting__card-info-desc {
    margin: 0;
    padding-block: 3vw;
    padding-left: 4.9vw;
    padding-right: 2.9vw;
    font-size: 3.4vw;
    font-weight: 400;
    line-height: 1.7;
    color: #333;
    background-color: #fff;
  }
  #recruit .recruiting .recruiting__card-btn {
    position: relative;
    display: block;
    width: 100%;
    padding: 5.2vw 4.8vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    background-color: #AA905A;
  }
  #recruit .recruiting .recruiting__card-btn::after {
    content: "→";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7.3vw;
    font-size: 4.2vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
  }
  #recruit .recruiting .recruiting__no-jobs {
    width: 90.3vw;
    margin-inline: auto;
    padding-block: 15.2vw;
    text-align: center;
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #333;
    border-top: 0.5vw solid #AA905A;
    border-bottom: 0.5vw solid #AA905A;
  }
}


/* ===== Pages / voice（社員の声）===== */
@media (min-width: 768px) {
  #recruit .voice .voice__inner {
    width: min(90%, 1600px);
    margin-inline: auto;
    /* 120px 〜 240px : 768px 〜 1920px */
    margin-bottom: clamp(120px, 40px + 10.417vw, 190px);
    /* 70px 〜 140px : 768px 〜 1920px */
    padding-block: clamp(70px, 23.33px + 6.076vw, 140px);
    background-color: #F8F7F2;
  }
  .voice__title {
    /* 40px 〜 80px : 768px 〜 1920px */
    margin-bottom: clamp(40px, 13.33px + 3.472vw, 80px);
  }
  .voice__lead-wrap {
    margin-bottom: 120px;
    text-align: center;
  }
  .voice__lead {
    margin-bottom: 40px;
    padding-inline: 24px;
    /* 14px 〜 18px : 768px 〜 1920px */
    font-size: clamp(14px, 11.33px + 0.347vw, 18px);
    font-weight: 400;
    line-height: 1.88888;
    letter-spacing: 0;
    color: #333;
  }
  .voice__loop {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    margin-bottom: 120px;
    box-sizing: border-box;
  }
  .voice__card {
    margin-inline: auto;
    width: min(90%, 1100px);
    margin-bottom: 40px;
    padding-top: 40px;
    /* 40px 〜 80px : 768px 〜 1920px */
    padding-inline: clamp(40px, 13.33px + 3.472vw, 80px);
    padding-bottom: 64px;
    background-color: #fff;
    border-radius: 10px;
  }
  .voice__card-title {
    margin-bottom: 40px;
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    border-bottom: 2px solid #707070;
  }
  .voice__row {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 16px;
  }
  .voice__icon-area {
    flex: 0 0 60px;
  }
  .voice__icon img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .voice__name {
    margin-top: 4px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    color: #333;
  }
  .voice__text {
    position: relative;
    flex: 1;
    /* 16px 〜 24px : 768px 〜 1920px */
    padding-block: clamp(16px, 10.67px + 0.694vw, 24px);
    /* 24px 〜 32px : 768px 〜 1920px */
    padding-inline: clamp(24px, 18.67px + 0.694vw, 32px);
    font-family: "Noto Sans JP", sans-serif;
    /* 12px 〜 14px : 768px 〜 1920px */
    font-size: clamp(12px, 10.67px + 0.174vw, 14px);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0;
    color: #333;
    background-color: #F2F2F2;
    border-radius: 10px;
  }
  .voice__text::before {
    content: "";
    position: absolute;
    top: 20px;
    left: -16px;
    width: 18px;
    height: auto;
    aspect-ratio: 18/20;
    background-image: url("../images/recruit/voice-text-arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .voice__row--reverse {
    flex-direction: row-reverse;
  }
  .voice__row--reverse .voice__text::before {
    left: auto;
    right: -16px;
    transform: rotate(180deg);
  }
}
/* ======================================
      【SP】 voice
========================================= */
@media (max-width: 767px) {
  #recruit .voice {
    width: 100%;
  }
  #recruit .voice .voice__inner {
    width: 100%;
    height: auto;
    padding-top: 17vw;
    padding-bottom: 13.9vw;
    background-color: #F8F7F2;
  }
  #recruit .voice .voice__title {
    margin-bottom: 9.1vw;
  }
  #recruit .voice .voice__title-en {
    width: 8.048vw;
    margin-inline: auto;
  }
  #recruit .voice .voice__title-en img {
    width: 100%;
    height: auto;
  }
  #recruit .voice .voice__lead-wrap {
    margin-bottom: 14.4vw;
    text-align: center;
  }
  #recruit .voice .voice__lead {
    margin-bottom: 7.3vw;
    padding-inline: 5.8vw;
    font-size: 3.6vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .voice .voice__loop {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    margin-bottom: 15.7vw;
    box-sizing: border-box;
  }
  #recruit .voice .voice__contents-wrap {
    width: 100%;
  }
  #recruit .voice .voice__card {
    margin-inline: auto;
    width: 92.4vw;
    margin-bottom: 9.9vw;
    padding-top: 10.3vw;
    padding-bottom: 3vw;
    padding-inline: 2.8vw;
    background-color: #fff;
    border-radius: 10px;
  }
  #recruit .voice .voice__card-title {
    margin-bottom: 5.5vw;
    padding-bottom: 4.7vw;
    font-size: 3.9vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    border-bottom: 0.5vw solid #707070;
  }
  #recruit .voice .voice__row {
    display: flex;
    gap: 4.8vw;
    align-items: flex-start;
    width: 81.8vw;
    margin-inline: auto;
    margin-bottom: 6.9vw;
  }
  #recruit .voice .voice__icon-area {
    flex: 0 0 14.5vw;
  }
  #recruit .voice .voice__icon img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  #recruit .voice .voice__name {
    margin-top: 1vw;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.9vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    color: #333;
  }
  #recruit .voice .voice__text {
    position: relative;
    flex: 1;
    margin-top: 1vw;
    padding-block: 2.2vw;
    padding-inline: 3.6vw;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.9vw;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0;
    color: #333;
    background-color: #F2F2F2;
    border-radius: 2.4vw;
  }
  #recruit .voice .voice__text::before {
    content: "";
    position: absolute;
    top: 4.8vw;
    left: -3.9vw;
    width: 4.3vw;
    height: auto;
    aspect-ratio: 18/20;
    background-image: url("../images/recruit/voice-text-arrow_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #recruit .voice .voice__row--reverse {
    flex-direction: row-reverse;
  }
  #recruit .voice .voice__row--reverse .voice__text::before {
    left: auto;
    right: -3.9vw;
    transform: rotate(180deg);
  }
}
/* ===== Pages / end-cta ===== */
@media (min-width: 768px) {
  #recruit .end-cta {
    position: relative;
    background-image: url("../images/recruit/end-cta-bg.jpg");
    background-size: cover;
    background-position: center;
    width: 100%;
    aspect-ratio: 1920/720;
  }
  #recruit .end-cta .end-cta__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  #recruit .end-cta .end-cta__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #recruit .end-cta .end-cta__title {
    display: flex;
    justify-content: center;
    align-items: center;
    /* 0px 〜 24px : 768px 〜 1920px */
    margin-bottom: clamp(0px, -16px + 2.083vw, 24px);
    /* 26px 〜 50px : 768px 〜 1920px */
    font-size: clamp(26px, 10px + 2.083vw, 50px);
    font-weight: 900;
    line-height: 2;
    letter-spacing: 0;
    color: #fff;
  }
  #recruit .end-cta .end-cta__title span {
    display: inline-block;
  }
  #recruit .end-cta .end-cta__title span:nth-of-type(2) {
    margin-left: -20px;
  }
  #recruit .end-cta .end-cta__sub-title {
    /* 24px 〜 64px : 768px 〜 1920px */
    margin-bottom: clamp(24px, -2.67px + 3.472vw, 64px);
    /* 16px 〜 24px : 768px 〜 1920px */
    font-size: clamp(16px, 10.67px + 0.694vw, 24px);
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
  }
  #recruit .end-cta .end-cta__btn {
    position: relative;
    display: block;
    width: min(70%, 870px);
    /* 16px 〜 34px : 768px 〜 1920px */
    padding-block: clamp(16px, 4px + 1.563vw, 34px);
    padding-inline: 8px;
    /* 14px 〜 22px : 768px 〜 1920px */
    font-size: clamp(14px, 8.67px + 0.694vw, 22px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    background-color: #E0C389;
    cursor: pointer;
  }
  #recruit .end-cta .end-cta__btn::after {
    content: "→";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 40px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
}
/* ======================================
      【SP】 end-cta
========================================= */
@media (max-width: 767px) {
  #recruit .end-cta {
    position: relative;
    background-image: url("../images/recruit/end-cta-bg_sp.jpg");
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 414/460;
  }
  #recruit .end-cta .end-cta__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  #recruit .end-cta .end-cta__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
  #recruit .end-cta .end-cta__title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 3.4vw;
    font-size: 7.7vw;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0;
    color: #fff;
    text-align: center;
  }
  #recruit .end-cta .end-cta__title span {
    display: inline-block;
  }
  #recruit .end-cta .end-cta__title span:nth-of-type(2) {
    margin-left: 0;
  }
  #recruit .end-cta .end-cta__sub-title {
    margin-bottom: 9.6vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #fff;
    text-align: center;
  }
  #recruit .end-cta .end-cta__btn {
    position: relative;
    display: block;
    width: 87vw;
    padding-block: 5.3vw;
    padding-inline: 1.9vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    background-color: #E0C389;
    cursor: pointer;
  }
  #recruit .end-cta .end-cta__btn::after {
    content: "→";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7.4vw;
    font-size: 3.9vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #333;
  }
}
/* ===== Pages / sticky-nav（採用ページ下部 追従ナビ）===== */
/* transform を付けない: 祖先の transform は backdrop-filter を壊しやすい */
@media (min-width: 768px) {
  #recruit .sticky-nav {
    position: fixed;
    right: auto;
    bottom: -160px;
    left: 50%;
    z-index: 50;
    width: min(95%, 1300px);
    max-width: 1300px;
    margin-inline: 0;
    transform: translateX(-50%);
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: bottom 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, visibility 0.35s ease;
  }
  #recruit .sticky-nav.is-visible {
    bottom: 24px;
    visibility: visible;
    opacity: 1;
  }
  #recruit .sticky-nav:not(.is-visible) .sticky-nav__bar {
    pointer-events: none;
  }
  #recruit .sticky-nav .sticky-nav__bar {
    padding-block: 10px;
    padding-inline: 8px;
    width: 100%;
    pointer-events: auto;
    border-radius: 999px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
    /* 非対応ブラウザ: 従来の半透明グレー */
    background: rgba(242, 242, 242, 0.92);
    /* XD「背景のぼかし」相当: 背面をぼかし + 白の半透明でフロスト */
  }
  @supports (-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px)) {
    #recruit .sticky-nav .sticky-nav__bar {
      /* 白は薄くしないと背面のぼかしがほぼ見えない */
      background: rgba(255, 255, 255, 0.42);
      border: 1px solid rgba(255, 255, 255, 0.45);
      -webkit-backdrop-filter: blur(24px) saturate(1.15) brightness(0.97);
      backdrop-filter: blur(24px) saturate(1.15) brightness(0.97);
    }
  }
  #recruit .sticky-nav .sticky-nav__list {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
  }
  #recruit .sticky-nav .sticky-nav__item {
    display: flex;
    flex-shrink: 0;
  }
  #recruit .sticky-nav .sticky-nav__item--160 {
    /* 120px 〜 160px : 768px 〜 1920px */
    width: clamp(120px, 93.33px + 3.472vw, 160px);
  }
  #recruit .sticky-nav .sticky-nav__item--140 {
    /* 100px 〜 140px : 768px 〜 1920px */
    width: clamp(100px, 73.33px + 3.472vw, 140px);
  }
  #recruit .sticky-nav .sticky-nav__item--entry {
    flex: 0 0 220px;
    /* 160px 〜 220px : 768px 〜 1920px */
    width: clamp(160px, 120px + 5.208vw, 220px);
    margin-left: 4px;
  }
  #recruit .sticky-nav .sticky-nav__item--top {
    width: 60px;
    margin-left: 8px;
    /* 50px 〜 60px : 768px 〜 1920px */
    width: clamp(50px, 43.33px + 0.868vw, 60px);
    align-items: center;
    justify-content: center;
    align-self: center;
  }
  #recruit .sticky-nav .sticky-nav__link {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    padding: 10px 8px;
    /* 10px 〜 14px : 768px 〜 1920px */
    font-size: clamp(10px, 7.33px + 0.347vw, 14px);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    border-radius: 999px;
    transition: background-color 0.2s ease;
  }
  #recruit .sticky-nav .sticky-nav__link:hover {
    background-color: rgba(255, 255, 255, 0.85);
  }
  #recruit .sticky-nav .sticky-nav__link.is-active {
    background-color: #fff;
  }
  #recruit .sticky-nav .sticky-nav__entry {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    padding: 10px 16px;
    /* 12px 〜 14px : 768px 〜 1920px */
    font-size: clamp(12px, 10.67px + 0.174vw, 14px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    background-color: #FFE415;
    border-radius: 999px;
    transition: filter 0.2s ease;
  }
  #recruit .sticky-nav .sticky-nav__entry:hover {
    filter: brightness(0.92);
  }
  #recruit .sticky-nav .sticky-nav__entry.is-active {
    box-shadow: 0 0 0 2px #fff, 0 4px 24px rgba(0, 0, 0, 0.12);
    filter: brightness(0.86);
  }
  #recruit .sticky-nav .sticky-nav__top {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    /* 40px 〜 60px : 768px 〜 1920px */
    width: clamp(40px, 26.67px + 1.736vw, 60px);
    /* 40px 〜 60px : 768px 〜 1920px */
    height: clamp(40px, 26.67px + 1.736vw, 60px);
    padding: 0;
    color: #fff;
    cursor: pointer;
    background-color: #707070;
    border: none;
    border-radius: 50%;
    transition: background-color 0.2s ease;
  }
  #recruit .sticky-nav .sticky-nav__top:hover {
    background-color: #555;
  }
  #recruit .sticky-nav .sticky-nav__top-icon {
    font-size: 18px;
    line-height: 1;
  }
  body#recruit main.main > section {
    scroll-margin-top: 96px;
  }
}
@media (min-width: 768px) and (max-width: 767px) {
  body#recruit main.main > section {
    scroll-margin-top: 11.59vw;
  }
}
@media (min-width: 768px) and (max-width: 1300px) {
  #recruit .sticky-nav .sticky-nav__item:nth-child(7) {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1100px) {
  #recruit .sticky-nav .sticky-nav__item:nth-child(5) {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 960px) {
  #recruit .sticky-nav .sticky-nav__item:nth-child(4) {
    display: none;
  }
}
/* ======================================
      【SP】 sticky-nav
========================================= */
@media (max-width: 767px) {
  #recruit .sticky-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transition: bottom 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, visibility 0.35s ease;
  }
  #recruit .sticky-nav.is-visible {
    bottom: 0;
    visibility: visible;
    opacity: 1;
  }
  #recruit .sticky-nav .sticky-nav__bar {
    padding-block: 0;
    padding-inline: 0;
    pointer-events: auto;
    background: #F2F2F2;
    border: none;
  }
  #recruit .sticky-nav .sticky-nav__list {
    display: flex;
    align-items: stretch;
    width: 100%;
  }
  #recruit .sticky-nav .sticky-nav__item {
    display: none;
    flex-shrink: 0;
    width:16.6vw;
    border-right: 0.2vw solid #e3e3e3;
  }
  #recruit .sticky-nav .sticky-nav__item:nth-child(1),
  #recruit .sticky-nav .sticky-nav__item:nth-child(2),
  #recruit .sticky-nav .sticky-nav__item:nth-child(3),
  #recruit .sticky-nav .sticky-nav__item:nth-child(4),
  #recruit .sticky-nav .sticky-nav__item:nth-child(6),
  #recruit .sticky-nav .sticky-nav__item:nth-child(7) {
    display: flex;
  }
  #recruit .sticky-nav .sticky-nav__item--entry {
    display: flex;
    width: 16.6vw;
    margin-left: 0;
    border-right: none;
  }
  #recruit .sticky-nav .sticky-nav__link {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 13.5265vw;
    padding: 2.4vw 1.2vw;
    font-size: 2.2vw;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    border-radius: 0;
    background-color: transparent;
  }
  #recruit .sticky-nav .sticky-nav__link.is-active {
    background-color: #fff;
  }
  #recruit .sticky-nav .sticky-nav__entry {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 13.5265vw;
    padding: 2.4vw 1.2vw;
    font-size: 2.4vw;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    color: #333;
    background-color: #FFE415;
    border-radius: 0;
  }
  #recruit .sticky-nav .sticky-nav__item--top {
    display: none;
  }
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  max-width: 1920px;
  margin-inline: auto;
}

/* common.css の body { overflow-x: hidden } が position:sticky を阻害することがあるため */
body#recruit {
  overflow-x: clip;
}/*# sourceMappingURL=page-recruit.css.map */







/* =========================================================
   !!! single-recruit_job.php 専用スタイル（ここに集約） !!!
========================================================= */
@media (min-width: 768px) {
  #recruit .recruit-job-detail .recruiting__card--single .recruiting__card-icon {
    flex-shrink: 0;
    width: clamp(72px, 10vw, 120px);
  }
  #recruit .recruit-job-detail .recruiting__card--single .recruiting__card-icon img {
    display: block;
    width: 100%;
    height: auto;
  }
  #recruit .recruit-job-detail .recruit-job-detail__back {
    width: min(90%, 1200px);
    margin-inline: auto;
    margin-bottom: 24px;
    text-align: center;
  }
  #recruit .recruit-job-detail .recruit-job-detail__back a {
    font-size: 16px;
    color: #AA905A;
    text-decoration: underline;
  }
  #recruit .recruit-job-detail .recruiting__card--single .recruit-job-detail__body {
    margin-top: 40px;
  }
}


@media (max-width: 767px) {
  #recruit .recruit-job-detail .recruit-job-detail__back {
    width: 87.4vw;
    margin-inline: auto;
    margin-bottom:13vw;
    text-align: center;
  }
  #recruit .recruit-job-detail .recruit-job-detail__back a {
    font-size: 3.2vw;
  }
  #recruit .recruit-job-detail .recruiting__card--single .recruit-job-detail__body {
    margin-top: 8vw;
  }
}


