@charset "utf-8";
/* CSS Document */
/*------------------------------------
	採用に関するお問い合わせ
-------------------------------------*/
.item {
  position: relative;
}
.mainvisualCopy01 {
  font-size: 12px;
  line-height: 1.0em;
  color: #ffffff;
  position: absolute;
  left: 40px;
  bottom: 20px;
}
/*------------------*/
.pc {
  display: block;
}
.sp {
  display: none;
}
.pcBr {
  display: inline;
}
.spBr {
  display: none;
}
/*----------------------*/
.anc {
  position: relative;
}
.ancIn {
  position: absolute;
  top: -100px;
}
/*----------------------*/
.contactBlock {
  width: 900px;
  margin: 65px auto 65px auto;
}
.contactHisu {
  display: inline-block;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.3em;
  background-color: #012840;
  padding: 2px 5px 2px 5px;
}
.contactHisu.contactHisu01 {
  margin-left: 30px;
}
.contactTable {
  width: 100%;
  border: none;
}
.contactTable th {
  border: none;
  text-align: left;
  vertical-align: top;
  box-sizing: border-box;
  padding: 0px 0px 30px 0px;
  width: 144px;
}
.contactTable td {
  border: none;
  text-align: left;
  vertical-align: top;
  padding: 0px 0px 30px 20px;
}
.contactInput01 {
  border: 1px solid #012840;
  border-radius: 14px;
  outline: none;
  background: none;
  box-sizing: border-box;
  width: 100%;
  height: 65px;
  font-size: 16px;
  padding: 20px 22px 20px 22px;
  -webkit-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  -moz-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
}
.contactTextarea01 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*resize: none;*/
  outline: none;
  background: transparent;
  border: 1px solid #012840;
  border-radius: 14px;
  box-sizing: border-box;
  width: 100%;
  height: 200px;
  font-size: 16px;
  padding: 20px 22px 20px 22px;
  -webkit-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  -moz-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
}
.contactText01 {
  margin-bottom: 5px;
}
.contact-precautionary {
  color: #cc0000;
  text-align: center;
  font-weight: normal;
  padding: 16px 0 0;
}
/*------------------------*/
.radioWrap {
  margin: 0.5rem;
}
.radioWrap input[type=radio] {
  position: absolute;
  opacity: 0;
}
.radioWrap input[type=radio] + .radio-label:before {
  content: "";
  background: #f4f4f4;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  position: relative;
  top: -0.2em;
  margin-right: 1em;
  vertical-align: bottom;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.radioWrap input[type=radio]:checked + .radio-label:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radioWrap input[type=radio]:focus + .radio-label:before {
  outline: none;
  border-color: #3197EE;
}
.radioWrap input[type=radio]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.radioWrap input[type=radio] + .radio-label:empty:before {
  margin-right: 0;
}
/*------------------------*/
.contactPolicyBox01 {
  margin-top: 60px;
  text-align: center;
}
.contactText02 {
  font-size: 16px;
  line-height: 1.6em;
  font-weight: normal;
}
.contactPolicyWrap_wrap {
  border: 1px solid #012840;
  border-radius: 14px;
  -webkit-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  -moz-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
  box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
}
.contactPolicyWrap {
  /*border: 1px solid #012840;
    border-radius: 14px;*/
  box-sizing: border-box;
  width: 100%;
  height: 400px;
  padding: 20px 22px 20px 22px;
  /*-webkit-box-shadow: 3px 3px 8px 0px rgba(44, 39, 56, 0.06);
-moz-box-shadow:    3px 3px 8px 0px rgba(44, 39, 56, 0.06);
box-shadow:         3px 3px 8px 0px rgba(44, 39, 56, 0.06);*/
  margin: 16px 0;
  overflow: auto;
}
.contactPolicyIn {
  padding: 20px;
}
.contactPolicyH301 {
  font-size: 16px;
  line-height: 1.6em;
  font-weight: normal;
  margin-bottom: 20px;
}
.contactPolicyTextWrap {
  text-align: left;
  font-size: 14px;
  line-height: 1.58em;
  font-weight: normal;
}
.contactPolicyBoxIn {
  margin-bottom: 1.6em;
}
/*---------------------*/
.ECM_CheckboxInput {
  padding: 12px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-align: center;
}
.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}
.ECM_CheckboxInput:hover > .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #b4b4b4;
}
.ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #b4b4b4;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  border: solid 2px #b4b4b4;
  background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
  background-size: contain;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  border: solid 2px #888888;
  background: #FFFFFF;
  border-radius: 4px;
}
.ECM_CheckboxInput-LabelText {
  margin-left: 12px;
  display: block;
  font-size: 18px;
  font-weight: normal;
}
/*---------------------*/
.contactBox01 {
  text-align: center;
  margin-top: 75px;
}
.contactBtnWrap01 {
  text-align: center;
  margin-top: 75px;
}
.contactButton01 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #012840;
  border: 1px solid #012840;
  width: 270px;
  height: 48px;
  margin: auto;
  border-radius: 100px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.0em;
  font-weight: bold;
  cursor: pointer;
}
.contactButton01:hover {
  background-color: #ffffff;
  color: #012840;
  transition-duration: 0.3s;
}
.contactButton01 span {
  display: inline;
  padding-right: 20px;
  position: relative;
}
.contactButton01 span::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -4px;
}
.contactButton01:hover span::after {
  border-top: solid 2px #012840;
  border-right: solid 2px #012840;
  transition-duration: 0.3s;
}
@media screen and (max-width: 769px) {
  /*------------------*/
  .mainvisualCopy01 {
    font-size: 10px;
    line-height: 1.0em;
    color: #ffffff;
    position: absolute;
    left: 33px;
    bottom: 4px;
  }
  /*------------------*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .pcBr {
    display: none;
  }
  .spBr {
    display: inline;
  }
  /*-----------------------*/
  .anc {
    position: relative;
  }
  .ancIn {
    position: absolute;
    top: -70px;
  }
  /*-----------------------*/
  .contactBlock {
    width: auto;
    margin: 65px auto 65px auto;
    padding: 0px 15px;
  }
  .contactHisu {
    margin-left: 10px;
  }
  .contactHisu.contactHisu01 {
    margin-left: 10px;
  }
  .contactTable {
    display: block;
  }
  .contactTable tbody {
    display: block;
  }
  .contactTable tr {
    display: block;
  }
  .contactTable th {
    display: block;
    padding: 0px 0px 10px 0px;
    width: auto;
  }
  .contactTable td {
    display: block;
    padding: 0px 0px 30px 0px;
  }
  .contactText01 {
    margin-bottom: 10px;
  }
  .contactPolicyIn {
    padding: 0px;
  }
  .contactBox01 {
    margin-top: 40px;
  }
  .contactBtnWrap01 {
    margin-top: 40px;
  }
  .contactPolicyBox01 {
    margin-top: 30px;
    text-align: center;
  }
}
/*------------------------------------
	確認
-------------------------------------*/
.contactH301 {
  font-size: 22px;
  line-height: 1.3em;
  font-weight: bold;
  margin-bottom: 15px;
}
.contactConf01 {}
.contactConf01 li {
  display: flex;
  align-items: center;
  border-top: 1px solid #C6C6C6;
  height: 86px;
  font-size: 16px;
  line-height: 1.6em;
  font-weight: normal;
}
.contactConf01 li:first-child {
  border-top: none;
}
.contactConf01 li .p01 {
  width: 186px;
}
.confirmBtnWrap {
  display: inline-flex;
}
/*------------------------*/
.contactButton02 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1px solid #012840;
  width: 270px;
  height: 48px;
  margin: auto;
  border-radius: 100px;
  color: #012840;
  font-size: 16px;
  line-height: 1.0em;
  font-weight: bold;
  cursor: pointer;
  margin-right: 16px;
}
.contactButton02:hover {
  background-color: #012840;
  color: #ffffff;
  transition-duration: 0.3s;
}
.contactButton02 span {
  display: inline;
  padding-left: 20px;
  position: relative;
}
.contactButton02 span::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #012840;
  border-right: solid 2px #012840;
  -ms-transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  position: absolute;
  top: 50%;
  left: 0px;
  margin-top: -4px;
}
.contactButton02:hover span::after {
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transition-duration: 0.3s;
}
@media screen and (max-width: 769px) {
  .contactConf01 li {
    display: block;
    height: auto;
    padding: 10px 0px 10px 0px;
  }
  .contactConf01 li .p01 {
    width: auto;
  }
  .confirmBtnWrap {
    display: block;
  }
  .contactButton02 {
    margin-right: auto;
    margin-bottom: 20px;
  }
}
/*------------------------------------
	完了
-------------------------------------*/
.contactBlock02 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  height: 440px;
  padding: 20px 20px 20px 20px;
}
.contactBlock02 p {
  font-size: 22px;
  line-height: 1.45em;
  font-weight: normal;
}
@media screen and (max-width: 769px) {
  .contactBlock02 {
    height: 240px;
  }
  .contactBlock02 p {
    font-size: 18px;
  }
}
/*------------------------------------
	軌道部門（ロングレール更換）
-------------------------------------*/
.trackCaseMainCont {
  box-sizing: border-box;
  padding: 50px;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
}
.trackCaseMainCont .trackCaseH101 {
  display: block;
  position: relative;
  padding: 0px;
}
.trackCaseH101In {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  color: #ffffff;
}
.trackCaseH101 .s01 {
  display: block;
  text-align: center;
}
.trackCaseH101 .s01 .sIn01 {
  display: inline-block;
  border: 2px solid #ffffff;
  padding: 10px 24px 10px 24px;
  font-size: 34px;
  line-height: 1.0em;
  font-weight: bold;
}
.trackCaseH101 .s01 .sIn02 {
  display: block;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 24px;
  line-height: 2.0em;
  font-weight: bold;
}
.trackCaseH101 .s02 {
  display: block;
  margin-left: 42px;
}
.trackCaseWrap {
  padding-top: 80px;
}
.caseWrap {}
.mm-navigation .trackCaseWrap .nav {
  padding-top: 0px;
  margin-bottom: 100px;
}
.mm-navigation .trackCaseWrap .nav .txt {
  padding: 20px 45px;
  top: -80px;
}
.trackCaseFlex01, .trackCaseFlex02 {
  display: flex;
  justify-content: space-between;
  margin: 80px auto 40px auto;
}
.trackCaseFlex01 {
  width: 1030px;
}
.trackCaseFlex02 {
  width: 670px;
}
.trackCaseBox01 {
  position: relative;
}
.trackCaseBox01::before {
  content: "";
  /*background: rgba(0, 144, 67, 0.7);*/
  /*background-image: url("/images/business/case/case-btnwrap01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;*/
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 0.3s;
}
/*.trackCaseBox01:hover::before {
	background-image: url("/images/business/case/case-btnwrap01.png");
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	transition-duration: 0.3s;
}
.trackCaseBox01.active::before {
	background-image: url("/images/business/case/case-btnwrap01.png");
}*/
.trackCaseBox01TextWrap {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  position: absolute;
  top: 0px;
  left: 0px;
  color: #ffffff;
  border-radius: 20px;
  background: rgba(0, 144, 67, 0.7);
  /*background-image: url("/images/business/case/case-btnwrap02.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;*/
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
/*.trackCaseBox01:hover::before {
	background: rgba(222, 222, 222, 0.8);
	border-radius: 20px;
}*/
.trackCaseBox01.active::before {
  background: rgba(222, 222, 222, 0.8);
  border-radius: 20px;
}
.trackCaseBox01:hover .trackCaseBox01TextWrap {
  opacity: 0;
}
.trackCaseBox01.active .trackCaseBox01TextWrap {
  background: none;
  opacity: 1;
}
.trackCaseBox01TextWrap .p01 {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 33px;
  line-height: 0.8em;
  font-weight: bold;
}
.trackCaseBox01TextWrap .p01 span {
  font-size: 15px;
}
.trackCaseBox01TextWrap .p02 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 40px;
  font-size: 13px;
  line-height: 1.4em;
  font-weight: bold;
}
@media screen and (max-width: 769px) {
  .trackCaseH101In {
    display: block;
    text-align: left;
  }
  .trackCaseH101 .s01 {
    display: inline-block;
  }
  .trackCaseMainCont {
    padding: 20px;
  }
  .trackCaseH101 .s01 .sIn01 {
    padding: 10px 10px 10px 10px;
    font-size: 18px;
  }
  .trackCaseH101 .s01 .sIn02 {
    font-size: 13px;
    line-height: 2.0em;
  }
  .trackCaseH101 .s02 {
    margin-left: 0px;
    font-size: 20px;
  }
  .trackCaseWrap {
    padding-top: 0px;
  }
  .caseWrap {}
  .mm-navigation .trackCaseWrap .nav {
    padding-top: 50px;
    margin-bottom: 0px;
  }
  .mm-navigation .trackCaseWrap:first-child .nav {
    padding-top: 0px;
  }
  .mm-navigation .trackCaseWrap .nav .txt {
    padding: 30px 20px;
    top: 0px;
  }
  /*-----------------------*/
  .trackCaseFlex01, .trackCaseFlex02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    margin: 40px auto 40px auto;
    padding: 0px 20px;
  }
  .trackCaseBox01 {
    position: relative;
    width: 100%;
    margin-bottom: 25px;
  }
  .trackCaseBox01 img {
    width: 100%;
    height: auto;
  }
  .trackCaseBox01::before {
    content: "";
    /*background-image: url("/images/business/case/case-btnwrap01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% 100%;*/
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    transition-duration: 0.3s;
  }
  /*.trackCaseBox01:hover::before {
		background-image: url("/images/business/case/case-btnwrap01.png");
			-webkit-transition: all 0.3s ease;
			-moz-transition: all 0.3s ease;
			-o-transition: all 0.3s ease;
			transition: all  0.3s ease;
		transition-duration: 0.3s;
	}
	.trackCaseBox01.active::before {
		background-image: url("/images/business/case/case-btnwrap01.png");
	}*/
  .trackCaseBox01TextWrap {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #ffffff;
  }
  .trackCaseBox01TextWrap .p01 {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 33px;
    line-height: 0.8em;
    font-weight: bold;
  }
  .trackCaseBox01TextWrap .p01 span {
    font-size: 15px;
  }
  .trackCaseBox01TextWrap .p02 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 40px;
    font-size: 13px;
    line-height: 1.4em;
    font-weight: bold;
  }
}
/*------------------------------------
	新卒 募集要項・採用フロー
-------------------------------------*/
a:hover img.hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transition-duration: 0.3s;
}
a.hover:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transition-duration: 0.3s;
}
.hover:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  transition-duration: 0.3s;
}
/*---------------------------*/
.fontFamilyMontserrat {
  font-family: 'Montserrat', Arial, sans-serif;
}
.detailBlock01 {
  width: auto;
  max-width: 1080px;
  margin: 100px auto 100px auto;
}
.detailH201 {
  text-align: center;
  margin-bottom: 50px;
}
.detailH201 .s01 {
  display: block;
  font-size: 30px;
  line-height: 1.6em;
  font-weight: bold;
}
.detailH201 .s02 {
  display: block;
  color: #009043;
  font-size: 20px;
  line-height: 1.6em;
  font-weight: bold;
  margin-top: 10px;
}
.detailTable01 {
  border: none;
}
.detailTable01 th {
  border-left: none;
}
.detailTable01 td {
  border-left: none;
}
.detailTable01 tr:first-child th {
  border-top: none;
}
.detailTable01 tr:first-child td {
  border-top: none;
}
.detailFlowWrap {
  text-align: center;
}
.detailFlowFlex01 {
  display: inline-flex;
  margin: 10px auto 35px auto;
}
.detailFlowFlex01 li {
  margin-left: 44px;
}
.detailFlowFlex01 li:first-child {
  margin-left: 0px;
}
.detailFlowFlex01 li .p01 {
  color: #009043;
  font-size: 18px;
  line-height: 1.6em;
  margin-bottom: 15px;
}
.detailFlowFlex01 li .box01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 135px;
  height: 135px;
  border: 1px solid #C7C7C7;
  border-radius: 200px;
  font-size: 14px;
  line-height: 1.4em;
}
.detailFlowFlex01 li .box01::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 13px;
  border-color: transparent transparent transparent #009043;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  left: -30px;
}
.detailFlowFlex01 li:first-child .box01::before {
  display: none;
}
.detailLink01 {}
a.detailLink01:link {
  color: #004BB1;
  text-decoration: underline;
}
a.detailLink01:visited {
  color: #004BB1;
  text-decoration: underline;
}
a.detailLink01:hover {
  color: #004BB1;
  text-decoration: none;
}
a.detailLink01:active {
  color: #004BB1;
  text-decoration: none;
}
.detailFlowFlex02 {
  display: flex;
  justify-content: space-between;
  width: 630px;
  margin: 90px auto 0px auto;
}
.entryWrap {
  margin: 80px 0 0;
  text-align: center;
}
.detailFlowFlex03 {
  display: flex;
  justify-content: space-between;
  width: 630px;
  margin: 30px auto 0px auto;
  flex-wrap: wrap;
  gap: 32px;
}
.detailFlowBox01 {
  width: 240px;
  text-align: center;
  margin: auto;
}
.detailFlowBox01 .p01 {
  font-size: 16px;
  line-height: 1.6em;
  font-weight: normal;
  margin-bottom: 18px;
}
/*---------------------*/
.detailTextWrap01 {
  text-align: center;
  margin: 100px auto 55px auto;
}
.detailBtnWrap01 {
  text-align: center;
  margin: 70px auto 0px auto;
}
/*---------------------*/
.bgWh01 {
  padding: 1px 0px;
  background-color: #ffffff;
}
@media screen and (max-width: 769px) {
  .fontFamilyMontserrat {
    font-family: 'Montserrat', Arial, sans-serif;
  }
  .detailBlock01 {
    width: auto;
    max-width: 1080px;
    margin: 50px auto 50px auto;
  }
  .detailH201 {
    text-align: center;
    margin-bottom: 30px;
  }
  .detailH201 .s01 {
    display: block;
    font-size: 22px;
    line-height: 1.6em;
    font-weight: bold;
  }
  .detailH201 .s02 {
    display: block;
    color: #009043;
    font-size: 16px;
    line-height: 1.6em;
    font-weight: bold;
    margin-top: 10px;
  }
  .detailTable01 {
    border: none;
    width: 100%;
  }
  .detailTable01 th {
    border-left: none;
  }
  .detailTable01 td {
    border-left: none;
  }
  .detailTable01 tr:first-child th {
    border-top: none;
  }
  .detailTable01 tr:first-child td {
    border-top: none;
  }
  .detailFlowWrap {
    text-align: center;
    width: 100%;
    overflow: auto;
  }
  .detailFlowFlex01 {
    /*display: inline-flex;*/
    display: block;
    margin: 10px auto 35px auto;
  }
  .detailFlowFlex01 li {
    margin-left: 0px;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
  }
  .detailFlowFlex01 li:first-child {
    margin-left: 0px;
  }
  .detailFlowFlex01 li .p01 {
    color: #009043;
    font-size: 18px;
    line-height: 1.6em;
    margin-bottom: 15px;
    width: 30%;
    text-align: center;
  }
  .detailFlowFlex01 li .box01 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border: 1px solid #C7C7C7;
    border-radius: 200px;
    font-size: 13px;
    line-height: 1.4em;
    margin: auto;
  }
  .detailFlowFlex01 li .box01::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px 10px 0 10px;
    border-color: #009043 transparent transparent transparent;
    position: absolute;
    top: -22px;
    margin-top: 0px;
    left: 50%;
    margin-left: -10px;
  }
  .detailFlowFlex01 li:first-child .box01::before {
    display: none;
  }
  .detailLink01 {}
  a.detailLink01:link {
    color: #004BB1;
    text-decoration: underline;
  }
  a.detailLink01:visited {
    color: #004BB1;
    text-decoration: underline;
  }
  a.detailLink01:hover {
    color: #004BB1;
    text-decoration: none;
  }
  a.detailLink01:active {
    color: #004BB1;
    text-decoration: none;
  }
  .detailFlowFlex02 {
    display: block;
    justify-content: space-between;
    width: auto;
    margin: 20px auto 0px auto;
  }
  .detailFlowFlex03 {
    display: block;
    justify-content: space-between;
    width: auto;
    margin: 40px auto 0px auto;
  }
  .detailFlowBox01 {
    width: auto;
    text-align: center;
    margin-bottom: 40px;
  }
  .detailFlowBox01 .p01 {
    font-size: 16px;
    line-height: 1.6em;
    font-weight: normal;
    margin-bottom: 18px;
  }
  /*---------------------*/
  .detailTextWrap01 {
    text-align: center;
    margin: 40px auto 55px auto;
  }
  .detailBtnWrap01 {
    text-align: center;
    margin: 70px auto 0px auto;
  }
}
/*------------------------------------
	技術者育成ステップ
-------------------------------------*/
.detailBtnWrap02 {
  text-align: center;
  margin-top: 90px;
}
.detailAncBtnWrap01 {
  display: inline-flex;
}
.detailAncBtnWrap01 li {
  padding: 0px 35px 0px 35px;
}
.detailAncBtn01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 85px;
  background-color: #0E5380;
  border: 2px solid #0E5380;
  border-radius: 100px;
}
a.detailAncBtn01:link {
  color: #ffffff;
  text-decoration: none;
}
a.detailAncBtn01:visited {
  color: #ffffff;
  text-decoration: none;
}
a.detailAncBtn01:hover {
  color: #0E5380;
  background-color: #ffffff;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a.detailAncBtn01:active {
  color: #ffffff;
  text-decoration: none;
}
.detailAncBtn01::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -5px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.detailAncBtn01:hover::after {
  border-top: solid 2px #0E5380;
  border-right: solid 2px #0E5380;
}
.detailAncBtn01.btn02:hover::after {
  border-top: solid 2px #583E0D;
  border-right: solid 2px #583E0D;
}
.detailAncBtn01 .p01 {
  font-size: 28px;
  line-height: 1.0em;
  font-weight: bold;
}
.detailAncBtn01 .p02 {
  font-size: 16px;
  line-height: 1.5em;
  font-weight: bold;
}
.detailAncBtn01.btn02 {
  background-color: #583E0D;
  border: 2px solid #583E0D;
}
a.detailAncBtn01.btn02:hover {
  color: #583E0D;
  background-color: #ffffff;
}
.detailStepWrap01 {
  margin-top: 130px;
}
.detailStepTopFlex01 {
  display: flex;
  align-items: center;
}
.detailStepTop01 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 440px;
  height: 60px;
  background-color: #0E5380;
  border-radius: 20px 20px 0px 0px;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.3em;
  font-weight: bold;
}
.detailStepTop01.top02 {
  background-color: #583E0D;
}
.detailStepTop01 span {
  font-size: 16px;
}
.detailStepTop02 {
  margin-left: 45px;
}
.detailStepText01 {
  font-size: 18px;
  line-height: 1.6em;
  font-weight: bold;
}
.detailCol01 {
  color: #3FAF99;
}
.detailCol02 {
  color: #2A7F9F;
}
.detailCol03 {
  color: #917E60;
}
.detailCol04 {
  color: #A5532F;
}
.detailStepGraffBox01 {
  width: calc(((100vw - 1080px) / 2) + 1080px);
  overflow: auto;
  padding: 0px 0px 20px 0px;
}
.geaffImgWrap01 img {
  width: 1648px;
  height: auto;
  max-width: 2000px;
}
.detailStepUl01 {}
.detailStepUl01 li {
  background-color: #ffffff;
  display: flex;
  align-items: center;
  margin-top: 15px;
}
.detailStepBox01 {
  background-color: #DFE2E0;
  position: relative;
  margin-right: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 30px;
}
.detailStepBox01::after {
  content: "";
  background-image: url("/images/recruit/step/step_bg_ar01.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% 100%;
  width: 14px;
  height: 100%;
  position: absolute;
  top: 0px;
  right: -14px;
}
.detailStepBox02 {
  font-size: 16px;
  line-height: 1.4em;
  font-weight: normal;
}
@media screen and (max-width: 769px) {
  .detailBtnWrap02 {
    text-align: center;
    margin-top: 40px;
  }
  .detailAncBtnWrap01 {
    display: block;
  }
  .detailAncBtnWrap01 li {
    padding: 0px 0px 0px 0px;
    margin-bottom: 25px;
  }
  .detailAncBtn01 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%;
    height: 65px;
    background-color: #0E5380;
    border: 2px solid #0E5380;
    border-radius: 100px;
    margin: auto;
  }
  a.detailAncBtn01:link {
    color: #ffffff;
    text-decoration: none;
  }
  a.detailAncBtn01:visited {
    color: #ffffff;
    text-decoration: none;
  }
  a.detailAncBtn01:hover {
    color: #0E5380;
    background-color: #ffffff;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  a.detailAncBtn01:active {
    color: #ffffff;
    text-decoration: none;
  }
  .detailAncBtn01::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -4px;
  }
  .detailAncBtn01 .p01 {
    font-size: 20px;
    line-height: 1.0em;
    font-weight: bold;
  }
  .detailAncBtn01 .p02 {
    font-size: 12px;
    line-height: 1.5em;
    font-weight: bold;
  }
  .detailAncBtn01.btn02 {
    background-color: #583E0D;
    border: 2px solid #583E0D;
  }
  a.detailAncBtn01.btn02:hover {
    color: #583E0D;
    background-color: #ffffff;
  }
  .detailStepWrap01 {
    margin-top: 65px;
  }
  .detailStepTopFlex01 {
    display: flex;
    align-items: center;
  }
  .detailStepTop01 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    box-sizing: border-box;
    padding: 2px 14px 2px 14px;
    width: 100%;
    height: 46px;
    background-color: #0E5380;
    border-radius: 20px 20px 0px 0px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.3em;
    font-weight: bold;
  }
  .detailStepTop01.top02 {
    background-color: #583E0D;
  }
  .detailStepTop01 span {
    font-size: 12px;
  }
  .detailStepTop02 {
    margin-left: 45px;
    display: none;
  }
  .detailStepText01 {
    font-size: 12px;
    line-height: 1.6em;
    font-weight: bold;
    text-align: right
  }
  .detailCol01 {
    color: #3FAF99;
  }
  .detailCol02 {
    color: #2A7F9F;
  }
  .detailCol03 {
    color: #917E60;
  }
  .detailCol04 {
    color: #A5532F;
  }
  .detailStepGraffBox01 {
    width: calc(100vw - 10px);
    overflow: auto;
    padding: 0px 0px 20px 0px;
  }
  .geaffImgWrap01 img {
    /*width: 1648px;*/
    width: 1136px;
    height: auto;
    max-width: 2000px;
  }
  .detailStepUl01 {
    display: flex;
    justify-content: space-between;
  }
  .detailStepUl01 li {
    background-color: #ffffff;
    display: block;
    margin-top: 15px;
    width: 31%;
  }
  .detailStepBox01 {
    background-color: #DFE2E0;
    position: relative;
    margin-right: 0px;
    margin-bottom: 26px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 30px;
  }
  .detailStepBox01::after {
    content: "";
    background-image: url("/images/recruit/step/step_bg_ar01_sp.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 100%;
    width: 100%;
    height: 18px;
    position: absolute;
    top: auto;
    right: auto;
    left: 0px;
    bottom: -18px;
  }
  .detailStepBox02 {
    font-size: 12px;
    line-height: 1.4em;
    font-weight: normal;
    padding: 0px 4px 10px 5px;
  }
}
/*------------------------------------
	土木部門
-------------------------------------*/
.civilFlex03 {
  width: auto;
  max-width: 930px;
  margin: auto;
}
.mm-imgset ul.civilFlex03 li {
  width: 29%;
  margin-right: 2.1%;
  margin-left: 2.1%;
}
.detailTyusyaku01 {
  font-size: 14px !important;
  line-height: 1.3em;
  font-weight: bold;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
@media screen and (max-width: 769px) {
  .civilFlex03 {
    width: auto;
    max-width: 930px;
    margin: auto;
    justify-content: space-between !important;
  }
  .mm-imgset ul.civilFlex03 li {
    width: calc(50% - 15px);
    margin-right: 0px;
    margin-left: 0px;
  }
}
/*------------------------------------
	本社部門
-------------------------------------*/
.detailHeadFlex01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.detailHeadFlex01 li {
  text-align: left;
  box-sizing: border-box;
  width: 48%;
  background-color: #ffffff;
  border-radius: 30px;
  padding: 40px 50px 40px 50px;
  margin-top: 65px;
}
.detailHeadFlex01 li:nth-child(1) {
  margin-top: 0px;
}
.detailHeadFlex01 li:nth-child(2) {
  margin-top: 0px;
}
.detailHeadFlex01 li .img01 {
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 18px;
}
.detailHeadDl01 dt {
  color: #009043;
  font-size: 18px;
  line-height: 1.6em;
  font-weight: bold;
  margin-bottom: 12px;
}
.detailHeadDl01 dd {
  font-size: 15px;
  line-height: 1.7em;
  font-weight: normal;
}
.dummybox {
  aspect-ratio: 400 / 267;
  margin-bottom: 18px;
}
.detailHeadFlex01 li .img01 img{
  width: 100%;
}
@media screen and (max-width: 769px) {
  .detailHeadFlex01 {
    display: block;
  }
  .detailHeadFlex01 li {
    text-align: left;
    box-sizing: border-box;
    width: auto;
    background-color: #ffffff;
    border-radius: 30px;
    padding: 20px 30px 20px 30px;
    margin-top: 40px;
  }
  .detailHeadFlex01 li:nth-child(1) {
    margin-top: 0px;
  }
  .detailHeadFlex01 li:nth-child(2) {
    margin-top: 40px;
  }
  .detailHeadFlex01 li .img01 {
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 18px;
  }
  .detailHeadDl01 dt {
    color: #009043;
    font-size: 16px;
    line-height: 1.6em;
    font-weight: bold;
    margin-bottom: 12px;
  }
  .detailHeadDl01 dd {
    font-size: 13px;
    line-height: 1.7em;
  }
  .dummybox {
    aspect-ratio: 400 / 267;
    margin-bottom: 0px;
  }
}
/*------------------------------------
	福利厚生・制度
-------------------------------------*/
.detailBenefitsFlex01 {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  max-width: 1020px;
  margin: auto;
}
.detailBenefitsFlex01 li {
  box-sizing: border-box;
  width: 50%;
  padding-right: 30px;
  display: flex;
  align-items: center;
  margin-bottom: 54px;
}
.benefitsIcon01 {
  background-color: #ffffff;
  width: 168px;
  height: 168px;
  border-radius: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.benefitsIcon01 img {
  width: 84px;
  height: auto;
}
.benefitsBox01 {
  padding-left: 22px;
}
.benefitsDl01 dt {
  font-size: 16px;
  line-height: 1.37em;
  font-weight: bold;
  margin-bottom: 7px;
}
.benefitsDl01 dd {
  font-size: 16px;
  line-height: 1.5em;
  font-weight: normal;
}
@media screen and (max-width: 769px) {
  .detailBenefitsFlex01 {
    display: block;
  }
  .detailBenefitsFlex01 li {
    box-sizing: border-box;
    width: auto;
    padding-right: 0px;
    display: flex;
    align-items: center;
    margin-bottom: 40px;
  }
  .benefitsIcon01 {
    background-color: #ffffff;
    width: 84px;
    height: 84px;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .benefitsIcon01 img {
    width: 42px;
    height: auto;
  }
  .benefitsBox01 {
    padding-left: 15px;
  }
  .benefitsDl01 dt {
    font-size: 14px;
    line-height: 1.37em;
    font-weight: bold;
    margin-bottom: 4px;
  }
  .benefitsDl01 dd {
    font-size: 14px;
    line-height: 1.5em;
    font-weight: normal;
  }
}
/*------------------------------------
	若手社員の声
-------------------------------------*/
/*------モーダルウィンドウ用---------------------------------------*/
#modal-win {
  width: 100%;
  position: absolute;
  text-align: center;
}
#modal-win-inner {
  display: inline-block;
  /*box-shadow: 0 0 5px rgba(0, 0, 0, .25);*/
  width: auto;
  margin: 0 auto;
  position: relative;
  z-index: 99991;
  /*height: 90vh !important;
	overflow: auto;*/
}
#modal-bg {
  width: 100%;
  height: 100%;
  background-color: #009043;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99990;
  cursor: pointer;
  opacity: 1 !important;
}
.click {
  display: none;
}
.clickWrap {}
.clickClose {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
}
.clickClose img {
  width: 32px;
  height: auto;
}
/*------モーダルウィンドウ用　ここまで---------------------------------------*/
.detailBlock02 {
  margin: 75px auto 80px auto;
}
.voiceText01 {
  font-size: 20px;
  line-height: 1.4em;
  font-weight: bold;
}
.detailVoiceFlex01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.detailVoiceBox01 {
  box-sizing: border-box;
  width: 590px;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 40px 40px 50px 40px;
  margin-bottom: 20px;
}
.detailVoiceBox01.widt100 {
  width: 100%;
}
.detailVoiceTit01 {
  display: flex;
  align-items: center;
}
.detailVoiceTit01 .p01 {
  color: #ffffff;
  font-size: 20px;
  line-height: 1.0em;
  font-weight: bold;
  background-color: #012840;
  width: 54px;
  height: 54px;
  border-radius: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.detailVoiceTit01 .box01 {
  padding-left: 10px;
}
.detailVoiceTit01 .h301 {
  font-size: 20px;
  line-height: 1.3em;
  font-weight: bold;
}
.detailVoiceTit01 .p02 {
  font-size: 14px;
  line-height: 1.6em;
  font-weight: bold;
}
.voiceImg01 {
  width: auto;
  height: 21px;
}
.detailVoiceImgBox01 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 450px;
  margin-bottom: 25px;
}
.voiceImgWrap01 {
  position: relative;
}
/*------------------------*/
.voiceImgWrap01 .img01 img {
  width: 353px;
  height: auto;
}
.voiceImgWrap01 .img01_02 {
  position: absolute;
  bottom: 147px;
  left: 4px;
  transition-delay: 0.5s;
}
.voiceImgWrap01 .img01_02 img {
  width: 340px;
  height: auto;
}
.voiceImgWrap01 .img02 {
  margin-bottom: 30px;
}
.voiceImgWrap01 .img02 img {
  width: 356px;
  height: auto;
}
.voiceImgWrap01 .img02_02 {
  position: absolute;
  top: 0px;
  left: 88px;
  transition-delay: 0.5s;
}
.voiceImgWrap01 .img02_02 img {
  width: 272px;
  height: auto;
}
.voiceImgWrap01 .img03 img {
  width: 470px;
  height: auto;
}
.voiceImgWrap01 .img03_02 {
  position: absolute;
  bottom: 6px;
  left: 192px;
  transition-delay: 0.5s;
}
.voiceImgWrap01 .img03_02 img {
  width: 277px;
  height: auto;
}
.voiceImgWrap01 .img04 {
  margin-bottom: 30px;
}
.voiceImgWrap01 .img04 img {
  width: 470px;
  height: auto;
}
.voiceImgWrap01 .img04_02 {
  position: absolute;
  top: 40px;
  left: 138px;
  transition-delay: 0.5s;
}
.voiceImgWrap01 .img04_02 img {
  width: 333px;
  height: auto;
}
/*------------------------*/
.modalContWrap01 {
  width: 500px;
  margin: auto;
  color: #ffffff;
  text-align: left;
}
.modalContWrap01 .detailVoiceTit01 .p01 {
  color: #009043;
  background-color: #ffffff;
}
.modalDl01 {
  margin-top: 50px;
}
.modalDl01 dt {
  display: inline-block;
  font-size: 18px;
  line-height: 1.44em;
  font-weight: bold;
  border: 2px solid #FFFFFF;
  padding: 2px 5px;
  margin-bottom: 9px;
}
.modalDl01 dd {
  font-size: 14px;
  line-height: 1.7em;
  font-weight: bold;
}
.mm-btn.voiceBtn01 a {
  border: solid 2px #012840;
  background: #012840;
  color: #fff;
}
.mm-btn.voiceBtn01 a:hover {
  background: #ffffff;
  color: #012840;
}
.mm-btn.voiceBtn01 a:hover::after {
  border-top: solid 2px #012840;
  border-right: solid 2px #012840;
}
/*------------------------*/
.voiceFlex01 {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0px auto;
}
.voiceFlex01 li {
  width: 202px;
  margin: auto;
  position: relative;
}
.voiceFlex01 li .img01 img {
  width: 100%;
  height: auto;
}
/*------------------*/
.voiceGrafImg01 {
  position: absolute;
  left: 10px;
  bottom: 44px;
  transition-delay: 0.5s;
}
.voiceGrafImg01 img {
  width: 191px;
  height: auto;
}
.voiceGrafImg02 {
  position: absolute;
  left: 0px;
  bottom: 24px;
  transition-delay: 0.5s;
}
.voiceGrafImg02 img {
  width: 199px;
  height: auto;
}
.voiceGrafImg03 {
  position: absolute;
  left: 1px;
  bottom: 5px;
  transition-delay: 0.5s;
}
.voiceGrafImg03 img {
  width: 198px;
  height: auto;
}
/*------------------*/
.voiceMessageWrap01 {
  background-color: #009043;
  padding: 90px 0px 90px 0px;
}
.detailH201.colWh01 .s01, .detailH201.colWh01 .s02 {
  color: #ffffff;
}
.voiceBlock01 {
  width: 900px;
  margin: auto;
  padding: 1px 0px;
}
.voiceMessageBox01 {
  background-color: #ffffff;
  display: flex;
  align-items: center;
  border-radius: 16px;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding: 5px 28px 5px 28px;
  margin-top: 12px;
}
.flexReverse {
  flex-direction: row-reverse;
}
.voiceFlexBox01 {
  flex-shrink: 0;
  width: 84px;
}
.voiceFlexBox01 img {
  width: 100%;
  height: auto;
}
.voiceFlexBox02 {
  font-size: 16px;
  line-height: 1.5em;
  font-weight: bold;
  color: #009043;
  padding: 20px 0px 20px 20px;
}
.flexReverse .voiceFlexBox02 {
  padding-left: 0px;
  padding-right: 20px;
}
.voiceAcWrap01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #FFFFFF;
  border-radius: 100px;
  width: 270px;
  height: 48px;
  margin: 30px auto 30px auto;
  color: #ffffff;
  font-size: 16px;
  line-height: 1, 4em;
  font-weight: bold;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  background-color: #009043;
}
.voiceAcWrap01:hover {
  color: #009043;
  background-color: #ffffff;
}
.voiceAcWrap01 p {
  display: inline-block;
  position: relative;
  padding-right: 20px;
}
.voiceAcWrap01 p::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -5px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.voiceAcWrap01:hover p::after {
  border-top: solid 2px #009043;
  border-right: solid 2px #009043;
}
.acContWrap01 {
  display: none;
}
@media screen and (max-width: 769px) {
  /*------モーダルウィンドウ用---------------------------------------*/
  #modal-win {
    width: 100%;
    position: absolute;
    text-align: center;
  }
  #modal-win-inner {
    display: inline-block;
    /*box-shadow: 0 0 5px rgba(0, 0, 0, .25);*/
    width: auto;
    margin: 0 auto;
    position: relative;
    z-index: 99991;
    /*height: 90vh !important;
		overflow: auto;*/
    padding-top: 60px;
  }
  #modal-bg {
    width: 100%;
    height: 100%;
    background-color: #009043;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99990;
    cursor: pointer;
    opacity: 1 !important;
  }
  .click {
    display: none;
  }
  .clickWrap {}
  .clickClose {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
  }
  .clickClose img {
    width: 32px;
    height: auto;
  }
  /*------モーダルウィンドウ用　ここまで---------------------------------------*/
  .detailBlock02 {
    margin: 50px auto 40px auto;
  }
  .voiceText01 {
    font-size: 20px;
    line-height: 1.4em;
    font-weight: bold;
  }
  .detailVoiceFlex01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .detailVoiceBox01 {
    box-sizing: border-box;
    width: 590px;
    background-color: #ffffff;
    border-radius: 20px;
    padding: 40px 40px 50px 40px;
    margin-bottom: 20px;
  }
  .detailVoiceBox01.widt100 {
    width: 100%;
  }
  .detailVoiceTit01 {
    display: flex;
    align-items: center;
  }
  .detailVoiceTit01 .p01 {
    color: #ffffff;
    font-size: 20px;
    line-height: 1.0em;
    font-weight: bold;
    background-color: #012840;
    width: 54px;
    height: 54px;
    border-radius: 100px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .detailVoiceTit01 .box01 {
    padding-left: 10px;
  }
  .detailVoiceTit01 .h301 {
    font-size: 16px;
    line-height: 1.3em;
    font-weight: bold;
  }
  .detailVoiceTit01 .p02 {
    font-size: 14px;
    line-height: 1.6em;
    font-weight: bold;
    text-align: right;
  }
  .voiceImg01 {
    width: 100%;
    height: auto;
  }
  .detailVoiceImgBox01 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: auto;
    margin-bottom: 25px;
    padding: 60px 0px 30px 0px;
  }
  .voiceImgWrap01 {
    position: relative;
  }
  /*------------------------*/
  .voiceImgWrap01 .img01 img {
    width: 353px;
    height: auto;
  }
  .voiceImgWrap01 .img01_02 {
    position: absolute;
    bottom: 40.6%;
    left: 0px;
    transition-delay: 0.5s;
  }
  .voiceImgWrap01 .img01_02 img {
    width: auto;
    /*max-width: 300px;*/
    height: auto;
  }
  .voiceImgWrap01 .img02 {
    margin-bottom: 30px;
  }
  .voiceImgWrap01 .img02 img {
    width: 356px;
    height: auto;
  }
  .voiceImgWrap01 .img02_02 {
    position: absolute;
    top: 0px;
    left: 24.5%;
    transition-delay: 0.5s;
  }
  .voiceImgWrap01 .img02_02 img {
    width: 272px;
    height: auto;
  }
  .voiceImgWrap01 .img03 img {
    width: 470px;
    height: auto;
  }
  .voiceImgWrap01 .img03_02 {
    position: absolute;
    bottom: 6px;
    left: 41%;
    transition-delay: 0.5s;
  }
  .voiceImgWrap01 .img03_02 img {
    width: 277px;
    height: auto;
  }
  .voiceImgWrap01 .img04 {
    margin-bottom: 30px;
  }
  .voiceImgWrap01 .img04 img {
    width: 470px;
    height: auto;
  }
  .voiceImgWrap01 .img04_02 {
    position: absolute;
    top: 9%;
    left: auto;
    right: 5%;
    transition-delay: 0.5s;
    width: 39%
  }
  .voiceImgWrap01 .img04_02 img {
    width: auto;
    height: auto;
  }
  /*------------------------*/
  .modalContWrap01 {
    width: 90%;
    margin: auto;
    color: #ffffff;
    text-align: left;
  }
  .modalContWrap01 .detailVoiceTit01 .p01 {
    color: #009043;
    background-color: #ffffff;
  }
  .modalDl01 {
    margin-top: 50px;
  }
  .modalDl01 dt {
    display: inline-block;
    font-size: 18px;
    line-height: 1.44em;
    font-weight: bold;
    border: 2px solid #FFFFFF;
    padding: 2px 5px;
    margin-bottom: 9px;
  }
  .modalDl01 dd {
    font-size: 14px;
    line-height: 1.7em;
    font-weight: bold;
  }
  .mm-btn.voiceBtn01 a {
    border: solid 2px #012840;
    background: #012840;
    color: #fff;
  }
  .mm-btn.voiceBtn01 a:hover {
    background: #ffffff;
    color: #012840;
  }
  .mm-btn.voiceBtn01 a:hover::after {
    border-top: solid 2px #012840;
    border-right: solid 2px #012840;
  }
  /*------------------------*/
  .voiceFlex01 {
    display: block;
    margin: 40px auto 0px auto;
  }
  .voiceFlex01 li {
    margin: auto auto 30px auto;
    position: relative;
    width: 73%;
  }
  .voiceFlex01 li .img01 img {
    width: auto;
    height: auto;
    margin: auto;
  }
  /*------------------*/
  .voiceGrafImg01 {
    position: absolute;
    left: 10px;
    bottom: 44px;
    transition-delay: 0.5s;
  }
  .voiceGrafImg01 img {
    width: 191px;
    height: auto;
  }
  .voiceGrafImg02 {
    position: absolute;
    left: 10px;
    bottom: 16px;
    transition-delay: 0.5s;
  }
  .voiceGrafImg02 img {
    width: 199px;
    height: auto;
  }
  .voiceGrafImg03 {
    position: absolute;
    left: 1px;
    bottom: 5px;
    transition-delay: 0.5s;
  }
  .voiceGrafImg03 img {
    width: 198px;
    height: auto;
  }
  /*------------------*/
  .voiceMessageWrap01 {
    background-color: #009043;
    padding: 40px 0px 40px 0px;
  }
  .detailH201.colWh01 .s01, .detailH201.colWh01 .s02 {
    color: #ffffff;
  }
  .voiceBlock01 {
    width: auto;
    margin: auto;
    padding: 1px 0px;
  }
  .voiceMessageBox01 {
    background-color: #ffffff;
    display: block;
    align-items: center;
    border-radius: 16px;
    box-sizing: border-box;
    width: auto;
    height: auto;
    padding: 46px 20px 20px 20px;
    margin-top: 70px;
    position: relative;
  }
  .voiceMessageBox01.flexReverse {
    flex-direction: row-reverse;
  }
  .voiceFlexBox01 {
    flex-shrink: 0;
    width: 84px;
    position: absolute;
    left: 50%;
    margin-left: -42px;
    top: -42px;
  }
  .voiceFlexBox01 img {
    width: 100%;
    height: auto;
  }
  .voiceFlexBox02 {
    font-size: 16px;
    line-height: 1.5em;
    font-weight: bold;
    color: #009043;
    padding-left: 20px;
  }
  .flexReverse .voiceFlexBox02 {
    padding-left: 0px;
    padding-right: 20px;
  }
  .voiceAcWrap01 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #FFFFFF;
    border-radius: 100px;
    width: 270px;
    height: 48px;
    margin: 30px auto 30px auto;
    color: #ffffff;
    font-size: 16px;
    line-height: 1, 4em;
    font-weight: bold;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
    background-color: #009043;
  }
  .voiceAcWrap01:hover {
    color: #009043;
    background-color: #ffffff;
  }
  .voiceAcWrap01 p {
    display: inline-block;
    position: relative;
    padding-right: 20px;
  }
  .voiceAcWrap01 p::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 0px;
    margin-top: -5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .voiceAcWrap01:hover p::after {
    border-top: solid 2px #009043;
    border-right: solid 2px #009043;
  }
  .acContWrap01 {
    display: none;
  }
}
/*------------------------------------
社員インタビュー
-------------------------------------*/
.interviewMainBox01 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}
.interviewMainBoxIn {
  width: auto;
  max-width: 1130px;
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center;
}
.interviewMainCont01 {
  text-align: left;
  background-color: #ffffff;
  padding: 40px 60px 40px 60px;
}
.interviewMainCont01 .en-midashi {
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 700;
  font-size: 60px;
  color: #009043;
  line-height: 1;
  margin-bottom: 18px;
}
.interviewMainCont01 .category {
  margin: 0 1em 0 0;
  padding: 0 1em;
  border: solid 1px #000;
  display: inline-block;
}
.interviewMainCont01 .category_wrap {
  display: flex;
  width: 100%;
}
.interviewMainCont01 .place {
  display: inline;
}
.interviewMainCont01 .name {
  font-size: 52px;
  font-weight: 400;
}
/*-------------------------*/
.mm-navigation.interview .nav .txt {
  width: 700px;
  max-width: 770px;
}
.mm-navigation.interview .nav .txt .title {
  font-size: 26px;
}
.mm-navigation.interview .nav .txt p {
  margin-top: 2.0em;
}
.interviewBox01 {
  box-sizing: border-box;
  position: relative;
  padding: 40px;
  border-radius: 30px;
  background: #fff;
  color: #012840;
  margin-bottom: 77px;
}
.interviewH301 {
  font-size: 26px;
  line-height: calc(36 / 28);
  letter-spacing: 0.1em;
  color: #009043;
}
.interviewH301 .s01 {
  font-size: 20px;
  margin-left: 26px;
}
.interviewH301 .s02 {
  color: #012840;
  font-size: 20px;
}
.interviewText01 {
  margin-top: 2.0em;
}
.interviewFlex01 {
  display: flex;
  justify-content: space-between;
}
.interviewFlexBox01 {
  width: 58%;
}
.interviewFlexBox02 {
  display: flex;
  justify-content: space-between;
  width: 38%;
}
.interviewImg01 {
  width: 46%;
}
.interviewImg01 img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.interviewFlex02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.interviewFlexBox03 {
  width: 58%;
}
.interviewFlexBox04 {
  width: 37%;
  flex-shrink: 0;
}
.interviewFlexBox04 img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.interviewBlock01 {
  margin: 110px auto 110px auto;
}
/*-----------------------*/
.interviewBox02 {
  overflow: hidden;
  border: 3px solid #012840;
  border-radius: 30px;
  margin-top: 50px;
}
.interviewBox02 .h301 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #012840;
  height: 88px;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.3em;
  font-weight: bold;
}
.interviewBox02In {
  position: relative;
  padding: 50px 50px 40px 50px;
}
.interviewSchFlex01 {
  display: flex;
  justify-content: space-between;
}
.interviewSchBox01Wrap {
  margin: 0px auto 0px auto;
}
.interviewSchBox01 {
  position: relative;
}
.interviewSchBox01::after {
  content: "";
  width: 2px;
  height: calc(100% - 80px);
  background-color: #939393;
  position: absolute;
  top: 20px;
  left: 98px;
}
.interviewSchBox01::before {
  content: "";
  width: 1px;
  height: 100%;
  border-left: 2px dotted #939393;
  position: absolute;
  bottom: -25px;
  left: 98px;
}
.interviewSchBox01.box02 {
  padding-top: 70px;
}
.interviewSchBox01.box02::after {
  content: "";
  width: 2px;
  height: calc(100% - 130px);
  background-color: #939393;
  position: absolute;
  top: 70px;
  left: 98px;
}
.interviewSchBox01.box02::before {
  content: "";
  width: 1px;
  height: 100px;
  border-left: 2px dotted #939393;
  position: absolute;
  bottom: auto;
  left: 98px;
  top: 0px;
}
.interviewDl01 {
  position: relative;
  display: flex;
}
.interviewDl01 dt {
  font-size: 24px;
  line-height: 1.5em;
  font-weight: bold;
  text-align: right;
  width: 72px;
  height: 80px;
  margin-right: 54px;
  position: relative;
}
.interviewDl01 dt::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #939393;
  border-radius: 40px;
  position: absolute;
  top: 13px;
  right: -34px;
}
.interviewDl01 dt.afterNone::after {
  display: none;
}
.interviewDl01 dd {
  font-size: 24px;
  line-height: 1.5em;
  font-weight: bold;
  height: auto;
  padding-bottom: 16px;
}
.interviewDl01 dd .p01 {
  font-size: 20px;
  font-weight: normal;
  color: #000000;
}
.interviewSchCont01 {
  position: absolute;
  bottom: 40px;
  right: 40px;
  display: flex;
  align-items: flex-end;
  /*flex-wrap: wrap;*/
}
.interviewSchCont01 .img01 {
  margin-right: 60px;
  /*flex-shrink: 0;*/
}
.interviewSchCont01 .img01 img {
  width: 212px;
  height: auto;
}
.interviewSchCont01 .box01 {
  background-color: #012840;
  border-radius: 20px;
  box-sizing: border-box;
  padding: 15px 20px 15px 20px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.75em;
  font-weight: bold;
  text-align: left;
  flex-shrink: 0;
  margin-top: 20px;
  white-space: nowrap;
}
.interviewBlock02 {
  margin-left: auto;
  margin-right: auto;
}
/*----------------------*/
.interviewSchCont01.pt02 {
  position: relative;
  bottom: 0px;
  right: 0px;
  justify-content: space-between;
  margin-top: -50px;
}
.interviewSchCont01.pt02 .img01 {
  margin-right: 50px;
  margin-left: 50px;
}
.interviewSchCont01.pt02 .img01 img {
  width: 321px;
  height: auto;
}
@media screen and (max-width: 769px) {
  .interviewMainBox01 {
    width: auto;
    height: auto;
    position: relative;
    top: 0px;
    left: 0px;
  }
  .interviewMainBoxIn {
    width: auto;
    max-width: 1130px;
    margin: auto;
    height: 100%;
    display: block;
  }
  .interviewMainCont01 {
    text-align: left;
    background-color: #ffffff;
    padding: 20px 20px 20px 20px;
    font-size: 13px;
  }
  .interviewMainCont01 .en-midashi {
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #009043;
    line-height: 1;
    margin-bottom: 10px;
  }
  .interviewMainCont01 .category {
    margin: 0 1em 0 0;
    padding: 0 1em;
    border: solid 1px #000;
    display: inline-block;
    white-space: nowrap;
  }
  .interviewMainCont01 .category_wrap {
    display: flex;
    width: 100%;
  }
  /*.interviewMainCont01 .category_wrap div{
	width:35%;
}	*/
  .interviewMainCont01 .place {
    display: inline;
    width: 70%;
  }
  .interviewMainCont01 .name {
    font-size: 28px;
    font-weight: 400;
  }
  /*-------------------------*/
  .mm-navigation.interview .nav .txt {
    width: auto;
    max-width: 770px;
  }
  .mm-navigation.interview .nav .txt .title {
    font-size: 18px;
  }
  .mm-navigation.interview .nav .txt p {
    margin-top: 1.0em;
  }
  .interviewBox01 {
    box-sizing: border-box;
    position: relative;
    padding: 20px;
    border-radius: 30px;
    background: #fff;
    color: #012840;
    margin-bottom: 50px;
  }
  .interviewH301 {
    font-size: 18px;
    line-height: calc(36 / 28);
    letter-spacing: 0.1em;
    color: #009043;
  }
  .interviewH301 .s01 {
    font-size: 15px;
    margin-left: 26px;
  }
  .interviewH301 .s02 {
    color: #012840;
    font-size: 15px;
  }
  .interviewText01 {
    margin-top: 1.0em;
  }
  .interviewFlex01 {
    display: block;
  }
  .interviewFlexBox01 {
    width: auto;
  }
  .interviewFlexBox02 {
    display: flex;
    justify-content: space-between;
    width: auto;
    margin-top: 20px;
  }
  .interviewImg01 {
    width: 46%;
  }
  .interviewImg01 img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }
  .interviewFlex02 {
    display: block;
  }
  .interviewFlexBox03 {
    width: auto;
  }
  .interviewFlexBox04 {
    width: auto;
    flex-shrink: 0;
    margin-top: 20px;
  }
  .interviewFlexBox04 img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }
  .interviewBlock01 {
    margin: 50px auto 50px auto;
  }
  /*-----------------------*/
  .interviewBox02 {
    overflow: hidden;
    border: 3px solid #012840;
    border-radius: 24px;
    margin-top: 30px;
  }
  .interviewBox02 .h301 {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #012840;
    height: 60px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.3em;
    font-weight: bold;
  }
  .interviewBox02In {
    position: relative;
    padding: 25px 15px 25px 15px;
  }
  .interviewSchFlex01 {
    display: block;
  }
  .interviewSchBox01Wrap {
    margin: 0px auto 0px auto;
  }
  .interviewSchBox01 {
    position: relative;
  }
  .interviewSchBox01::after {
    content: "";
    width: 2px;
    height: calc(100% - 65px);
    background-color: #939393;
    position: absolute;
    top: 20px;
    left: 82px;
  }
  .interviewSchBox01::before {
    content: "";
    width: 1px;
    height: calc(100% - 10px);
    border-left: 2px dotted #939393;
    position: absolute;
    bottom: 0px;
    left: 82px;
  }
  .interviewSchBox01.box02 {
    padding-top: 0px;
  }
  .interviewSchBox01.box02::after {
    content: "";
    width: 2px;
    height: calc(100% - 60px);
    background-color: #939393;
    position: absolute;
    top: 0px;
    left: 82px;
  }
  .interviewSchBox01.box02::before {
    content: "";
    width: 1px;
    height: 100px;
    border-left: 2px dotted #939393;
    position: absolute;
    bottom: auto;
    left: 82px;
    top: 0px;
  }
  .interviewDl01 {
    position: relative;
    display: flex;
  }
  .interviewDl01 dt {
    font-size: 18px;
    line-height: 1.5em;
    font-weight: bold;
    text-align: right;
    width: 56px;
    height: 65px;
    margin-right: 50px;
    position: relative;
  }
  .interviewDl01 dt::after {
    content: "";
    width: 14px;
    height: 14px;
    background-color: #939393;
    border-radius: 40px;
    position: absolute;
    top: 8px;
    right: -34px;
  }
  .interviewDl01 dt.afterNone::after {
    display: none;
  }
  .interviewDl01 dd {
    font-size: 18px;
    line-height: 1.5em;
    font-weight: bold;
    height: 65px;
  }
  .interviewDl01 dd .p01 {
    font-size: 12px;
    font-weight: normal;
    color: #000000;
  }
  .interviewSchCont01 {
    position: relative;
    bottom: 0px;
    right: 0px;
    display: block;
  }
  .interviewSchCont01 .img01 {
    margin-right: 0px;
    margin-bottom: 20px;
    text-align: center;
  }
  .interviewSchCont01 .img01 img {
    width: 50%;
    height: auto;
  }
  .interviewSchCont01 .box01 {
    background-color: #012840;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 15px 20px 15px 20px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.75em;
    font-weight: bold;
    text-align: left;
    white-space: normal;
  }
  .interviewBlock02 {
    margin-left: auto;
    margin-right: auto;
  }
  /*------------------------------------	/*----------------------*/
  .interviewSchCont01.pt02 {
    position: relative;
    bottom: 0px;
    right: 0px;
    margin-top: 0px;
  }
  .interviewSchCont01.pt02 .img01 {
    margin-right: 0px;
    margin-left: 0px;
  }
  .interviewSchCont01.pt02 .img01 img {
    width: 60%;
    height: auto;
  }
}
/*------------------------------------
アクセス
-------------------------------------*/
.accessBlock01 {
  margin: 100px auto 100px auto;
}
.detailAccessBox01 {
  box-sizing: border-box;
  width: 600px;
  padding-left: 160px;
  margin: auto;
  text-align: left;
}
.detailAccessBox01 li {
  font-size: 14px;
  line-height: 1.7em;
  margin-bottom: 5px;
}
.accessFlex01 {
  display: flex;
}
.detailAccessMapWrap01 {
  margin-top: 35px;
}
.detailAccessMapWrap01 iframe {
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 769px) {
  .accessBlock01 {
    margin: 40px auto 40px auto;
  }
  .detailAccessBox01 {
    box-sizing: border-box;
    width: auto;
    padding-left: 0px;
    margin: auto;
    text-align: left;
  }
  .detailAccessBox01 li {
    font-size: 14px;
    line-height: 1.7em;
    margin-bottom: 5px;
  }
  .accessFlex01 {
    display: flex;
  }
  .detailAccessMapWrap01 {
    margin-top: 35px;
  }
  .detailAccessMapWrap01 iframe {
    width: 100%;
    height: 300px;
  }
}
/*------------------------------------
保守エリア
-------------------------------------*/
.maintenanceBlock01 {
  padding: 100px 0px 30px 0px;
}
.maintenanceBox01 {
  position: relative;
  text-align: center;
  background-color: #ffffff;
  border-radius: 20px;
  box-sizing: border-box;
  padding: 30px 50px 20px 50px;
  margin-top: 40px;
}
.maintenanceFlex01 {
  display: inline-flex;
  align-items: center;
  flex-direction: row-reverse;
}
.maintenanceMap01 {
  width: 289px;
  margin-right: 46px;
}
.maintenanceCont01 {
  text-align: left;
}
.maintenanceCont01 .h201 {
  font-size: 30px;
  line-height: 1.6em;
  font-weight: bold;
  margin-bottom: 10px;
}
.maintenanceCont01 .p01 {
  width: 320px;
  font-size: 14px;
  line-height: 1.7em;
}
.maintenanceFlex02 {
  display: flex;
  justify-content: space-between;
}
.maintenanceFlex02 .maintenanceBox01 {
  width: 48%;
}
.maintenanceH301 {
  font-size: 30px;
  line-height: 1.6em;
  font-weight: bold;
  margin-bottom: 22px;
}
.maintenanceText01 {
  font-size: 18px;
  line-height: 1.6em;
  font-weight: normal;
  text-align: center;
  width: 100%;
  position: absolute;
  left: 0px;
  bottom: -34px;
}
@media screen and (max-width: 769px) {
  .maintenanceBlock01 {
    padding: 40px 0px 30px 0px;
  }
  .maintenanceBox01 {
    position: relative;
    text-align: center;
    background-color: #ffffff;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 20px 20px 20px 20px;
    margin-top: 30px;
  }
  .maintenanceFlex01 {
    display: block;
    align-items: center;
  }
  .maintenanceMap01 {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20px;
  }
  .maintenanceCont01 {
    text-align: left;
  }
  .maintenanceCont01 .h201 {
    font-size: 22px;
    line-height: 1.6em;
    font-weight: bold;
    bottom: 0px;
    margin-bottom: 10px;
  }
  .maintenanceCont01 .p01 {
    width: auto;
    font-size: 13px;
    line-height: 1.7em;
  }
  .maintenanceFlex02 {
    display: block;
    justify-content: space-between;
  }
  .maintenanceFlex02 .maintenanceBox01 {
    width: auto;
  }
  .maintenanceH301 {
    font-size: 22px;
    line-height: 1.6em;
    font-weight: bold;
    margin-bottom: 22px;
  }
  .maintenanceText01 {
    font-size: 15px;
    line-height: 1.6em;
    font-weight: normal;
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0px;
    bottom: -30px;
  }
}
/*------------------------------------
組織図
-------------------------------------*/
.orgBlock01 {
  width: 1030px;
  margin: 0px auto 0px auto;
  padding: 110px 0px 40px 0px;
}
.maintenanceBox01.orgBox01 {
  padding: 65px 65px 65px 65px;
}
@media screen and (max-width: 769px) {
  .orgBlock01 {
    width: auto;
    margin: 0px auto 0px auto;
    padding: 40px 0px 30px 0px;
  }
  .maintenanceBox01.orgBox01 {
    padding: 15px 15px 15px 15px;
  }
}
/*------------------------------------
沿革
-------------------------------------*/
.historyWrap01 {
  margin: 100px auto 100px auto;
}
.historyBlock01 {
  background-color: #ffffff;
  padding: 110px 0px 110px 0px;
}
.historyBox01 {
  width: 1100px;
  margin: auto;
}
.historyTable01 {
  right: 0px;
  border-right: none;
}
.historyTable01 th {
  border-left: none;
  font-weight: bold;
}
.historyTable01 td {
  border-left: none;
}
@media screen and (max-width: 769px) {
  .historyWrap01 {
    margin: 40px auto 0px auto;
  }
  .historyBlock01 {
    background-color: #ffffff;
    padding: 20px 20px 30px 20px;
  }
  .historyBox01 {
    width: auto;
    margin: auto;
  }
  .historyTable01 {
    border-right: none;
    border-bottom: none;
    display: block;
  }
  .historyTable01 tbody {
    display: block;
  }
  .historyTable01 tr {
    display: block;
  }
  .historyTable01 th {
    border-left: none;
    border-top: none;
    font-weight: bold;
    display: inline-block;
    padding-bottom: 0px;
  }
  .historyTable01 td {
    border-left: none;
    border-top: none;
    display: inline-block;
    padding-bottom: 0px;
  }
  .historyTable01 td:last-child {
    display: block;
    border-bottom: solid 1px #CDD6DD;
    margin-top: 0px;
    padding-top: 0px;
    padding-bottom: 10px;
  }
  .historyTable01 tr:last-child td:last-child {
    border-bottom: none;
  }
}
/*------------------------------------
社員インタビュー 量産
-------------------------------------*/
.interviewBox02.box02 {
  width: 840px;
  margin-left: auto;
  margin-right: auto;
}
.interviewSchBox01.single::before {
  display: none;
}
.interviewSchBox01.single {
  margin-left: 60px;
}
.single .interviewDl01 dd {
  height: auto;
  padding-bottom: 25px;
}
.interviewSchCont01.pt02 .img01 .interviewSchCont01.pt03 {
  position: absolute;
  bottom: auto;
  right: 0px;
  top: 20%;
}
.interviewSchCont01.pt03 .img01 {}
.interviewSchCont01.pt03 .img01 img {
  width: 290px;
  height: auto;
}
/*---------------------------*/
.interviewBox02In.boxIn03 {
  padding-bottom: 180px;
}
/*---------------------------*/
.interviewImg01.intImg01 {
  width: 60%;
}
.interviewImg01.intImg02 {
  width: 30%;
}
.intFlex02 {
  align-items: flex-end;
}
@media screen and (max-width: 769px) {
  .interviewBox02.box02 {
    width: auto;
    margin-left: auto;
    margin-right: 0px;
    margin-right: auto;
  }
  .interviewSchBox01.single::before {
    display: none;
  }
  .interviewSchBox01.single {
    margin-left: 0px;
  }
  .single .interviewDl01 dd {
    height: auto;
    padding-bottom: 16px;
  }
  .interviewSchCont01.pt02 .img01 img .interviewSchCont01.pt03 {
    position: relative;
    bottom: auto;
    right: 0px;
    top: 0px;
  }
  .interviewSchCont01.pt03 .img01 {}
  .interviewSchCont01.pt03 .img01 img {
    width: 60%;
    /*width: 50%;*/
    height: auto;
  }
  /*---------------------------*/
  .interviewBox02In.boxIn03 {
    padding-bottom: 25px;
  }
  /*---------------------------*/
  .interviewImg01.intImg01 {
    width: 60%;
  }
  .interviewImg01.intImg02 {
    width: 30%;
  }
  .intFlex02 {
    align-items: flex-end;
  }
}


/*230602追記*/
.mm-eyecatch._havContent .content .cont-news {
  max-width: 760px;
}
.mm-eyecatch._havContent .content .cont-news ul {
  width: 83%;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title {
  text-decoration: underline;
  pointer-events: auto;
  transition: all 0.3s ease 0s;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title:hover {
  color: #009043;
}
.mm-eyecatch._havContent .content .cont-news ul li .date {
  width: 8em;
}
.mm-eyecatch._havContent .content .cont-news ul li {
  display: flex;
  color: #000;
}
.entryWrap .p01 {
  margin-bottom: 16px;
}
@media screen and (max-width: 769px) {
  .mm-eyecatch._havContent .content .cont-news ul {
    width: 100%;
  }
  .mm-eyecatch._havContent .content .cont-news ul li {
    display: block;
  }
}



/* 20240904追記 */
.mm-eyecatch._havContent .content .cont-news {
  max-width: 760px;
}
.mm-eyecatch._havContent .content .cont-news {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 720px;
  padding: 10px 20px 10px 50px;
  border-radius: 20px;
  border: solid 4px #ecf1ee;
  background: #fff;
  text-align: left;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
.effect-fade {
  opacity: 0;
  transition: all 700ms;
}
.mm-eyecatch._havContent .content .cont-news h2 {
  font-size: 20px;
  font-weight: 500;
  color: #009043;
  text-align: center;
}
.mm-eyecatch._havContent .content .cont-news ul {
  width: 83%;
}

.mm-eyecatch._havContent .content .cont-news ul {
  /* width: 75%; */
}

.mm-eyecatch._havContent .content .cont-news ul li {
  display: flex;
  color: #000;
}

.mm-eyecatch._havContent .content .cont-news ul li {
  font-weight: 500;
}

.mm-eyecatch._havContent .content .cont-news ul li a {
  display: flex;
  pointer-events: none;
}
.mm-eyecatch._havContent .content .cont-news ul li a .date {
  width: 8em;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title {
  text-decoration: underline;
  pointer-events: auto;
  transition: all 0.3s ease 0s;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title {
  width: calc(100% - 8em);
}

/* 20240904追記 */
.mm-eyecatch._havContent .content .cont-news {
  max-width: 760px;
}
.mm-eyecatch._havContent .content .cont-news {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 720px;
  padding: 10px 20px 10px 50px;
  border-radius: 20px;
  border: solid 4px #ecf1ee;
  background: #fff;
  text-align: left;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
.effect-fade {
  opacity: 0;
  transition: all 700ms;
}
.mm-eyecatch._havContent .content .cont-news h2 {
  font-size: 20px;
  font-weight: 500;
  color: #009043;
  text-align: center;
}
.mm-eyecatch._havContent .content .cont-news ul {
  width: 83%;
}

.mm-eyecatch._havContent .content .cont-news ul {
  /* width: 75%; */
}

.mm-eyecatch._havContent .content .cont-news ul li {
  display: flex;
  color: #000;
}

.mm-eyecatch._havContent .content .cont-news ul li {
  font-weight: 500;
}

.mm-eyecatch._havContent .content .cont-news ul li a {
  display: flex;
  pointer-events: none;
}
.mm-eyecatch._havContent .content .cont-news ul li a .date {
  width: 8em;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title {
  text-decoration: underline;
  pointer-events: auto;
  transition: all 0.3s ease 0s;
}
.mm-eyecatch._havContent .content .cont-news ul li a .title {
  width: calc(100% - 8em);
}


/* 20251105追記 */
.youtube_wrap {
  width: 100%;
  max-width: 760px; /* global_wrapperに合わせる */
  margin: 0 auto; /* 中央寄せ */
  position: relative;
  overflow: hidden;
  padding-top: 56.25%; /* 16:9比率 */
  margin-bottom: 16px;
}

.youtube_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* スマホ向け微調整 */
@media screen and (max-width: 480px) {
  .global_wrapper {
    padding: 0 10px;
  }
  .youtube_wrap {
    padding-top: 56.5%; /* 微妙な比率調整で黒帯防止 */
  }
}




