@charset "UTF-8";
/* CSS Document */
/*index共通_本文ボタン*/
.section__common__link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 191px;
  height: 54px;
  background-color: #00315F;
  border-radius: 30px;
  border: solid 2px #00315F;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.section__common__link a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  padding: 10px 0;
  transform: translateX(4px);
}
.section__common__link span {
  content: "";
  background-image: url("../images/common/mark/arrow.png");
  display: block;
  width: 39px;
  height: 39px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 11px;
  transition: filter 0.3s;
}
.section__common__link:hover {
  background-color: #fff;
  border-color: #00315F;
}
.section__common__link:hover.section__common__link a {
  color: #00315F;
}
.section__common__link:hover.section__common__link span {
  background-image: url("../images/common/mark/arrow2.png");
}
/*FV*/
.section__FV {
  position: relative;
}
.section__FV__video video {
  width: 100vw;
  height: auto;
}
.section__FV__video-mb {
  display: none;
}
.section__FV__video-tb {
  display: none;
}
.section__FV h1 {
  z-index: 1;
  color: #fff;
  font-size: 7.2rem;
  line-height: 1.8;
  font-weight: 400;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  white-space: nowrap;
}
@media(max-width: 1180px) {
  .section__FV__video-pc {
    display: none;
  }
  .section__FV__video-tb {
    display: block;
    width: 100vw;
    height: auto;
  }
}
@media(max-width: 1023px) {
  .section__FV h1 {
    font-size: 4.0rem;
  }
}
@media(max-width: 767px) {
  .section__FV__video-tb {
    display: none;
  }
  .section__FV__video-mb {
    display: block;
    width: 100vw;
    height: auto;
  }
}
@media(max-width: 500px) {
  .section__FV h1 {
    font-size: 3.5rem;
    line-height: 1.9;
  }
}
/*メイン*/
/*本文段落下スペース*/
.section__p-space {
  padding-bottom: 48px;
}
/*about*/
.section__About {
  margin-bottom: 186px;
  position: relative;
}
.section__About::before {
  z-index: -1;
  position: absolute;
  top: -75px;
  left: -66px;
  content: "ABOUT US";
  font-size: 20rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  color: #fff;
  /*擬似アウトライン*/
  text-shadow:
    1px 1px 0 #F5D930, /* 右下 */ -1px -1px 0 #F5D930, /* 左上 */ 1px -1px 0 #F5D930, /* 右上 */ -1px 1px 0 #F5D930; /* 左下 */
}
.section__About-main {
  padding: 118px 5vw 0;
  max-width: 1200px;
  margin: 0 auto;
}
.section__About-left {
  text-align: left;
}
.section__lead__img {
  transform: translateY(-15%);
}
.section__lead__img img {
  max-width: 885px;
  width: 120%;
	height: auto;
}
.section__About-main {
  display: grid;
  gap: 4%;
  align-items: flex-start;
  grid-template-columns: minmax(407px, 1fr) 2fr;
  grid-auto-rows: max(513px);
}
/*about_スライド*/
.swiper-wrapper {
  transition-timing-function: linear !important;
}
@media (max-width: 1431px) {
  .section__About {
    margin-bottom: 149px;
  }
}
@media(max-width: 1023px) {
  .swiper1 {
    display: none !important;
  }
  .section__About-main {
    display: flex;
    flex-direction: column-reverse;
    padding: 0;
    margin: 108px 6vw 0;
  }
  .section__lead__img {
    transform: translateY(0);
  }
  .section__About-left {
    margin: 0 auto;
    padding-top: 48px;
    width: 86vw;
  }
  .section__p-space__br-mb {
    display: none;
  }
  .section__About::before {
    top: -5%;
    left: 10%;
    font-size: 10rem;
  }
  .section__lead__img img {
    width: min(767px, 100%);
  }
}
@media(max-width: 767px) {
  .section__About::before {
    top: 0;
    font-size: 6.8rem;
    text-align: left;
    line-height: 0.9;
    left: 7%;
  }
}
@media(max-width: 570px) {
  .section__About::before {
    top: -3.5%;
    ;
    font-size: 6.8rem;
    text-align: left;
    line-height: 0.9;
    width: 238px;
  }
}
/*service*/
.section__service-right-top {
  text-align: left;
}
.section__service__img {
  display: flex;
  align-items: center;
}
.section__service__img img {
  width: clamp(470px, 100%, 671px);
  height: auto;
  object-fit: cover;
  object-position: center;
}
.section__service {
  max-width: 1200px;
  padding: 0 5vw 236px;
  margin: 0 auto;
  display: grid;
  gap: 5%;
  grid-template-columns: 1.5fr minmax(431px, 1fr);
  position: relative;
}
.section__service-right {
  width: 394px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.section__sdgs {
  position: relative;
  width: 325px;
  height: auto;
  margin: 0 auto;
  display: block;
}
.section__sdgs_front {
  width: 227px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.section__sdgs_front h3 {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  padding-bottom: 16px;
}
.section__sdgs_front p {
  color: #fff;
}
.section__sdgs_front_p01 {
  padding-bottom: 16px;
}
.section__sdgs_front_p02 {
  font-size: 1.4rem;
  position: relative;
}
.section__sdgs__img {
  width: 325px;
  height: 325px;
	border-radius: 50%;
  margin-top: 60px;
	overflow: hidden;
}
.section__sdgs__img img {
  width: 100%;
  height: auto;
	transition:0.5s all;
}
.section__sdgs:hover .section__sdgs__img img{
transform:scale(1.2);
}
.section__service::after {
  z-index: -1;
  content: "SERVICE";
  font-size: 20rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  writing-mode: vertical-rl;
  color: #F5D930;
  position: absolute;
  right: -125px;
  top: 0;
}
.section__sdgs_front_p02::before {
  content: "";
  background-image: url("../images/common/01top-9.png");
  display: block;
  width: 84px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 10%);
}
@media(max-width: 1023px) {
  .section__service::after {
    display: none;
  }
  .section__service {
    padding: 0 6vw 241px;
    display: flex;
    flex-flow: column;
  }
  .section__service__img {
    display: block;
    text-align: right;
    position: relative;
    width: min(767px, 100%);
    margin: auto;
  }
  .section__service-right {
    width: min(86vw, 900px);
    flex-direction: row;
    margin: auto;
    padding-top: 48px;
    justify-content: center;
  }
  .section__service__img img {
    width: min(767px, 86%);
  }
  .section__service__img::before {
    content: "SERVICE";
    display: block;
    font-size: 10rem;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #F5D930;
    position: absolute;
    left: 0;
    top: 50%;
  }
  .section__service-right__br-mb {
    display: none;
  }
  .section__service-right-top {
    width: 325px;
    padding-right: 6%;
  }
}
@media(max-width: 767px) {
  .section__service__img img {
    width: 100vw;
    object-position: center;
  }
  .section__service__img {
    text-align: center;
  }
  .section__service-right {
    flex-direction: column;
    align-items: center;
  }
  .section__service-right-top {
    width: 86vw;
    padding-right: 0;
  }
  .section__service {
    padding: 0 0 241px;
  }
  .section__service__img::before {
    font-size: 6.8rem;
    text-align: left;
    top: 57%;
    left: 7%;
  }
}
@media(max-width: 570px) {
  .section__service__img::before {
    top: 54%;
  }
}
@media(max-width: 440px) {
  .section__service__img::before {
    top: 51%;
  }
}
/*recruit*/
.section__recruit {
  display: flex;
  padding: 0 5vw 236px;
  margin: 0 auto;
  align-items: center;
  max-width: 1200px;
}
.section__recruit__left {
  width: 326px;
  position: relative;
  padding-right: 10%;
}
.section__recruit__left::before {
  content: '';
  width: 1405px;
  height: 900px;
  background: linear-gradient(to top left, #F5C030, #F5D930);
  border-radius: 500px 0;
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 77%;
  transform: translate(-50%, -50%);
}
.section__recruit__left h2 {
  width: 326px;
  text-align: left;
	    margin-bottom: 21px;
}
.section__recruit__left p {
  width: 326px;
  text-align: left;
}
.swiper2 {
  width: min(100%,1090px);
  height: auto;
  overflow: visible !important;
  transition: width 0.1s ease;
  transform: translateX(60px);
}

.swiper2 .swiper-slide img {
  width: 100%;
  height: auto;
	  object-fit: cover;
	display: block;
	box-sizing: border-box;
}
.swiper2::after {
  z-index: -1;
  content: "RECRUIT";
  font-size: 20rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  color: #00315F;
  position: absolute;
  right: 2%;
  bottom: -32%;
}
.swiper3 {
  display: none !important;
}
@media (max-width: 1820px) {
  .swiper2 {
    width: 100%;
    transform: translateX(10px);
  }
  .section__recruit__left {
    padding-right: 7%;
  }
}
@media (max-width: 1720px) {
  .swiper2 {
    width: 95%;
    transform: translateX(-40px);
  }
}
@media (max-width: 1620px) {
  .swiper2 {
    width: 85%;
    transform: translateX(-20px);
  }
  .section__recruit__left::before {
    width: 1305px;
    height: 800px;
  }
	  .swiper2::after {
    bottom: -37%;
  }
}
@media (max-width: 1520px) {
  .swiper2 {
    width: 80%;
    transform: translateX(10px);
  }
}
@media (max-width: 1420px) {
  .swiper2 {
    width: 75%;
    transform: translateX(0px);
  }
  .swiper2::after {
    bottom: -40%;
  }
  .section__recruit__left::before {
    width: 1205px;
    height: 750px;
  }
}
@media (max-width: 1320px) {
  .swiper2 {
    width: 70%;
    transform: translateX(15px);
  }
  .swiper2::after {
    font-size: 15rem;
    bottom: -35%;
  }
}
@media (max-width: 1220px) {
  .swiper2 {
    width: 70%;
    transform: translateX(-10px);
  }
}
@media (max-width: 1120px) {
  .swiper2::after {
    font-size: 15rem;
    bottom: -40%;
  }
}
@media(max-width: 1023px) {
  .section__recruit {
    flex-flow: column-reverse;
    padding: 0 6vw 200px;
    margin: 0 auto;
    align-items: center;
    position: relative;
  }
  .swiper2::after {
    font-size: 10rem;
    top: -26%;
    bottom: auto;
    right: auto;
    left: 0;
  }
  .section__recruit__left {
    padding-right: 0;
  }
  .section__recruit__left::before {
    display: none;
  }
  .swiper2 {
    width: min(767px, 100%);
    transform: translateX(0);
  }
  .section__recruit::before {
    content: '';
    background: linear-gradient(to top left, #F5C030, #F5D930);
    z-index: -1;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -61%);
    left: 50%;
    width: 100vw;
    border-radius: 200px 0;
    height: 1173px;
  }
  .section__recruit__left h2 {
    text-align: center;
    padding: 42px 0 32px;
    margin: auto;
  }
  .section__recruit__left p {
    margin: auto;
    width: auto;
  }
  .section__recruit__left {
    width: 86vw;
  }
  .section__recruit__br-mb {
    display: none;
  }
}
@media(max-width: 767px) {
  .section__recruit {
    padding: 0 0 200px;
  }
  .swiper2 {
    display: none !important;
  }
  .swiper3 {
    overflow: visible !important;
    width: min(450px, 100vw);
    height: auto;
    display: flex !important;
    position: relative;
  }
  .swiper3::after {
    content: "RECRUIT";
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #00315F;
    position: absolute;
    font-size: 6.8rem;
    top: -15%;
    left: 0;
  }
	.swiper3 .swiper-wrapper{
	    overflow: hidden;	
	}
  .section__recruit__img-mb {
    width: 100%;
	  height: auto;
	  display: block;
  }
}
@media(max-width: 500px) {
  .swiper3::after {
    left: 6%;
	  top:-16%;
  }
}
@media(max-width: 400px) {
  .swiper3::after {
	  top:-18%;
  }
}