.home-hero {
  position: relative;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .home-hero {
    height: 100svh;
    height: var(--hero-vh, 100svh);
  }
}
.home-hero__background {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .home-hero__background {
    top: 0;
    height: 100%;
  }
  .home-hero__background img {
    width: auto;
    max-width: none;
    height: 70%;
  }
}
.home-hero__svg {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .home-hero__svg {
    width: auto;
    max-width: none;
    height: 70%;
  }
}
.home-hero__stroke {
  opacity: 0;
  will-change: stroke-dashoffset;
}
.home-hero__foreground {
  width: 100%;
  max-width: 132.6rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  padding-top: 2rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .home-hero__foreground {
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 12rem 0;
    text-align: center;
    white-space: nowrap;
  }
}
.home-hero__content {
  font-family: YakuHanMP, "Shippori Mincho", serif;
}
.home-hero__title {
  margin-right: -0.8rem;
  background: linear-gradient(to right, #008CFF 0%, #00C7FE 45%, #004A98 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .home-hero__title {
    font-size: 3.2rem;
    line-height: 1.3;
  }
}
.home-hero__lead {
  margin-top: 0.5rem;
  font-size: 2.8rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .home-hero__lead {
    margin-top: 0.6rem;
    font-size: 1.92rem;
  }
}
.home-hero__text {
  margin-top: 2rem;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .home-hero__text {
    margin-top: 4rem;
    font-size: 1rem;
  }
}
.home-hero__scroll {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  width: 13rem;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .home-hero__scroll {
    bottom: 1rem;
    right: 50%;
    transform: translateX(50%);
    width: 8rem;
  }
}

.layout-header {
  top: -9rem;
  will-change: top;
}
@media screen and (max-width: 768px) {
  .layout-header {
    top: -6rem;
  }
}

.home-hero__title, .home-hero__lead, .home-hero__text, .home-hero__scroll {
  opacity: 0;
}

.is-hero-ready .layout-header {
  top: 0;
  transition: top 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.is-hero-ready .home-hero__title, .is-hero-ready .home-hero__lead, .is-hero-ready .home-hero__text, .is-hero-ready .home-hero__scroll {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.home-section {
  position: relative;
  padding: 12.5rem 4rem;
}
@media screen and (max-width: 768px) {
  .home-section {
    padding: 6rem 2rem;
  }
}
.home-section__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  clip-path: inset(0);
  z-index: 0;
}
.home-section__background img, .home-section__background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-section__background.is-fixed img, .home-section__background.is-fixed video {
  position: fixed;
}
@media screen and (max-width: 768px) {
  .home-section__background.is-fixed img, .home-section__background.is-fixed video {
    height: 100lvh;
  }
}
.home-section__foreground {
  width: 100%;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
}
.home-section__foreground > *:first-child {
  margin-top: 0;
}
.home-section__header {
  position: relative;
}
.home-section__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}
.home-section__title-en {
  background: linear-gradient(to right, #008CFF 0%, #00C7FE 45%, #004A98 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Playfair Display", serif;
  font-size: 10rem;
}
@media screen and (max-width: 768px) {
  .home-section__title-en {
    font-size: 4.5rem;
  }
}
.home-section__title-ja {
  margin: 2rem 0 0 6rem;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .home-section__title-ja {
    margin: 0.9rem 0 0 2.7rem;
  }
}
.home-section__title-en, .home-section__title-ja {
  clip-path: inset(0 0 100% 0);
  transform: translateY(2rem);
}
.home-section__title.is-inview .home-section__title-en, .home-section__title.is-inview .home-section__title-ja {
  clip-path: inset(0 0 0 0);
  transform: translateY(0);
  transition: clip-path 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.home-section__title.is-inview .home-section__title-ja {
  transition-delay: 0.4s;
}
.home-section__content {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .home-section__content {
    margin-top: 3rem;
  }
}

.home-keypoint {
  margin-top: 20rem;
  padding-top: 0;
  padding-bottom: 6rem;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .home-keypoint {
    margin-top: 5rem;
    aspect-ratio: auto;
  }
}
.home-keypoint__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  transition-delay: 0.8s;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list {
    gap: 1.2rem;
  }
}
.home-keypoint__list-item {
  position: relative;
  width: calc(25% - 1.5rem);
  background: rgba(255, 255, 255, 0.85);
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-item {
    width: calc(50% - 0.6rem);
    border-radius: 1.166rem;
  }
}
.home-keypoint__list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2rem;
  border: 0.5rem solid #fff;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-item::before {
    border-radius: 1.166rem;
    border-width: 0.2915rem;
  }
}
.home-keypoint__list-item--1 {
  width: calc(50% - 1rem);
  margin-right: calc(50% - 1rem);
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-item--1 {
    width: 100%;
    margin-right: 0;
  }
}
.home-keypoint__list-item--1 .home-keypoint__list-title {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-item--1 .home-keypoint__list-title {
    font-size: 1.3992rem;
  }
}
.home-keypoint__list-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 2.2rem 0 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-content {
    padding: 1.2826rem;
  }
}
.home-keypoint__list-number {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-number {
    font-size: 1.3992rem;
  }
}
.home-keypoint__list-title {
  margin-top: 1rem;
  color: #028EFF;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-title {
    margin-top: 0.583rem;
    font-size: 1.0494rem;
    white-space: nowrap;
  }
}
.home-keypoint__list-title small {
  color: #231815;
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .home-keypoint__list-title small {
    font-size: 0.9328rem;
  }
}
.home-keypoint__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.home-keypoint__background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-keypoint__background:nth-child(1) {
  opacity: 1;
}
.home-keypoint .home-section__background.is-inview .home-keypoint__background:nth-child(2) {
  opacity: 1;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.6s;
}

.home-work {
  overflow: hidden;
  padding-bottom: 16rem;
}
.home-work__line-1 {
  position: absolute;
  top: -12rem;
  left: 0;
  width: 126.9rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home-work__line-1 {
    top: -6rem;
    width: 29.187rem;
  }
}
.home-work__line-2 {
  position: absolute;
  bottom: -26.4rem;
  left: 0;
  width: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home-work__line-2 {
    width: 48.4rem;
    bottom: -5rem;
  }
}
.home-work__image {
  position: absolute;
  bottom: -6.5rem;
  right: 4.8rem;
  width: 26rem;
}
@media screen and (max-width: 768px) {
  .home-work__image {
    bottom: -3.3rem;
    right: 2.7984rem;
    width: 15.158rem;
  }
}
.home-work__list {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin-left: -4rem;
  margin-right: -4rem;
}
@media screen and (max-width: 768px) {
  .home-work__list {
    overflow-x: auto;
    justify-content: flex-start;
    gap: 1rem;
    margin-left: 0;
    margin-right: -2rem;
  }
  .home-work__list--single {
    justify-content: center;
    margin-right: 0;
  }
}
.home-work__list-item {
  width: calc(50% - 2rem);
  padding: 6rem 4rem;
  background: #fff;
  border-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .home-work__list-item {
    width: 30.4rem;
    padding: 3rem 1.5rem;
    border-radius: 2rem;
  }
}
.home-work__list-title {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-work__list-title {
    font-size: 2.332rem;
  }
}
.home-work__list-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 6rem;
  color: #004A98;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .home-work__list-heading {
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 3rem;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.home-work__list-heading::before {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  content: "";
  flex-shrink: 0;
  display: block;
  background: linear-gradient(-45deg, #00C7FE, #008CFF);
}
@media screen and (max-width: 768px) {
  .home-work__list-heading::before {
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    margin-top: 0.5rem;
  }
}
.home-work__video {
  margin-top: 1.3rem;
}
@media screen and (max-width: 768px) {
  .home-work__video {
    margin-top: 0.7579rem;
  }
}
.home-work__video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  vertical-align: top;
}
.home-work__images {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.3rem;
}
@media screen and (max-width: 768px) {
  .home-work__images {
    gap: 0.5rem;
    margin-top: 0.7579rem;
  }
}
.home-work__images-item {
  width: calc(33.333% - 1rem);
}
@media screen and (max-width: 768px) {
  .home-work__images-item {
    width: calc(33.333% - 0.3333333333rem);
  }
}
.home-work__images-item figcaption {
  margin-top: 0.3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-work__images-item figcaption {
    font-size: 1rem;
  }
}
.home-work__flow {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2.6rem;
}
@media screen and (max-width: 768px) {
  .home-work__flow {
    gap: 1.4575rem;
    margin-top: 1.5158rem;
  }
}
.home-work__flow-item {
  display: flex;
  gap: 3rem;
  width: 100%;
  padding-bottom: 2.7rem;
  border-bottom: 1px dashed #cccccc;
}
@media screen and (max-width: 768px) {
  .home-work__flow-item {
    gap: 1.749rem;
    padding-bottom: 1.5741rem;
    border-bottom: 1px dotted #cccccc;
  }
}
.home-work__flow-time {
  flex-shrink: 0;
  width: 8rem;
  color: #028EFF;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-work__flow-time {
    width: 4.664rem;
    font-size: 1.3992rem;
  }
}
.home-work__flow-time span {
  margin: 0 0.5rem;
  vertical-align: 0.3rem;
}
@media screen and (max-width: 768px) {
  .home-work__flow-time span {
    margin: 0 0.2915rem;
    vertical-align: 0.1749rem;
  }
}
.home-work__flow-content {
  flex: 1;
}
.home-work__flow-content > *:first-child {
  margin-top: 0;
}
.home-work__flow-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-work__flow-title {
    font-size: 1.3rem;
  }
}
.home-work__flow-text {
  margin-top: 0.6rem;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-work__flow-text {
    margin-top: 0.39rem;
    font-size: 0.91rem;
  }
}
.home-work__flow-arrow {
  position: relative;
  display: flex;
  justify-content: center;
  width: 39.2rem;
  height: 12rem;
  margin: -1px auto 0;
  padding-top: 1.6rem;
  color: #fff;
  background: url("/recruit/new-tech/assets/img//home/arw_work.svg") no-repeat center top/contain;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-work__flow-arrow {
    width: 25.48rem;
    height: 7.8rem;
    padding-top: 1.04rem;
    font-size: 1.56rem;
  }
}
.home-work__flow-point {
  color: #004A98;
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .home-work__flow-point {
    margin-top: 1rem;
    font-size: 1.95rem;
    line-height: 1.5;
  }
}
.home-work__voice {
  width: 100%;
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 7rem;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .home-work__voice {
    margin-top: 3.5rem;
  }
}
.home-work__voice-title {
  position: absolute;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 30rem;
  height: 4rem;
  padding: 0 2rem 0.2rem;
  border-radius: 2rem;
  color: #fff;
  background: #004A98;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .home-work__voice-title {
    bottom: -1.5rem;
    min-width: 24rem;
    height: 3rem;
  }
}
.home-work__voice-list {
  display: flex;
  justify-content: space-between;
}
.home-work__voice-item {
  position: relative;
  width: 42rem;
  padding: 2.5rem 3rem 3rem;
  background: #fff;
  border: 0.2rem dotted #004A98;
  border-radius: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .home-work__voice-item {
    width: 16rem;
    padding: 1.2rem 1.5rem 1.5rem;
    border-radius: 1rem;
    border-width: 1px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.home-work__voice-item::after {
  content: "";
  position: absolute;
  bottom: 2rem;
  right: -2.3rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("/recruit/new-tech/assets/img/home/arw_work_voice.svg") no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .home-work__voice-item::after {
    display: none;
  }
}
.home-work__voice-item:nth-child(2)::after {
  right: auto;
  left: -2.3rem;
  transform: rotateY(180deg);
}
.home-work__voice-image {
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .home-work__voice-image {
    width: 100%;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: -1rem;
  }
}
.home-work__loop {
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  width: 100%;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .home-work__loop {
    bottom: -0.3rem;
    gap: 0.5rem;
  }
}
.home-work__loop-item {
  position: relative;
  width: 100%;
  height: 18.4rem;
  -webkit-mask-image: url("/recruit/new-tech/assets/img/home/txt_work_loop.svg"), url("/recruit/new-tech/assets/img/home/txt_work_loop.svg");
  mask-image: url("/recruit/new-tech/assets/img/home/txt_work_loop.svg"), url("/recruit/new-tech/assets/img/home/txt_work_loop.svg");
  -webkit-mask-size: 247.8rem 18.4rem;
  mask-size: 247.8rem 18.4rem;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item {
    height: 9.2rem;
  }
}
.home-work__loop-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item {
    -webkit-mask-size: 123.9rem 9.2rem;
    mask-size: 123.9rem 9.2rem;
  }
}
.home-work__loop-item--ltr {
  animation: loop-mask-ltr 30s linear infinite;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item--ltr {
    animation-name: loop-mask-ltr-sp;
  }
}
.home-work__loop-item--ltr::before {
  background: radial-gradient(circle at 120rem, #fff 10%, #6DE0FF 25%);
  background-size: 100% 100%;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item--ltr::before {
    background: radial-gradient(circle at 30rem, #fff 10%, #6DE0FF 25%);
  }
}
.home-work__loop-item--rtl {
  animation: loop-mask-rtl 30s linear infinite;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item--rtl {
    animation-name: loop-mask-rtl-sp;
  }
}
.home-work__loop-item--rtl::before {
  background: radial-gradient(circle at 40rem, #fff 10%, #6DE0FF 25%);
  background-size: 100% 100%;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .home-work__loop-item--rtl::before {
    background: radial-gradient(circle at 5rem, #fff 10%, #6DE0FF 25%);
  }
}

.home-data {
  padding-bottom: 21rem;
}
@media screen and (max-width: 768px) {
  .home-data {
    padding-bottom: 12.243rem;
  }
}
.home-data::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, #0096FF 20%, rgba(0, 150, 255, 0) 50%);
  z-index: 2;
}
.home-data .home-section__header {
  position: relative;
}
.home-data .home-section__title-en {
  background: linear-gradient(to right, #B3EFFF 0%, #FFFFFF 50%, #6DDFFF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.home-data .home-section__title-ja {
  color: #fff;
  font-weight: 500;
}
.home-data__image {
  position: absolute;
  bottom: -3rem;
  right: 10rem;
  width: 22.6rem;
}
@media screen and (max-width: 768px) {
  .home-data__image {
    bottom: auto;
    top: -1rem;
    right: 2rem;
    width: 9.04rem;
  }
}
.home-data__pickup {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-data__pickup {
    position: relative;
    width: fit-content;
    margin-top: 2rem;
  }
}
.home-data__pickup-text {
  position: relative;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .home-data__pickup-text {
    font-size: 2.332rem;
  }
}
.home-data__pickup-text span {
  margin: 0 0.5rem;
  font-size: 8rem;
  vertical-align: -0.3rem;
}
@media screen and (max-width: 768px) {
  .home-data__pickup-text span {
    font-size: 4.664rem;
  }
}
.home-data__pickup-text::before, .home-data__pickup-text::after {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  display: block;
  width: 0.2rem;
  height: 6rem;
  background: #fff;
  transform-origin: center bottom;
}
@media screen and (max-width: 768px) {
  .home-data__pickup-text::before, .home-data__pickup-text::after {
    height: 4.5rem;
  }
}
.home-data__pickup-text::before {
  left: -2rem;
  transform: rotate(-30deg);
}
@media screen and (max-width: 768px) {
  .home-data__pickup-text::before {
    left: -1rem;
  }
}
.home-data__pickup-text::after {
  right: -2rem;
  transform: rotate(30deg);
}
@media screen and (max-width: 768px) {
  .home-data__pickup-text::after {
    right: -1rem;
  }
}
.home-data__pickup-note {
  margin-top: 1rem;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .home-data__pickup-note {
    margin-top: 0.5rem;
    font-size: 1rem;
  }
}
.home-data__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .home-data__list {
    gap: 1.2rem;
  }
}
.home-data__list-item {
  position: relative;
  width: calc(25% - 1.5rem);
  height: 28.5rem;
  background: #fff;
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-item {
    width: calc(50% - 0.6rem);
    height: 16.6rem;
    border-radius: 1rem;
  }
}
.home-data__list-item--wide {
  width: calc(((25% - 1.5rem) * 3 + 2rem) / 2);
}
@media screen and (max-width: 768px) {
  .home-data__list-item--wide {
    width: calc(50% - 0.6rem);
  }
}
.home-data__list-item--half {
  width: calc(50% - 1rem);
}
@media screen and (max-width: 768px) {
  .home-data__list-item--half {
    width: 100%;
  }
}
.home-data__list-item--blank {
  background: none;
}
.home-data__list-item--blank .home-data__list-image {
  height: calc(100% + 2rem);
  margin-bottom: -2rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-item--blank {
    display: none;
  }
}
.home-data__list-item img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.home-data__list-title {
  position: absolute;
  top: 2.2rem;
  left: 0;
  width: 100%;
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-data__list-title {
    top: 1.2826rem;
    font-size: 1.166rem;
  }
}
.home-data__list-value {
  position: absolute;
  bottom: 2.5rem;
  left: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  color: #004A98;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-data__list-value {
    bottom: 1.4575rem;
    gap: 0.2915rem;
    font-size: 1.166rem;
  }
}
.home-data__list-value span {
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .home-data__list-value span {
    font-size: 3.498rem;
  }
}
.home-data__list-value-1 {
  bottom: 2rem;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-1 {
    bottom: 1.166rem;
  }
}
.home-data__list-value-1-1 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-1-1 {
    gap: 0.2915rem;
    font-size: 1.0494rem;
  }
}
.home-data__list-value-1-1 span {
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-1-1 span {
    font-size: 2.915rem;
  }
}
.home-data__list-value-1-2 {
  margin-top: 2.2rem;
  color: #231815;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-1-2 {
    margin-top: 1.2826rem;
    font-size: 0.8162rem;
  }
}
.home-data__list-value-1-3 {
  margin-top: 1rem;
  color: #231815;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-1-3 {
    margin-top: 0.583rem;
    font-size: 0.583rem;
  }
}
.home-data__list-value-6 {
  justify-content: space-between;
  width: calc(100% - 9rem);
  margin: 0 3.5rem 0 5.5rem;
  bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-value-6 {
    width: calc(100% - 5.247rem);
    margin: 0 2.0405rem 0 3.2065rem;
    bottom: 5.83rem;
  }
}
.home-data__list-image {
  height: 100%;
}
.home-data__list-image-6 {
  height: calc(100% + 1.2rem);
  margin-bottom: -1.2rem;
}
@media screen and (max-width: 768px) {
  .home-data__list-image-6 {
    height: calc(100% + 0.6996rem);
    margin-bottom: -0.6996rem;
  }
}

.home-reason {
  padding-bottom: 6rem;
  counter-set: reason_index;
}
@media screen and (max-width: 768px) {
  .home-reason {
    padding-bottom: 2rem;
  }
}
.home-reason .home-section__content {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .home-reason .home-section__content {
    margin-top: 1rem;
  }
}
.home-reason__line {
  position: absolute;
  top: -20.5rem;
  right: 0;
  width: 115.9rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home-reason__line {
    top: -10.25rem;
    width: 26.657rem;
  }
}
.home-reason__image {
  position: absolute;
  bottom: -11.2rem;
  right: 4.8rem;
  width: 17.4rem;
}
@media screen and (max-width: 768px) {
  .home-reason__image {
    bottom: -12.5rem;
    right: 2rem;
    width: 10.1442rem;
  }
}
.home-reason__list {
  position: relative;
  padding: 9rem 0;
  counter-increment: reason_index;
}
@media screen and (max-width: 768px) {
  .home-reason__list {
    padding: 4.5rem 0;
  }
  .home-reason__list.is-show .home-reason__list-inner {
    max-height: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.home-reason__list:nth-child(2n)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
}
.home-reason__list-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .home-reason__list-inner {
    overflow: hidden;
    max-height: 30rem;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 1rem;
    margin: -4rem -2rem 0;
    padding: 4rem 2rem 0;
    -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
  }
}
.home-reason__list-title, .home-reason__list-item {
  position: relative;
  width: calc(33.333% - 1.3333333333rem);
}
@media screen and (max-width: 768px) {
  .home-reason__list-title, .home-reason__list-item {
    width: 100%;
  }
}
.home-reason__list-title {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 4rem;
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-reason__list-title {
    padding-left: 2.332rem;
    font-size: 2rem;
  }
}
.home-reason__list-title::before {
  content: "Q." counter(reason_index);
  position: absolute;
  top: -7.5rem;
  left: -5rem;
  color: #fff;
  font-family: "Playfair Display", serif;
  font-size: 12.8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-reason__list-title::before {
    top: -4rem;
    left: -1rem;
    font-size: 5rem;
  }
}
.home-reason__list-title span {
  position: relative;
  display: block;
}
.home-reason__list-item {
  position: relative;
  padding: 2.5rem 3rem;
  background: #fff;
  border: 0.2rem dotted #004A98;
  border-radius: 1.5rem;
}
@media screen and (max-width: 768px) {
  .home-reason__list-item {
    padding: 1.2rem 1.5rem;
    border-width: 1px;
    border-radius: 1rem;
  }
}
.home-reason__list-text {
  line-height: 1.7;
}
.home-reason__list-meta {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .home-reason__list-meta {
    margin-top: 0.5rem;
    font-size: 1rem;
  }
}
.home-reason__list-more {
  display: none;
}
@media screen and (max-width: 768px) {
  .home-reason__list-more {
    position: absolute;
    z-index: 10;
    bottom: 2rem;
    left: 0;
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

.home-environment {
  padding-bottom: 16rem;
}
@media screen and (max-width: 768px) {
  .home-environment {
    padding-bottom: 8rem;
  }
}
.home-environment::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}
.home-environment .home-section__title-en {
  background: linear-gradient(to right, #B3EFFF 0%, #FFFFFF 50%, #6DDFFF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.home-environment .home-section__title-ja {
  color: #fff;
  font-weight: 500;
}
.home-environment__title {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment__title {
    font-size: 2.332rem;
  }
}
.home-environment-step {
  padding: 5rem 6rem 6rem;
  background: #fff;
  border-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .home-environment-step {
    padding: 2.5rem 2rem;
    border-radius: 2rem;
  }
}
.home-environment-step__image {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .home-environment-step__image {
    overflow-x: auto;
  }
  .home-environment-step__image img {
    width: 60rem;
    max-width: none;
  }
}
.home-environment-support {
  margin-top: 9rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment-support {
    margin-top: 4.5rem;
  }
}
.home-environment-support .home-environment__title {
  color: #fff;
}
.home-environment-support__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 4rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment-support__list {
    margin-top: 2rem;
  }
}
.home-environment-support__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(20% - 0.8rem);
  height: 9rem;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .home-environment-support__item {
    width: calc(50% - 0.5rem);
    height: 7rem;
    border-radius: 0.5rem;
  }
}
.home-environment-support__text {
  margin-top: 2rem;
  color: #fff;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .home-environment-support__text {
    margin-top: 1.5rem;
    font-size: 1.6rem;
  }
}
.home-environment-support__note {
  color: #fff;
}
.home-environment-special {
  position: relative;
  margin-top: 10rem;
  padding: 5rem 6rem 6rem;
  background: #fff;
  border-radius: 4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment-special {
    padding: 2.5rem 1.5rem;
    border-radius: 2rem;
  }
}
.home-environment-special__list {
  display: flex;
  gap: 6rem;
  margin-top: 4rem;
  font-size: 2rem;
  counter-set: special_index;
}
@media screen and (max-width: 768px) {
  .home-environment-special__list {
    flex-direction: column;
    gap: 3rem;
    margin-top: 2rem;
    font-size: 1.6rem;
  }
}
.home-environment-special__item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 33.333%;
  padding: 1rem 0 2rem;
  counter-increment: special_index;
}
@media screen and (max-width: 768px) {
  .home-environment-special__item {
    width: 100%;
    padding: 1rem;
  }
}
.home-environment-special__item::before {
  content: counter(special_index);
  margin-bottom: 2rem;
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 7rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-environment-special__item::before {
    margin-bottom: 1rem;
    font-size: 3rem;
  }
}
.home-environment-special__item small {
  font-size: 1.3rem;
}
.home-environment-special__item:nth-child(n+2)::after {
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  width: 1px;
  height: 100%;
  background-image: linear-gradient(to bottom, #cccccc 0.2rem, transparent 0.2rem);
  background-size: 1px 0.4rem;
  background-repeat: repeat-y;
  background-position: left top;
}
@media screen and (max-width: 768px) {
  .home-environment-special__item:nth-child(n+2)::after {
    top: -1.5rem;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #cccccc 0.2rem, transparent 0.2rem);
    background-size: 0.4rem 1px;
    background-repeat: repeat-x;
  }
}
.home-environment-special__image {
  position: absolute;
  top: -5.6rem;
  right: 7rem;
  width: 18rem;
}
@media screen and (max-width: 768px) {
  .home-environment-special__image {
    top: -6rem;
    right: 1.5rem;
    width: 10.494rem;
  }
}
.home-environment-exchange {
  position: relative;
  margin-top: 10rem;
  padding: 5rem 6rem 6rem;
  background: #fff;
  border-radius: 4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment-exchange {
    padding: 2.5rem 2rem;
    border-radius: 2rem;
  }
}
.home-environment-exchange__list {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 4rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .home-environment-exchange__list {
    gap: 1rem;
    margin-top: 2rem;
    font-size: 1.2rem;
  }
}
.home-environment-exchange__item {
  width: 40rem;
}
@media screen and (max-width: 768px) {
  .home-environment-exchange__item {
    width: calc(50% - 0.5rem);
  }
}
.home-environment-exchange__item figcaption {
  margin-top: 0.3rem;
  color: #004A98;
  font-weight: 600;
}
.home-environment-exchange__text {
  margin-top: 2rem;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .home-environment-exchange__text {
    margin-top: 1.5rem;
    font-size: 1.6rem;
  }
}
.home-environment-exchange__image {
  position: absolute;
  top: -5rem;
  left: 4rem;
  width: 25rem;
}
@media screen and (max-width: 768px) {
  .home-environment-exchange__image {
    top: -6rem;
    left: 2rem;
    width: 14.575rem;
  }
}
.home-environment-other {
  position: relative;
  margin-top: 10rem;
}
.home-environment-other .home-environment__title {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .home-environment-other .home-environment__title {
    text-align: left;
  }
}
.home-environment-other__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 3rem;
  color: #fff;
  font-weight: 600;
}
.home-environment-other__heading::before {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  content: "";
  flex-shrink: 0;
  display: block;
  background: linear-gradient(-45deg, #00C7FE, #008CFF);
}
.home-environment-other__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.8rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-environment-other__list {
    margin-top: 0.9rem;
  }
}
.home-environment-other__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(20% - 0.8rem);
  height: 9rem;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__item {
    width: calc(50% - 0.5rem);
    height: 7rem;
    border-radius: 0.5rem;
  }
}
.home-environment-other__group {
  display: flex;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__group {
    flex-direction: column;
    gap: 0;
  }
}
.home-environment-other__group-item {
  display: flex;
  flex-direction: column;
  width: calc(50% - 2rem);
}
@media screen and (max-width: 768px) {
  .home-environment-other__group-item {
    width: 100%;
  }
}
.home-environment-other__box {
  flex: 1;
  margin-top: 1.8rem;
  padding: 3rem;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__box {
    margin-top: 0.9rem;
    padding: 2rem;
  }
}
.home-environment-other__box > *:first-child {
  margin-top: 0;
}
.home-environment-other__box-heading {
  padding: 0.2rem 1.5rem 0.3rem;
  color: #fff;
  background: #028EFF;
  border-radius: 0.3rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__box-heading {
    padding: 0.2rem 0.5rem 0.3rem;
    font-size: 1.4rem;
  }
}
.home-environment-other__box-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  list-style-type: disc;
  margin-top: 1.8rem;
  padding-left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__box-list {
    margin-top: 0.9rem;
  }
}
.home-environment-other__image {
  position: absolute;
  top: -4.1rem;
  right: 0;
  width: 23.4rem;
}
@media screen and (max-width: 768px) {
  .home-environment-other__image {
    top: -2.3903rem;
    right: 0;
    width: 13.6422rem;
  }
}

.home-recruit__line-1 {
  position: absolute;
  top: 12rem;
  right: 0;
  width: 81.2rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home-recruit__line-1 {
    top: 6rem;
    width: 18.676rem;
  }
}
.home-recruit__line-2 {
  position: absolute;
  bottom: 5rem;
  left: 0;
  width: 50.2rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home-recruit__line-2 {
    bottom: 2.5rem;
    width: 11.546rem;
  }
}
.home-recruit .home-section__content {
  margin-top: 4rem;
}
.home-recruit__title {
  position: relative;
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .home-recruit__title {
    font-size: 2.332rem;
    line-height: 1.5;
  }
}
.home-recruit__flow-list {
  display: flex;
  gap: 3rem;
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-list {
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
    padding: 0 2rem;
  }
}
.home-recruit__flow-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(33.333% - 2rem);
  padding: 3rem 4rem 3.5rem;
  background: #fff;
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-item {
    width: 100%;
    padding: 1.5rem 3rem 2rem;
    background: #fff;
    border-radius: 1.5rem;
  }
}
.home-recruit__flow-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 18rem;
  height: 0.5rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-item::before {
    width: 12rem;
    height: 0.3rem;
  }
}
.home-recruit__flow-item:nth-child(1)::before {
  background: #00C9FF;
}
.home-recruit__flow-item:nth-child(1) .home-recruit__flow-number {
  color: #00C9FF;
}
.home-recruit__flow-item:nth-child(2)::before {
  background: #028EFF;
}
.home-recruit__flow-item:nth-child(2) .home-recruit__flow-number {
  color: #028EFF;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-item:nth-child(2) .home-recruit__flow-image {
    padding: 0 2rem;
  }
}
.home-recruit__flow-item:nth-child(3)::before {
  background: #004A98;
}
.home-recruit__flow-item:nth-child(3) .home-recruit__flow-number {
  color: #004A98;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-item:nth-child(3) .home-recruit__flow-image {
    padding: 0 2rem;
  }
}
.home-recruit__flow-number {
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-number {
    font-size: 1.8rem;
  }
}
.home-recruit__flow-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 7.2rem;
  margin-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-content {
    min-height: 0;
    margin-top: 0.6996rem;
  }
}
.home-recruit__flow-heading {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-heading {
    font-size: 1.8rem;
  }
}
.home-recruit__flow-image {
  overflow: hidden;
  margin-top: 1.5rem;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-image {
    margin-top: 1rem;
  }
}
.home-recruit__flow-note {
  margin-top: 2rem;
  font-size: 2.4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-recruit__flow-note {
    margin-top: 1.5rem;
    font-size: 1.6rem;
  }
}
.home-recruit__message {
  position: relative;
  margin-top: 8rem;
  padding: 7rem 0 8rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__message {
    margin-top: 4rem;
    padding: 3.5rem 0 4rem;
  }
}
.home-recruit__message::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  z-index: 0;
}
.home-recruit__message-inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 6rem;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-inner {
    flex-direction: column-reverse;
    gap: 3rem;
    margin-top: 2rem;
  }
}
.home-recruit__message-content {
  width: 58rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-content {
    width: 100%;
  }
}
.home-recruit__message-heading {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-heading {
    font-size: 1.749rem;
  }
}
.home-recruit__message-text {
  margin-top: 2.5rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-text {
    margin-top: 1.4575rem;
  }
}
.home-recruit__message-signature {
  margin-top: 2.5rem;
  line-height: 1.5;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-signature {
    margin-top: 1.4575rem;
  }
}
.home-recruit__message-image {
  overflow: hidden;
  width: calc(50vw - 60rem + 56rem);
  margin-right: calc(60rem - 50vw);
  border-top-left-radius: 4rem;
  border-bottom-left-radius: 4rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__message-image {
    width: calc(100% + 2rem);
    margin-right: -2rem;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
  }
}
.home-recruit__human {
  padding: 7rem 0 8rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__human {
    padding: 3.5rem 0 2rem;
  }
}
.home-recruit__human-image {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .home-recruit__human-image {
    margin-top: 2rem;
  }
}
.home-recruit__human-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.home-recruit__human-foreground {
  position: relative;
  z-index: 1;
}
.home-recruit__human-list {
  display: flex;
  text-align: center;
}
.home-recruit__human-item {
  width: 50%;
}
.home-recruit__human-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 39rem;
  font-size: 3rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .home-recruit__human-heading {
    height: 17rem;
    font-size: 1.6rem;
  }
}
.home-recruit__human-text {
  margin-top: 2rem;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-recruit__human-text {
    margin-top: 1.5rem;
    font-size: 1.3rem;
  }
}

.home-vision::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 50%;
  width: 100%;
  background: linear-gradient(to bottom, white, rgba(0, 0, 0, 0));
  mix-blend-mode: overlay;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .home-vision .home-section__foreground {
    display: flex;
  }
  .home-vision .home-section__header {
    flex: 1;
  }
  .home-vision .home-section__content {
    width: 79rem;
    margin-top: 1rem;
  }
}
.home-vision__title {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .home-vision__title {
    font-size: 1.749rem;
  }
}
.home-vision__list {
  display: flex;
  gap: 3rem;
  margin-top: 5.5rem;
}
@media screen and (max-width: 768px) {
  .home-vision__list {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2.5rem;
  }
}
.home-vision__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(50% - 1.5rem);
  padding: 3rem 0;
  background: #fff;
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .home-vision__item {
    width: 100%;
    padding: 1.5rem 1.5rem 2rem;
    border-radius: 1.5rem;
  }
}
.home-vision__shoulder {
  color: #004A98;
  text-align: center;
  line-height: 1.5;
}
.home-vision__heading {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-vision__heading {
    font-size: 2.2rem;
  }
}
.home-vision__heading small {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .home-vision__heading small {
    font-size: 1.6rem;
  }
}
.home-vision__image {
  width: 100%;
  max-width: 17.6rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .home-vision__image {
    width: 100%;
    max-width: 13rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.home-vision__text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.8rem 3rem 0;
  padding-left: 2.5rem;
  line-height: 1.5;
  list-style-type: disc;
}
@media screen and (max-width: 768px) {
  .home-vision__text {
    width: 100%;
    margin: 0.8rem 0 0;
    font-size: 1.2rem;
  }
}

.home-entry {
  padding-top: 15.2777777778vw;
  padding-bottom: 15.2777777778vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .home-entry {
    padding-top: 5rem;
    padding-bottom: 12rem;
  }
}
.home-entry__background {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .home-entry__background {
    top: -4.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .home-entry__background {
    bottom: 3rem;
    width: 50rem;
  }
}
.home-entry__title {
  color: #004A98;
  font-family: YakuHanMP, "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .home-entry__title {
    font-size: 3rem;
    line-height: 1.5;
  }
}
.home-entry__button {
  display: flex;
  justify-content: center;
  margin-top: 7rem;
}
@media screen and (max-width: 768px) {
  .home-entry__button {
    margin-top: 3rem;
  }
}
.home-entry__button a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30rem;
  height: 8rem;
  padding: 0 0 0.2rem 0;
  background: linear-gradient(to right, #00C7FE, #008CFF);
  box-shadow: 0 0.4rem 1rem rgba(29, 80, 147, 0.1);
  color: #fff;
  border-radius: 0.6rem;
  font-family: "Playfair Display", serif;
  font-size: 2.4rem;
  text-decoration: none;
}
.home-entry__button a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 0.6rem;
  mix-blend-mode: overlay;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.home-entry__button a::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.8rem);
  right: 1.6rem;
  display: block;
  width: 0.9rem;
  height: 1.6rem;
  background: url("/recruit/new-tech/assets/img/common/arw_button.svg") no-repeat center/contain;
}
@media (hover: hover) {
  .home-entry__button a:hover::before {
    opacity: 1;
  }
}
@media (hover: none) {
  .home-entry__button a:active::before {
    opacity: 1;
  }
}
.home-entry__pagetop {
  position: absolute;
  bottom: -1.2rem;
  right: 0;
  width: 9.8rem;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .home-entry__pagetop {
    bottom: -0.8162rem;
    right: 0;
    width: 6.8794rem;
  }
}

@keyframes loop-scroll-ltr {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-251.8rem);
  }
}
@keyframes loop-scroll-rtl {
  0% {
    transform: translateX(-251.8rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes loop-mask-ltr {
  0% {
    -webkit-mask-position: 0 0, 251.8rem 0;
    mask-position: 0 0, 251.8rem 0;
  }
  100% {
    -webkit-mask-position: -251.8rem 0, 0 0;
    mask-position: -251.8rem 0, 0 0;
  }
}
@keyframes loop-mask-rtl {
  0% {
    -webkit-mask-position: -251.8rem 0, 0 0;
    mask-position: -251.8rem 0, 0 0;
  }
  100% {
    -webkit-mask-position: 0 0, 251.8rem 0;
    mask-position: 0 0, 251.8rem 0;
  }
}
@keyframes loop-mask-ltr-sp {
  0% {
    -webkit-mask-position: 0 0, 125.9rem 0;
    mask-position: 0 0, 125.9rem 0;
  }
  100% {
    -webkit-mask-position: -125.9rem 0, 0 0;
    mask-position: -125.9rem 0, 0 0;
  }
}
@keyframes loop-mask-rtl-sp {
  0% {
    -webkit-mask-position: -125.9rem 0, 0 0;
    mask-position: -125.9rem 0, 0 0;
  }
  100% {
    -webkit-mask-position: 0 0, 125.9rem 0;
    mask-position: 0 0, 125.9rem 0;
  }
}
