@charset "UTF-8";


.title_green {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background: #065446;
  color: #e5e5e5;
  width: 90px;
  height: 350px;
  display: flex;
  align-items: center;
}

.title_green h2 {
  position: relative;
  padding-top: 80px;
  font-size: 30px;
  font-weight: normal;
}

.title_green h2 span {
  font-family: "Gill Sans", 'Gill Sans Nova';
  font-size: 16px;
  font-weight: 100;
  padding-top: 1em;
}


/*=============================================================
#mainimage
=============================================================*/
#mainimage {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  z-index: -10;
}

#mainimage video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1000;
  object-fit: cover;
}

#mainimage::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
}

#mainimage .copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

#mainimage .copy h1 {
  font-size: 30px;
  color: #fff;
  font-family: "Gill Sans", 'Gill Sans Nova';
}

#mainimage .copy h1 span {
  font-size: 16px;
  color: #fff;
}

/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }

  30% {
    height: 30px;
    opacity: 1;
  }

  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}

/*=============================================================
#about
=============================================================*/
#about {
  margin: 50px 0;
}

#about .about_box {
  display: flex;
  justify-content: space-between;
  padding-bottom: 50px;
}

#about .about_box dt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
}

#about .title_green {
  margin-left: 30px;
}

#about .title_green h2::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 55px;
  background: url("../image/icon_about.png");
  background-size: cover;
  top: 5%;
  left: -45%;
}


#about .about_box dd {
  position: relative;
  overflow: hidden;
  width: 1000px;
  height: 600px;
  border-radius: 10px;
}

#about .about_box dd:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background: url("../image/about_img01.jpg");
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

#about .about_box dd:hover:after {
  opacity: .8;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

#about .about_box dd p {
  position: relative;
  z-index: 1;
  bottom: -550px;
  right: 30px;
}

/*=============================================================
#business
=============================================================*/
#business {
  margin: 50px 0;
}

#business .business_box {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 50px;
}

#business .title_green {
  margin-left: 30px;
}

#business .business_box dt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
}

#business .title_green h2::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 55px;
  background: url("../image/icon_business.png");
  background-size: cover;
  top: 5%;
  left: -45%;
}

#business .business_box dd {
  position: relative;
  overflow: hidden;
  width: 1000px;
  height: 600px;
  border-radius: 10px;
}

#business .business_box dd:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  background: url("../image/business_img01.jpg");
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  background-size: cover;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

#business .business_box dd:hover:after {
  opacity: .8;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

#business .business_box dd p {
  position: relative;
  z-index: 1;
  bottom: -550px;
  right: 30px;
}

/*=============================================================
#recruit
=============================================================*/
#recruit {
  text-align: center;
  margin-bottom: 60px;
}

#recruit .title_green {
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

#recruit .title_green h2::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 55px;
  background: url("../image/icon_recruit.png");
  background-size: cover;
  top: 5%;
  left: -45%;
}

#recruit .rectuit_img {
  position: relative;
  overflow: hidden;
  width: 1300px;
  height: 600px;
  border-radius: 10px;
  margin-top: -280px;
  z-index: 0;
}

#recruit .rectuit_img video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1000;
  object-fit: cover;
}

#recruit .recruit_box {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  z-index: 1;
}

#recruit .recruit_box p {
  margin-top: 60px;
}

/*=============================================================
#contact
=============================================================*/
#contact .box {
  display: flex;
  justify-content: space-between;
}

#contact .title_green h2::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 55px;
  background: url("../image/icon_contact.png");
  background-size: cover;
  top: 5%;
  left: -45%;
}