@charset "utf-8";



/* ■■■■■■■■■■■■■■■■■sub共通■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
.s-mainvisual{
  max-width: 1560px;
  margin: 0 auto;
}
.s-mainvisual__wrap{
  display: flex;
  justify-content: right;
  position: relative;
}
.s-mainvisual__imgRight{
  width: 94%;
}
.s-mainvisual__imgLeft{
  position: absolute;
  z-index: -100;
  max-width: 400px;
  width: clamp(150px ,25vw ,400px);
  top: 0;
  left: 0;
  transform: translate(-16% ,-23%);
}
.s-mainvisual__imgRight::before{
  content: "";
  position: absolute;
  z-index: -200;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #EBEBEB;
}
.s-mainvisual__title{
  position: absolute;
  left: 15%;
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--FZ_60);
  font-weight: bold;
  color: var(--WHITE);
}
.green{
  color: var(--MAINCOLOR);
}
.s-mainvisual__titleJa{
  font-size: var(--FZ_30);
  font-weight: 500;
}
.s-mainvisual__titleEn{
  display: block;
}

@media screen and (max-width: 768px){
  .s-mainvisual__imgLeft{
    display: none;
  }
  .s-mainvisual__imgRight{
    position: static;
    width: 100%;
  }
  .s-mainvisual__title{
    left: 5%;
    font-size: var(--FZ_40);
  }
  .s-mainvisual__titleJa{
    font-size: var(--FZ_24);
  }
}
.s-common__title{
  text-align: center;
  padding-top: var(--SPACE_100);
  margin-bottom: var(--SPACE_60S);
}
.s-common__titleSub{
  text-align: center;
  margin-bottom: var(--SPACE_20);
}
.s-common__titleSub .g-title__main{
  font-size: var(--FZ_38);
  font-family: var(--FF_BASE);
  font-weight: 800;
  color: var(--MAINCOLOR);
}
@media screen and (max-width: 768px){
  .s-common__title{
    margin-bottom: 25px;
    line-height: 1;
  }
  .s-common__title .g-title__main{
    font-size: 24px;
  }
}
/* テーブル */
.s-common__table{
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  border-spacing:0;
}
.s-common__table th,
.s-common__table td{
  border-top: 1px solid #707070;
}
.s-common__table tr:last-child th,
.s-common__table tr:last-child td{
  border-bottom: 1px solid #707070;
}
.s-common__table th{
  background-color: rgba(53, 181, 151, 0.08);
  /* min-width: 215px; */
  width: 30%;
  padding: var(--SPACE_35) var(--SPACE_60S) var(--SPACE_35) var(--SPACE_35);
  text-align: left;
  font-size: var(--FZ_22);
  font-weight: bold;
}
.s-common__table td{
  padding: var(--SPACE_35);
  font-size: var(--FZ_20);
  width: 70%;
}
@media screen and (max-width: 768px){
  .s-common__table th{
    padding: var(--SPACE_30) 10px;
    width: 100%;
  }
  .s-common__table td{
    padding: var(--SPACE_35) 10px;
    width: 100%;
  }
  .s-common__table th,
  .s-common__table td{
    display: block;
    width: 100%;
  }
  .s-common__table tr:last-child th{
    border-bottom: none;
  }
}


/* ■■■■■■■■■■■■■■■■■Introductionページ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* ＝＝＝＝＝＝＝＝＝＝＝＝共通＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-introduction .inner--l{
  width: 88%;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝s-i-service＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-i-service__listCnt{
  padding-bottom: var(--SPACE_100);
  border-bottom: 2px solid #707070;
}
.s-i-service__list>div{
  padding-top: var(--SPACE_100);
  position: relative;
}
.s-i-service__About{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  margin-bottom: var(--SPACE_40);
  gap: var(--SPACE_40);
}
.s-i-service__text p{
  font-size: var(--FZ_22);
}
.s-i-service .g-title{
  margin-bottom: var(--SPACE_35);
}
.s-i-service__worksImgList{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--SPACE_30);
  padding-top: var(--SPACE_60S);
}
.s-i-service__list>div:last-child .s-i-service__listCnt{
  border-bottom: none;
}
.s-i-caseTitle{
  font-size: var(--FZ_30);
  font-weight: bold;
  color: #000;
  display: block;
}
.s-i-service__triangle{
  position: absolute;
  z-index: -100;
  bottom: 0;
  right: 0;
  max-width: 40%;
}
@media screen and (max-width: 768px){
  .s-i-service__About{
    grid-template-columns: 1fr;
    margin-bottom: var(--SPACE_40);
    gap: var(--SPACE_35);
  }
  .s-i-service__text{
    padding-right: 0;
  }
  .s-i-service__text p{
    font-size: var(--FZ_16);
  }
  .s-i-service__About .g-title__main{
    font-size: 24px;
    line-height: 1;
  }
  .s-i-service__worksImgList{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--SPACE_30);
    /* padding: var(--SPACE_35) 0 var(--SPACE_100) 0;
    border-bottom: 2px solid #707070; */
    padding-top: 0;
  }
  .s-i-service__worksImgLis >div{
    padding: var(--SPACE_35) 0 var(--SPACE_100) 0;
    border-bottom: 2px solid #707070;
  }

  .s-i-caseTitle{
    font-size: 20px;
  }
  .s-i-service .g-title--small{
    margin-bottom: var(--SPACE_35);
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝s-i-process＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-i-process{
  background-color: var(--MAINCOLOR);
  position: relative;
  z-index: -100;
}
.s-i-processWrap{
  padding: var(--SPACE_150) 0;
}
.s-i-process__title{
  font-size: var(--FZ_50);
  font-weight: bold;
  color: var(--WHITE);
  text-align: center;
  line-height: 1;
  margin-bottom: var(--SPACE_100);
}
.s-i-process__list{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: var(--SPACE_50) var(--SPACE_60S);
  margin: 0 auto;
  z-index: 100;
}
.s-i-process__list li{
  background-color: var(--WHITE);
  padding: var(--SPACE_40) 20px var(--SPACE_30);
  position: relative;
}
.s-i-process__list li a:hover{
  opacity: 0.8;
}

.s-i-process__list li::after{
  content: "";
  position: absolute;
  top: 50%;
  right: -15%;
  transform: translateY(-50%);
  border-left: 30px solid #ffffff;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}
.s-i-process__list li:last-child::after{
  display: none;
}
.s-i-process__listNumber{
  width: 80px;
  margin: 0 auto var(--SPACE_10);
}
.s-i-process__flow{
  font-size: var(--FZ_24);
  font-weight: bold;
  margin-bottom: var(--SPACE_10);
  text-align: center;
}
.s-i-process__triangle{
  position: absolute;
  top: 0;
  left: 0;
  max-width: 60%;
  z-index: -1;
}
@media screen and (max-width: 1280px){
  .s-i-process__list{
    grid-template-columns: repeat(3,1fr);
    gap: var(--SPACE_30) var(--SPACE_60S);
  }
  .s-i-process__list li::after{
    right: -10%;
    border-left: 20px solid #ffffff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }
}
@media screen and (max-width: 900px){
  .s-i-process__list{
    grid-template-columns: repeat(2,1fr);
    gap: var(--SPACE_30) var(--SPACE_50);
  }
  .s-i-process__list li::after{
    right: -8%;
  }
}
@media screen and (max-width: 768px){
  .s-i-processWrap{
    padding: 50px 0;
  }
  .s-i-process__list{
    grid-template-columns: repeat(1,1fr);
    gap: var(--SPACE_50);
  }
  .s-i-process__list li{
    padding: 25px 20px 20px;
  }
  .s-i-process__list li::after{
    right: 50%;
    top: 99%;
    transform: translateX(50%);
    border-left: none;
    border-top: 15px solid #ffffff;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
  }
  .s-i-process__title {
    font-size: var(--FZ_30);
    margin-bottom: 30px;
  }
  .s-i-process__listNumber{
    width: 80px;
    margin: 0 auto 10px auto;
  }
  .s-i-process__flow{
    font-size: 18px;
    margin-bottom: 10px;
  }
}




/* ■■■■■■■■■■■■■■■■■Recruitページ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* ＝＝＝＝＝＝＝＝＝＝＝＝s-r-person＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-r-person__img{
  width: 60%;
  margin: 0 auto;
}
.s-r-person__list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--SPACE_60S);
  padding: 20px var(--SPACE_60S) var(--SPACE_100);
  border-bottom: 2px solid #707070;
}
.s-r-person__headTitle{
  text-align: center;
  font-size: var(--FZ_24);
  margin-bottom: var(--SPACE_50);
}
.s-r-person__list li{
  background-color: var(--WHITE);
  border: 3px solid var(--MAINCOLOR);
  border-radius: 22px;
  padding: var(--SPACE_40) var(--SPACE_20);
}
.s-r-person__list li p{
  font-size: var(--FZ_22);
}
.s-r-person__list li .g-title__lineG{
  width: 30px;
}
.s-r-person__list li .g-title__lineB{
  width: 90px;
}
/* ブルー */
.s-r-person__list .s-r-person__itemBlue{
  border: 3px solid var(--ACCENTCOLOR);
}
.s-r-person__itemBlue .g-title__lineG--blue{
  background-color: var(--ACCENTCOLOR);
}
.s-r-person__itemBlue .g-title__main{
  color: var(--ACCENTCOLOR);
}
/* グレー */
.s-r-person__list .s-r-person__itemGray{
  border: 3px solid #303030;
}
.s-r-person__itemGray .g-title__lineG--gray{
  background-color: #767676;
}
.s-r-person__itemGray .g-title__main{
  color: #767676;
}
.s-r-person__list p{
  text-align: center;
}
@media screen and (max-width: 768px){
  .s-r-person__list{
    grid-template-columns: repeat(1, 1fr);
    /* gap: var(--SPACE_20); */
    padding: 20px var(--SPACE_30) var(--SPACE_100);
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝s-r-timetable＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-r-timetable__img{
  max-width: 800px;
  margin: 0 auto;
}
.s-r-timetable__title{
  text-align: center;
  padding-top: var(--SPACE_100);
  margin-bottom: var(--SPACE_60S);
}
@media screen and (max-width: 768px){
  .s-r-timetable__img{
    max-width: 350px;
    width: 90%;
  }
  .s-r-timetable__title{
    margin-bottom: 25px;
    line-height: 1;
  }
  .s-r-timetable__title .g-title__main{
    font-size: 24px;
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝s-r-message＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-r-message{
  background-color: rgba(53, 181, 151, 0.08);
  position: relative;
}
.s-r-message__wrap{
  max-width: 1200px;
  margin: 130px auto 130px auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.s-r-message__img{
  height: 100%;
  padding: var(--SPACE_80) var(--SPACE_60S);
}
.s-r-message__img img{
  height: 100%;
  object-fit: cover;
}
.s-r-message__contentsWrap{
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--SPACE_50) var(--SPACE_60S) var(--SPACE_50) 0;
  z-index: 1;
}
.s-r-message__contents .s-r-message__text{
  margin-top: var(--SPACE_30);
  line-height: 1.8;
}
.s-r-message__headText{
  padding-top: var(--SPACE_20);
  font-size: var(--FZ_22);
  font-weight: 600;
}
.s-r-message__triangle{
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: var(--SPACE_500);
  z-index: -1;
}
.s-r-message .g-title__main{
  font-size: var(--FZ_30);
  line-height: 1.6;
}
@media screen and (max-width: 768px){
  .s-r-message__wrap{
    margin: 50px auto;
    grid-template-columns: repeat(1, 1fr);
    width: 90%;
  }
  .s-r-message__contentsWrap{
    display: block;
    padding: 0;
  }
  .s-r-message__img{
    height: 100%;
    padding: var(--SPACE_100) 0 var(--SPACE_40) 0;
  }
  .s-r-message__contents .s-r-message__text{
    font-size: 14px;
    margin-bottom: var(--SPACE_100);
  }
  .s-r-message__triangle{
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: var(--SPACE_300);
    z-index: -1;
  }
  .s-r-message__title .g-title__main{
    font-size: 21px;
  }
  .s-r-message__img img{
    height: auto;
    width: 100%;
  }
  .s-r-message__headText{
    padding-top: var(--SPACE_30);
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝s-r-recruitment＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-r-recruitment{
  margin-bottom: var(--SPACE_100);
}
.s-r-recruitment__title{
  margin-bottom: var(--SPACE_60S);
}
@media screen and (max-width: 768px){
  .s-r-recruitment{
    margin-bottom: var(--SPACE_130);
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝s-r-info＝＝＝＝＝＝＝＝＝＝＝＝ */
.s-r-info{
  margin: 0 auto;
}
.s-r-infoWrap{
  max-width: 900px;
  border: 3px solid var(--MAINCOLOR);
  position: relative;
}
.s-r-info__title{
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--GRAY);
  text-align: center;
  font-size: var(--FZ_38);
  color: var(--MAINCOLOR);
  padding: 0 30px;
  min-width: var(--SPACE_700);
}
.s-r-info .ft-contact__tel{
  text-align: center;
  padding: var(--SPACE_70) 0 20px;
  color: var(--MAINCOLOR);
  font-size: var(--FZ_50);
  line-height: 1;
}
.s-r-info .ft-contact__tel a{
  color: var(--MAINCOLOR);
}
.s-r-info .t-btn--contact a{
  margin: 0 auto var(--SPACE_60S);
}
.s-r-info .ft-contact__tel span{
  font-size: var(--FZ_38);
}
@media screen and (max-width: 768px){
  .s-r-info .t-btn--contact{
  max-width: 260px;
  margin: 0 auto 15px auto;
  }
  .s-r-info .t-btn--contact a{
    margin: 0 auto var(--SPACE_60S);
  }
  .s-r-info__title{
    font-size: var(--FZ_24);
    top: -20px;
    min-width: 300px;
    width: 80%;
    padding: 0;
  }
  .s-r-infoWrap{
    border: 2px solid var(--MAINCOLOR);
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■ works ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  */
.s-w-caseList li{
  margin-bottom: var(--SPACE_60);
  background-color: var(--WHITE);
  padding: var(--SPACE_60) var(--SPACE_70) ;;
  border: 1px solid #707070;
}
.s-w-caseItem__top{
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  align-items: center;
  gap: var(--SPACE_60);
  margin-bottom: 25px;
  color: #000;
}
.s-w-caseItem__top p{
  font-size: var(--FZ_16);
}
.s-works .g-title__main{
  line-height: 1.5;
}
.s-w-case .g-title--small{
  min-width: 200px;
}
.s-w-caseItem__img{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--SPACE_30);
}
.column4 .s-w-caseItem__img{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--SPACE_10);
}

@media screen and (max-width: 768px){

  .s-w-caseContents{
    transform: translateY(-50px);
  }
  .s-w-caseList li{
    margin-bottom: var(--SPACE_40);
    padding: 20px;
  }
  .s-w-caseItem__top{
    display: block;
    margin-bottom: 20px;
  }
  .s-w-case .g-title--small{
    min-width: 200px;
    padding: 5px 0 15px;
  }
  .scroll{
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 10px;
  }
  .s-w-caseItem__img{
    display: block;
    width: fit-content;
    position: relative;
    display: flex;
  }
  .s-w-caseItem__img p{
    min-width: 220px;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■ about ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  */
/* ＝＝＝＝＝＝＝＝＝＝＝＝ s-a-company＝＝＝＝＝＝＝＝＝＝＝＝  */
.s-a-company{
  margin-bottom: var(--SPACE_100);
}
.s-a-company__table{
  margin: 0 auto;
  border-spacing:0;
  width: 100%;
}
.s-a-company__table tbody tr{
  display: flex;
  flex-direction: row;
}
.s-a-company__table th{
  width: 30%;
  padding: var(--SPACE_30) 0;
  text-align: left;
  font-size: var(--FZ_20);
  font-weight: bold;
  color: var(--MAINCOLOR);
  border-top: 1px solid var(--MAINCOLOR);
}
.s-a-company__table td{
  width: 70%;
  padding: var(--SPACE_30) 0;
  font-size: var(--FZ_20);
  border-top: 1px solid #dbdbdb;
}
.s-a-company__table tbody tr:last-child th{
  border-bottom: 1px solid var(--MAINCOLOR);
}
.s-a-company__table tbody tr:last-child td{
  border-bottom: 1px solid #dbdbdb;
}
@media screen and (max-width: 768px){
  .s-a-company__table th{
    width: 30%;
    padding: var(--SPACE_35) 0;
  }
  .s-a-company__table td{
    width: 70%;
    padding: var(--SPACE_35) 0;
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝ s-a-company＝＝＝＝＝＝＝＝＝＝＝＝  */
.s-a-colum{
  padding: var(--SPACE_150) 0;
  background-color: rgba(53, 181, 151, 0.08);
}
.s-a-columCnt{
  display: flex;
  justify-content: center;
  align-items: center;
}
.s-a-columCeo{
  margin-bottom: var(--SPACE_130);
}
.s-a-columCnt__text{
  width: 60%;
  padding: 0 3%;
}
.s-a-columCnt__img{
  width: 40%;
}
.s-a-columCnt__title{
  font-size: var(--FZ_40);
  font-weight: bold;
  line-height: 1;
}
.s-a-columCnt__headComment{
  padding-top: var(--SPACE_20);
  font-size: var(--FZ_24);
  font-weight: 600;
}
.s-a-columCnt__comment{
  padding-top: var(--SPACE_40);
  margin-bottom: var(--SPACE_40);
  line-height: 1.8;
}
.s-a-columCnt__name{
  font-size: var(--FZ_22);
  text-align: right;
  line-height: 1;
}
.s-a-columCnt:nth-child(even){
  flex-direction: row-reverse;
}
.s-a-columRecruit__title{
  font-size: var(--FZ_38);
  line-height: 1.5;
}
@media screen and (max-width: 768px){
  .s-a-colum{
    margin: 0;
    padding: var(--SPACE_100) 0;
  }
  .s-a-columCnt{
    flex-direction: column;
    gap: var(--SPACE_35);
  }
  .s-a-columCnt__text{
    width: 100%;
    padding: 0%;
  }
  .s-a-columCnt__img{
    width: 100%;
    max-width: 400px;
  }
  .s-a-columCnt__title{
    font-size: var(--FZ_30);
  }
  .s-a-columCnt__comment{
    padding-top: var(--SPACE_35);
    margin-bottom: var(--SPACE_35);
  }
  .s-a-columCnt__name{
    font-size: var(--FZ_24);
  }
  .s-a-columCnt:nth-child(odd){
    flex-direction: column-reverse;
  }
  .s-a-columCnt:nth-child(even){
    flex-direction: column-reverse;
  }
  .s-a-columRecruit__title{
    font-size: var(--FZ_30);
  }
  .s-a-columCnt__headComment{
    padding-top: var(--SPACE_20);
    font-size: var(--FZ_20);
  }
}