@charset "UTF-8";
/*====================================================================

top トップページ用css

====================================================================*/
.l-header {
  background-color: transparent;
}

/* ------------------------------------
mainimage
------------------------------------ */
.p-mainimage {
  display: flex;
  position: relative;
}
.p-mainimage__text {
  background-color: #fff;
  width: 37.5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5.2vw;
  gap: 30px;
}
.p-mainimage__text .title {
  font-size: 3.13vw;
  width: fit-content;
  position: relative;
}
.p-mainimage__text .title::before, .p-mainimage__text .title::after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
}
.p-mainimage__text .title::before {
  background: no-repeat url(/recruit/img/common/icon01.svg) center center/cover;
  top: -10px;
  left: -30px;
}
.p-mainimage__text .title::after {
  background: no-repeat url(/recruit/img/common/icon02.svg) center center/cover;
  bottom: -10px;
  right: 0;
}
.p-mainimage__text .text {
  margin: 0;
  font-size: 1.04vw;
}
.p-mainimage__text .button .c-btn01 {
  font-size: 1.04vw;
}
.p-mainimage__image {
  flex: 1;
}
.p-mainimage__scroll {
  position: absolute;
  bottom: 0;
  left: 1.56vw;
  font-size: 1vw;
  color: #206aad;
  writing-mode: vertical-rl;
  padding-bottom: 100px;
}
.p-mainimage__scroll::before {
  content: "";
  display: block;
  width: 1px;
  height: 100px;
  background-color: #206aad;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-mainimage__scroll::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #206aad;
  animation: scrollDown 3s ease-in-out infinite;
}
@media screen and (max-width: 960px) {
  .p-mainimage {
    flex-direction: column-reverse;
  }
  .p-mainimage__text {
    padding: 50px 20px;
    width: 100%;
    gap: 20px;
  }
  .p-mainimage__text .title {
    font-size: 2.25rem;
  }
  .p-mainimage__text .title::before, .p-mainimage__text .title::after {
    width: 16px;
    height: 16px;
  }
  .p-mainimage__text .title::before {
    left: -14px;
    top: -6px;
  }
  .p-mainimage__text .title::after {
    bottom: -6px;
  }
  .p-mainimage__text .text {
    font-size: 1rem;
  }
  .p-mainimage__text .button .c-btn01 {
    font-size: 1rem;
  }
  .p-mainimage__scroll {
    display: none;
  }
}

@keyframes scrollDown {
  0% {
    bottom: 100px;
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    bottom: 0;
    opacity: 0;
  }
}
/* ------------------------------------
slider
------------------------------------ */
.p-slider {
  position: relative;
  width: 100%;
  height: 51.04vw;
}
.p-slider ul::before {
  display: none;
}
.p-slider ul li {
  padding: 0;
}
.p-slider__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.p-slider__mask .slider-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 5s ease-in-out;
}
.p-slider__mask .slider-item:first-child {
  opacity: 1;
}
.p-slider__mask .slider-item.is-active {
  opacity: 1;
}
.p-slider__mask .slider-item img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}
.p-slider__slider {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.p-slider__slider ul li {
  padding: 0;
}
.p-slider__slider .splide__slide img {
  transition: 8s ease-out;
  height: auto;
  width: 100%;
}
.p-slider__slider .splide__slide.is-active img {
  transform: scale(1.05);
  transition-delay: 0s;
}
@media screen and (max-width: 960px) {
  .p-slider {
    height: 82.05vw;
  }
}

/* ------------------------------------
business
------------------------------------ */
.p-business {
  padding: 100px 0;
  background: no-repeat url(/recruit/img/common/bg01.jpg) center top/cover;
}
.p-business .l-container {
  display: flex;
  flex-direction: row-reverse;
  gap: 60px;
  align-items: flex-end;
}
.p-business__content01 {
  display: flex;
  gap: 60px;
}
.p-business__content01 .image {
  display: block;
  line-height: 1;
}
.p-business__content01 .image img {
  border-radius: 100px 0;
  display: block;
  line-height: 1;
}
.p-business__content01 .text {
  width: 440px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 50px 0;
}
.p-business__content01 .text .c-title01 {
  margin-bottom: 0;
}
.p-business__content01 .text p {
  margin: 0;
}
.p-business__content01 .text .button {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.p-business__content02 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 45px;
  width: 20.31%;
}
.p-business__content02 img {
  border-radius: 10px;
}
@media screen and (max-width: 1240px) {
  .p-business {
    background: no-repeat url(/recruit/img/common/bg01_sp.jpg) left top/cover;
  }
  .p-business .l-container {
    flex-direction: column;
  }
  .p-business__content02 {
    flex-direction: row;
    justify-content: flex-start;
    gap: 45px;
    width: 100%;
  }
  .p-business__content02 img {
    border-radius: 10px;
  }
}
@media screen and (max-width: 960px) {
  .p-business {
    padding: 50px 0;
  }
  .p-business__content01 {
    flex-direction: column;
    width: 100%;
    gap: 30px;
  }
  .p-business__content01 .image {
    max-width: 88.57%;
    margin-left: auto;
  }
  .p-business__content01 .image img {
    border-radius: 50px 0;
  }
  .p-business__content01 .text {
    width: 100%;
    padding: 0;
    gap: 30px;
  }
  .p-business__content02 {
    flex-direction: column;
    gap: 20px;
  }
  .p-business__content02 img {
    border-radius: 5px;
    width: 62.86%;
  }
  .p-business__content02 img:nth-child(2) {
    margin-left: auto;
  }
}

/* ------------------------------------
Interview
------------------------------------ */
.p-interview {
  padding: 150px 0;
  position: relative;
}
.p-interview::before {
  content: "";
  display: block;
  width: 100%;
  height: 55%;
  background: #d0e9ff url(/recruit/img/common/dot.svg);
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-interview__slider .splide__slide {
  padding: 0;
}
.p-interview__slider .splide__slide::before {
  display: none;
}
.p-interview__slider .splide__slide .image {
  position: relative;
  overflow: hidden;
  border-radius: 100px 0;
  transition: 0.3s;
}
.p-interview__slider .splide__slide .title {
  font-size: 1.875rem;
  color: #4a4a4a;
  transition: 0.3s;
}
.p-interview__slider .splide__slide .name {
  margin: 10px 0 0;
}
.p-interview__slider .splide__slide a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  gap: 20px;
}
.p-interview__slider .splide__slide a:hover {
  opacity: 1;
}
.p-interview__slider .splide__slide a:hover .image img {
  opacity: 1;
  transform: scale(1.05);
}
.p-interview__slider .splide__slide a:hover .title {
  color: #206aad;
}
.p-interview__slider .splide__arrows {
  display: flex;
  position: relative;
  top: -50px;
  width: fit-content;
  margin-left: auto;
  gap: 10px;
  margin-top: -50px;
}
.p-interview__slider .splide__arrows .splide__arrow {
  border: 1px solid #206aad;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
}
.p-interview__slider .splide__arrows .splide__arrow svg {
  fill: #206aad;
  width: 35px;
  height: 35px;
}
.p-interview__slider .splide__arrows .splide__arrow--prev {
  transform: rotate(180deg);
}
.p-interview__slider .splide__arrows .splide__arrow:hover {
  background-color: #d0e9ff;
}
.p-interview__button {
  padding: 0 20px;
  margin: 80px auto 0;
  max-width: 100%;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .p-interview {
    padding: 50px 0;
  }
  .p-interview__slider .splide__slide .image {
    border-radius: 50px 0;
  }
  .p-interview__slider .splide__slide .title {
    font-size: 1.25rem;
  }
  .p-interview__slider .splide__arrows {
    top: -30px;
    margin-top: -30px;
    gap: 5px;
  }
  .p-interview__slider .splide__arrows .splide__arrow {
    width: 30px;
    height: 30px;
  }
  .p-interview__slider .splide__arrows .splide__arrow svg {
    width: 25px;
    height: 25px;
  }
  .p-interview__button {
    margin-top: 50px;
  }
}

/* ------------------------------------
Environment
------------------------------------ */
.p-environment {
  background: #d0e9ff url(/recruit/img/common/dot.svg);
  position: relative;
  padding: 150px 0;
}
.p-environment::before {
  content: "";
  display: block;
  width: 760px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: no-repeat url(/recruit/img/top/bg_environment.jpg) center bottom/cover;
}
.p-environment .l-container {
  position: relative;
  z-index: 1;
}
.p-environment__list {
  display: flex;
  gap: 50px;
  padding: 0;
  margin-top: 50px;
}
.p-environment__list__item {
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  color: #206aad;
}
.p-environment__list__item::before {
  display: none;
}
.p-environment__list__item .title {
  text-align: center;
  font-size: 1.625rem;
  margin-bottom: 15px;
  color: #4a4a4a;
}
.p-environment__list__item .subtitle {
  font-weight: 500;
  line-height: 1;
}
.p-environment__list__item p {
  margin: 0;
}
.p-environment__list__item .image {
  height: 135px;
  text-align: center;
  margin-bottom: 10px;
}
.p-environment__list__item .number {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
}
.p-environment__list__item .number .text_l {
  font-size: 3.75rem;
}
.p-environment__list__item .number .text_s {
  font-size: 1.25rem;
}
.p-environment__list__item .row {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.p-environment__list__item .row li {
  text-align: center;
  padding: 0;
}
.p-environment__list__item .row li::before {
  display: none;
}
.p-environment__list__item .item04_image {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.p-environment__list__item .item04_image .subtitle {
  font-size: 0.875rem;
}
.p-environment__list__item .item04_image .item04_image_02 {
  font-size: 3rem;
  font-weight: bold;
  margin-right: 0.25em;
  color: #206aad;
}
.p-environment__button {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  margin-top: 50px;
}
@media screen and (max-width: 1750px) {
  .p-environment::before {
    width: 40%;
  }
  .p-environment__list {
    gap: 30px;
  }
}
@media screen and (max-width: 1240px) {
  .p-environment__list {
    flex-wrap: wrap;
  }
  .p-environment__list__item {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width: 960px) {
  .p-environment {
    padding: calc(128.21vw + 50px) 0 50px;
  }
  .p-environment::before {
    height: 128.21vw;
    width: 100%;
  }
  .p-environment__list {
    gap: 20px;
  }
  .p-environment__list__item {
    width: 100%;
  }
  .p-environment__button {
    gap: 20px;
    margin-top: 30px;
  }
}

/* ------------------------------------
News & Blog
------------------------------------ */
/* newsblog */
.p-newsblog {
  padding: 150px 0;
}
.p-newsblog__row {
  display: flex;
}
.p-newsblog__row .c-title01 {
  width: 350px;
  padding-right: 30px;
}
.p-newsblog__row .p-newslist {
  flex: 1;
}
.p-newsblog__row + .p-newsblog__row {
  margin-top: 80px;
}
.p-newsblog__button {
  margin-top: 30px;
  text-align: right;
}
.p-newsblog__button .c-btn01 {
  width: 210px;
  min-width: auto;
  text-align: left;
}
@media screen and (max-width: 1240px) {
  .p-newsblog__row {
    flex-direction: column;
  }
  .p-newsblog__row .c-title01 {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-newsblog {
    padding: 50px 0;
  }
  .p-newsblog__row + .p-newsblog__row {
    margin-top: 50px;
  }
  .p-newsblog__button .c-btn01 {
    margin-left: 0;
  }
}