.gallery.astro-z7orn33d {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding: min(4.51vw, 65px) 0 min(3.05vw, 44px);
  overflow: hidden;
}
.photos.astro-z7orn33d {
  z-index: 2;
  display: flex;
  gap: min(1.04vw, 15px);
  align-items: flex-start;
  justify-content: center;
  padding: 0 min(1.31vw, 19px);
}
.photos.astro-z7orn33d img.astro-z7orn33d {
  width: min(18.54vw, 267px);
}
.photos.astro-z7orn33d img.astro-z7orn33d:nth-child(2) {
  padding-top: min(6.31vw, 91px);
}
.photos.astro-z7orn33d img.astro-z7orn33d:nth-child(4) {
  padding-top: min(3.95vw, 57px);
}
.text.astro-z7orn33d {
  z-index: 1;
  width: 100%;
  margin-top: min(-1.875vw, -27px);
}
.background.astro-z7orn33d {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.background.astro-z7orn33d svg.astro-z7orn33d {
  width: 101%;
  height: 101%;
  object-fit: cover;
  object-position: center top;
}
.copyright.astro-z7orn33d {
  padding: min(1.527vw, 22px);
  font-size: min(0.902vw, 14px);
  line-height: 2.57;
  color: var(--0, #fff);
  text-align: center;
  letter-spacing: min(0.069vw, 1px);
  background-color: var(--100, #000);
}
@media (max-width: 768px) {
  .gallery.astro-z7orn33d {
    padding: 9.86vw 0 3.46vw;
  }
  .photos.astro-z7orn33d {
    flex-wrap: wrap;
    gap: 2.13vw;
    padding: 0;
  }
  .photos.astro-z7orn33d img.astro-z7orn33d {
    width: calc(100% / 3 - (2.13vw * 2 / 3));
    aspect-ratio: 29/20;
    object-fit: cover;
    object-position: center top;
  }
  .photos.astro-z7orn33d img.astro-z7orn33d:nth-child(2),
  .photos.astro-z7orn33d img.astro-z7orn33d:nth-child(4) {
    padding-top: 0;
  }
  .photos.astro-z7orn33d img.astro-z7orn33d:nth-child(2) {
    order: 3;
  }
  .photos.astro-z7orn33d img.astro-z7orn33d:nth-child(4) {
    order: 5;
  }
  .text.astro-z7orn33d {
    margin-top: 4vw;
  }
  .copyright.astro-z7orn33d {
    padding: 7.2vw 0;
    font-size: 2.66vw;
    line-height: 1;
  }
}
.interview-popup.astro-ke5axpee {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  visibility: hidden;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100dvh;
  pointer-events: none;
  background-color: transparent;
  opacity: 0;
  transition:
    opacity 0.3s,
    visibility 0.3s,
    background-color 0.3s;
}
.interview-popup.astro-ke5axpee.is-popup-active {
  visibility: visible;
  pointer-events: auto;
  background-color: rgb(230 230 230 / 0.8);
  opacity: 1;
}
.container.astro-ke5axpee {
  max-width: min(81.18vw, 1169px);
  height: 100dvh;
  padding-bottom: min(2.22vw, 32px);
  background-color: var(--0, #fff);
  transform: translateX(100%);
  transition: transform 0.3s;
}
.is-popup-active.astro-ke5axpee .container.astro-ke5axpee {
  transform: translateX(0);
}
.close-button-container.astro-ke5axpee {
  display: flex;
  justify-content: flex-end;
}
.close-button.astro-ke5axpee {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(3.47vw, 50px);
  height: min(3.47vw, 50px);
  padding: min(1.11vw, 16px);
  background-color: var(--color-2, #9f0607);
}
.contents.astro-ke5axpee {
  display: none;
  width: 100%;
  height: calc(100% - min(4.58vw, 66px));
  margin-top: min(1.11vw, 16px);
  overflow-x: hidden;
  overflow-y: auto;
}
.contents.astro-ke5axpee.is-popup-active {
  display: block;
}
.contents-container.astro-ke5axpee {
  position: relative;
  display: flex;
  flex-direction: column;
}
.main-image.astro-ke5axpee {
  z-index: 1;
  padding: 0 min(3.68vw, 53px);
}
.information.astro-ke5axpee {
  position: relative;
  z-index: 0;
  padding: min(5.55vw, 80px) 0 min(3.33vw, 48px);
  font-weight: 700;
}
.information-container.astro-ke5axpee {
  max-width: min(55.55vw, 800px);
  margin: auto;
}
.career.astro-ke5axpee {
  font-size: min(1.25vw, 18px);
  line-height: 2;
}
.title.astro-ke5axpee {
  font-size: min(1.94vw, 28px);
  line-height: 1.75;
  letter-spacing: min(0.138px, 2px);
}
.information-decoration.astro-ke5axpee {
  position: absolute;
  top: min(-0.69vw, 10px);
  right: 0;
  z-index: -1;
  width: 100%;
  pointer-events: none;
  object-fit: cover;
}
.interview-text.astro-ke5axpee {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: min(2.77vw, 40px);
  max-width: min(55.55vw, 800px);
  margin: min(0.69vw, 10px) auto 0;
}
.interview-text-item.astro-ke5axpee {
  display: flex;
  flex-direction: column;
  gap: min(1.11vw, 16px);
}
.interview-text-title.astro-ke5axpee {
  width: fit-content;
  font-size: min(1.25vw, 18px);
  line-height: 2;
  color: var(--color-2, #9f0607);
  border-bottom: min(0.138vw, 2px) solid var(--color-2, #9f0607);
}
.interview-text-description.astro-ke5axpee {
  font-weight: 500;
  line-height: 1.8;
}
.bottom-close-area.astro-ke5axpee {
  display: flex;
  justify-content: center;
  margin-top: min(3.33vw, 48px);
}
.bottom-close-button.astro-ke5axpee {
  min-width: min(19vw, 275px);
  padding: min(1.11vw, 16px) min(13.8vw, 20px);
  font-weight: 900;
  line-height: 1.8;
  color: var(--10, #e6e6e6);
  text-align: center;
  background-color: var(--color-2, #9f0607);
  border: min(0.27vw, 4px) solid var(--color-2, #9f0607);
  transition:
    background-color 0.3s,
    color 0.3s;
}
.bottom-close-button.astro-ke5axpee:hover {
  color: var(--color-2, #9f0607);
  background-color: var(--0, #fff);
}
.bottom-decoration.astro-ke5axpee {
  position: absolute;
  right: min(2.7vw, 40px);
  bottom: min(2.5vw, 36px);
  z-index: -1;
  width: min(20vw, 288px);
  color: #f3f3f3;
  pointer-events: none;
}
@media (max-width: 768px) and (orientation: portrait) {
  .interview-popup.astro-ke5axpee {
    justify-content: center;
    padding: 6.4vw;
  }
  .container.astro-ke5axpee {
    width: 100%;
    max-width: none;
    max-height: 100%;
    padding-bottom: 15.2vw;
    transform: translateX(0);
  }
  .close-button.astro-ke5axpee {
    width: 10.6vw;
    height: 10.6vw;
    padding: 2.6vw;
  }
  .close-button.astro-ke5axpee path {
    stroke-width: 1;
  }
  .contents.astro-ke5axpee {
    height: calc(100% - 4.26vw - 10.6vw);
    margin-top: 4.26vw;
  }
  .main-image.astro-ke5axpee {
    padding: 0 4vw;
  }
  .information.astro-ke5axpee {
    padding: 10.6vw 0 9.3vw;
  }
  .information-container.astro-ke5axpee {
    max-width: none;
    padding: 0 4vw;
  }
  .career.astro-ke5axpee {
    font-size: 2.66vw;
  }
  .title.astro-ke5axpee {
    min-height: 6.4em;
    font-size: 4.8vw;
    line-height: 1.6;
  }
  .information-decoration.astro-ke5axpee {
    top: -11vw;
  }
  .interview-text.astro-ke5axpee {
    gap: 10.66vw;
    max-width: none;
    padding: 0 4vw;
    margin-top: 4vw;
  }
  .interview-text-item.astro-ke5axpee {
    gap: 4.26vw;
  }
  .interview-text-title.astro-ke5axpee {
    font-size: 4.8vw;
    border-bottom-width: 0.53vw;
  }
  .interview-text-description.astro-ke5axpee {
    font-weight: 400;
  }
  .bottom-close-area.astro-ke5axpee {
    margin-top: 20.26vw;
  }
  .bottom-close-button.astro-ke5axpee {
    min-width: 44.53vw;
    padding: 2.4vw;
    font-size: 3.2vw;
    border-width: 1.06vw;
  }
  .bottom-decoration.astro-ke5axpee {
    right: -2.13vw;
    bottom: 19.2vw;
    width: 36.53vw;
  }
}
@media (max-width: 768px) and (orientation: landscape) {
  .close-button.astro-ke5axpee {
    width: 5.2vw;
    height: 5.2vw;
    padding: 1.3vw;
  }
  .career.astro-ke5axpee {
    font-size: 1.5vw;
  }
  .title.astro-ke5axpee {
    font-size: 2.34vw;
  }
  .information-decoration.astro-ke5axpee {
    height: 100%;
    object-fit: fill;
  }
  .interview-text-title.astro-ke5axpee {
    font-size: 2.34vw;
  }
  .interview-text-description.astro-ke5axpee {
    font-size: 2.08vw;
  }
  .bottom-close-button.astro-ke5axpee {
    font-size: 2.08vw;
  }
}
.section-title.astro-dyi2o4co {
  display: inline-flex;
  flex-direction: column;
  gap: min(2.08vw, 30px);
  align-items: flex-start;
  width: auto;
}
.title-text.astro-dyi2o4co {
  display: inline-block;
  padding: min(0.69vw, 10px) 0;
  font-size: min(1.6vw, 24px);
  line-height: 1;
  letter-spacing: min(0.069vw, 1px);
  border-bottom: min(0.138vw, 2px) solid var(--100, #000);
}
.title-word-img.astro-dyi2o4co {
  display: block;
  width: auto;
  max-width: 100%;
  height: min(6.52vw, 94px);
}
.type-works.astro-dyi2o4co .title-text.astro-dyi2o4co {
  color: var(--0, #fff);
  border-color: var(--0, #fff);
}
.type-job-search.astro-dyi2o4co {
  gap: min(3.125vw, 45px);
}
.type-job-search.astro-dyi2o4co .title-word-img.astro-dyi2o4co {
  height: min(4.86vw, 70px);
}
@media (max-width: 768px) {
  .section-title.astro-dyi2o4co {
    gap: 2.6vw;
  }
  .title-text.astro-dyi2o4co {
    padding: 1.6vw 0;
    font-size: 4.26vw;
    border-bottom-width: 0.26vw;
  }
  .title-word-img.astro-dyi2o4co {
    height: 8.53vw;
    max-height: none;
  }
  .type-job-search.astro-dyi2o4co .title-word-img.astro-dyi2o4co {
    height: 6.4vw;
  }
}
.works-slider.astro-ovugfc7w {
  position: relative;
  z-index: 1;
}
.works-slider-arrows.astro-ovugfc7w {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: flex;
  gap: calc(min(34.5vw, 498px) + ((min(1.59vw, 23px)) * 2));
  justify-content: center;
  width: 100%;
  pointer-events: none;
  transform: translateY(-50%);
}
.works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(4.51vw, 65px);
  height: min(4.51vw, 65px);
  pointer-events: auto;
  background-color: var(--0, #fff);
  border-radius: 50%;
  transition: transform 0.3s;
}
.works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w:first-child:hover {
  transform: translateX(min(0.69vw, -10px));
}
.works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w:last-child:hover {
  transform: translateX(min(0.69vw, 10px));
}
.works-slider-arrows.astro-ovugfc7w
  .arrow.astro-ovugfc7w:first-child
  svg.astro-ovugfc7w {
  transform: rotate(180deg) translateX(min(0.208vw, 3px));
}
.works-slider-arrows.astro-ovugfc7w
  .arrow.astro-ovugfc7w:last-child
  svg.astro-ovugfc7w {
  transform: translateX(min(0.208vw, 3px));
}
.works-list.astro-ovugfc7w {
  align-items: center;
}
.works-slide.astro-ovugfc7w {
  width: min(35vw, 498px);
  height: min(48vw, 665px);
}
.slide-container.astro-ovugfc7w {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  opacity: 0.3;
  transform: scale(0.5622);
  transition:
    transform 0.3s,
    opacity 0.3s;
}
.works-slide.astro-ovugfc7w.is-active .slide-container.astro-ovugfc7w {
  opacity: 1;
  transform: scale(1);
}
.works-slide.astro-ovugfc7w.is-prev .slide-container.astro-ovugfc7w {
  transform: scale(0.5622) translateX(max(-8vw, -114px));
  transform-origin: right center;
}
.works-slide.astro-ovugfc7w.is-next .slide-container.astro-ovugfc7w {
  transform: scale(0.5622) translateX(min(8vw, 114px));
  transform-origin: left center;
}
.job.astro-ovugfc7w {
  z-index: 2;
  width: fit-content;
  padding: min(0.69vw, 10px);
  margin-bottom: min(-2.08vw, -30px);
  background-color: var(--100, #000);
}
.job.astro-ovugfc7w img.astro-ovugfc7w {
  width: auto;
  height: min(2.7vw, 40px);
}
.work-information.astro-ovugfc7w {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: min(1.94vw, 28px);
  color: var(--0, #fff);
}
.photo.astro-ovugfc7w {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.photo.astro-ovugfc7w::after {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  background-image: linear-gradient(
    180deg,
    rgba(217, 217, 217, 0) 0%,
    rgba(0, 0, 0, 0.7) 96.15%
  );
}
.photo.astro-ovugfc7w img.astro-ovugfc7w {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.number.astro-ovugfc7w {
  font-size: min(1.25vw, 18px);
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: min(0.13vw, 2px);
  transform: skewX(-15deg);
}
.description.astro-ovugfc7w {
  font-weight: 700;
  line-height: 1.7;
}
.job-type.astro-ovugfc7w,
.location.astro-ovugfc7w {
  width: fit-content;
  padding: min(0.69vw, 10px);
  margin-top: min(0.97vw, 14px);
  font-size: min(1.25vw, 18px);
  font-weight: 900;
  line-height: 1;
}
.job-type.astro-ovugfc7w {
  background-color: var(--1, #c6000b);
}
.location.astro-ovugfc7w {
  background-color: var(--100, #000);
}
.works-pagination.astro-ovugfc7w {
  position: static;
  gap: min(1.25vw, 18px);
  margin-top: min(2.7vw, 40px);
}
.works-pagination.astro-ovugfc7w .splide__pagination__page {
  width: min(1.04vw, 15px);
  height: min(1.04vw, 15px);
  margin: 0;
  background-color: var(--2, #9f0607);
  transition: background-color 0.3s;
}
.works-pagination.astro-ovugfc7w .splide__pagination__page.is-active {
  background-color: var(--0, #fff);
  transform: scale(1);
}
@media (max-width: 768px) {
  .works-slide.astro-ovugfc7w {
    width: calc(100% - 12.8vw);
    height: 108vw;
  }
  .works-slider-arrows.astro-ovugfc7w {
    justify-content: space-between;
  }
  .works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w {
    width: 9.3vw;
    height: 9.3vw;
  }
  .works-slider-arrows.astro-ovugfc7w svg.astro-ovugfc7w {
    height: 3.73vw;
  }
  .works-slider-arrows.astro-ovugfc7w path {
    stroke-width: min(2vw, 8px);
  }
  .works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w:first-child:hover,
  .works-slider-arrows.astro-ovugfc7w .arrow.astro-ovugfc7w:last-child:hover {
    transform: none;
  }
  .works-slider-arrows.astro-ovugfc7w
    .arrow.astro-ovugfc7w:first-child
    svg.astro-ovugfc7w {
    transform: rotate(180deg) translateX(0.26vw);
  }
  .works-slider-arrows.astro-ovugfc7w
    .arrow.astro-ovugfc7w:last-child
    svg.astro-ovugfc7w {
    transform: translateX(0.26vw);
  }
  .slide-container.astro-ovugfc7w {
    transform: none;
  }
  .works-slide.astro-ovugfc7w.is-prev .slide-container.astro-ovugfc7w,
  .works-slide.astro-ovugfc7w.is-next .slide-container.astro-ovugfc7w {
    transform: none;
  }
  .works-slide.astro-ovugfc7w.is-prev .slide-container.astro-ovugfc7w {
    margin-right: 7vw;
  }
  .works-slide.astro-ovugfc7w.is-next .slide-container.astro-ovugfc7w {
    margin-left: 7vw;
  }
  .job.astro-ovugfc7w {
    padding: 1.6vw;
    margin-bottom: -4.8vw;
  }
  .job.astro-ovugfc7w img.astro-ovugfc7w {
    height: 6.4vw;
  }
  .work-information.astro-ovugfc7w {
    padding: 4.26vw;
  }
  .number.astro-ovugfc7w {
    font-size: 2.66vw;
  }
  .description.astro-ovugfc7w {
    font-size: 2.66vw;
  }
  .job-type.astro-ovugfc7w,
  .location.astro-ovugfc7w {
    padding: 1.6vw;
    margin-top: 2.13vw;
    font-size: 2.93vw;
  }
  .works-pagination.astro-ovugfc7w {
    gap: 3.2vw;
    margin-top: 8vw;
  }
  .works-pagination.astro-ovugfc7w .splide__pagination__page {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.works.astro-7dcxpkql {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: #ac151e;
}
.container.astro-7dcxpkql {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: min(4.3vw, 62px);
  align-items: flex-end;
  max-width: min(83.3vw, 1200px);
  padding-top: min(2.9vw, 42px);
  margin: auto;
}
.container-decoration.astro-7dcxpkql {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.container-decoration.astro-7dcxpkql svg.astro-7dcxpkql {
  position: absolute;
  height: auto;
  color: var(--2, #9f0607);
}
.container-decoration-01.astro-7dcxpkql {
  top: min(-6.31vw, -91px);
  left: min(18.19vw, 262px);
  width: min(26.875vw, 387px);
}
.container-decoration-02.astro-7dcxpkql {
  top: min(15.76vw, 227px);
  left: min(2.91vw, 42px);
  width: min(14.51vw, 209px);
}
.container-decoration-03.astro-7dcxpkql {
  right: min(-11.59vw, -167px);
  bottom: min(2.708vw, 39px);
  width: min(12.43vw, 179px);
}
.bottom-decoration.astro-7dcxpkql {
  margin-top: min(2.43vw, 35px);
}
.bottom-decoration.astro-7dcxpkql svg.astro-7dcxpkql {
  display: block;
  width: 100%;
  height: auto;
}
.background.astro-7dcxpkql {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media (max-width: 768px) {
  .container.astro-7dcxpkql {
    gap: 8.53vw;
    max-width: none;
    padding: 9.6vw 2.6vw 0;
  }
  .container-decoration-01.astro-7dcxpkql {
    top: -5.86vw;
    left: 16.8vw;
    width: 33.06vw;
  }
  .container-decoration-02.astro-7dcxpkql {
    top: 20vw;
    left: 2.66vw;
    width: 14.93vw;
  }
  .container-decoration-03.astro-7dcxpkql {
    display: none;
  }
  .bottom-decoration.astro-7dcxpkql {
    margin-top: 8vw;
  }
}
.fv.astro-mikp2g2j {
  padding-top: 129px;
  overflow: hidden;
}
.fv-inner.astro-mikp2g2j {
  position: relative;
  width: 100%;
  height: 46.667vw;
  background-image: url(../images/fv-back-pc.png);
  background-position: center;
  background-size: cover;
  clip-path: polygon(0 0, 100% 0, 100% 84%, 0 100%);
}
.fv-photo.astro-mikp2g2j {
  position: absolute;
  top: -1.5vw;
  left: 34.028vw;
  z-index: 5;
}
.fv-photo.astro-mikp2g2j img.astro-mikp2g2j {
  width: 47.222vw;
  height: auto;
}
.fv-main-copy1.astro-mikp2g2j {
  position: absolute;
  top: 6.181vw;
  left: 11.458vw;
  z-index: 1;
}
.fv-main-copy1.astro-mikp2g2j img.astro-mikp2g2j {
  width: 34vw;
  height: auto;
}
.fv-main-copy2.astro-mikp2g2j {
  position: absolute;
  top: 27.778vw;
  left: 46.528vw;
  z-index: 10;
}
.fv-main-copy2.astro-mikp2g2j img.astro-mikp2g2j {
  width: 29.028vw;
  height: auto;
}
.fv-sub-copy.astro-mikp2g2j {
  position: absolute;
  top: 2.5vw;
  right: 9.236vw;
  z-index: 10;
}
.fv-sub-copy.astro-mikp2g2j img.astro-mikp2g2j {
  width: 12.5vw;
  height: auto;
}
@media screen and (max-width: 1210px) {
  .fv.astro-mikp2g2j {
    padding-top: 69px;
  }
}
@media (max-width: 900px) {
  .fv-inner.astro-mikp2g2j {
    height: 137.067vw;
    background-image: url(../images/fv-back-sp.png);
    clip-path: polygon(0 0, 100% 0, 100% 95.6%, 0 100%);
  }
  .fv-photo.astro-mikp2g2j {
    top: auto;
    bottom: -14vw;
    left: 35vw;
    z-index: 5;
    width: 79vw;
  }
  .fv-photo.astro-mikp2g2j img.astro-mikp2g2j {
    width: 100%;
  }
  .fv-main-copy1.astro-mikp2g2j {
    top: 25vw;
    left: 5vw;
    z-index: 1;
  }
  .fv-main-copy1.astro-mikp2g2j img.astro-mikp2g2j {
    width: 60vw;
  }
  .fv-main-copy2.astro-mikp2g2j {
    top: auto;
    bottom: 35vw;
    left: -1vw;
    z-index: 1;
  }
  .fv-main-copy2.astro-mikp2g2j img.astro-mikp2g2j {
    width: 79vw;
  }
  .fv-sub-copy.astro-mikp2g2j {
    top: 15vw;
    right: 6vw;
    z-index: 10;
  }
  .fv-sub-copy.astro-mikp2g2j img.astro-mikp2g2j {
    width: 24vw;
  }
}
.menu-pc.astro-zq25tnvt {
  display: flex;
  gap: 48px;
  align-items: center;
}
.menu-sp.astro-zq25tnvt {
  display: none;
}
header.astro-zq25tnvt {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}
.header-inner.astro-zq25tnvt {
  position: relative;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 32px;
  background-color: #000;
}
.header-left.astro-zq25tnvt {
  display: flex;
  gap: 16px;
  align-items: center;
}
.header-logo.astro-zq25tnvt {
  flex-shrink: 0;
}
.header-logo.astro-zq25tnvt img.astro-zq25tnvt {
  width: 92px;
  height: auto;
}
h1.astro-zq25tnvt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.text-chunk.astro-zq25tnvt {
  display: inline-block;
}
.company-name.astro-zq25tnvt {
  margin-right: 1em;
}
.header-right.astro-zq25tnvt {
  display: flex;
  flex-shrink: 0;
  gap: 48px;
  align-items: center;
}
.nav-menu.astro-zq25tnvt {
  display: flex;
  gap: 24px;
}
.nav-menu.astro-zq25tnvt a.astro-zq25tnvt {
  position: relative;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
}
.nav-menu.astro-zq25tnvt a.astro-zq25tnvt::after {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.nav-menu.astro-zq25tnvt a.astro-zq25tnvt:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.header-cta.astro-zq25tnvt {
  position: relative;
  z-index: 10;
  display: flex;
  gap: 23px;
  align-items: center;
  padding: 20px 17px 20px 25px;
  background-color: #fff;
  transition: color 0.3s ease;
}
.header-cta.astro-zq25tnvt:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.header-cta.astro-zq25tnvt::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  background: #c6000b;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.3s ease;
  transition-property: transform;
}
.header-cta.astro-zq25tnvt p.astro-zq25tnvt {
  position: relative;
  z-index: 10;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  transition: color 0.3s ease;
}
.header-cta.astro-zq25tnvt:hover p.astro-zq25tnvt {
  color: #fff;
}
.header-cta.astro-zq25tnvt a.astro-zq25tnvt {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
}
.header-cta-arrow.astro-zq25tnvt {
  position: relative;
  z-index: 10;
  width: 16px;
  height: 16px;
  --icon-bg: #000;
  --icon-arrow: #fff;
  transition: transform 0.3s ease;
}
.header-cta-arrow-img.astro-zq25tnvt {
  width: 100%;
  height: 100%;
}
.header-cta-arrow-img.astro-zq25tnvt svg {
  display: block;
  width: 100%;
  height: 100%;
}
.header-cta-arrow-img.astro-zq25tnvt svg rect,
.header-cta-arrow-img.astro-zq25tnvt svg path {
  transition: fill 0.5s ease;
}
.header-cta.astro-zq25tnvt:hover .header-cta-arrow.astro-zq25tnvt {
  --icon-bg: #fff;
  --icon-arrow: #c6000b;
}
.custom-hamburger.astro-zq25tnvt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
  justify-content: center;
  width: 44px;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: none;
}
.custom-hamburger-icon.astro-zq25tnvt {
  position: relative;
  width: 25px;
  height: 18px;
}
.custom-hamburger-icon.astro-zq25tnvt span.astro-zq25tnvt {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.custom-hamburger-icon.astro-zq25tnvt span.astro-zq25tnvt:nth-of-type(1) {
  top: 0;
}
.custom-hamburger-icon.astro-zq25tnvt span.astro-zq25tnvt:nth-of-type(2) {
  top: 8px;
}
.custom-hamburger-icon.astro-zq25tnvt span.astro-zq25tnvt:nth-of-type(3) {
  bottom: 0;
}
.custom-hamburger-text.astro-zq25tnvt {
  position: static;
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  user-select: none;
  transform: scale(0.833);
}
.custom-hamburger-text.astro-zq25tnvt .text-close.astro-zq25tnvt {
  display: none;
}
#js-custom-hamburger.astro-zq25tnvt.active
  .custom-hamburger-icon.astro-zq25tnvt
  span.astro-zq25tnvt:nth-of-type(1) {
  transform: translateY(8px) rotate(-45deg);
}
#js-custom-hamburger.astro-zq25tnvt.active
  .custom-hamburger-icon.astro-zq25tnvt
  span.astro-zq25tnvt:nth-of-type(2) {
  opacity: 0;
}
#js-custom-hamburger.astro-zq25tnvt.active
  .custom-hamburger-icon.astro-zq25tnvt
  span.astro-zq25tnvt:nth-of-type(3) {
  transform: translateY(-8px) rotate(45deg);
}
#js-custom-hamburger.astro-zq25tnvt.active
  .custom-hamburger-text.astro-zq25tnvt
  .text-menu.astro-zq25tnvt {
  display: none;
}
#js-custom-hamburger.astro-zq25tnvt.active
  .custom-hamburger-text.astro-zq25tnvt
  .text-close.astro-zq25tnvt {
  display: block;
}
.drawer.astro-zq25tnvt,
.drawer-overlay.astro-zq25tnvt {
  display: none;
}
@media screen and (max-width: 1210px) {
  .menu-pc.astro-zq25tnvt {
    display: none;
  }
  .menu-sp.astro-zq25tnvt {
    display: block;
  }
  .header-inner.astro-zq25tnvt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px 8px 8px;
    background-color: #000;
  }
  .header-logo.astro-zq25tnvt img.astro-zq25tnvt {
    width: 50px;
  }
  h1.astro-zq25tnvt {
    font-size: 12px;
    line-height: 1.5;
  }
  .company-name.astro-zq25tnvt {
    margin-right: 0;
  }
  .drawer-overlay.astro-zq25tnvt {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: block;
    visibility: hidden;
    width: 100vw;
    height: 100vh;
    background-color: var(--2, #9f0607);
    opacity: 0;
    backdrop-filter: blur(16.75px);
    transition:
      opacity 0.3s ease-in-out,
      visibility 0.3s;
  }
  .drawer-overlay.astro-zq25tnvt.is-active {
    visibility: visible;
    opacity: 0.9;
  }
  .drawer.astro-zq25tnvt {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    display: block;
    visibility: hidden;
    width: 315px;
    max-height: 100vh;
    padding: 100px 32px 56px;
    overflow-y: auto;
    color: #fff;
    background-color: var(--100, #000);
    transform: translateX(100%);
    transition:
      transform 0.3s ease-in-out,
      visibility 0.3s;
  }
  .drawer.astro-zq25tnvt.is-active {
    visibility: visible;
    transform: translateX(0);
  }
  .nav-menu-sp.astro-zq25tnvt {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .nav-btn-sp.astro-zq25tnvt {
    display: inline-block;
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--0, #fff);
    text-decoration: none;
    border-bottom: 1px solid var(--0, #fff);
  }
  .header-cta.astro-zq25tnvt {
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    margin-top: 40px;
    background-color: #c6000b;
  }
  .header-cta.astro-zq25tnvt p.astro-zq25tnvt {
    font-size: 16px;
    color: #fff;
    letter-spacing: 1.6px;
  }
  .header-cta-arrow.astro-zq25tnvt {
    width: 16px;
    height: 16px;
    --icon-bg: #fff;
    --icon-arrow: #c6000b;
  }
  .drawer-back.astro-zq25tnvt {
    position: absolute;
    top: 170px;
    right: 0;
    width: 148px;
    height: auto;
  }
}
.interview.astro-e2xm4tin {
  position: relative;
  padding-top: min(2.22vw, 32px);
}
.container.astro-e2xm4tin {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 83.3vw;
  max-width: 1200px;
  margin: auto;
}
.popup-list.astro-e2xm4tin {
  display: flex;
  flex-direction: column;
  gap: min(2.22vw, 32px);
  width: min(62.5vw, 900px);
  margin-top: min(3.81vw, 55px);
}
.popup-trigger.astro-e2xm4tin {
  position: relative;
  display: block;
  transition: box-shadow 0.3s;
}
.popup-trigger.astro-e2xm4tin:hover {
  box-shadow: 0 0 min(1.52vw, 22px) min(0.48vw, 7px) rgba(0, 0, 0, 0.25);
}
.arrow-icon.astro-e2xm4tin {
  position: absolute;
  right: min(2.01vw, 29px);
  bottom: min(2.01vw, 29px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(1.04vw, 15px) min(1.8vw, 26px);
  background-color: var(--color-2, #9f0607);
  border-radius: 50%;
}
.left-decoration-pc.astro-e2xm4tin {
  position: absolute;
  top: min(20.13vw, 290px);
  left: 0;
  width: min(14.72vw, 212px);
}
.bottom-decoration.astro-e2xm4tin {
  width: 100%;
  overflow: hidden;
}
.bottom-decoration.astro-e2xm4tin img.astro-e2xm4tin {
  width: 100%;
}
@media (max-width: 768px) {
  .interview.astro-e2xm4tin {
    padding-top: 11.2vw;
  }
  .container.astro-e2xm4tin {
    align-items: flex-start;
    width: 100%;
    padding: 0 1.3vw;
  }
  .popup-list.astro-e2xm4tin {
    position: relative;
    gap: 6.4vw;
    width: 100%;
    margin-top: 10.6vw;
  }
  .popup-card.astro-e2xm4tin {
    width: 79.2vw;
  }
  .arrow-icon.astro-e2xm4tin {
    right: 0.8vw;
    bottom: 0.8vw;
    padding: 1.6vw 3.2vw;
  }
  .arrow-icon.astro-e2xm4tin svg.astro-e2xm4tin {
    width: 4.53vw;
  }
  .left-decoration-sp.astro-e2xm4tin {
    position: absolute;
    top: 50%;
    right: 0;
    width: 10.13vw;
    transform: translateY(-50%);
  }
  .bottom-decoration.astro-e2xm4tin {
    margin-top: 6.6vw;
  }
}
.loading.astro-2t534yfb {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-color: var(--black, #222);
  transition: opacity 0.3s ease;
}
.loading.astro-2t534yfb.is-hidden {
  pointer-events: none;
  opacity: 0;
}
.container.astro-2t534yfb {
  position: relative;
  display: flex;
  gap: max(1vw, 10px);
  animation: rotate 2s linear infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.circle.astro-2t534yfb {
  position: relative;
  display: flex;
  flex-direction: column;
  width: max(1.5vw, 15px);
  height: max(4vw, 40px);
}
.circle.astro-2t534yfb:nth-child(odd) {
  justify-content: flex-end;
  transform-origin: center bottom;
}
.circle.astro-2t534yfb:nth-child(1) {
  transform: rotate(45deg);
}
.circle.astro-2t534yfb:nth-child(2) {
  padding: 0 max(0.5vw, 5px);
}
.circle.astro-2t534yfb:nth-child(3) {
  transform: rotate(-45deg);
}
.circle.astro-2t534yfb::after {
  position: absolute;
  left: 0;
  display: block;
  width: max(1.5vw, 15px);
  height: max(1.5vw, 15px);
  content: '';
  background-color: var(--white, #c6000a);
  border-radius: 50%;
}
.circle.astro-2t534yfb:nth-child(odd)::after {
  bottom: 0;
}
.circle.astro-2t534yfb:nth-child(1)::after {
  animation: wabble-odd 1s ease-in-out infinite;
}
.circle.astro-2t534yfb:nth-child(2)::after {
  top: 0;
  animation: wabble-even 1s ease-in-out infinite 0.25s;
}
.circle.astro-2t534yfb:nth-child(3)::after {
  animation: wabble-odd 1s ease-in-out infinite 0.5s;
}
@keyframes wabble-odd {
  0% {
    bottom: 0;
    transform: scale(1);
  }
  50% {
    bottom: 25%;
    transform: scale(0.75);
  }
}
@keyframes wabble-even {
  0% {
    top: 0;
    transform: scale(1);
  }
  50% {
    top: 25%;
    transform: scale(0.75);
  }
}
.tab.astro-mfqsstfw,
.sp.astro-mfqsstfw {
  display: none;
}
.merit.astro-mfqsstfw {
  position: relative;
  padding: 43px 0 370px;
  overflow: hidden;
  background: url(../images/merit-back.png);
}
.merit-inner.astro-mfqsstfw {
  position: relative;
}
.merit-title.astro-mfqsstfw {
  position: relative;
  z-index: 10;
  width: 1200px;
  margin: auto;
}
.merit-main-area.astro-mfqsstfw {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 1200px;
  margin: 75px auto 0;
}
.merit-box.astro-mfqsstfw {
  position: relative;
  width: 778px;
  padding: 50px 0 38px;
  background: #fff;
}
.merit-box.astro-mfqsstfw.small {
  position: absolute;
  top: 110px;
  left: 827px;
  width: 387px;
  padding: 10px 0 38px;
}
.merit-box.astro-mfqsstfw.small.bottom {
  top: 810px;
}
.merit-box-number.astro-mfqsstfw {
  position: absolute;
  top: -40px;
  left: 10px;
  font-size: 48px;
  font-style: italic;
  font-weight: 900;
  color: var(--100, #000);
}
.merit-headline1.astro-mfqsstfw {
  width: 457px;
  height: auto;
  margin: auto;
}
.merit-headline2.astro-mfqsstfw {
  width: 387px;
  height: auto;
  margin: auto;
}
.merit-headline3.astro-mfqsstfw {
  width: 691px;
  height: auto;
  margin: auto;
}
.merit-headline4.astro-mfqsstfw {
  width: 818px;
  height: auto;
  margin: auto;
}
.merit-headline5.astro-mfqsstfw {
  width: 387px;
  height: auto;
  margin: auto;
}
.merit-box-text.astro-mfqsstfw {
  padding: 0 40px;
  margin: 14px auto 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 180%;
  color: var(--100, #000);
  text-align: justify;
}
.merit-sub-box.astro-mfqsstfw {
  display: flex;
  gap: 0;
  padding: 0 40px;
  margin: 13px auto 0;
}
.small.astro-mfqsstfw .merit-sub-box.astro-mfqsstfw {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.merit-sub-box-text1.astro-mfqsstfw {
  display: flex;
  align-items: center;
  padding: 10px;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  color: var(--100, #000);
  background: #fff;
  border: 2px solid #000;
}
.merit-sub-box-text2.astro-mfqsstfw {
  display: flex;
  align-items: center;
  padding: 10px;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  color: var(--0, #fff);
  background: #000;
}
.merit-back-text1.astro-mfqsstfw {
  position: absolute;
  top: -150px;
  right: 0;
  z-index: 1;
}
.merit-back-text2.astro-mfqsstfw {
  position: absolute;
  bottom: 40px;
  left: -50px;
  z-index: 1;
  width: 1100px;
}
@media screen and (max-width: 1200px) {
  .tab.astro-mfqsstfw {
    display: block;
  }
  .small.astro-mfqsstfw .pc.astro-mfqsstfw {
    display: none;
  }
  .merit.astro-mfqsstfw {
    padding: 43px 0 150px;
  }
  .merit-title.astro-mfqsstfw {
    width: auto;
    margin: 0 0 0 32px;
  }
  .merit-main-area.astro-mfqsstfw {
    width: 100%;
    padding: 0 120px;
  }
  .merit-box.astro-mfqsstfw {
    width: 100%;
  }
  .merit-box.astro-mfqsstfw.small {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }
  .merit-box.astro-mfqsstfw.small.bottom {
    top: 0;
  }
  .small.astro-mfqsstfw .merit-sub-box.astro-mfqsstfw {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 580px;
    margin: 13px 0 0;
  }
  .merit-headline2.astro-mfqsstfw {
    width: 786px;
  }
  .merit-headline5.astro-mfqsstfw {
    width: 786px;
  }
  .merit-back-text1.astro-mfqsstfw {
    top: -80px;
    width: 420px;
  }
  @media screen and (max-width: 830px) {
    .pc.astro-mfqsstfw,
    .tab.astro-mfqsstfw {
      display: none;
    }
    .sp.astro-mfqsstfw {
      display: block;
    }
    .merit.astro-mfqsstfw {
      padding: 43px 0 150px;
    }
    .merit-main-area.astro-mfqsstfw {
      gap: 48px;
      padding: 0 10px;
      margin: 50px auto 0;
    }
    .merit-box.astro-mfqsstfw {
      padding: 60px 0 38px;
      background: #fff;
    }
    .merit-box-title.astro-mfqsstfw {
      width: 100%;
      overflow: hidden;
    }
    .merit-box-text.astro-mfqsstfw {
      padding: 0 25px;
    }
    .merit-box-number.astro-mfqsstfw {
      top: -25px;
      left: 18px;
      font-size: 32px;
    }
    .merit-sub-box.astro-mfqsstfw {
      flex-direction: column;
      align-items: flex-start;
      padding: 0 25px;
      margin: 13px 0 0;
    }
    .small.astro-mfqsstfw .merit-sub-box.astro-mfqsstfw {
      flex-direction: column;
      width: auto;
    }
    .merit-headline1.astro-mfqsstfw {
      width: 85%;
    }
    .merit-headline2.astro-mfqsstfw {
      margin-top: 30px;
    }
    .merit-headline3.astro-mfqsstfw {
      width: 115%;
      max-width: none;
      margin-left: 50%;
      transform: translateX(-50%);
    }
    .merit-headline4.astro-mfqsstfw {
      margin-top: -20px;
    }
    .merit-headline5.astro-mfqsstfw {
      margin-top: 30px;
    }
    .merit-back-text1.astro-mfqsstfw {
      top: -30px;
      width: 250px;
    }
    .merit-back-text2.astro-mfqsstfw {
      bottom: 30px;
      left: 0;
      width: 100%;
      max-width: none;
    }
  }
}
.message-inner.astro-neqaz5k3 {
  position: relative;
  padding: 3.819vw 0 9.028vw;
}
.message-title.astro-neqaz5k3 {
  margin-left: 7.778vw;
}
.message-headline.astro-neqaz5k3 {
  width: 43.75vw;
  height: auto;
  margin: 14.722vw 0 0 45vw;
}
.message-text.astro-neqaz5k3 {
  margin: 3vw 0 0 45vw;
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  color: var(--100, #000);
}
.message-img1.astro-neqaz5k3 {
  position: absolute;
  top: 5vw;
  right: 0;
  width: 30.208vw;
  height: auto;
}
.message-img2.astro-neqaz5k3 {
  position: absolute;
  top: 20vw;
  left: 10vw;
  width: 32.083vw;
  height: auto;
}
.message-img3.astro-neqaz5k3 {
  position: absolute;
  right: 0;
  bottom: 10vw;
  width: 18.889vw;
  height: auto;
}
.message-img4.astro-neqaz5k3 {
  position: absolute;
  bottom: 4.5vw;
  left: 0;
  width: 37.708vw;
  height: auto;
}
.message-img-sp.astro-neqaz5k3 {
  display: none;
}
@media screen and (max-width: 768px) {
  .message-inner.astro-neqaz5k3 {
    position: relative;
    padding: 6.133vw 0 4.533vw;
  }
  .message-title.astro-neqaz5k3 {
    margin-left: 2.667vw;
  }
  .message-headline.astro-neqaz5k3 {
    width: 84vw;
    margin: 11.2vw 0 0 2.667vw;
  }
  .message-text.astro-neqaz5k3 {
    margin: 8.533vw 0 0 2.667vw;
    font-size: 4vw;
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0.128vw;
  }
  .message-img1.astro-neqaz5k3,
  .message-img2.astro-neqaz5k3,
  .message-img3.astro-neqaz5k3,
  .message-img4.astro-neqaz5k3 {
    display: none;
  }
  .message-img-sp.astro-neqaz5k3 {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 11.467vw;
  }
}
.search.astro-23mh7uyv {
  background:
    url(../images/search-bg-left.svg), url(../images/search-bg-right.svg);
  background-repeat: repeat-y, repeat-y;
  background-position:
    left -100px,
    right -100px;
}
.search-inner.astro-23mh7uyv {
  position: relative;
  padding: 60px 120px 120px;
  overflow: hidden;
}
.search-title.astro-23mh7uyv {
  width: calc(100% - 120px);
  max-width: 1000px;
  margin: 0 auto 70px;
}
.search-main.astro-23mh7uyv {
  position: relative;
  width: calc(100% - 100px);
  max-width: 1000px;
  margin: 0 auto;
}
.search-main.astro-23mh7uyv h3.astro-23mh7uyv {
  margin-bottom: 30px;
  font-size: 32px;
  font-weight: 700;
  color: var(--100, #000);
  letter-spacing: 3.84px;
}
.search-list.astro-23mh7uyv {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 50px;
}
.search-btn.astro-23mh7uyv {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  width: 297px;
  padding: 20px 0;
  font-size: 20px;
  font-weight: 900;
  color: #c6000b;
  letter-spacing: 2px;
  text-decoration: none;
  background: var(--0, #fff);
  border: 3px solid var(--1, #c6000b);
  transition: all 0.3s ease;
  --icon-bg: #c6000b;
  --icon-arrow: #fff;
}
.search-list-arrow.astro-23mh7uyv {
  position: relative;
  z-index: 2;
  width: 30px;
  height: 30px;
}
.search-list-arrow-img.astro-23mh7uyv {
  width: 100%;
  height: 100%;
}
.search-list-arrow-img.astro-23mh7uyv svg {
  display: block;
  width: 100%;
  height: 100%;
}
.search-partition.astro-23mh7uyv {
  margin: 60px 0;
  border: none;
  border-top: 1px solid #000;
}
.search-bg-left.astro-23mh7uyv {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.search-bg-right.astro-23mh7uyv {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.search-list-arrow-img.astro-23mh7uyv svg rect {
  fill: var(--icon-bg);
  transition: fill 0.3s ease;
}
.search-list-arrow-img.astro-23mh7uyv svg path {
  stroke: var(--icon-arrow);
  transform: scale(0.8);
  transform-origin: center;
  transform-box: fill-box;
  transition:
    stroke 0.3s ease,
    transform 0.3s ease;
}
.search-btn.astro-23mh7uyv::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  background: #000000;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.3s ease;
  transition-property: transform;
}
@media (hover: hover) {
  .search-btn.astro-23mh7uyv:hover {
    color: #fff;
    --icon-bg: #fff;
    border: 3px solid var(--1, #000);
    --icon-arrow: #000;
  }
  .search-btn.astro-23mh7uyv:hover::before {
    transform: scaleX(1);
    transform-origin: left;
  }
}
@media screen and (max-width: 1000px) {
  .search-btn.astro-23mh7uyv {
    width: 44%;
  }
}
@media screen and (max-width: 768px) {
  .search.astro-23mh7uyv {
    background:
      url(../images/search-bg-left-sp.svg),
      url(../images/search-bg-right-sp.svg);
    background-repeat: repeat-y, repeat-y;
    background-position:
      left top,
      right top;
  }
  .search-inner.astro-23mh7uyv {
    position: relative;
    padding: 30px 20px 50px;
    overflow: hidden;
  }
  .search-title.astro-23mh7uyv {
    width: calc(100% - 40px);
    margin: 0 auto 30px;
  }
  .search-main.astro-23mh7uyv {
    position: relative;
    width: calc(100% - 40px);
  }
  .search-main.astro-23mh7uyv h3.astro-23mh7uyv {
    margin-bottom: 30px;
    font-size: 18px;
    letter-spacing: 2.16px;
  }
  .search-list.astro-23mh7uyv {
    gap: 21px 11px;
  }
  .search-btn.astro-23mh7uyv {
    justify-content: space-between;
    width: 48%;
    padding: 15px 10px;
    font-size: 12px;
    letter-spacing: 1.2px;
  }
  .search-list-arrow.astro-23mh7uyv {
    width: 15px;
    height: 15px;
  }
  .search-list-arrow-img.astro-23mh7uyv svg path {
    stroke: var(--icon-arrow);
    transform: scale(1.2);
    transform-origin: center;
    transform-box: fill-box;
    transition:
      stroke 0.3s ease,
      transform 0.3s ease;
  }
  .search-partition.astro-23mh7uyv {
    margin: 30px 0 40px;
  }
} /* reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol,
button {
  padding: 0;
  margin: 0;
}
ul,
ol[role='list'] {
  list-style: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
}
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}
a:not([class]) {
  color: currentColor;
  text-decoration-skip-ink: auto;
}
img,
picture {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  width: fit-content;
  max-width: 100%;
  height: auto;
}
input,
button,
textarea,
select {
  font: inherit;
}
button {
  cursor: pointer;
  background: none;
  border: none;
}
textarea:not([rows]) {
  min-height: 10em;
}
:target {
  scroll-margin-block: 5ex;
}
html {
  overflow-y: scroll;
  font-family: var(--JP, 'Noto Sans JP', sans-serif);
  font-size: min(1.11vw, 16px);
}

.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

#message,
#works,
#merit,
#interview,
#search {
  scroll-margin-top: 120px;
}

@media (max-width: 1210px) {
  #message,
  #works,
  #merit,
  #interview,
  #search {
    scroll-margin-top: 80px;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 4.26vw;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}

/* 共通フェードインアニメーション */
[data-fade-in] {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.6s,
    transform 0.6s;
}
.is-loaded [data-fade-in].is-fade-in-visible {
  opacity: 1;
  transform: translateY(0);
}
/* =========================================
     フェードイン用のアニメーション設定
  ========================================= */
.fade-target {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 1s cubic-bezier(0.25, 1, 0.5, 1),
    transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 【修正ポイント】AstroのCSSスコープ対策
    共通JSで付与される .is-fade-in-visible を完全にグローバルとして扱い、
    その配下にある .fade-target に対してスタイルを適用します。
  */
:global(.is-fade-in-visible) .fade-target {
  opacity: 1;
  transform: translateY(0);
}

/* 時差（ディレイ）の指定 */
.delay-1 {
  transition-delay: 0.2s;
}
.delay-2 {
  transition-delay: 0.4s;
}
.delay-3 {
  transition-delay: 0.6s;
}
.delay-4 {
  transition-delay: 0.8s;
}
.delay-5 {
  transition-delay: 1s;
}
:root {
  --JP: 'Noto Sans JP', sans-serif;
  --text: var(--JP);

  --color-1: #c6000b;
  --color-2: #9f0607;
  --color-3: #de1f20;
  --0: #fff;
  --10: #e6e6e6;
  --20: #dadada;
  --40: #a6a6a6;
  --60: #707070;
  --80: #4a4a4a;
  --100: #000;
}
