@charset "utf-8";
/**********************************************
 * 
 * TOP
 *
***********************************************/
h2 {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.3;
}
h2 em {
  font-family: 'Barlow', sans-serif;
  font-size: 2rem;
  color: #007e43;
  font-weight: bold;
  display: block;
}
@media (max-width: 767px) {
  h2 {
    font-size: 3rem;
  }
  h2 em {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}

h3 {
  position: relative;
  font-size: 3.6rem;
  font-weight: bold;
}


h3::after {
  content: '';
  position: absolute;
  background: #fff;
  width: 60px;
  height: 2px;
  left: 0;
  bottom: -50px;
  right: 0;
  margin: auto;

}
@media (max-width: 767px) {
  h3 {
    font-size: 2.6rem;
  }
  h3::after {
    width: 40px;
    bottom: -30px;
  }
}

.mainvis {
  position: relative;
}
.top-MainVisual_swiperItem {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  background: #ccc;
  padding: 100px 120px;
  height: 760px;
}

.top-MainVisual_swiperItem .Copy {
  font-size: 6.8rem;
  font-weight: bold;
}

.top-MainVisual_swiperItem .Text {
  font-size: 2.8rem;
  line-height: 2;
  margin-top: 20px;
}

.top-MainVisual_swiperItem em {
  font-family: 'Barlow', sans-serif;
  color: #8dc21e;
  font-weight: bold;
  font-size: 2rem;
}

.mainvis .Btn {
  position: absolute;
  right: 70px;
  bottom: 40px;
}
/*
.mainvis .Btn a {
  display: inline-block;
  border-radius: 30px 0;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #fff;
  color: #fff;
}

.mainvis .Btn a::after {
  background: url('../../images/i-arrow-white.svg') no-repeat;
	background-size: contain;
}
*/
.top-MainVisual_swiperItem.-item01 {
  background: url('../../images/top/mainvis01.jpg') no-repeat left 40% top;
  background-size: cover;
  align-items: flex-end;
  color: #fff;
}
.top-MainVisual_swiperItem.-item01 .TextBox {
  width: 530px;
}

.top-MainVisual_swiperItem.-item02 {
  background: url('../../images/top/mainvis02.jpg') no-repeat;
  background-size: cover;
  align-items: center;
  justify-content: flex-start;
}
.top-MainVisual_swiperItem.-item03 {
  background: url('../../images/top/mainvis03.jpg') no-repeat;
  background-size: cover;
  color: #fff;
}
.top-MainVisual_swiperItem.-item03 em {
  color: #fff;
}
.top-MainVisual_swiperItem.-item04 {
  background: url('../../images/top/mainvis04.jpg') no-repeat;
  background-size: cover;
  align-items: flex-end;
}

.top-MainVisual_swiperItem.-item04 .TextBox {
  width: 710px;
}

.mainvis .swiper-pagination {
  width: 100%;
  margin-top: 15px;
}
.mainvis .swiper-pagination-bullet {
  width: 70px;
  height: 6px;
  border-radius: 5px;
}
.mainvis .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 10px;
}

.mainvis .swiper-pagination-bullet-active {
  opacity: 1;
  background: #007e43;
}
@media (max-width: 767px) {
  .l-container {
    overflow-x: hidden;
  }
  .mainvis .Btn {
    right: 20px;
    bottom: 30px;
    width: 55%;
  }
  .mainvis .Btn:before {
  	top: 3px;
    left: 3px;
  }
  .top-MainVisual_swiperItem {
    padding: 20px 15px;
    height: 133vw;
  }
  .top-MainVisual_swiperItem em {
    font-size: 1.0rem;
    text-align: center;
  }
  .top-MainVisual_swiperItem .Copy {
    font-size: 3.4rem;
    text-align: center;
    font-weight: 500;
  } 
  .top-MainVisual_swiperItem .Text {
    font-size: 1.4rem;
  }
  .top-MainVisual_swiperItem.-item01 {
    background: url('../../images/top/mainvis01_sp.jpg') no-repeat;
    background-size: cover;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
  }
  .top-MainVisual_swiperItem.-item01 .TextBox {
    width: auto;
  }
  .top-MainVisual_swiperItem.-item02 {
    background: url('../../images/top/mainvis02_sp.jpg') no-repeat;
    background-size: auto 100%;
    justify-content: center;
  }
  .top-MainVisual_swiperItem.-item02 .TextBox {
    width: auto;
    text-align: center;
    margin-top: -100px;
  }
  .top-MainVisual_swiperItem.-item03 {
    background: url('../../images/top/mainvis03_sp.jpg') no-repeat;
    background-size: cover;
    color: #fff;
    justify-content: flex-end;
  }
  .top-MainVisual_swiperItem.-item03 em {
    color: #fff;
  }
  .top-MainVisual_swiperItem.-item03 .Copy {
    text-align: left;
  }
  .top-MainVisual_swiperItem.-item03 .Text {
    text-align: left;
  }
  .top-MainVisual_swiperItem.-item03 .TextBox {
    margin-bottom: 80px;
  }
  .top-MainVisual_swiperItem.-item04 {
    background: url('../../images/top/mainvis04_sp.jpg') no-repeat;
    background-size: 100% auto;
    align-items: flex-end;
  }
  .top-MainVisual_swiperItem.-item04 .TextBox {
    width: auto;
    margin-top: 80px;
  }
  .top-MainVisual_swiperItem.-item04 .Copy {
    text-align: left;
}
  .mainvis .Btn a {
    font-size: 1.4rem;
    font-weight: 400;
    padding: 15px 60px 15px 30px;
  }
}
.PopUp {
  position: absolute;
  left: 0;
  bottom: -90px;
  width: 510px;
  background: url(../../images/top/bg_popup.png) #007e43 no-repeat;
  background-size: contain;
  border-radius: 0 0 100px 0;
  z-index: 2;
}

.PopUp a {
  display: block;
  color: #fff;
  line-height: 1.3;
  padding: 20px 20px 20px 140px;
  transition: .5s;
}

.PopUp a:hover {
  opacity: .7;
}
.PopUp a .SubTitle {
  font-size: 2rem;
}
.PopUp a .Title {
  font-size: 3rem;
  font-weight: bold;
}
.PopUp a .Text {
  position: absolute;
  right: 60px;
  top: 55px;
}
@media (max-width: 767px) {
  .PopUp {
    position: relative;
    left: 0;
    bottom: -70px;
    width: auto;
  }
  .PopUp a {
    padding: 20px 20px 20px 105px;
  }
  .PopUp a .Title {
    font-size: 2.4rem;
    font-weight: bold;
  }
  .PopUp a .SubTitle {
    font-size: 1.6rem;
  }
  .PopUp a .Text {
    right: 40px;
  }

}
.Environmental {
  position: relative;
  margin-top: 160px;
}
.Environmental::before,
.Environmental::after {
  content: '';
  position: absolute;
}

.Environmental::before {
  top: -130px;
  left: 10px;
  width: 611px;
  height: 641px;
  background: url(../../images/top/bg-sustainability-left.png) top left no-repeat;
  background-size: contain;
}

.Environmental::after {
  bottom: -60px;
  right: 10px;
  width: 649px;
  height: 630px;
  background: url(../../images/top/bg-sustainability-right.png) top left no-repeat;
  background-size: contain;
}
.Environmental p {
  line-height: 2;
  font-size: 2rem;
  margin-top: 15px;
}

@media (max-width: 767px) {
  .Environmental {
    position: relative;
    margin-top: 0;
    padding: 150px 0 80px;
  }
  .Environmental p {
    font-size: 1.6rem;
  }
  .Environmental::before {
    top: 80px;
    left: 0;
    width: 219px;
    height: 239px;
    background: url(../../images/top/bg-sustainability-left.png) top left no-repeat;
    background-size: 100%;
  }

  .Environmental::after {
    bottom: 0;
    right: 0;
    width: 216px;
    height: 218px;
    background: url(../../images/top/bg-sustainability-right.png) top left no-repeat;
    background-size: 100%;
  }
}
.About {
  padding: 70px 0 85px;
  margin-top: 100px;
  background: url('../../images/top/bg_about.jpg') no-repeat;
  background-size: cover;
  border-radius: 300px 0 0 0;
}
.About h2,
.About h3 {
  text-align: center;
  color: #fff;
}

.About h2 em {
  color: #bdd9b5;
}
.About .Text {
  text-align: center;
  font-size: 2rem;
  color: #fff;
  margin-top: 20px;
}
.AboutList {
  margin-top: 120px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.AboutList li {
  width: 190px;
}

.AboutList li + li {
  margin-left: 30px;
}

.AboutList li a {
  padding-top: 65px;
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 190px;
  font-size: 2rem;
  border-radius: 50% 0 50% 50%;
  background: #406329;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  border: 1px solid #fff;
}
/*
.AboutList li:nth-of-type(3) a {
  padding-top: 50px;
}
*/
.AboutList li a::after {
  position: absolute;
  content: '';
  background: url(../../images/ar_white.png) no-repeat;
  background-size: 32px 15px;
  width: 32px;
  height: 15px;
  bottom: 55px;
  left: 0;
  right: 0;
  transition: .5s;
  margin: auto;
}

.AboutList li a:hover::after {
  right: -30px;
}

@media (max-width: 767px) {
  .About {
    padding: 70px 0 85px;
    margin-top: 50px;
    background: url(../../images/top/bg_about.jpg) no-repeat;
    background-size: cover;
    border-radius: 150px 0 0 0;
  }
  .About .Text {
    font-size: 1.6rem;
  }
  .AboutList {
  	width: 345px;
    margin: 80px auto 0;
  }
  .AboutList li {
    width: 40%;
    max-width: 138px;
  }
  .AboutList li:nth-of-type(3) {
    margin-left: 0;
  }
  .AboutList li:nth-of-type(n + 3) {
    margin-top: 20px;
  }
  .AboutList li a {
    padding-top: 45px;
    width: 100%;
    height: 140px;
    font-size: 1.8rem;
  }
  .AboutList li a::after {
    bottom: 40px;
  }
}

.Recruit {
  background: url(../../images/top/bg_recruit.jpg) no-repeat;
  border-radius: 0 0 300px 0;
  overflow: hidden;
  padding: 60px 50px 70px;
}
.Recruit h2 em {
  color: #8a8c8b;
}

.Recruit .Text {
  margin: 15px 0;
  font-size: 2rem;
}
.Recruit .imgbox {
  position: absolute;
  top: 0;
  right: -210px;
}

.Recruit .l-row {
  position: relative;
}

@media (max-width: 767px) {
  .Recruit {
    border-radius: 0 0 150px 0;
    padding: 40px 20px 60px;
  }
  
  .Recruit .Text {
    font-size: 1.8rem;
  }
  .Recruit .imgbox {
    position: relative;
    top: 0;
    right: 0;
  }
}