/*2024年8月　河合追加エリア*/

h2{
  font-weight: 900;
}

/*2024年3月　河合追加エリア*/

#K_RecruitHead {
    background-color:rgb(253,243,214);
	background-size: cover;
	position:relative;
	display: flex;
	width:  100vw;
	height: 100vh;
}

.TOP_MOJI{
    display:none;
}

.MINNA{
	width:  100%;
	height:100%;
	background: url("../img/recruit/202404_SAIYO_TOP_SS.png");
	background-position: top;
	background-repeat: no-repeat;
	background-size:cover;
}


.subarasiki{
	width:80vw;
	height:80vw;
	max-height:120px;
	background: url("../img/recruit/202404_SAIYO_TOP_subarasiki02.png");
    background-size: contain;
    background-repeat: no-repeat;
	background-position:center;
}

.K_RecruitOrangeWrap p {
	display: block;
	width: 85vw;
	margin: auto;
	color: #fff;
	font-size: 2.9vw;
	text-align:center;
	padding-top:5vw;
	padding-bottom:9vw;
}

.K_RecruitOrangeWrap img{
	width: 13vw;
	height: auto;
}

.K_Drone {
	position: absolute;
	top: 8vw;
    right:8vw;
}
.K_ExcavatorCar {
	position: absolute;
	top: 60vw;
    left: 9vw;
}
.K_sokuryo {
	position: absolute;
	top: 45vw;
    right: 11vw;
}
.K_3top{
  display:flex;
	justify-content: center;
}
.K_3top img {
  width: 70%;
}
.K_btn {
  display: inline-block;
  background: black;
  color: #fff;
  padding: 12px 40px; 
  text-decoration: none; 
  border-radius: 40px;
  margin-bottom:5vw;
  font-size: 2.8vw;
}
.K_OrangeWave {
	height: 25px;
	width: 100vw;
    z-index:101;
	position:absolute;
	bottom:0vh;
}
@media screen and (min-width: 600px) {
.TOP_MOJI{
    display:block;
	width: 75%;
	height:auto;
	max-height:auto;
	position:absolute;
	bottom:2vh;
	left:3vw;
	z-index:100;
}
.MINNA{
	width:  100%;
	height:100%;
	background: url("../img/recruit/202404_SAIYO_TOP_S.png");
	background-position: right;
    background-repeat: no-repeat;
	background-size:cover;

}
	.subarasiki{
	width:70vw;
	max-height:30vw;
	background: url("../img/recruit/202404_SAIYO_TOP_subarasiki02.png");
    background-size: contain;
    background-repeat: no-repeat;
	background-position:center;
}
.K_Drone {
	position: absolute;
	top: 0vw;
    right:5vw;
}
.K_ExcavatorCar {
	position: absolute;
	top: 47vw;
    left: 5vw;
}
.K_sokuryo {
	position: absolute;
	top: 47vw;
    right: 15vw;
}
}

/*2024年3月　河合追加エリア　END*/


html,
body {
  max-width: 100%;
  overflow-x: hidden;
  width: 100%;
  min-width: unset;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

body {
  font-size: 3.6vw;
  min-width: unset;
  overflow-x: hidden;
}

img {
  image-rendering: unset;
}

.PcView,
.pcView,
.pcview {
  display: none;
}

.SpView,
.spView,
.spview {
  display: block;
}

#eTopHead {
  width: 100%;
  aspect-ratio: 50/21;
}

#eHeadImg img {
  width: 100%;
}

.ContentInnerY {
  padding: 10vw 0 10vw;
}

#TopHead {
  background-image: url(../img/top/Head.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.TopHeadCont {
  width: 90%;
  padding: unset;
}

.TopHeadCont div ul li {
  border: 2vw solid #f7b531;
  margin: 2vw auto;
  color: #f7b531;
  font-size: 5vw;
}

.TopHeadCont div div {
  color: #fff;
  font-size: 10vw;
}

#eTopNews {
  padding: 0 5vw;
  margin-bottom: 20vw;
  font-size: 3.6vw;
}

#eTopNews > div {
  display: block;
}

#eTopNews h2 {
  font-size: 5vw;
  padding-top: 0;
  margin-bottom: 10vw;
}

#eTopNews ul {
  width: auto;
}

#eTopNews ul li {
  line-height: 3;
  padding: 0 3vw;
}

#eTopNews ul li time {
  width: 22vw;
}

.TopInfoWrap {
  width: 90%;
  margin: auto;
  display: block;
}

.TopInfoCont > p {
  color: #ea411c;
  padding-top: 5vw;
  padding-bottom: 10vw;
}

.TopInfoCont div h2 {
  font-size: 5vw;
  padding-bottom: 0;
  margin-bottom: 10vw;
  text-align: center;
  width: auto;
}

.TopInfoCont > div > h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 7px;
  background: linear-gradient(-90deg, #f29500, #c10d13);
  position: absolute;
  left: 6%;
  top: 11%;
  overflow-x: hidden;
}

.TopInfoCont div p {
  width: auto;
  display: inline-block;
  margin: 0;
}

.groupWrap {
  margin: 0 auto 5vw;
}

.groupWrap h2 {
  font-size: 5vw;
  margin: 0 auto 3vw;
  display: inline-block;
  padding: 0 20px 10px;
}

.groupWrap > h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 7px;
  background: linear-gradient(-90deg, #f29500, #c10d13);
  position: absolute;
  right: 35%;
  top: 40%;
  overflow-x: hidden;
}

.groupWrap p {
  margin-left: 5%;
}

.TopCompanyWrap {
  width: auto;
  margin: auto;
  padding: 10vw 0 10vw;
}

.TopCompanyList {
  display: block;
  justify-content: space-between;
}

.TopCompanyList article {
  width: 100%;
  background-color: #fff;
  padding: 0;
  margin-bottom: 3vw;
}

.CompanyFade {
  position: relative;
  width: 100%;
  height: auto;
}

.CompanyFade img {
  width: 100%;
  height: auto;
}

.TopCompanyList article p {
  color: #fff;
  font-size: 3.5vw;
  line-height: 1.2;
  position: absolute;
  top: 0;
  left: 45%;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
}

.TopAboutWrap {
  width: 90%;
  margin: auto;
  padding: 0 3vw;
}

.TitleWrap {
  text-align: center;
  margin-bottom: 10vw;
  font-size: 3.4vw;
}

.TitleWrap h2 {
  font-size: 5vw;
  border-bottom: 2vw solid #ea411c;
  margin: 0 auto 5vw;
  display: inline-block;
  padding: 0 5vw 3vw;
}

.TopAboutList {
  display: block;
  justify-content: space-between;
}

.TopAboutList div {
  width: 100%;
  margin-bottom: 10vw;
}

.TopAboutList div h3 {
  font-size: 4vw;
  padding: 3vw 0 1vw;
}

.TopAboutList img {
  width: 100%;
  height: auto;
}

.AllMember img {
  margin-bottom: 10vw;
}

.TopRecruitList {
  display: block;
  justify-content: space-between;
  width: 90%;
  margin: auto;
}

.TopRecruitList article {
  padding: 0;
  width: 100%;
  background-color: #fff;
  margin-bottom: 5vw;
}

.TopRecruitList img {
  width: 100%;
  height: auto;
}

#TopWorksAsahi {
  background-image: url(../img/top/works_bg_asahi.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-top: 35px solid #ea6c1c;
  border-bottom: 35px solid #ea6c1c;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

#TopWorksBroad {
  background-image: url(../img/top/works_bg_broad.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-top: 35px solid #1270b6;
  border-bottom: 35px solid #1270b6;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

#TopWorks {
  padding: 10vw 0 10vw;
}

#TopWorks > article {
  width: 100%;
  height: auto;
  padding: 2vw 0vw;
}

.caseCont {
  position: relative;
  width: 100%;
}

.caseCont > p {
  color: #000000;
  line-height: 1.2;
  position: absolute;
  font-size: 3vw;
  width: 60%;
  height: 100%;
  top: 0%;
  left: 30%;
  display: flex;
  align-items: center;
}

.WorksText {
  font-size: 4vw;
  color: #fff;
  line-height: 1.5;
}

.WorksText > div {
  width: auto;
  height: auto;
}

.WorksText span {
  font-size: 7vw;
}

.WorksBtn {
  text-align: center;
  width: 30%;
}

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

.TopSNSWrap {
  width: 90%;
  margin: auto;
}

.TopSNSList a {
  display: block;
  width: 48%;
  background: #fff;
  text-align: center;
  padding-top: unset;
  margin-bottom: 5vw;
}

.TopSNSList a img {
  padding: 4vw 4vw 0 4vw;
}

.TopSNSList a p {
  padding: 2vw 0 4vw;
  font-size: 4vw;
  line-height: 1.4;
}

#eFootLinkList {
  display: block;
  margin: auto;
  text-align: center;
}

#eFootLinkList > a {
  height: auto;
  margin: auto;
}

#eFootLinkList > a > img {
  width: 70%;
  margin-bottom: 7vw;
}

#AboutHead {
  background-image: url(../img/about/head.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  height: auto;
  display: flex;
  align-items: center;
  padding: 20vh 0;
}

#AboutHead h2 {
  font-size: 10vw;
  color: #fff;
  width: 90%;
  margin: auto;
  display: flex;
  align-items: center;
}

#AboutHead h2 span {
  font-size: 5vw;
  padding-top: 5vw;
}

.PhilosophyInnerY {
  padding: 10vw 0 10vw;
}

.AboutPhilosophyWrap {
  width: 90%;
  margin: auto;
}

.AboutPhilosophyWrap span {
  top: 38%;
  right: 16%;
}

.AboutTitle {
  font-size: 7vw;
  display: block;
  align-items: center;
  line-height: 1.2;
  margin-bottom: 12vw;
  position: relative;
}

.AboutTitle span {
  font-size: 4vw;
  padding: 0;
  position: absolute;
}

.AboutSubTitle {
  font-size: 5vw;
  padding-bottom: 2vw;
}

.AboutMessageWrap {
  width: 90%;
  margin: auto;
}

.AboutMessageWrap span {
  top: 48%;
  right: 0%;
}

.MessageInnerY {
  padding: 10vw 0;
}

.AboutCEOFilter {
  background-color: #b9d3ca;
  height: 150vw;
}

.AboutCEOWrap {
  width: 100%;
  background-image: url(../img/about/ceo.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: right bottom;
  background-color: #b9d3ca;
}

.AboutCEOWrap > div {
  width: 90%;
  padding: 3vw;
  margin-bottom: 15%;
  white-space: nowrap;
}

.AboutCEOWrap > div > p {
  display: inline-block;
  padding-top: 7vw;
  padding-bottom: 10vw;
  border-top: 1px solid #000;
  white-space: unset;
}

.AboutCEOWrap > div div p {
  font-size: 6vw;
  font-weight: 500;
}

.AboutMessageWrap > p {
  padding: 0;
}

.AboutMessageWrap > div {
  text-align: right;
  padding-bottom: 0vh;
}

.AboutMessagePhoto {
  background-image: url(../img/about/message_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  height: 20vh;
}

.AboutOverViewWrap {
  width: 90%;
  margin: auto;
}

.AboutOverViewWrap span {
  top: 37%;
  right: 29%;
}

.AboutOverViewList {
  padding: 0 0 5vw 0;
  margin-top: -5vw;
  display: flex;
  justify-content: space-between;
}

.AboutOverViewList > p {
  width: 15%;
  height: auto;
  border: 1px solid #000;
  align-items: center;
}

#AboutOverViewInfoList {
  margin-bottom: 0;
}

.CompanyName {
  display: flex;
  align-items: center;
  margin: 5vw 0;
}

.CompanyNameLogo {
  width: 24%;
  max-width: 180px;
  height: auto;
  margin-right: 20px;
  padding-bottom: 0;
  margin-bottom: 0;
  flex-shrink: 0;
}

.CompanyNameLogo img {
  width: 100%;
  max-width: 180px;
  height: auto;
}

.CompanyNameTitle {
  width: 100%;
}

.CompanyNameTitle h4 {
  font-size: 3.5vw;
  width: auto;
  border-bottom: 0.5px solid #000;
}

.CompanyNameTitle p {
  font-size: 3vw;
}

.TableTop {
  display: block;
  margin-bottom: 0;
}

.TableTop > div {
  width: auto;
}

dl:last-child {
  border-bottom: unset;
}

section#AboutOverView dl:last-child {
  border-bottom: 0.5px solid #000;
}

section#AboutOverView .TableTop > div:nth-of-type(n + 2) dl:first-child,
section#AboutOverView .TableBottom dl:first-child {
  border-top: none;
}

dl {
  display: flex;
  flex-wrap: nowrap;
}

.TableTop dd,
.TableBottom dd {
  display: block;
  width: 25%;
  height: auto;
  background-color: #dcdddd;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 3em 0;
  font-size: 3vw;
}

.TableTop dt,
.TableBottom dt {
  display: block;
  width: 75%;
  height: auto;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  text-align: left;
  padding: 0 0 0 5vw;
  font-size: 3vw;
  line-height: 2;
  margin: auto 0;
}

.TableTop dl dt {
  line-height: 2;
}

.Iso {
  background-image: url(../img/about/ISO_rogo2025.jpg);
  background-repeat: no-repeat;
  background-position: left 40vw center;
  background-size: contain;
}

.Iso > div {
  padding: 6vw 0;
}

.TableBottom dl:last-child {
  border-bottom: 0.5px solid #000;
}

.HistoryInnerY {
  padding: 10vw 0;
}

.AboutHistoryWrap {
  width: 90%;
  margin: auto;
}

.AboutHistoryWrap span {
  top: 43%;
  right: 50%;
}

#AboutHistoryMain {
  padding: 2vw;
  height: auto;
}

.SmallDotRow {
  display: flex;
  align-items: center;
  margin-bottom: 5vw;
  justify-content: space-between;
}

.SmallDotLeft {
  width: 41%;
  display: flex;
  flex-direction: column-reverse;
}

.Cont {
  font-size: 2.5vw;
}

.Year {
  font-size: 5vw;
  line-height: 1;
  margin-bottom: 3vw;
}

.Year span {
  font-size: 3vw;
}

.SmallDot {
  width: 6vw;
  height: 6vw;
  border-radius: 50%;
  background-color: #000;
}

.SmallDotRight {
  width: 41%;
  display: block;
}

.Bar {
  display: none;
}

.LargeDotRow {
  display: flex;
  align-items: center;
  margin-bottom: 5vw;
}

.LargeDotLeft {
  width: 41%;
  display: flex;
  flex-direction: column-reverse;
}

.LargeDot {
  color: #fff;
  font-size: 5vw;
  width: 20vw;
  height: 20vw;
  border-radius: 50%;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.LargeDotRight {
  width: 41%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#RecruitHead {
  background-image: url(../img/recruit/head.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-position-x: center;
  overflow: hidden;
}

.RecruitHeadCont {
  width: 90vw;
  height: 90vw;
  border: 25px solid #f7b531;
  font-size: 10vw;
  color: #f7b531;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.RecruitHeadCont p {
  font-size: 10vw;
}

.RecruitHeadCont div span {
  font-size: 30vw;
}

.OrangeWave {
  background-image: url(../img/entry/wave_orange.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 5vh;
  width: 100%;
  position: absolute;
  bottom: -1%;
  left: 0;
}

.RecruitOrangeWrap {
  width: 90%;
  margin: auto;
  position: relative;
}

.RecruitOrangeWrap div {
  margin: 0 auto 20px;
  font-size: 5vw;
  line-height: 2;
  text-align: center;
  width: auto;
}

.RecruitOrangeWrap p {
  display: block;
  width: 90%;
  margin: auto;
  color: #fff;
  font-size: 4vw;
}

.RecruitOrangeWrap img {
  width: 35%;
  height: auto;
}

.Drone {
  position: absolute;
  top: -17%;
  right: 0;
  display: none;
}

.ExcavatorCar {
  position: absolute;
  top: -18%;
  left: 0;
  display: none;
}

.Kaityo {
  position: absolute;
  bottom: -20%;
  left: 0;
}

.Ceo {
  position: absolute;
  bottom: -20%;
  right: 0;
}

.RecruitTitleWrap {
  width: 90%;
  margin: 0 auto 5vw;
  position: relative;
}

.RecruitTitleWrap h2 {
  color: #fff;
  font-size: 7vw;
}

.RecruitTitleWrap h3 {
  font-size: 5vw;
  position: absolute;
  top: 66%;
  left: 5%;
}

#RecruitConstruction {
  padding-top: 10vw;
}

#EmploymentSelection > div {
  padding: 10vw 0 0;
}

.RecruitConstructionWrap {
  width: 100%;
  margin: auto;
  position: relative;
}

.JapanBg {
  background-image: url(../img/recruit/japan.png);
  background-repeat: no-repeat;
  background-size: contain;
  height: 70vh;
  width: 90%;
  margin: 15vh auto 0;
  position: relative;
}

.JapanBg p {
  color: #fff;
  position: absolute;
  top: -15%;
  font-size: 3vw;
}

.Circle {
  border: 5px solid #fff;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 3vw;
  color: #fff;
  text-align: center;
}

.Shimane {
  background-image: url(../img/recruit/works_shimane.png);
  width: 20vw;
  height: 20vw;
  position: absolute;
  bottom: 45%;
}

.Okayama_Revetment {
  background-image: url(../img/recruit/works_okayama_Revetment.png);
  width: 20vw;
  height: 20vw;
  position: absolute;
  top: 20%;
  left: 8%;
}

.Okayama_WaterPipe {
  background-image: url(../img/recruit/works_okayama_WaterPipe.png);
  width: 30vw;
  height: 30vw;
  position: absolute;
  top: 13%;
  left: 30%;
}

.Hukushima {
  background-image: url(../img/recruit/works_hukushima.png);
  width: 20vw;
  height: 20vw;
  position: absolute;
  top: 30%;
  right: 0;
}

.Tokushima {
  background-image: url(../img/recruit/works_tokushima.png);
  width: 18vw;
  height: 18vw;
  position: absolute;
  bottom: 19%;
  left: 23%;
}

.Tokyo_Slope {
  background-image: url(../img/recruit/works_tokyo_Slope.png);
  width: 20vw;
  height: 20vw;
  position: absolute;
  right: 39%;
  bottom: 25%;
}

.Tokyo_HeadManhole {
  background-image: url(../img/recruit/works_tokyo_HeadManhole.png);
  width: 40vw;
  height: 40vw;
  position: absolute;
  right: 0;
  bottom: 7%;
}

.Shimane_Bar {
  position: absolute;
  width: 5vw;
  transform: rotate(45deg);
  bottom: 47%;
  left: 17%;
}

.Okayama_Revetment_Bar {
  position: absolute;
  transform: rotate(70deg);
  width: 27vw;
  left: 10%;
  top: 46%;
}

.Okayama_WaterPipe_Bar {
  position: absolute;
  transform: rotate(110deg);
  width: 27vw;
  bottom: 54%;
  left: 20%;
}

.Hukushima_Bar {
  position: absolute;
  transform: rotate(-12deg);
  width: 14vw;
  right: 19%;
  top: 42%;
}

.Tokushima_Bar {
  position: absolute;
  transform: rotate(90deg);
  width: 7vw;
  bottom: 36%;
  left: 28%;
}

.Tokyo_Slope_Bar {
  position: absolute;
  transform: rotate(122deg);
  width: 10vw;
  bottom: 44%;
  right: 38%;
}

.Tokyo_HeadManhole_Bar {
  position: absolute;
  transform: rotate(40deg);
  width: 18vw;
  bottom: 43%;
  right: 23%;
}

.RecruitMoreWrap {
  width: 100%;
  margin: auto;
}

.RecruitMoreWrap > p {
  padding: 6vw 8vw 5vw;
  font-size: 3vw;
}

.RecruitMoreWrap > div {
  display: block;
  padding: 2vw;
  text-align: center;
}

.RecruitMoreWrap div a p {
  font-size: 5vw;
  padding-top: 5vw;
}

.RecruitCareerWrap {
  width: 100%;
  margin: auto;
  text-align: center;
}

.RecruitCareerWrap > p {
  padding: 7vw 8vw 0;
  color: #fff;
  font-size: 3vw;
  text-align: left;
}

.RecruitMoreList {
  display: block;
}

.RecruitMoreList img {
  width: 47%;
  height: auto;
  padding: 2vw;
}

.RecruitCareerSlideInfo {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 5vw;
  padding-bottom: 2vw;
  width: 100%;
  height: 38vw;
}

.YearWorkList {
  padding-top: 3vw;
}

.RecruitCareerSlideInfo small {
  position: absolute;
  top: 5%;
  left: 18%;
  font-size: 5vw;
}

.RecruitCareerSlideInfo > div {
  color: #fff;
  font-size: 7vw;
  padding-right: 0;
  width: 45%;
  border-right: 1px solid #000;
}

.RecruitCareerSlideInfo > div span {
  font-size: 15vw;
}

.RecruitCareerSlideInfo > p {
  padding: 0 2vw;
  text-align: left;
  font-size: 2.8vw;
  width: 55%;
  border-left: none;
}

.RecruitCareerSlide > p {
  padding-top: 5vw;
  padding-left: 3vw;
  font-size: 3vw;
}

.swiper-slide {
  margin-top: 0;
  margin-bottom: 0;
}

.swiper-slider2-button-prev {
  position: absolute;
  top: 50%;
  left: 0px;
  width: 15vw;
  height: 17vw;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../img/recruit/prev.png);
  background-repeat: no-repeat;
  outline: none;
}

.swiper-slider2-button-next {
  position: absolute;
  top: 50%;
  right: 0px;
  width: 15vw;
  height: 17vw;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../img/recruit/next.png);
  background-repeat: no-repeat;
  outline: none;
}

.RecruitCareerSlideFutureList div {
  color: #fff;
  font-size: 5vw;
  border: 5px solid #fff;
  text-align: center;
  padding: 1vw;
  width: 90%;
  margin: 0 auto 2vw;
}

.RecruitOneDayIntro {
  width: 100%;
  margin: auto;
}

.RecruitOneDayIntro > p {
  padding: 5vw 5vw 5vw;
  font-size: 3vw;
}

.RecruitOneDayWrap {
  display: block;
  margin-bottom: 110vh;
  height: auto;
}

.MoriyaWrap,
.SatoWrap {
  width: 100%;
  position: relative;
}

.Moriya {
  background-image: url(../img/recruit/moriya_gray.jpg);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 5vw;
  background-size: cover;
  background-repeat: no-repeat;
  height: 50vh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.RecruitOneDayCont {
  color: #fff;
  line-height: 1.2;
  z-index: 3;
  text-shadow: 2px 2px 10px #000;
  font-size: 3vw;
}

.RecruitOneDayCont > div {
  font-size: 7vw;
  color: #e96e76;
  padding-bottom: 5vw;
}

.RecruitOneDayCont > p {
  font-size: 5vw;
  padding-bottom: 3vw;
}

.MoriyaOneDay {
  position: absolute;
  top: 55vh;
  left: 0;
  z-index: 1;
  width: auto;
  height: 40vh;
  overflow: scroll;
  margin-left: 5vw;
}

.MoriyaOneDay > .OneDay {
  position: relative;
  border-left: 1px solid #e96e76;
  margin-left: 12vw;
  padding-bottom: 20px;
}

.OneDayTime {
  color: #fff;
  background-color: #e96e76;
  width: 15vw;
  height: 15vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3vw;
  position: absolute;
  top: 0%;
  left: -10%;
}

.OneDayInfo {
  width: 75%;
  margin: auto;
  font-size: 3vw;
}

.OneDayInfo p span {
  font-size: 4vw;
}

.Sato {
  background-image: url(../img/recruit/sato_gray.jpg);
  display: flex;
  align-items: flex-end;
  padding: 5vw;
  background-size: cover;
  background-repeat: no-repeat;
  height: 50vh;
  width: 100%;
  position: absolute;
  top: 50vh;
  left: 0;
  z-index: 2;
}

.SatoOneDay {
  position: absolute;
  top: 1%;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 40vh;
  overflow: scroll;
  margin-right: 0;
  margin-left: 5vw;
}

.RecruitOneDayComeOn {
  height: auto;
  background-color: #e96e76;
}

.RecruitOneDayComeOn div {
  width: 90%;
  margin: auto;
  text-align: center;
  position: relative;
}

.RecruitOneDayComeOn div h2 {
  color: #fff;
  font-size: 7vw;
  padding: 5vw 0 8vw;
}

.RecruitOneDayComeOn div h3 {
  font-size: 4vw;
  position: absolute;
  top: 56%;
  left: 0;
  right: 0;
}

.RecruitGroupInfoWrap {
  width: 90%;
  margin: auto;
  position: relative;
}

.RecruitGroupInfoWrap > div {
  width: 100%;
  height: auto;
  margin: 5vw auto 0;
}

.RecruitGroupInfo_AsahiGroup > div {
  width: 60%;
  height: auto;
  margin: auto;
}

.RecruitGroupInfo_AsahiGroup > p {
  font-size: 5vw;
  padding: 5vw 0;
}

.RecruitGroupInfoWrap > article {
  display: block;
  border-top: 1px solid #000;
  padding: 5vw 0;
}

.RecruitGroupInfoWrap > article > div {
  font-size: 3.6vw;
  padding: 0 2vw;
}

.RecruitGroupInfoWrap > article > div > p {
  font-size: 5vw;
}

.RecruitGroupInfoWrap > article a {
  color: #f7b531;
  display: inline-block;
  padding: 0;
  border: 5px solid #f7b531;
  font-size: 4vw;
  padding-left: 6vw;
  letter-spacing: 7vw;
  width: 90%;
  text-align: center;
  margin-left: 4.5vw;
}

#EntryHead {
  height: 80vh;
  background-image: url(../img/entry/head.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}

.EntryHeadWrap {
  width: 90%;
  margin: 0 auto 30px;
}

.EntryHeadWrap div {
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
  position: relative;
  padding-top: 250px;
  padding-bottom: 120px;
}

.EntryHeadWrap div h2 {
  color: #fff;
  font-size: 10vw;
}

.EntryHeadWrap div h3 {
  color: #f7b531;
  font-size: 6vw;
  position: absolute;
  top: 66%;
  left: 5%;
}

.EntryOrangeWrap {
  width: 90%;
  margin: auto;
  text-align: center;
  position: relative;
}

.EntryOrangeWrap div {
  width: 100%;
  margin: 0 auto 8vw;
  font-size: 4vw;
}

.EntryOrangeWrap p {
  display: block;
  width: 100%;
  margin: 0 auto 10vw;
  font-size: 3vw;
  color: #fff;
}

.EntryOrangeWrap ul {
  width: auto;
  margin: auto;
  display: block;
  justify-content: space-between;
}

.EntryOrangeWrap ul li {
  margin: auto;
  margin-bottom: 5vw;
  width: 50%;
  border: 2px solid #000;
}

.EntryOrangeWrap ul li a {
  border: none;
  padding: unset;
}

.EntryOrangeWrap img {
  position: absolute;
  bottom: -23vw;
  left: 0px;
  width: 30%;
}

#EmploymentSelection .RecruitTitleWrap h2 {
  color: #f7b531;
  font-size: 7vw;
  margin-top: -5vw;
}

#EmploymentSelection .RecruitTitleWrap h3 {
  font-size: 5vw;
  position: absolute;
  bottom: -35%;
  left: 5%;
}

.EmploymentSelectionFlowWrap {
  width: 100%;
  margin: auto;
  padding-top: 5vw;
}

.EmploymentSelectionFlowWrap article {
  height: auto;
  width: 100%;
  display: block;
  align-items: center;
  position: relative;
  padding: 5vw 0;
}

.Triangle {
  position: absolute;
  bottom: -19px;
  left: 45%;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  z-index: 1;
}

.Step {
  padding: 0;
  border-right: unset;
  margin: 0 auto;
  display: flex;
  align-items: center;
  width: 84%;
  font-size: 4vw;
  height: auto;
  margin-bottom: 5vw;
}

.StepCont {
  width: 84%;
  margin: auto;
}

.Step p {
  color: #fff;
  font-size: 5vw;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

.Step p span {
  color: #fff;
  font-size: 8vw;
  padding-left: 2vw;
}

.StepCont {
  font-size: 3vw;
}

.RecruitTableWrap {
  width: 100%;
  margin: auto;
}

.RecruitTableWrap dl {
  background-color: #fff;
}

.RecruitTableWrap dd {
  display: block;
  width: 25%;
  height: auto;
  background-color: #c8dde6;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 3.5em 0;
  font-size: 3vw;
}

.RecruitTableWrap dt {
  display: block;
  width: 75%;
  height: auto;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  text-align: left;
  padding: 0 2vw 0 5vw;
  font-size: 3vw;
  line-height: 2;
  margin: auto 0;
}

.RecruitBtnWrap {
  margin: 10vw auto 10vw;
}

.RecruitFormWrap {
  width: 90%;
  margin: auto;
}

.RecruitFormWrap p {
  padding: 5vw 0 10vw;
  font-size: 3vw;
}

.FormItem {
  margin-bottom: 10vw;
}

.FormItem > label {
  font-size: 4vw;
}

.FormItem > label span {
  color: #e30920;
  padding-left: 1vw;
  font-size: 3vw;
}

.FormItem div {
  height: auto;
  width: 100%;
  margin: 5vw auto 0;
}

input[type="text"] {
  background-color: #fadfe1;
  height: 7vh;
  width: 100%;
  padding: 2vw;
}

.FormItem div .Address {
  width: 40%;
  margin-left: 3vw;
  margin-bottom: 5vw;
}

#FootNav {
  display: none;
}

#FootWrap {
  width: 100%;
  margin: auto;
  font-size: 3.6vw;
}

#FootCont {
  padding: 10vw 0;
  display: block;
}

#FootCont a {
  width: 50%;
  display: block;
  margin: 0 auto 10vw;
}

#FootCont a img {
  width: 100%;
}

#FootCont div {
  margin: auto;
  width: 70%;
  height: auto;
  white-space: nowrap;
}

#FootWrap p {
  padding-bottom: 3vw;
  text-align: center;
  margin: 0;
}

.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 3%;
  top: 3%;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 6px;
  background: #555;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 10px;
}

.hamburger span:nth-child(2) {
  top: 20px;
}

.hamburger span:nth-child(3) {
  top: 30px;
}

.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 6px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 100vh;
  left: 0;
  color: #000;
  background: #fff;
  text-align: center;
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  background: #fff;
  margin: 0 auto;
  padding: 0;
  display: inline-block;
  height: 100vh;
  width: 80%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px dashed #ccc;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover {
  background: #ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 0.5em 0;
  text-decoration: none;
}

nav.globalMenuSp.active {
  display: inherit;
  top: 19vw;
  opacity: 1;
}

body > header.aActive {
  background-color: #fff;
}

#HeadWrap {
  height: 100%;
}

#HeadWrap .pcview {
  display: none !important;
}

.NormalHead {
  height: auto;
  display: block;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.8);
}

.headLogo {
  display: block;
  padding: 3vw 4vw;
}

#RecruitHeadWrap {
  padding: 0;
  width: auto;
}

.headLogo img {
  width: 40%;
  height: auto;
}

#HeadWrap > div nav ul {
  display: block;
}

#HeadWrap > div nav ul li {
  margin-left: 0;
}

#HeadWrap > div nav ul li a {
  font-size: 3.5vw;
}

.RecruitHead {
  width: 100%;
  height: auto;
  position: fixed;
  z-index: 999;
}

.RecruitHeadAdd {
  background-color: rgba(255, 255, 255, 0.8);
  transition: all 0.5s ease 0s;
}

#RecruitHeadWrap > div nav ul {
  display: block;
  align-items: center;
}

.NavSquare {
  margin-left: 0;
}

.NavSquareAdd {
  border: unset;
}

.RecruitFoot {
  background-color: #f7b531;
  padding: 10vw 0 2vw;
  text-align: center;
}

.RecruitFootNav {
  padding-bottom: 10vw;
}

.RecruitFootNav nav:nth-of-type(1) {
  width: 90%;
  margin: 0 auto 30px;
}

.RecruitFootNav nav:nth-of-type(2) {
  width: 70%;
}

.RecruitFootSNS {
  width: 110px;
  margin: 0 auto 10vw;
  display: flex;
  justify-content: space-between;
}

section#youtube {
  padding: 100px 5vw 50px;
}

section#youtube .TitleWrap {
  width: 90%;
  margin: auto;
  padding: 0 3vw;
}

section#youtube .youtube {
  box-sizing: border-box;
  position: relative;
  background: #000;
  width: 100%;
  max-width: 800px;
  margin: 30px auto;
  padding: 10px 25px;
  display: flex;
}

section#youtube .youtube::before {
  content: "";
  background: url(../img/top/frame.png) center top;
  background-size: 25px 18px;
  background-repeat: round;
  width: 25px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

section#youtube .youtube::after {
  content: "";
  background: url(../img/top/frame.png) center top;
  background-size: 25px 18px;
  background-repeat: round;
  width: 25px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

section#youtube div.youtube {
  position: relative;
  width: 100%;
}

section#youtube .youtube iframe {
  position: absolute;
  top: 6px;
  left: 25px;
  width: calc(100% - 50px);
  height: calc(100% - 12px);
}

#eYoutubeLink .eArrowButton a {
  width: 100%;
  padding: 0.5em 0 0.5em;
  text-align: center;
}

#ePageHead {
  background-image: url(../img/news/head.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  height: auto;
  display: flex;
  align-items: center;
  padding: 20vh 0;
}

#ePageHead h2 {
  font-size: 10vw;
  color: #fff;
  width: 90%;
  margin: auto;
  display: flex;
  align-items: center;
}

#ePageHead h2 span {
  font-size: 5vw;
  padding-top: 5vw;
}

#ePageWrap .eMainWrap {
  max-width: 90%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

#eNewsList article {
  display: flex;
  flex-direction: column;
}

/*2024年8月　河合修整エリア*/

#eNewsSingle article header h2 {
  border-bottom: 0.5px solid #000;
  padding: 10px;
  margin: 2em 0 0;
  line-height: 1.5em;
}

.K_tag{
	display: flex;
	padding: 10px 20px;
	justify-content: space-between;
	font-size: x-small;
	font-weight: lighter;
  line-height: 1.5em;
}

#eNewsSingle article header + div > figure {
  margin-top: 2em;
}

#eNewsSingle article header time {
  text-align: right;
  padding-right: 20px;
  padding-top: 10px;
}

/*2024年8月　河合修整エリアEND*/