/*---------------
研修制度
------------------*/
.mainimageArea.training {
  background-image: url(/recruit/career/training/images/img_mv.jpg);
}

.maincatchArea.training {
  width: 100%;
  background-color: #D9F0E3;
  padding: 60px 0;
}
@media only screen and (max-width: 750px) {
  .maincatchArea.training {
    padding: 30px 0;
  }
}

.training .maincatchAreaInner {
  transform: skewX(12deg);
  display: block;
}
@media only screen and (max-width: 750px) {
  .training .maincatchAreaInner {
    transform: none;
  }
}

.trainingCatchAreaTtl {
  text-align: center;
  color: #009944;
  font-size: 220%;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .trainingCatchAreaTtl {
    font-size: 180%;
  }
}

.trainingCatchAreaTtl::before {
  content:"";
  width: 2em;
  height: 2px;
  background-color: #009944;
  position:absolute;
  bottom: 0;
  left: 50%;
  margin-left: -1em;
}

.trainingCatchAreaTxt {
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 750px) {
  .trainingCatchAreaTxt {
    line-height: 1.6;
    text-align: left;
  }
}

.employeeArea {
  padding: 100px 0 80px;
  background-repeat: repeat;
}
@media only screen and (max-width: 750px) {
  .employeeArea {
    padding: 50px 10px 40px;
  }
}

.employeeTtlArea {
  margin-bottom: 80px;
}
@media only screen and (max-width: 750px) {
  .employeeTtlArea {
    margin-bottom: 40px;
  }
}

.employeeTtl {
  font-size: 260%;
  color: #F08200;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  .employeeTtl {
    font-size: 180%;
  }
}

.employeeTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .employeeTtlTxt {
    font-size: 90%;
  }
}

@media only screen and (max-width: 750px) {
  .employeeStepArea {
    overflow: auto;
  }
}


.employeeStepArea ul {
  width: 95%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 750px) {
  .employeeStepArea ul {
    min-width: 800px;
    margin: 30px auto 20px;
  }
}

.employeeStepArea li {
  width: 31%;
}

.employeeStepAreaTtl {
  width: 72.2%;
  margin: 0 auto 20px;
  height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 2px #009944 solid;
  background-color: #fff;
}

.employeeStepAreaTtl p {
  width: 100px;
  height: 30px;
  border-radius: 15px;
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -50px;
  background-color: #009944;
  color: #fff;
  text-align: center;
  line-height: 30px;
  font-size: 120%;
  font-weight: 700;
}

.employeeStepAreaTtl h4 {
  color: #009944;
  font-size: 120%;
}

.employeeStepAreaArrow {
  position: relative;
  display: block;
  height: 60px;
  line-height: 60px;
  margin-right: 20px;
  margin-left: auto;
  text-align: center;
  background-color: #D9F0E3;
  margin-bottom: 30px;
}

.employeeStepAreaArrow:before {
  position: absolute;
  top: 0;
  right: -20px;
  content: '';
  border-width: 30px 0 30px 20px;
  border-style: solid;
  border-color: transparent transparent transparent #D9F0E3;
}

.employeeStepAreaArrow span {
  color: #009944;
  margin-left: 20px;
}

.employeeStepAreaACategory {
  padding: 8px 0 8px 15px;
  font-size: 140%;
  font-weight: 500;
  border-left: 4px #F08200 solid;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.employeeStepAreaTxt {
  font-size: 80%;
}

.employeeStepAreaTxt ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}
@media only screen and (max-width: 750px) {
  .employeeStepAreaTxt ul {
    min-width: auto;
    margin: 0 auto 5px;
  }
}

.employeeStepAreaTxt li:first-child {
  width: 15%;
  margin-bottom: 0;
}

.employeeStepAreaTxt li:first-child span {
  display: block;
  text-align: center;
  background-color: #EEEEEE;
  line-height: 1.6;
}

.employeeStepAreaTxt li:last-child {
  width: 80%;
  line-height: 1.6;
}

.systemArea {
  padding: 100px 0 80px;
  background-color: #F8F8F8;
  background-repeat: repeat;
}
@media only screen and (max-width: 750px) {
  .systemArea {
    padding: 50px 10px 40px;
  }
}

.systemTtlArea {
  margin-bottom: 40px;
}
@media only screen and (max-width: 750px) {
  .systemTtlArea {
    margin-bottom: 20px;
  }
}

.systemTtl {
  font-size: 260%;
  color: #F08200;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  .systemTtl {
    font-size: 200%;
  }
}

.systemTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .systemTtlTxt {
    font-size: 90%;
  }
}

.systemTable {
  width: 100%;
  border: 3px #009944 solid;
  margin-bottom: 30px;
}
@media only screen and (max-width: 750px) {
  .systemTable {
    overflow: auto;
    white-space: nowrap;
    margin-bottom: 10px;
  }
}

.systemArea table {
  width: 100%;
  border-collapse: collapse;
}

.systemArea table td {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}

.systemArea table td.td01_01 {
  background-color: #F08200;
  color: #fff;
  position: relative;
  height: 50px;
  z-index: 10;
}

.systemArea table td.td01_01:after {
  position: absolute;
  top: 0;
  right: -10px;
  content: '';
  border-width: 25px 0 25px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #F08200;
}

.systemArea table td.td01_02 {
  background-color: #E60012;
  color: #fff;
}

.systemArea table td.td02_01 {
  border-left: 1px #C8C8C8 solid;
  border-right: 1px #C8C8C8 solid;
}

.systemArea table td.td02_02 {
  border-right: 1px #C8C8C8 solid;
}

.systemArea table td.td02_03 {
  border-right: 1px #C8C8C8 solid;
}

.systemArea table td.td03_01 {
  background-color: #009944;
  color: #fff;
}

.systemArea table td.td03_02 {
  background-color: #E3F3EA;
  border-top: 1px #ACC8B8 solid;
  border-bottom: 1px #ACC8B8 solid;
}

.systemArea table td.td03_03 {
  background-color: #E3F3EA;
  border-bottom: 1px #ACC8B8 solid;
}

.systemArea table td.td04_01 {
  background-color: #74C44D;
  color: #fff;
}

.systemArea table td.td04_02 {
  background-color: #fafff3;
  color: #61AF3B;
  border-right: 1px #BBDFAA solid;
  border-bottom: 1px #BBDFAA solid;
}

.systemArea table td.td04_03 {
  background-color: #fafff3;
  color: #61AF3B;
  border-bottom: 1px #BBDFAA solid;
}

.systemArea table td.td04_05 {
  background-color: #fafff3;
  color: #61AF3B;
  border-right: 1px #BBDFAA solid;
}

.systemArea table td.td04_06 {
  background-color: #fafff3;
  color: #61AF3B;
}

.systemArea table td.td04_07 {
  background-color: #f5f5f5;
  border-right: 1px #BBDFAA solid;
}

.systemArea table td.td05_01 {
  background-color: #009989;
  color: #fff;
}

.systemArea table td.td05_02 {
  background-color: #eefffe;
  border-top: 1px #86BFB9 solid;
  border-bottom: 1px #86BFB9 solid;
}

.systemArea table td.td06_01 {
  background-color: #B6B9C2;
  color: #fff;
}

.systemArea table td.td06_02 {
  background-color: #eceffb;
  border-bottom: 1px #C3CBE2 solid;
  color: #5E6270;
}

.systemArea table td.td06_02 span {
  margin-left: -13em;
}
@media only screen and (max-width: 750px) {
  .systemArea table td.td06_02 span {
    margin-left: -9em;
  }
}

.systemArea table td.td06_03 {
  background-color: #f5f5f5;
  border-right: 1px #C3CBE2 solid;
  border-bottom: 1px #C3CBE2 solid;
}

.systemArea table td.td06_04 {
  background-color: #eceffb;
  color: #5E6270;
}

.systemAreaSpNote {
  font-size: 80%;
  text-align: left;
  margin-bottom: 10px;
}

.systemAreaNote {
  font-size: 80%;
  text-align: right;
}
@media only screen and (max-width: 750px) {
  .systemAreaNote {
    font-size: 70%;
    text-align: left;
  }
}

/*---------------
働く環境と福利厚生
------------------*/
.mainimageArea.environment {
  background-image: url(/recruit/career/environment/images/img_mv.jpg);
}

.surroundingsArea {
  padding: 100px 0 80px;
  background-repeat: repeat;
}
@media only screen and (max-width: 750px) {
  .surroundingsArea {
    padding: 50px 10px 40px;
  }
}

.surroundingsTtlArea {
  margin-bottom: 140px;
}
@media only screen and (max-width: 750px) {
  .surroundingsTtlArea {
    margin-bottom: 40px;
  }
}

.surroundingsTtl {
  font-size: 260%;
  color: #009944;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  .surroundingsTtl {
    font-size: 200%;
  }
}

.surroundingsTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .surroundingsTtlTxt {
    font-size: 90%;
  }
}

.surroundingsBoxArea {
  position: relative;
}

.surroundingsBoxArea.sec01:before,
.surroundingsBoxArea.sec03:before,
.surroundingsBoxArea.sec05:before {
  position: absolute;
  top: 80px;
  left: 0;
  width: 65%;
  height: 620px;
  content: '';
  background-color: #F8F8F8;
  z-index: -1;
}
.surroundingsBoxArea.sec02:before,
.surroundingsBoxArea.sec04:before {
  position: absolute;
  top: 80px;
  right: 0;
  width: 65%;
  height: 620px;
  content: '';
  background-color: #F8F8F8;
  z-index: -1;
}
@media only screen and (max-width: 750px) {
  .surroundingsBoxArea.sec01:before,
  .surroundingsBoxArea.sec03:before,
  .surroundingsBoxArea.sec05:before,
  .surroundingsBoxArea.sec02:before,
  .surroundingsBoxArea.sec04:before {
    content: none;
  }
}

.surroundingsBox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 180px;
}
@media only screen and (max-width: 750px) {
  .surroundingsBox {
    flex-flow: column;
    margin-bottom: 30px;
  }
}

.surroundingsTxtArea {
  width: 53%;
  padding-top: 40px;
}
@media only screen and (max-width: 750px) {
  .surroundingsTxtArea {
    width: 100%;
    padding-top: 0;
    margin-bottom: 20px;
  }
}

.surroundingsPicArea {
  width: 35%;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .surroundingsPicArea {
    width: 100%;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 750px) {
  .sec01 .surroundingsPicArea,
  .sec03 .surroundingsPicArea,
  .sec05 .surroundingsPicArea {
    order: 1;
    margin-bottom: 20px;
  }
  .sec01 .surroundingsTxtArea,
  .sec03 .surroundingsTxtArea,
  .sec05 .surroundingsTxtArea {
    order: 2;
    margin-bottom: 0;
  }
}

.sec03 .surroundingsPicArea {
  width: 30%;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .sec03 .surroundingsPicArea {
    width: 100%;
    margin-bottom: 20px;
  }
}

.surroundingsPicArea p {
  z-index: 1;
  position: relative;
}

.surroundingsPicArea p img {
  z-index: 10;
  position: relative;
}

.surroundingsPicArea p:before {
  position: absolute;
  bottom: -50px;
  left: -50px;
  width: 140px;
  height: 140px;
  content: '';
  background: #F08200;
}
@media only screen and (max-width: 750px) {
  .surroundingsPicArea p:before {
    content: none;
  }
}

.surroundingsPicArea p:after {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  content: '';
  background: #F08200;
}
@media only screen and (max-width: 750px) {
  .surroundingsPicArea p:after {
    content: none;
  }
}

.surroundingsTxtArea .surroundingsSttl {
  font-size: 60%;
  font-weight: 700;
  color: #009944;
  padding-left: 120px;
  position: relative;
  margin: 0 0 10px -30px;
}

.surroundingsTxtArea .surroundingsSttl:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100px;
  height: 1px;
  content: '';
  background: #009944;
}

.surroundingsTxtArea h3 {
  font-size: 160%;
  font-weight: 700;
  color: #009944;
  margin-bottom: 50px;
}
@media only screen and (max-width: 750px) {
  .surroundingsTxtArea h3 {
    font-size: 120%;
    margin-bottom: 20px;
  }
}

.surroundingsTxtArea .surroundingtxt {
  line-height: 2;
  margin-bottom: 60px;
}
@media only screen and (max-width: 750px) {
  .surroundingsTxtArea .surroundingtxt {
    line-height: 1.6;
    margin-bottom: 30px;
  }
}

.surroundingsTxtArea .surroundingsImgboxLeft {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

.surroundingsTxtArea .surroundingsImgboxRight {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.surroundingsTxtArea .surroundingsImgboxLeft p,
.surroundingsTxtArea .surroundingsImgboxRight p {
  z-index: 1;
  position: relative;
}

.surroundingsTxtArea .surroundingsImgboxLeft p img,
.surroundingsTxtArea .surroundingsImgboxRight p img {
  z-index: 10;
  position: relative;
}

.surroundingsTxtArea .surroundingsImgboxLeft p:before {
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 140px;
  height: 140px;
  content: '';
  background: #fff;
}
@media only screen and (max-width: 750px) {
  .surroundingsTxtArea .surroundingsImgboxLeft p:before {
    content: none;
  }
}

.surroundingsTxtArea .surroundingsImgboxRight p:before {
  position: absolute;
  top: -50px;
  left: -50px;
  width: 140px;
  height: 140px;
  content: '';
  background: #fff;
}
@media only screen and (max-width: 750px) {
  .surroundingsTxtArea .surroundingsImgboxRight p:before {
    content: none;
  }
}

.img_w50 {
  width: 50%;
}

.img_w80 {
  width: 80%;
}
@media only screen and (max-width: 750px) {
  .img_w80 {
     width: 100%;
  }
}

.img_w150 {
  width: 130%;
  margin-left: -120px;
}
@media only screen and (max-width: 750px) {
  .img_w150 {
    width: 100%;
    margin-left: 0;
  }
}

.benefitArea {
  display: block;
  margin-bottom: 160px;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .benefitArea {
    margin-bottom: 80px;
  }
}

.benefitAreaMv {
  width: 100%;
  height: 530px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 2;
  background-image: url(/recruit/career/environment/images/img_11.jpg);
}
@media only screen and (max-width: 750px) {
  .benefitAreaMv {
    position: relative;
    top: auto;
    left: auto;
    margin-top: 20px;
    height: 200px;
    background-position: center top;
  }
}

.benefitAreaTxtArea {
  max-width: 780px;
  width: 65%;
  margin: -160px auto 0;
  background-color: #fff;
  box-sizing: border-box;
  padding: 50px;
  z-index: 10;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .benefitAreaTxtArea {
    width: 90%;
    margin: -80px auto 0;
    padding: 25px;
  }
}

.benefitTtl {
  font-size: 260%;
  color: #F08200;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  .benefitTtl {
    font-size: 160%;
  }
}

.benefitTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .benefitTtlTxt {
    font-size: 90%;
  }
}

.benefitArea ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.benefitArea li {
  width: 28%;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .benefitArea li {
    width: 48%;
  }
}

@media screen and (min-width: 751px) {
  .benefitArea li:nth-child(n+4) {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 750px) {
  .benefitArea li:nth-child(n+3) {
    margin-top: 20px;
  }
}

.benefitListIco {
  width: 42.6%;
  margin: 0 auto 10px;
}
@media only screen and (max-width: 750px) {
  .benefitListIco {
    width: 60%;
  }
}

.benefitListTtl {
  text-align: center;
  font-weight: 500;
  color: #009944;
  margin-bottom: 10px;
  font-size: 140%;
}
@media only screen and (max-width: 750px) {
  .benefitListTtl {
    font-size: 100%;
  }
}

.benefitListTxt {
  text-align: left;
  font-size: 90%;
  line-height: 2;
}
@media only screen and (max-width: 750px) {
  .benefitListTxt {
    line-height: 1.6;
  }
}

.balanceArea {
  display: block;
  position: relative;
  background-color: #F8F8F8;
  padding: 100px 0;
}
@media only screen and (max-width: 750px) {
  .balanceArea {
    padding: 0 0 50px;
  }
}

.balanceAreaMv {
  position: absolute;
  top: -100px;
  left: 0;
  width: 60%;
  height: 530px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 2;
  background-image: url(/recruit/career/environment/images/img_12.jpg);
}
@media only screen and (max-width: 750px) {
  .balanceAreaMv {
    width: 100%;
    position: relative;
    top: auto;
    left: auto;
    height: 200px;
    background-position: center top;
  }
}

.balanceAreaTxtArea {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 180px;
}
@media only screen and (max-width: 750px) {
  .balanceAreaTxtArea {
    width: 100%;
    display: block;
    margin-bottom: 30px;
  }
}

.balanceAreaTxtAreaInner {
  width: 50%;
  background-color: #fff;
  box-sizing: border-box;
  padding: 50px 20px;
  z-index: 10;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .balanceAreaTxtAreaInner {
    width: 100%;
    margin: -40px auto 0;
    padding: 25px 25px 35px;
  }
}

.balanceTtl {
  font-size: 260%;
  color: #009944;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .balanceTtl {
    font-size: 160%;
  }
}

.balanceTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .balanceTtlTxt {
    font-size: 90%;
  }
}

.balanceArea ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 750px) {
  .balanceArea ul {
    flex-direction: column;
  }
}

.balanceArea li {
  width: 48%;
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
@media only screen and (max-width: 750px) {
  .balanceArea li {
    width: 100%;
    margin-top: 30px;
  }
}

.balanceArea li:first-child{
  width: 100%;
  display: block;
}

.balanceListImg {
  width: 20%;
}

.balanceListTxtBox {
  width: 70%;
}

.balanceListTtl {
  text-align: left;
  font-weight: 500;
  padding: 0 10px 10px;
  margin-bottom: 10px;
  font-size: 120%;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .balanceListTtl {
    font-size: 100%;
  }
}

.balanceListTtl:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30%;
  height: 2px;
  content: '';
  background-color: #F08200;
  z-index: 10px;
}

.balanceListTtl:before {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 2px;
  content: '';
  background-color: #EEEEEE;
}

.balanceListTxt {
  text-align: left;
  font-size: 90%;
  line-height: 1.6;
}




#omunicationArea {
  display: block;
  margin-bottom: 0;
  position: relative;
}
@media only screen and (max-width: 750px) {
  #omunicationArea {
    margin-bottom: 0;
  }
}

.comunicationAreaMv {
  width: 100%;
  height: 530px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 2;
  background-image: url(/recruit/career/environment/images/img_13.jpg);
}
@media only screen and (max-width: 750px) {
  .comunicationAreaMv {
    position: relative;
    top: auto;
    left: auto;
    height: 200px;
    background-position: center top;
  }
}

.comunicationAreaTxtArea {
  max-width: 780px;
  width: 65%;
  margin: -160px auto 0;
  background-color: #fff;
  box-sizing: border-box;
  padding: 50px 50px 80px;
  z-index: 10;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .comunicationAreaTxtArea {
    margin: -80px auto 0;
    padding: 25px 25px 35px;
  }
}

.comunicationTtl {
  font-size: 260%;
  color: #009944;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
@media only screen and (max-width: 750px) {
  .comunicationTtl {
    font-size: 200%;
  }
}

.comunicationTtlTxt {
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 750px) {
  .comunicationTtlTxt {
    font-size: 90%;
  }
}

.comunicationArea ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.comunicationArea li {
  width: 31%;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 750px) {
  .comunicationArea li {
    width: 48%;
  }
    .comunicationArea li:nth-child(n+3) {
    margin-top: 20px;
  }
}

.comunicationListImg {
  width: 100%;
  margin: 0 auto 10px;
}

.comunicationListTtl {
  text-align: left;
  font-weight: 500;
  padding: 15px 10px 10px;
  margin-bottom: 10px;
  font-size: 120%;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .comunicationListTtl {
    padding: 0 0 10px;
    font-size: 100%;
  }
}

.comunicationListTtl:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30%;
  height: 2px;
  content: '';
  background-color: #F08200;
  z-index: 10px;
}

.comunicationListTtl:before {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 2px;
  content: '';
  background-color: #EEEEEE;
}

.comunicationListTxt {
  text-align: left;
  font-size: 90%;
  line-height: 1.6;
}




