@charset "UTF-8";
/* 共通
------------------------------------------------*/
* {
  font-weight: bold !important;
  letter-spacing: .1rem !important;
}
body {
  background-color: #F7F8F8;
}
th, tr, td, p {
  font-size: 1.3rem;
  vertical-align: top;
}
section {
  margin: auto;
}
.content {
  max-width: 1000px;
  margin: auto;
}
h2 {
  position: relative;
  font-size: 1.9rem;
  padding: 0;
  margin: 0;
  letter-spacing: .4rem !important;
}
h2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 50px;
  height: 3px;
  background-color: #666666;
}
h3 {
  font-size: 1.4rem;
}
p.copy_body {
  font-size: 1.4rem;
  line-height: 2.8rem;
  vertical-align: top;
  letter-spacing: .3rem !important;
}
.flex_box {
  max-width: 980px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 0 10px
}
.flex_box h2 {
  width: 50%;
}
.flex_box p {
  width: 48%;
}
@media screen and (max-width:900px) {
  .flex_box h2 {
    width: 100%;
    margin-bottom: 5rem;
    font-size: 1.7rem;
  }
  .flex_box p {
    width: 100%;
  }
  .text_box {
    padding: 0 30px
  }
}
/* parallax
------------------------------------------------*/
.parallax {
  position: relative;
  overflow: hidden;
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  height: 600px !important
}
.background {
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0px;
  min-height: 700px;
  min-width: 100%;
  width: auto;
  background-position: center center;
}
.pc_show.parallax{display: block}
.sp_show.parallax{display: none}

@media screen and (max-width:900px) {
.pc_show.parallax{display: none}
.sp_show.parallax{display: block}
.parallax {
  position: relative;
  overflow: hidden;
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  height: 400px !important
}
.background {
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0px;
  min-height: 500px;
  min-width: 100%;
  width: auto;
  background-position: center center;
}
}
/* ヘッダー
------------------------------------------------*/
.head {
  max-width: 1000px;
  height: 110px;
  margin: auto;
}
h1 {
  float: left
}
.logo img {
  display: block;
  margin: 66px 10px 0px;
  height: 34px;
  width: auto;
}
@media screen and (max-width:900px) {
  .logo img {
    margin: 20px 0px 0px 20px;
  }
}
/* フッター
------------------------------------------------*/
footer {
  padding-top: 5rem;
  padding-bottom: 5rem
}
a#page_top {
  position: fixed;
  right: 30px;
  bottom: -100px;
  display: block;
  width: 23px;
  height: 30px;
  background-image: url("../img/page_up.svg");
  background-size: cover;
}
/* 事業
------------------------------------------------*/
#business_box {}
.business_link {
  margin-bottom: 250px
}
.title_copy {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 640px;
}
#business_box .text_box {
  padding-top: 2%
}
.title_copy img {
  max-width: 645px;
  height: auto;
  margin-left: 10px
}
.title_copy > .text_box {
  padding-top: 0%
}
@media screen and (max-width:900px) {
  .business_link {
    margin-bottom: 450px
  }
  .title_copy {
    height: 400px;
  }
  .title_copy img {
    max-width: 300px;
    margin-left: 30px;
    margin-bottom: 100px
  }
}
/* サービス
------------------------------------------------*/
#service {
  position: absolute;
  bottom: 0px;
  height: 150px
}
#service_box {
  margin-top: 17%
}
.service_box {
  max-width: 1000px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 6%;
}
#service_box .text_box {
  padding-top: 19%
}
.service_box > div {
  width: 33%;
  margin: 0 0 10 0
}
.service_box::after {
  display: block;
  content: "";
  width: 33%;
}
.service_box h3 {
  padding-top: 35%;
  margin-left: 30%;
  padding-bottom: 2rem
}
.service_box_in {
  display: flex;
  justify-content: space-between;
  width: 100%
}
div.service_icon {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.service_icon img {
  width: 60%
}
.service_box_in p {
  display: block;
  width: 70%;
  line-height: 2.1rem
}
@media screen and (max-width:900px) {
  .service_box h3 {
    padding-top: 10%;
    margin-left: 30%;
    padding-bottom: 1rem
  }
  .service_box {
    padding: 20% 20px 0 20px
  }
  .service_box > div {
    width: 100%;
    margin: 0 0 10 0
  }
}
/* 実績
------------------------------------------------*/
#works {
  position: absolute;
  bottom: 0px;
  height: 150px
}
#works_box {
  margin-top: 17%;
}
.works_box {
  max-width: 980px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 10 0 10;
  line-height: 2.7rem
}
#works_box .text_box {
  padding-top: 19%;
  padding-bottom: -50px
}
.works_box > h3:first-child {
  padding-top: 20%;
}
.works_box h3 {
  width: 100%;
  padding-top: 35%;
  padding-bottom: 1.5rem
}
.works_box div {
  width: 30%;
  font-size: 1.3rem;
  white-space: nowrap;
  margin: 0 0 0 0
}
@media screen and (max-width:900px) {
  .works_box {
    padding: 0 30px
  }
  .works_box div {
    white-space: normal !important;
    width: 100%;
    margin: 0 0 0 0;
  }
  .works_box h3 {
    width: 100%;
    padding-top: 15%;
  }
}
/* 求人
------------------------------------------------*/
#recruit {
  position: absolute;
  bottom: 0px;
  height: 150px
}
#recruit_box {
  margin-top: 17%
}
.recruit_box {
  max-width: 980px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 15% 10 0 10
}
#recruit_box .text_box {
  padding-top: 19%
}
.recruit_box table {
  margin-top: 19%;
}
.recruit_box table.jobs {
  margin-top: 10%;
}
.recruit_box td {
  line-height: 1.7rem;
}
.recruit_box th {
  line-height: 2.6rem;
  padding-right: 270px;
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width:900px) {
  .recruit_box {
    padding: 0 30px;
    margin-top: 20%
  }
  .recruit_box table {
    margin-top: 0%;
  }
  .recruit_box th, .recruit_box td {
    text-align: left;
    display: block;
  }
}
/* マップ
------------------------------------------------*/
.map {}
.map iframe {
  max-width: 740px;
  width: 100%;
  height: 350px;
  margin-top: 5rem
}
/* 情報
------------------------------------------------*/
#information {
  position: absolute;
  bottom: 0px;
  height: 150px
}
#information_box {
  margin-top: 15%
}
.information_box {
  max-width: 980px;
  margin: auto;
  padding: 0 20 0 20
}
#information_box .text_box {
  padding-top: 19%
}
.information_box table {
  margin-top: 20%;
}
.information_box th {
  padding-right: 100px;
  white-space: nowrap
}
.information_box th, .information_box td {
  text-align: left;
  line-height: 2.6rem;
}
.icon_hap {
  width: 100%;
  text-align: left;
  padding-top: 13%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end
}
.icon_hap img {
  width: 200px;
  margin-right: 30px
}
img.icon_nintei {
  width: 85px;
  margin-right: 50px
}
img.icon_goals {
  width: 250px
}
@media screen and (max-width:900px) {
  .information_box {
    padding: 0 30px
  }
  .information_box th, .information_box td {
    text-align: left;
    display: block;
  }
  .icon_hap {
    margin-left: -10px
  }
  .icon_hap img {
    width: 35%;
    margin-right: 15px;
  }
  img.icon_nintei {
    width: 18%;
    margin-right: 20px
  }
  img.icon_goals {
    width: 37%;
    margin-right: 0
  }
}
/* map
------------------------------------------------*/
#contact {
  bottom: 0px;
  height: 0px
}
#contact_box {
  margin-top: 15%
}
#contact_box .text_box {
  padding-top: 19%
}
.map_box {
  /*  max-width: 1280px;*/
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.map_box iframe {
  width: 100%;
  height: 600px;
  filter: grayscale(100%);
  );
}
/* コンタクト
------------------------------------------------*/
.contact_box {
  max-width: 980px;
  margin: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: wrap;
  padding: 0 10 0 10
}
.contact_box h2 {
  width: 100%;
  margin-bottom: 20%
}
.contact_box table {
  margin-top: 22%;
  line-height: 2.3rem;
}
.contact_box th {
  padding-right: 90px;
  text-align: left;
  white-space: nowrap;
}
.sns_box {
  padding-left: 70px
}
.sns_box img {
  width: 53px;
  margin-right: 16px;
  margin-bottom: 13px
}
.contact_box_l div, .contact_box_r div {
  padding: 0px;
  margin: 0px;
  vertical-align: top;
  font-size: 1.3rem
}
.contact_box_l {
  padding-right: 11rem;
  line-height: 2.5rem;
  padding: 0px 8rem 0px 0px;
  white-space: nowrap;
  margin: 0px;
  vertical-align: top;
}
.contact_box_r {
  width: 300px;
  line-height: 2.5rem;
  padding: 0px;
  padding: 0px 0px 0px 0px;
  margin: 0px;
  vertical-align: top;
}
@media screen and (max-width:900px) {
  .contact_box {
    padding: 0 30px;
  }
  .sns_box {
    width: 100%;
    padding-left: 0px
  }
  .sns_box img {
    width: 40px;
    margin-right: 16px;
    margin-bottom: 13px;
    margin-top: 10%
  }
}