@charset "UTF-8";
:root {
  --color-main: #ED4545;
  --color-border: #F1C5C5;
  --color-bg-default: #E2E2E2;
  --color-bg-inverse: #2C2C2C;
  --color-bg-grad: linear-gradient(90deg, #FFA348 0%, #ED4545 100%);
  --color-jc: #B10017;
  --color-jco: #F07700;
  --color-jcw: #399D26;
  --color-jce: #C79501;
  --color-jct: #0092C6;
  --color-jcn: #DD3270;
  --color-light: #FFFFFF;
  --color-dark: #070707;
  --color-gray: #ECECEC;
  --color-darkgray: #D8D8D8;
  --color-text: #070707;
  --color-text-accent: #ED4545;
  --color-text-deco: #E2E2E2;
  --color-text-on-dark: #FFFFFF;
  --color-text-hover: #2E6DAC;
  --color-chart-main: #B10017;
  --color-chart-sub: #DDDDDD;
  --color-button-grad: linear-gradient(90deg, #FFA348 0%, #ED4545 50%, #FFA348 100%);
  --color-button-close: #E2E2E2;
}

.fv {
  width: 100%;
  height: calc(59.3229166667vw + 110px);
  position: relative;
}
@media (max-width: 1023px) {
  .fv {
    height: auto;
    overflow: hidden;
    padding: 129px 0 6.1333333333%;
  }
}
.fv__images {
  width: 75%;
  aspect-ratio: 1440/1080;
  position: relative;
  top: 110px;
  z-index: 1;
  transform: translateY(-10.1851851852%);
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .fv__images {
    width: 186.6666666667%;
    max-width: 1200px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
.fv__images img {
  position: absolute;
  inset: 0;
}
.fv__images img:nth-child(2) {
  animation-delay: 6s;
}
.fv__images img:nth-child(3) {
  animation-delay: 12s;
}
.fv__catch {
  position: absolute;
  z-index: 3;
  top: 15.2604166667vw;
  left: 5vw;
}
@media (max-width: 1023px) {
  .fv__catch {
    top: 100px;
    left: 5.8666666667vw;
  }
}
.fv__catch-en {
  display: block;
  opacity: 0;
  font-size: clamp(2.6rem, 2.3636363636vw, 3.6rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.66;
}
@media (max-width: 1023px) {
  .fv__catch-en {
    font-size: clamp(1.8rem, 4.8vw, 3rem);
    line-height: 1.55;
  }
}
.fv__catch-en.is-active {
  opacity: 1;
}
.fv__catch-en.is-active .js-text-animate span {
  transform: translate(0, 0);
}
.fv__catch-en .js-text-animate {
  display: flex;
  overflow: hidden;
}
.fv__catch-en .js-text-animate span {
  transform: translate(0, 105%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition-delay: calc(var(--i) * 0.06s);
}
.fv__catch-en .js-text-animate:nth-of-type(2) span {
  transition-delay: calc(var(--i) * 0.06s + 1.44s);
}
.fv__catch-body {
  display: block;
  opacity: 0;
  transform: translateY(20px);
  transition: 1.8s;
}
.fv__catch-body.is-active {
  opacity: 1;
  transform: translateY(0);
}
.fv__catch-ja {
  display: inline-block;
  font-size: clamp(2.2rem, 2vw, 3rem);
  font-weight: 500;
  line-height: 1;
  color: var(--color-text-on-dark);
  background-image: var(--color-bg-grad);
  padding: 14px 20px;
  margin-top: 10px;
}
@media (max-width: 1023px) {
  .fv__catch-ja {
    font-size: clamp(1.4rem, 3.7333333333vw, 2.2rem);
    padding: 0.35em 0.71em;
    margin-top: 0;
  }
}
.fv__site-name {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  color: var(--color-text);
  margin-top: 24px;
}
@media (max-width: 1023px) {
  .fv__site-name {
    font-size: clamp(1.2rem, 3.2vw, 1.8rem);
    margin-top: 8px;
  }
}
.fv .scroll-down {
  width: clamp(135px, 13.18359375vw, 222px);
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  transform: translate(-58.5585585586%, 79.7297297297%);
}
@media (max-width: 1023px) {
  .fv .scroll-down {
    width: 22.6666666667%;
    max-width: 150px;
    top: 143px;
    transform: translate(-20%, 0);
  }
}
.fv .scroll-down__arrow-img {
  width: 8.5585585586%;
  position: absolute;
}
@media (max-width: 1023px) {
  .fv .scroll-down__arrow-img {
    width: 8.2352941176%;
  }
}
.fv__deco-text {
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  z-index: 0;
  font-size: 17.5520833333vw;
  font-weight: 700;
  line-height: 1;
  color: var(--color-gray);
}
@media (max-width: 1023px) {
  .fv__deco-text {
    font-size: 18.9333333333vw;
  }
}

.message {
  padding: 100px 0 180px;
}
@media (max-width: 1023px) {
  .message {
    padding: 60px 0 50px;
  }
}
.message__inner {
  width: clamp(920px, 85.75%, 1372px);
  display: flex;
  justify-content: space-between;
  gap: 11.0058309038%;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .message__inner {
    width: clamp(300px, 85.6%, 700px);
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}
@media (max-width: 1023px) {
  .message__wrap {
    width: 100%;
  }
}
.message__title {
  padding-left: 14.2172523962%;
}
@media (max-width: 1023px) {
  .message__title {
    padding-left: 0;
  }
}
.message__images {
  width: 100%;
  position: relative;
  margin-top: 52px;
}
@media (max-width: 1023px) {
  .message__images {
    width: 92.8348909657%;
    margin: 36px 0 0 auto;
  }
}
.message__img--chara {
  width: 23.988005997%;
  aspect-ratio: 5/8;
  height: auto;
  position: absolute;
}
.message__img--jo {
  top: 0;
  right: 0;
  z-index: 1;
  transform: translate(28.125%, -48.828125%);
}
@media (max-width: 1023px) {
  .message__img--jo {
    z-index: 3;
  }
}
.message__img--bu {
  top: 0;
  left: 0;
  z-index: 1;
  transform: translate(-38.75%, -16.015625%);
}
.message__img--colle {
  bottom: 0;
  left: 0;
  z-index: 3;
  transform: translate(31.25%, 10.546875%);
}
.message__img {
  position: relative;
  z-index: 2;
}
.message__content {
  width: clamp(450px, 48.9130434783%, 558px);
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .message__content {
    width: 100%;
  }
}
.message__lead {
  font-size: clamp(3rem, 2.7272727273vw, 3.4rem);
  line-height: 1.47;
  color: var(--color-text-accent);
}
@media (max-width: 1023px) {
  .message__lead {
    font-size: clamp(2.4rem, 6.4vw, 3rem);
  }
}
.message__text {
  font-size: clamp(1.6rem, 1.3913043478vw, 1.8rem);
  line-height: 2.11;
  margin-top: 2.11em;
}
@media (max-width: 1023px) {
  .message__text {
    font-size: clamp(1.6rem, 4.2666666667vw, 1.8rem);
    line-height: 1.75;
    margin-top: 1.75em;
  }
}

.work {
  background-color: var(--color-bg-inverse);
  padding: 217px 0 202px;
}
@media (max-width: 1023px) {
  .work {
    height: auto;
    padding: 80px 0 100px;
  }
}
.work__wrap {
  width: clamp(900px, 84.8%, 1272px);
  display: flex;
  gap: clamp(65px, 6.6666666667%, 100px);
  margin: auto;
}
@media (max-width: 1023px) {
  .work__wrap {
    width: clamp(300px, 85.6%, 750px);
    flex-direction: column;
    gap: 28px;
  }
}
.work .c-sec-title {
  flex-shrink: 0;
}
.work__lead {
  font-size: 1.8rem;
  font-size: clamp(1.6rem, 1.3913043478vw, 1.8rem);
  line-height: 2.11;
  color: var(--color-text-on-dark);
}
.work__parallax {
  height: 400vh;
  position: relative;
  margin-top: 120px;
}
@media (max-width: 1023px) {
  .work__parallax {
    height: auto;
    margin-top: 60px;
  }
}
.work__panel {
  width: 100%;
  position: sticky;
  top: 130px;
  left: 0;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .work__panel {
    max-height: none;
    position: static;
    inset: 0;
  }
}
.work__cards {
  width: clamp(900px, 87.890625%, 1400px);
  height: 100%;
  position: relative;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .work__cards {
    width: clamp(300px, 94.6666666667%, 800px);
    height: auto;
  }
}
.work__progress {
  width: 6px;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}
.work__progress-item {
  width: 100%;
  height: 100px;
  position: relative;
  background-color: var(--color-bg-default);
  border-radius: 9999px;
  overflow: hidden;
}
.work__progress-item + .work__progress-item {
  margin-top: 10px;
}
.work__progress-item::after {
  content: "";
  width: 100%;
  height: 100%;
  max-height: 0;
  position: absolute;
  background-color: var(--color-main);
  border-radius: 9999px;
}
.work__progress-bar {
  width: 100%;
  height: var(--progress, 0%);
  transition: 0.2s;
  background-color: var(--color-gray);
  border-radius: 9999px;
}
.work__progress-bar.is-active {
  background-color: var(--color-main);
}
.work__card {
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.6s;
  background-color: var(--color-light);
  border-radius: 40px;
  margin: 0 auto;
}
.work__card:nth-of-type(1) {
  z-index: 1;
}
.work__card:nth-of-type(2) {
  z-index: 2;
  transform: translateY(105%);
}
@media (max-width: 1023px) {
  .work__card:nth-of-type(2) {
    transform: none;
  }
}
.work__card:nth-of-type(2).is-active {
  transform: translateY(0);
}
.work__card:nth-of-type(3) {
  z-index: 3;
  transform: translateY(105%);
}
.work__card:nth-of-type(3).is-active {
  transform: translateY(0);
}
@media (max-width: 1023px) {
  .work__card:nth-of-type(3) {
    transform: none;
  }
}
.work__card:nth-of-type(2):has(~ .work__card:nth-of-type(3).is-active) {
  transform: translateY(0);
}
@media (max-width: 1023px) {
  .work__card {
    height: auto;
    max-height: none;
    flex-direction: column;
    gap: 28px;
    position: relative;
    transform: none;
  }
  .work__card + .work__card {
    margin-top: 50px;
  }
}
.work__card--sales .work__buttons {
  width: 80.9885931559%;
  width: max(80.9885931559%, 300px);
}
@media (max-width: 1023px) {
  .work__card--sales .work__buttons {
    width: 100%;
  }
}
.work__card--sales .work__deco {
  padding-right: 1.1406844106%;
}
@media (max-width: 1023px) {
  .work__card--sales .work__deco {
    padding-right: 11.4285714286%;
  }
}
.work__card--sales .work__image {
  width: 39.7338403042%;
  transform: translate(29px, 4.6703296703%);
}
@media (max-width: 1023px) {
  .work__card--sales .work__image {
    width: 38.4126984127%;
    transform: translate(0, 0);
  }
}
@media (max-width: 1023px) {
  .work__card--coord .work__deco-text {
    bottom: 72px;
  }
}
.work__card--coord .work__deco {
  margin-top: 99px;
}
@media (max-width: 1023px) {
  .work__card--coord .work__deco {
    margin-top: 77px;
  }
}
.work__card--coord .work__image {
  width: 45.4372623574%;
}
@media (max-width: 1023px) {
  .work__card--coord .work__image {
    width: 45.3968253968%;
    transform: translate(-12px, 0);
  }
}
@media (max-width: 1023px) {
  .work__card--director .work__deco {
    margin-top: 79px;
  }
}
.work__card--director .work__image {
  width: 53.0418250951%;
  transform: translate(-7.8853046595%, 5.1282051282%);
}
@media (max-width: 1023px) {
  .work__card--director .work__image {
    width: 47.9365079365%;
    transform: translate(-10px, 0);
  }
}
.work__card-inner {
  display: flex;
  padding: 5% 5% 3.4285714286% 3.8571428571%;
}
@media (max-width: 1023px) {
  .work__card-inner {
    flex-direction: column;
    gap: 28px;
    padding: 47px 5.6338028169% 40px;
  }
}
.work__content {
  width: 58.7774294671%;
}
@media (max-width: 1023px) {
  .work__content {
    width: 100%;
  }
}
.work__deco-text {
  position: absolute;
  top: 30px;
  right: 2.1428571429%;
  font-size: clamp(3rem, 2.9296875vw, 4rem);
  font-weight: 300;
  line-height: 1;
  color: var(--color-text-deco);
}
@media (max-width: 1023px) {
  .work__deco-text {
    top: auto;
    bottom: 40px;
    right: 2.8169014085%;
  }
}
.work__title {
  display: flex;
  align-items: center;
  gap: 17px;
  font-size: 2.4rem;
  font-size: clamp(2rem, 1.953125vw, 2.4rem);
  font-weight: 700;
}
.work__title-label {
  width: clamp(80px, 7.8125vw, 93px);
  aspect-ratio: 93/50;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(2.6rem, 2.5390625vw, 3.2rem);
  font-weight: 300;
  line-height: 1;
  color: var(--color-text-on-dark);
  background: var(--color-bg-grad);
  border-radius: 50%;
  padding-top: 6px;
}
@media (max-width: 1023px) {
  .work__title-label {
    width: 74px;
    height: 42px;
    font-size: 2.4rem;
  }
}
.work__text {
  font-size: clamp(1.4rem, 1.037037037vw, 1.6rem);
  line-height: 2;
  margin-top: 1.875em;
}
@media (max-width: 1023px) {
  .work__text {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 20px;
  }
}
.work__data {
  display: flex;
  gap: clamp(20px, 1.4814814815vw, 30px);
  margin-top: clamp(25px, 1.8518518519vw, 40px);
}
@media (max-width: 1023px) {
  .work__data {
    flex-direction: column;
    margin-top: 30px;
  }
}
.work__data-list {
  width: calc((100% - clamp(20px, 1.4814814815vw, 30px)) / 2);
}
@media (max-width: 1023px) {
  .work__data-list {
    width: 100%;
  }
}
.work__term {
  width: 100%;
  height: clamp(50px, 3.7037037037vw, 68px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 2rem;
  font-size: clamp(1.6rem, 1.1851851852vw, 2rem);
  font-weight: 700;
  color: var(--color-text-on-dark);
  background: var(--color-bg-grad);
  border-radius: 10px 10px 0px 0px;
}
.work__term::before {
  content: "";
  width: clamp(30px, 2.2222222222vw, 40px);
  aspect-ratio: 1;
  background-image: url(../images/icon_check_circle.webp);
  background-size: cover;
}
.work__desc {
  background-color: #F4F4F4;
  border-radius: 0px 0px 10px 10px;
  padding: 24px 36px 30px;
  padding: 6.6666666667% 10% 8.3333333333%;
}
@media (max-width: 1023px) {
  .work__desc {
    padding: 24px 16px 36px;
  }
}
.work__desc-item {
  position: relative;
  font-size: clamp(1.4rem, 1.037037037vw, 1.6rem);
  line-height: 1.625;
  padding-left: 20px;
}
@media (max-width: 1023px) {
  .work__desc-item {
    font-size: 1.6rem;
  }
}
.work__desc-item + .work__desc-item {
  margin-top: 6px;
}
.work__desc-item::before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 10px;
  left: 0;
  background-color: var(--color-text);
  border-radius: 50%;
}
.work__block {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 1023px) {
  .work__block {
    max-width: 350px;
    margin: 0 auto;
  }
}
.work__buttons {
  width: max(76.9961977186%, 300px);
  position: relative;
  margin: 0 0 0 auto;
}
@media (max-width: 1023px) {
  .work__buttons {
    width: 100%;
    margin: 0;
  }
}
.work__button {
  width: 48.8997555012%;
  aspect-ratio: 200/240;
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
@media (max-width: 1023px) {
  .work__button {
    width: 50.1587301587%;
    aspect-ratio: 158/188;
    border-radius: 10px;
  }
}
.work__button:nth-of-type(1) {
  z-index: 2;
}
.work__button:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transform-origin: left bottom;
  transform: rotate(15deg) translate(-17.5%, 18.75%);
}
@media (max-width: 1023px) {
  .work__button:nth-of-type(2) {
    transform: rotate(15deg) translate(-20.8860759494%, 21.2765957447%);
  }
}
.work__button-icon {
  width: 30px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-40%, 36.6666666667%);
  pointer-events: none;
}
.work__deco {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  position: relative;
  padding-right: 5.5133079848%;
  margin-top: 102px;
}
@media (max-width: 1023px) {
  .work__deco {
    padding-right: 11.4285714286%;
    margin-top: 77px;
  }
}
.work__image {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  transform: translateY(5.8139534884%);
}
.work__label {
  width: 245px;
  width: 46.5779467681%;
  aspect-ratio: 245/132;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.7rem;
  font-size: clamp(2rem, 1.953125vw, 2.7rem);
  font-weight: 400;
  line-height: 1.18;
  color: var(--color-text-on-dark);
  background-color: var(--color-bg-inverse);
  border-radius: 50%;
  padding-top: 12px;
}
@media (max-width: 1023px) {
  .work__label {
    width: 150px;
    aspect-ratio: 150/80;
    font-size: 1.8rem;
  }
}

.companydata {
  padding: 237px 0 200px;
}
@media (max-width: 1023px) {
  .companydata {
    padding: 100px 0 103px;
  }
}
.companydata__inner {
  width: clamp(900px, 87.5%, 1400px);
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .companydata__inner {
    width: 704px;
  }
}
@media (max-width: 768px) {
  .companydata__inner {
    width: 90.6666666667%;
    max-width: 400px;
  }
}
.companydata__content {
  position: relative;
  margin-top: 99px;
}
@media (max-width: 1023px) {
  .companydata__content {
    margin-top: 255px;
  }
}
@media (max-width: 768px) {
  .companydata__content {
    margin-top: clamp(178px, 52.3529411765%, 230px);
  }
}
.companydata__gif {
  width: 42%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transform: translate(-8.5034013605%, -68%);
}
@media (max-width: 1023px) {
  .companydata__gif {
    width: 70%;
    right: 50%;
    transform: translate(50%, -68%);
  }
}
@media (max-width: 768px) {
  .companydata__gif {
    width: 100%;
  }
}
.companydata__list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 24px;
  position: relative;
  z-index: 2;
}
.companydata__item {
  width: calc((100% - 24px) / 2);
  aspect-ratio: 688/420;
  display: flex;
  flex-direction: column;
  align-items: center;
  container-type: inline-size;
  background-color: var(--color-light);
  border-radius: 30px;
}
@media (max-width: 1023px) {
  .companydata__item {
    aspect-ratio: 340/351;
  }
}
@media (max-width: 768px) {
  .companydata__item {
    width: 100%;
    max-height: 360px;
  }
}
.companydata__item--employees .companydata__image {
  width: 57.2674418605%;
  margin-top: 7.5581395349%;
}
@media (max-width: 1023px) {
  .companydata__item--employees .companydata__image {
    width: 290px;
    margin-top: 7.0588235294%;
  }
}
.companydata__item--employees .companydata__number {
  width: clamp(151px, 14.8125vw, 237px);
}
@media (max-width: 1023px) {
  .companydata__item--employees .companydata__number {
    width: 129px;
  }
}
.companydata__item--workers .bar-chart__list {
  gap: 2.3255813953%;
}
.companydata__item--workers .bar-chart__item {
  width: 17.4418604651%;
}
@media (max-width: 1023px) {
  .companydata__item--workers .bar-chart__item {
    width: 69px;
  }
}
.companydata__item--workers .bar-chart__item--current {
  width: 19.7674418605%;
}
@media (max-width: 1023px) {
  .companydata__item--workers .bar-chart__item--current {
    width: 70px;
  }
}
.companydata__item--workers .bar-chart__item--current .bar-chart__bar {
  background-color: #E83820;
}
.companydata__item--workers .bar-chart__bar {
  background-color: var(--color-chart-sub);
}
.companydata__item--workers .companydata__number {
  width: clamp(155px, 22.7431vw - 77.89px, 286px);
}
@media (max-width: 1023px) {
  .companydata__item--workers .companydata__number {
    width: 169px;
  }
}
.companydata__item--age .bar-chart__list {
  gap: 2.6162790698%;
}
.companydata__item--age .bar-chart__item {
  width: 14.5348837209%;
}
@media (max-width: 1023px) {
  .companydata__item--age .bar-chart__item {
    width: 67px;
  }
}
.companydata__item--age .bar-chart__bar {
  background-color: #E83820;
}
.companydata__item--age .bar-chart__value {
  color: var(--color-text-on-dark);
}
.companydata__item--age .companydata__number {
  width: clamp(161px, 15.8125vw, 253px);
}
@media (max-width: 1023px) {
  .companydata__item--age .companydata__number {
    width: 142px;
  }
}
.companydata__item--overtime .companydata__image {
  width: 45.6395348837%;
  margin-top: 3.9244186047%;
}
@media (max-width: 1023px) {
  .companydata__item--overtime .companydata__image {
    width: 58.8235294118%;
    width: 200px;
    margin-top: 24px;
  }
}
.companydata__item--overtime .companydata__number {
  width: clamp(151px, 16.3125vw, 261px);
}
@media (max-width: 1023px) {
  .companydata__item--overtime .companydata__number {
    width: 148px;
  }
}
.companydata__item--gender {
  justify-content: center;
}
.companydata__item--gender .companydata__data {
  padding-top: 3.488372093%;
}
.companydata__item--gender .companydata__desc {
  display: flex;
  justify-content: center;
  align-items: end;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__desc {
    position: relative;
  }
}
.companydata__item--gender .companydata__image {
  padding-bottom: 2.9069767442%;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__image {
    position: absolute;
  }
}
.companydata__item--gender .companydata__image--bu {
  width: 20.7848837209%;
  margin-right: 7.1220930233%;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__image--bu {
    width: 72px;
    top: -16px;
    left: -12px;
    margin-right: 0;
  }
}
.companydata__item--gender .companydata__image--colle {
  width: 12.9360465116%;
  margin-left: 6.1046511628%;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__image--colle {
    width: 48px;
    bottom: 0;
    right: 7px;
    margin-left: 0;
  }
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__subrow--male {
    padding-left: 80px;
  }
  .companydata__item--gender .companydata__subrow--female {
    padding-right: 59px;
  }
}
.companydata__item--gender .companydata__number {
  display: inline-block;
  text-align: right;
}
.companydata__item--gender .companydata__number--male {
  width: clamp(114px, 11.125vw, 178px);
  margin: 0 8px 0 -10px;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__number--male {
    width: 142px;
    margin-left: -13px;
  }
}
.companydata__item--gender .companydata__number--female {
  width: clamp(114px, 11.25vw, 180px);
  margin: 0 6px 0 -10px;
}
@media (max-width: 1023px) {
  .companydata__item--gender .companydata__number--female {
    width: 142px;
    margin-left: -6px;
  }
}
.companydata__item--base {
  display: flex;
  justify-content: center;
  align-items: center;
}
.companydata__item--base .companydata__item-inner {
  width: 65.4069767442%;
  min-width: 325px;
  position: relative;
}
.companydata__item--base .companydata__data {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 1023px) {
  .companydata__item--base .companydata__data {
    position: static;
  }
}
.companydata__item--base .companydata__term {
  padding-bottom: 1.4534883721%;
}
.companydata__item--base .companydata__image {
  width: 100%;
}
@media (max-width: 1023px) {
  .companydata__item--base .companydata__image {
    width: 272px;
    margin: 7px auto 0;
  }
}
.companydata__item--base .companydata__number {
  width: clamp(65px, 5.9375vw, 95px);
}
@media (max-width: 1023px) {
  .companydata__item--base .companydata__number {
    width: 77px;
  }
}
@media (max-width: 1023px) {
  .companydata__data {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.companydata__data--pt {
  padding-top: 7.8488372093%;
}
@media (max-width: 1023px) {
  .companydata__data--pt {
    padding-top: 40px;
  }
}
.companydata__data--flex {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.companydata__term {
  font-size: 2.2rem;
  font-size: clamp(2rem, 1.8333333333vw, 2.2rem);
  font-weight: 700;
  padding-bottom: 10px;
}
@media (max-width: 1023px) {
  .companydata__term {
    padding-bottom: 14px;
  }
}
.companydata__desc {
  display: flex;
  align-items: baseline;
  column-gap: 10px;
}
.companydata__number {
  display: flex;
  justify-content: flex-end;
  font-size: clamp(6rem, 6.25vw, 10rem);
  font-weight: 700;
  font-style: italic;
  font-variant: tabular-nums;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  line-height: 1;
  color: var(--color-text-accent);
}
@media (max-width: 1023px) {
  .companydata__number {
    font-size: 8rem;
  }
}
.companydata__unit {
  font-size: 3rem;
  font-size: clamp(2.4rem, 1.875vw, 3rem);
  font-weight: 700;
  color: var(--color-text-accent);
}
.companydata__subterm {
  font-size: 2rem;
  font-size: clamp(1.8rem, 1.6666666667vw, 2rem);
  font-weight: 600;
}
.companydata__bar-chart {
  width: 100%;
  margin-top: 6.6860465116%;
  height: calc(36.1904761905% + 26px);
}
@media (max-width: 1023px) {
  .companydata__bar-chart {
    height: calc(29.4117647059cqw + 18px);
  }
}
.companydata .bar-chart {
  height: 100%;
}
.companydata .bar-chart__list {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.companydata .bar-chart__item {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.companydata .bar-chart__bar {
  width: 100%;
  height: calc((100% - 26px) * var(--height));
}
@media (max-width: 1023px) {
  .companydata .bar-chart__bar {
    height: calc((100% - 18px) * var(--height-sp));
  }
}
.companydata .bar-chart__value {
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.companydata .bar-chart__number {
  font-size: clamp(1.6rem, 1.5vw, 1.8rem);
  line-height: 1.44;
  padding-top: 0.66em;
}
@media (max-width: 1023px) {
  .companydata .bar-chart__number {
    font-size: 1.2rem;
  }
}
.companydata .bar-chart__unit {
  font-size: 1.2rem;
}
@media (max-width: 1023px) {
  .companydata .bar-chart__unit {
    font-size: 1rem;
  }
}
.companydata .bar-chart__label {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: clamp(1.6rem, 1.5vw, 1.8rem);
  line-height: 1.44;
}
@media (max-width: 1023px) {
  .companydata .bar-chart__label {
    font-size: 1.2rem;
  }
}
.companydata .bar-chart__label-suffix {
  font-size: 1.4rem;
}
@media (max-width: 1023px) {
  .companydata .bar-chart__label-suffix {
    font-size: 1.2rem;
  }
}

.introduction {
  background-color: var(--color-bg-inverse);
  padding: 200px 0;
}
@media (max-width: 1023px) {
  .introduction {
    padding: 58px 0 82px;
  }
}
.introduction .company-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  margin-top: 112px;
}
@media (max-width: 1023px) {
  .introduction .company-list {
    margin-top: 42px;
  }
}
.introduction .company {
  width: clamp(900px, 87.5%, 1400px);
  background-color: var(--color-light);
  border-radius: 40px;
  padding: clamp(50px, 4.375%, 70px) clamp(38px, 3.75%, 60px);
}
@media (max-width: 1023px) {
  .introduction .company {
    width: 90.6666666667%;
    max-width: 600px;
    border-radius: 20px;
    padding: 38px clamp(20px, 5.3333333333%, 50px) 52px;
  }
}
.introduction .company--jc .company__image::after {
  content: "";
  width: 20.2%;
  aspect-ratio: 101/150;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  transform: translate(-49.504950495%, 0);
  background-image: url(../images/chara_jo-bu.webp);
  background-size: contain;
}
@media (max-width: 1023px) {
  .introduction .company--jc .company__image::after {
    width: 21%;
    transform: translate(-44.4444444444%, 0);
  }
}
.introduction .company--jc .company__image img {
  position: relative;
  z-index: 1;
}
.introduction .company--jct .company__image::after {
  content: "";
  width: 18.4%;
  aspect-ratio: 92/138;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-30.4347826087%, 14.4927536232%);
  background-image: url(../images/chara_colle_03.webp);
  background-size: contain;
}
@media (max-width: 1023px) {
  .introduction .company--jct .company__image::after {
    width: 16.3333333333%;
    transform: translate(-28.5714285714%, 0);
  }
}
.introduction .company__inner {
  width: 57.03125%;
  position: relative;
  font-size: clamp(1.6rem, 1.3913043478vw, 1.8rem);
  margin: 0 0 0 auto;
}
@media (max-width: 1023px) {
  .introduction .company__inner {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
  }
}
.introduction .company__header {
  display: flex;
  align-items: center;
}
@media (max-width: 1023px) {
  .introduction .company__header {
    flex-direction: column;
    justify-content: center;
    gap: 2px;
  }
}
.introduction .company__logo {
  width: 49.0410958904%;
  aspect-ratio: 358/90;
}
@media (max-width: 1023px) {
  .introduction .company__logo {
    width: 280px;
    aspect-ratio: 280/70;
  }
}
.introduction .company__name {
  line-height: 1.44;
  transform: translateY(50%);
}
@media (max-width: 1023px) {
  .introduction .company__name {
    font-size: 1.8rem;
    transform: none;
  }
}
.introduction .company__image {
  width: 68.4931506849%;
  aspect-ratio: 500/360;
  position: absolute;
  inset: 0;
  left: -6.8493150685%;
  transform: translateX(-100%);
  border-radius: 20px;
}
@media (max-width: 1023px) {
  .introduction .company__image {
    width: 100%;
    position: relative;
    inset: auto;
    transform: none;
    margin-top: 20px;
  }
}
.introduction .company__info {
  padding-left: 20px;
  margin-top: 28px;
}
@media (max-width: 1023px) {
  .introduction .company__info {
    padding-left: 0;
    margin-top: 20px;
  }
}
.introduction .company__info-row {
  display: flex;
  gap: 22px;
}
@media (max-width: 1023px) {
  .introduction .company__info-row {
    gap: 12px;
  }
}
.introduction .company__info-row + .company__info-row {
  margin-top: 14px;
}
@media (max-width: 1023px) {
  .introduction .company__info-row + .company__info-row {
    margin-top: 16px;
  }
}
.introduction .company__info dt {
  width: 150px;
  height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  color: var(--color-text-on-dark);
  background-color: var(--company-color);
  border-radius: 6px;
}
@media (max-width: 1023px) {
  .introduction .company__info dt {
    width: 126px;
    height: 46px;
  }
}
.introduction .company__info dd {
  min-height: 1.55em;
  display: flex;
  align-items: center;
  line-height: 1.55;
}
@media (max-width: 1023px) {
  .introduction .company__info dd {
    min-height: 1.5em;
    line-height: 1.5;
  }
}
.introduction .company__buttons {
  display: flex;
  gap: 2.7397260274%;
  padding-left: 1.3698630137%;
  margin-top: 32px;
}
@media (max-width: 1023px) {
  .introduction .company__buttons {
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    padding-left: 0;
  }
}
.introduction .company__button {
  width: 47.2222222222%;
  min-width: 228px;
  height: 4.44em;
  display: flex;
  justify-content: center;
  justify-content: space-between;
  align-items: center;
  border: 3px solid var(--company-color);
  border-radius: 46px;
  padding-left: 23px;
}
@media (max-width: 1023px) {
  .introduction .company__button {
    width: 300px;
    height: 80px;
    font-size: 1.8rem;
    padding-left: 20px;
  }
}
.introduction .company__button--recruit {
  color: var(--company-color);
  background-color: var(--color-light);
  padding-right: 25px;
}
@media (max-width: 1023px) {
  .introduction .company__button--recruit {
    padding-right: 19px;
  }
}
.introduction .company__button--recruit .company__button-icon {
  width: clamp(33px, 3.22265625vw, 36px);
  aspect-ratio: 1;
}
@media (max-width: 1023px) {
  .introduction .company__button--recruit .company__button-icon {
    width: 36px;
  }
}
.introduction .company__button--corporate {
  color: var(--color-light);
  background-color: var(--company-color);
  padding-right: 19px;
}
@media (max-width: 1023px) {
  .introduction .company__button--corporate {
    padding-right: 22px;
  }
}
.introduction .company__button--corporate .company__button-icon {
  width: clamp(27px, 2.63671875vw, 30px);
  aspect-ratio: 1;
}
@media (max-width: 1023px) {
  .introduction .company__button--corporate .company__button-icon {
    width: 30px;
  }
}
.introduction .group {
  position: relative;
  margin-top: 200px;
}
@media (max-width: 1023px) {
  .introduction .group {
    margin-top: 80px;
  }
}
.introduction .group__inner {
  width: 93.75%;
  background-image: url(../images/group_bg_02.webp), url(../images/group_bg_01.webp);
  background-size: cover;
  border-radius: 40px;
  padding: 150px 0;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .introduction .group__inner {
    width: 94.6666666667%;
    background-image: url(../images/group_bg_02_sp.webp), url(../images/group_bg_01_sp.webp);
    border-radius: 20px;
    padding: 80px 0;
  }
}
.introduction .group__content {
  width: clamp(825px, 80.56640625%, 1100px);
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
  background-color: var(--color-light);
  border-radius: 40px;
  padding: 60px 0 50px;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .introduction .group__content {
    width: 88.7323943662%;
    max-width: 600px;
    transform: translateY(20px);
    border-radius: 20px;
    padding: 40px 0;
  }
}
.introduction .group__content.is-visible {
  opacity: 1;
  transform: none;
}
.introduction .group__wrap {
  width: 90.3636363636%;
  padding-right: 1.4545454545%;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .introduction .group__wrap {
    width: 88.8888888889%;
    padding-right: 0;
  }
}
.introduction .group__body {
  width: 97.1370143149%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.2105263158%;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .introduction .group__body {
    width: 96.4285714286%;
    flex-direction: column;
    gap: 26px;
  }
}
.introduction .group__img {
  width: 33.0526315789%;
}
@media (max-width: 1023px) {
  .introduction .group__img {
    width: 83.3333333333%;
    max-width: 275px;
  }
}
.introduction .group__lead {
  font-size: clamp(1.6rem, 1.4545454545vw, 1.8rem);
  line-height: 2;
  flex: 1;
}
@media (max-width: 1023px) {
  .introduction .group__lead {
    line-height: 1.75;
  }
}
.introduction .group__company {
  padding-top: 37px;
  border-top: 2px solid #CECECE;
  margin-top: 42px;
}
@media (max-width: 1023px) {
  .introduction .group__company {
    padding-top: 16px;
    margin-top: 20px;
  }
}
.introduction .group__company-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 1.4002333722%;
  row-gap: 26px;
}
@media (max-width: 1023px) {
  .introduction .group__company-list {
    justify-content: center;
    grid-template-columns: repeat(auto-fit, 150px);
    column-gap: 1.4285714286%;
    row-gap: 8px;
  }
}
@media (max-width: 500px) {
  .introduction .group__company-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.introduction .group__related {
  width: 94.4785276074%;
  display: flex;
  align-items: center;
  gap: 3.5714285714%;
  background-color: #F2F2F2;
  border-radius: 14px;
  padding: 13px 4.8701298701% 13px 6.6017316017%;
  margin: 30px auto 0;
}
@media (max-width: 1023px) {
  .introduction .group__related {
    width: 96.4285714286%;
    flex-direction: column;
    gap: 12px;
    padding: 22px 2.5925925926% 20px;
    margin-top: 8px;
  }
}
.introduction .group__label {
  font-size: clamp(1.6rem, 1.4545454545vw, 1.8rem);
  line-height: 1.5;
}
.introduction .group__related-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 6px;
  flex: 1;
}
@media (max-width: 1023px) {
  .introduction .group__related-list {
    grid-template-columns: repeat(4, minmax(120px, 130px));
    justify-content: center;
    gap: 4px;
  }
}
@media (max-width: 735px) {
  .introduction .group__related-list {
    grid-template-columns: repeat(2, minmax(100px, 130px));
  }
}
.introduction .group .c-marquee {
  position: absolute;
  bottom: 0;
  transform: translateY(15.625%);
}
.introduction .group .c-marquee__track {
  font-size: 8.3333333333vw;
  font-size: 16rem;
}
@media (max-width: 1023px) {
  .introduction .group .c-marquee__track {
    font-size: 8rem;
  }
}
.introduction .group .c-marquee__text-item {
  padding-right: 1em;
}

.entry {
  background-color: var(--color-bg-inverse);
}
.entry__inner {
  background-color: var(--color-main);
  border-radius: 10.4166666667vw 10.4166666667vw 0 0;
  padding-top: 10.4166666667vw;
  padding-bottom: 26px;
}
@media (max-width: 1023px) {
  .entry__inner {
    border-radius: clamp(60px, 16vw, 165px) clamp(60px, 16vw, 165px) 0 0;
    padding-top: 78px;
  }
}
.entry__privacy {
  display: flex;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-light);
  margin-top: 6.1458333333vw;
}
@media (max-width: 1023px) {
  .entry__privacy {
    font-size: 1.4rem;
    margin-top: 60px;
  }
}

.form__fields {
  width: clamp(900px, 87.890625%, 1280px);
  container-type: inline-size;
  background-color: var(--color-light);
  border-radius: 60px;
  margin: 6.1458333333vw auto 0;
  padding-top: clamp(0px, 4.35vw - 44.5px, 41px);
  padding-bottom: 8.3333333333vw;
}
@media (max-width: 1023px) {
  .form__fields {
    width: clamp(340px, 90.6666666667%, 600px);
    border-radius: clamp(20px, 5.3333333333vw, 55px);
    margin: 40px auto 0;
    padding: 11px 0 100px;
  }
}
.form__field {
  width: clamp(800px, 88.8888888889cqw, 1084px);
  margin: 59px auto 0;
}
@media (max-width: 1023px) {
  .form__field {
    width: clamp(296px, 87.0588235294cqw, 500px);
    margin: 39px auto 0;
  }
}
.form__field--work-history {
  margin-top: 96px;
}
@media (max-width: 1023px) {
  .form__field--work-history {
    margin-top: 39px;
  }
}
.form__field--textarea {
  position: relative;
}
.form__field--textarea::after {
  content: url(../images/chara_extra05.webp);
  display: inline-block;
  position: absolute;
  top: -15px;
  right: 0;
  transform: scale(50%);
  overflow: visible;
}
@media (max-width: 1023px) {
  .form__field--textarea::after {
    top: -25px;
    right: -35px;
  }
}
.form__field--agreement {
  border-top: solid 2px var(--color-gray);
  margin-top: 93px;
}
@media (max-width: 1023px) {
  .form__field--agreement {
    margin-top: 38px;
  }
}
.form__label {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
  color: var(--color-text);
}
@media (max-width: 1023px) {
  .form__label {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.form__label--required::after, .form__label--optional::after {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-text-on-dark);
  border-radius: 13px;
  padding: 1px 14px;
}
@media (max-width: 1023px) {
  .form__label--required::after, .form__label--optional::after {
    font-size: 1.4rem;
    line-height: 1.428;
    padding: 2px 13px;
  }
}
.form__label--required::after {
  content: "必須";
  background-color: var(--color-main);
}
.form__label--optional::after {
  content: "任意";
  background-color: #A5A5A5;
}
.form__control {
  position: relative;
  transition: 0.3s;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.444;
  color: var(--color-text);
  border: 1px solid #A5A5A5;
  border-radius: 6px;
  overflow: hidden;
  margin-top: 15px;
}
@media (max-width: 1023px) {
  .form__control {
    line-height: 1.5;
    margin-top: 9px;
  }
}
.form__control::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 2;
  border: 3px solid var(--color-main);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  border-radius: 6px;
}
.form__control:has(.form__input:focus), .form__control:has(.form__select:focus), .form__control:has(.form__textarea:focus) {
  border: 1px solid transparent;
}
.form__control:has(.form__input:focus)::after, .form__control:has(.form__select:focus)::after, .form__control:has(.form__textarea:focus)::after {
  opacity: 1;
}
.form__control--radio, .form__control--file, .form__control--agreement {
  border: none;
  border-radius: 0;
}
.form__control--textarea {
  height: 178px;
}
.form__control--radio {
  display: flex;
  column-gap: clamp(25px, 12.79cqw - 83.71px, 80px);
  row-gap: 16px;
  margin-top: 30px;
}
@media (max-width: 1023px) {
  .form__control--radio {
    flex-direction: column;
    row-gap: clamp(10px, 2.9411764706cqw, 18px);
    margin-top: 17px;
  }
}
.form__control--radio.form__control--company {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  column-gap: clamp(25px, 7.8125cqw - 45.3125px, 50px);
}
@media (max-width: 1023px) {
  .form__control--radio.form__control--company {
    display: flex;
  }
}
.form__control--select {
  width: 330px;
  position: relative;
}
@media (max-width: 1023px) {
  .form__control--select {
    width: 100%;
  }
}
.form__control--file {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  border: none;
  overflow: visible;
}
@media (max-width: 1023px) {
  .form__control--file {
    flex-direction: column;
    align-items: flex-start;
  }
}
.form__control--agreement {
  width: 433px;
  margin: 58px auto 0;
}
@media (max-width: 1023px) {
  .form__control--agreement {
    width: clamp(270px, 79.4117647059cqw, 300px);
    margin: 39px auto 0;
  }
}
.form__radio-label {
  display: flex;
  align-items: center;
  column-gap: clamp(6px, 0.7594936709cqw, 8px);
}
.form__radio-button {
  width: 26px;
  height: 26px;
  position: relative;
  transition: 0.4s;
  background-color: #FFFFFF;
  border: solid 1px #A5A5A5;
  border-radius: 50%;
}
@media (max-width: 1023px) {
  .form__radio-button {
    width: 22px;
    height: 22px;
  }
}
.form__radio-button:checked {
  border: solid 1px var(--color-main);
}
.form__radio-button:checked::after {
  opacity: 1;
}
.form__radio-button::after {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  background-color: var(--color-main);
  border-radius: 50%;
  transition: 0.4s;
}
@media (max-width: 1023px) {
  .form__radio-button::after {
    width: 13px;
    height: 13px;
  }
}
.form__input {
  width: 100%;
  padding: 16.5px 15px;
}
@media (max-width: 1023px) {
  .form__input {
    padding: clamp(9px, 2.6470588235cqw, 11px) 12px;
  }
}
.form__select-triangle {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 45%;
  left: 87.5%;
  transform: rotate(225deg) skew(12deg, 12deg);
  pointer-events: none;
  background-color: #000000;
  border-top-left-radius: 2px;
}
@media (max-width: 1023px) {
  .form__select-triangle {
    left: clamp(267px, 7.429px + 76.923cqw, 470px);
  }
}
.form__select-triangle::before, .form__select-triangle::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
}
.form__select-triangle::before {
  transform: translateX(50%) skewX(-45deg);
  background-color: #000000;
  border-top-right-radius: 2px;
}
.form__select-triangle::after {
  transform: translateY(50%) skewY(-45deg);
  background-color: #000000;
  border-bottom-left-radius: 2px;
}
.form__select {
  width: 100%;
  padding: 16.5px 30px 16.5px 16.5px;
  color: var(--color-text);
}
@media (max-width: 1023px) {
  .form__select {
    width: 100%;
    padding: clamp(9px, 2.6470588235cqw, 11px) 18px clamp(9px, 2.6470588235cqw, 11px) 12px;
  }
}
.form__textarea {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow-y: auto;
  background-color: var(--color-light);
  padding: 16.5px 15px;
}
@media (max-width: 1023px) {
  .form__textarea {
    padding: clamp(9px, 2.6470588235cqw, 11px) 12px;
  }
}
.form__file-uploader {
  width: clamp(290px, 32.2222222222cqw, 330px);
}
@media (max-width: 1023px) {
  .form__file-uploader {
    width: 100%;
  }
}
.form__file-input {
  display: none;
}
.form__file-button {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: var(--color-light);
  border: solid 1px #A5A5A5;
  border-radius: 6px;
  padding: 17.5px 0;
  cursor: pointer;
}
@media (max-width: 1023px) {
  .form__file-button {
    width: clamp(200px, 58.8235294118cqw, 250px);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.444;
    color: var(--color-text);
    padding: clamp(8px, 2.3529411765cqw, 10px);
  }
}
.form__file-annotation {
  display: block;
  font-size: clamp(1.6rem, 1.7777777778cqw, 1.8rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.444;
  color: #9E9B9B;
  white-space: nowrap;
  margin-top: 9px;
}
@media (max-width: 1023px) {
  .form__file-annotation {
    font-size: 1.4rem;
    line-height: 1.428;
    white-space: normal;
    margin-top: 6px;
  }
}
.form__file-control {
  display: flex;
  align-items: center;
  position: relative;
  padding-top: 17.5px;
}
@media (max-width: 1023px) {
  .form__file-control {
    padding-top: 0;
  }
}
.form__file-name-wrap {
  display: flex;
  align-items: flex-start;
  padding-right: 40px;
}
@media (max-width: 1023px) {
  .form__file-name-wrap {
    font-size: 1.6rem;
    line-height: 1.625;
    padding-right: 0;
    margin-top: 16px;
  }
  .form__file-name-wrap:has(+ .form__file-clear-button.is-active) {
    padding-right: 22px;
  }
}
.form__file-name {
  width: calc(59.21cqw - 242.89px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow-wrap: anywhere;
  overflow: hidden;
  word-break: break-all;
}
@media (max-width: 1023px) {
  .form__file-name {
    width: calc(100% - 128px);
    -webkit-line-clamp: 2;
  }
}
.form__file-clear-button.is-active {
  width: 19px;
  height: 19px;
  position: absolute;
  top: 17.5px;
  right: 0;
  pointer-events: auto;
  cursor: pointer;
}
@media (max-width: 1023px) {
  .form__file-clear-button.is-active {
    width: 16px;
    height: 16px;
    top: 50%;
  }
}
.form__file-clear-button.is-active::before {
  content: "";
  width: 19px;
  height: 2px;
  position: absolute;
  transform: translateY(9px) rotate(45deg);
  background-color: var(--color-text);
  border-radius: 2px;
}
@media (max-width: 1023px) {
  .form__file-clear-button.is-active::before {
    width: 16px;
    transform: translateY(7px) rotate(45deg);
  }
}
.form__file-clear-button.is-active::after {
  content: "";
  width: 19px;
  height: 2px;
  position: absolute;
  transform: translateY(9px) rotate(-45deg);
  background-color: var(--color-text);
  border-radius: 2px;
}
@media (max-width: 1023px) {
  .form__file-clear-button.is-active::after {
    width: 16px;
    transform: translateY(7px) rotate(-45deg);
  }
}
.form__agreement-lead {
  display: flex;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5625;
  text-align: center;
  color: var(--color-text);
  margin-top: 58px;
}
@media (max-width: 1023px) {
  .form__agreement-lead {
    width: 95%;
    margin: 38px auto 0;
  }
}
.form__agreement-info {
  width: 75cqw;
  background-color: #F2F2F2;
  border-radius: 30px;
  margin: 60px auto 0;
  padding: 60px 70px;
}
@media (max-width: 1023px) {
  .form__agreement-info {
    width: 100%;
    border-radius: 20px;
    margin: 40px auto 0;
    padding: 40px clamp(18px, 5.2941176471cqw, 45px) 42px;
  }
}
.form__agreement-label {
  display: flex;
  position: relative;
}
.form__agreement-input:checked + .agreement-check {
  border-color: var(--color-main);
  background-color: var(--color-main);
}
.form__agreement-input:checked + .agreement-check .agreement-check__icon {
  background-color: var(--color-light);
}
.form__agreement-input:checked + .agreement-check .agreement-check__icon::after {
  opacity: 1;
}
.form__agreement-input:checked + .agreement-check .agreement-check__icon::before {
  opacity: 1;
}
.form__agreement-input:checked + .agreement-check .agreement-check__text {
  color: var(--color-text-on-dark);
}
.form__button-wrap {
  display: flex;
  justify-content: center;
  margin-top: 6.09375cqw;
}
@media (max-width: 1023px) {
  .form__button-wrap {
    margin-top: 40px;
  }
}
.form__confirm-button {
  width: clamp(340px, 37.7777777778cqw, 396px);
  aspect-ratio: 396/110;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(2rem, 2.3529411765cqw, 2.4rem);
  letter-spacing: 0;
  line-height: 1.458;
  color: var(--color-text-on-dark);
  background-image: var(--color-button-grad);
  background-size: 200% 100%;
  border-radius: 55px;
}
@media (max-width: 1023px) {
  .form__confirm-button {
    width: 300px;
    aspect-ratio: 300/80;
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.form__error {
  font-size: 1.6rem;
  line-height: 1.25;
  color: var(--color-text-accent);
}
@media (max-width: 1023px) {
  .form__error {
    font-size: 1.4rem;
    line-height: 1.428;
  }
}

.agreement-info__title {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
  text-align: center;
  color: var(--color-text);
}
@media (max-width: 1023px) {
  .agreement-info__title {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.agreement-info__text {
  display: block;
  font-size: clamp(1.5rem, 1.6666666667cqw, 1.6rem);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.625;
  color: var(--color-dark);
}
@media (max-width: 1023px) {
  .agreement-info__text {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 24px;
  }
}
.agreement-info__text:first-of-type {
  margin-top: 32px;
}
@media (max-width: 1023px) {
  .agreement-info__text:first-of-type {
    margin-top: 24px;
  }
}
.agreement-info__text ~ .agreement-info__text {
  margin-top: 25px;
}
@media (max-width: 1023px) {
  .agreement-info__text ~ .agreement-info__text {
    margin-top: 28px;
  }
}
.agreement-info__link {
  text-decoration: underline;
}

.agreement-check {
  width: 100%;
  display: flex;
  align-items: center;
  column-gap: 5px;
  transition: background-color 0.4s ease, border-color 0.4s ease;
  background-color: var(--color-light);
  border: solid 2px #E2E2E2;
  border-radius: 10px;
  padding: 17px 20px;
}
@media (max-width: 1023px) {
  .agreement-check {
    justify-content: flex-start;
    column-gap: clamp(10px, 2.9411764706cqw, 16px);
    border: solid 1px #E2E2E2;
    border-radius: 10px;
    padding: 10px 0 10px 10px;
  }
}
.agreement-check__icon {
  width: 24px;
  height: 24px;
  display: flex;
  position: relative;
  align-items: center;
  background-color: #E2E2E2;
  border-radius: 3px;
}
@media (max-width: 1023px) {
  .agreement-check__icon {
    width: 30px;
    height: 30px;
    border-radius: 6px;
  }
}
.agreement-check__icon::after {
  content: "";
  width: 8px;
  height: 2px;
  position: absolute;
  top: 55%;
  left: 35%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: opacity 0.4s ease;
  opacity: 0;
  background-color: var(--color-main);
  border-radius: 1px;
}
@media (max-width: 1023px) {
  .agreement-check__icon::after {
    width: 10px;
  }
}
.agreement-check__icon::before {
  content: "";
  width: 12px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%) rotate(135deg);
  transition: opacity 0.4s ease;
  opacity: 0;
  border-radius: 1px;
  background-color: var(--color-main);
}
@media (max-width: 1023px) {
  .agreement-check__icon::before {
    width: 15px;
  }
}
.agreement-check__text {
  width: fit-content;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.444;
  color: var(--color-text);
}
@media (max-width: 1023px) {
  .agreement-check__text {
    font-size: 1.4rem;
    line-height: 1.428;
  }
}

.routine {
  display: none;
}
.routine.is-active {
  height: auto;
  max-height: 100%;
  display: flex;
}
@media (max-width: 1023px) {
  .routine.is-active {
    max-height: none;
  }
}
.routine__inner {
  display: none;
}
.routine__inner.is-active {
  height: auto;
  max-height: 100%;
  display: flex;
  gap: 4.5161290323%;
  padding: 20px 1.4516129032% 32px;
}
@media (max-width: 1023px) {
  .routine__inner.is-active {
    max-height: none;
    flex-direction: column;
    gap: 25px;
    overflow-y: scroll;
    padding: 0 8px;
    margin: 48px 0 18px;
  }
}
.routine__inner--sales {
  --modal-color: #3A85A0;
  --scrollbar-color: #276176;
  --timebar-color: #D7E5EA;
}
.routine__inner--coord {
  --modal-color: #C36925;
  --scrollbar-color: #C36925;
  --timebar-color: #FFECDD;
}
.routine__inner--director {
  --modal-color: #459464;
  --scrollbar-color: #459464;
  --timebar-color: #C5E2D0;
}
.routine .profile {
  width: 42.0265780731%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 3.3222591362%;
  padding-left: 4.1528239203%;
}
@media (max-width: 1023px) {
  .routine .profile {
    width: 99%;
    height: auto;
    display: flex;
    flex-direction: column-reverse;
    gap: 18px;
    padding: 0;
  }
}
.routine .profile__image {
  width: 100%;
  max-height: 73.9436619718%;
  display: flex;
}
@media (max-width: 1023px) {
  .routine .profile__image {
    max-height: none;
    aspect-ratio: 300/170;
    display: block;
    overflow: hidden;
    border-radius: 20px;
  }
}
.routine .profile__image img {
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 1023px) {
  .routine .profile__image img {
    max-height: none;
  }
}
.routine .profile__company {
  display: block;
  font-size: 1.8rem;
  line-height: 1.66;
}
@media (max-width: 1023px) {
  .routine .profile__company {
    width: 102%;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.routine .profile__office {
  white-space: nowrap;
}
@media (max-width: 1023px) {
  .routine .profile__office {
    white-space: pre;
  }
}
.routine .profile__position {
  display: block;
  font-size: 2.2rem;
  line-height: 1.45;
  margin-top: 7px;
}
@media (max-width: 1023px) {
  .routine .profile__position {
    font-size: 1.8rem;
    line-height: 1.44;
    margin-top: 4px;
  }
}
.routine .schedule {
  flex: 1;
}
@media (max-width: 1023px) {
  .routine .schedule {
    width: 100%;
  }
}
.routine .schedule__header {
  width: 90.2021772939%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.46;
  color: var(--modal-color);
  border-bottom: 2px dashed var(--modal-color);
  padding-bottom: 22px;
}
@media (max-width: 1023px) {
  .routine .schedule__header {
    width: 100%;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.routine .schedule__clock {
  width: 55px;
  aspect-ratio: 1;
  position: relative;
  border: 5px solid var(--modal-color);
  border-radius: 50%;
}
@media (max-width: 1023px) {
  .routine .schedule__clock {
    width: 36px;
    border: 3px solid var(--modal-color);
  }
}
.routine .schedule__clock::before, .routine .schedule__clock::after {
  content: "";
  height: 5px;
  position: absolute;
  top: calc(50% - 2px);
  transform-origin: right bottom;
  background-color: var(--modal-color);
  border-radius: 9999px;
}
@media (max-width: 1023px) {
  .routine .schedule__clock::before, .routine .schedule__clock::after {
    height: 3px;
    top: calc(50% - 1px);
  }
}
.routine .schedule__clock::before {
  width: 40%;
  right: calc(50% + 2px);
  transform: rotate(90deg);
}
@media (max-width: 1023px) {
  .routine .schedule__clock::before {
    right: calc(50% + 1px);
  }
}
.routine .schedule__clock::after {
  width: 31.1111111111%;
  right: calc(50% - 2px);
  transform: rotate(-35deg);
}
@media (max-width: 1023px) {
  .routine .schedule__clock::after {
    right: calc(50% - 3px);
  }
}
.routine .schedule__body {
  height: calc(100% - 109px);
  max-height: 580px;
  overflow-y: scroll;
  margin-top: 30px;
}
.routine .schedule__body::-webkit-scrollbar {
  width: 12px;
}
.routine .schedule__body::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-color);
  border-radius: 9999px;
}
.routine .schedule__body::-webkit-scrollbar-track {
  background-color: #EBEBEB;
  border-radius: 9999px;
}
@media (max-width: 1023px) {
  .routine .schedule__body {
    overflow: visible;
    padding-bottom: 50px;
    margin-top: 20px;
  }
}
.routine .schedule__list {
  padding-right: 7.7760497667%;
}
@media (max-width: 1023px) {
  .routine .schedule__list {
    padding-right: 0;
  }
}
.routine .schedule__item {
  display: flex;
  align-items: flex-start;
  gap: 3.8785834739%;
  position: relative;
  z-index: 2;
}
.routine .schedule__item:not(:last-child)::before {
  content: "";
  width: 8px;
  height: calc(100% + 30px);
  position: absolute;
  top: 10px;
  left: 36px;
  z-index: 1;
  background-color: var(--timebar-color);
}
@media (max-width: 1023px) {
  .routine .schedule__item:not(:last-child)::before {
    left: 24px;
  }
}
.routine .schedule__item + .schedule__item {
  margin-top: 40px;
}
.routine .schedule__time {
  width: 80px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  border-radius: 50%;
  background-color: var(--modal-color);
}
@media (max-width: 1023px) {
  .routine .schedule__time {
    width: 54px;
  }
}
.routine .schedule__hour {
  font-size: 2.2rem;
  letter-spacing: 0.06em;
  line-height: 1.04;
  color: var(--color-text-on-dark);
  padding-top: 3px;
}
@media (max-width: 1023px) {
  .routine .schedule__hour {
    font-size: 1.6rem;
  }
}
.routine .schedule__content {
  flex: 1;
  padding-top: 27px;
}
@media (max-width: 1023px) {
  .routine .schedule__content {
    padding-top: 14px;
  }
}
.routine .schedule__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--modal-color);
}
@media (max-width: 1023px) {
  .routine .schedule__title {
    font-size: 1.8rem;
    line-height: 1.55;
  }
}
.routine .schedule__text {
  font-size: 1.6rem;
  line-height: 1.625;
  margin-top: 8px;
}
@media (max-width: 1023px) {
  .routine .schedule__text {
    font-size: 1.4rem;
    line-height: 1.71;
  }
}
.routine .schedule__img {
  width: 100%;
  margin-top: 16px;
}
.routine .schedule__button {
  width: 300px;
  height: 80px;
  color: var(--color-text);
  background-color: var(--color-button-close);
  border-radius: 9999px;
  margin: 60px auto 0;
}

.recruit {
  display: none;
}
.recruit.is-active {
  display: flex;
  flex: 1;
}
.recruit__inner {
  display: none;
}
.recruit__inner.is-active {
  width: 87.7419354839%;
  min-width: 790px;
  display: flex;
  flex-direction: column;
  padding: 30px 0 20px;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .recruit__inner.is-active {
    width: 94.9367088608%;
    min-width: 0;
    flex-direction: column;
    padding: 40px 0 28px;
  }
}
.recruit__title {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.42;
  color: var(--company-color);
  border-bottom: 2px dashed var(--company-color);
  padding-bottom: 34px;
  margin-bottom: 34px;
}
@media (max-width: 1023px) {
  .recruit__title {
    font-size: 2.2rem;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
.recruit__info {
  height: 74.3421052632%;
  overflow-y: auto;
  flex: 1;
}
.recruit__info::-webkit-scrollbar {
  width: 12px;
}
.recruit__info::-webkit-scrollbar-thumb {
  background-color: var(--company-color);
  border-radius: 9999px;
}
.recruit__info::-webkit-scrollbar-track {
  background-color: #EBEBEB;
  border-radius: 9999px;
}
.recruit__list {
  height: 100%;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  .recruit__list {
    flex-direction: column;
    gap: 20px 0;
  }
}
.recruit__col {
  width: 47.4264705882%;
  display: flex;
  flex-direction: column;
  gap: 30px 0;
  padding-right: 0.7em;
}
@media (max-width: 1023px) {
  .recruit__col {
    width: 100%;
    gap: 20px 0;
  }
}
.recruit__row {
  display: flex;
  align-items: flex-start;
  gap: 0 5.8139534884%;
}
@media (max-width: 1023px) {
  .recruit__row {
    flex-direction: column;
    gap: 10px 0;
  }
}
.recruit__term {
  width: 90px;
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.6rem;
  line-height: 1.625;
  color: var(--color-text-on-dark);
  background-color: var(--company-color);
  border-radius: 6px;
  padding: 4px 0;
}
@media (max-width: 1023px) {
  .recruit__term {
    width: auto;
    min-width: 80px;
    font-size: 1.4rem;
    padding: 5px 12px;
  }
}
.recruit__desc {
  font-size: 1.6rem;
  line-height: 1.625;
  padding-top: 5px;
}
.recruit__sub-title {
  display: block;
  margin-top: 1.625em;
}
.recruit__sub-list--no-indent .recruit__sub-item {
  text-indent: 1em;
  padding-left: 0;
}
.recruit__sub-list--no-indent .recruit__sub-item::before {
  text-indent: 0;
}
.recruit__sub-item {
  position: relative;
  padding-left: 1em;
}
.recruit__sub-item::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
}
.recruit__sub-item--star::before {
  content: "★";
}
.recruit__sub-item .indent-cancel {
  margin-left: -1em;
}
.recruit__note-list {
  display: block;
}
.recruit__note-list--sm {
  font-size: 1.4rem;
  line-height: 1.42;
  margin-top: 4px;
}
.recruit__note-item {
  position: relative;
  text-indent: 1em;
  padding-left: 0;
}
.recruit__note-item::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  text-indent: 0;
}
.recruit__note-item--no-mark::before {
  content: none;
}/*# sourceMappingURL=index.css.map */