@charset "UTF-8";
/* トップページ
----------------------------------------------- */
/* line 6, top.scss */
article.top .cover {
  height: 709px;
  background: url("../images/top/cover.jpg") no-repeat top center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  /* line 6, top.scss */
  article.top .cover {
    background: none;
    height: auto;
    display: block;
  }
  /* line 17, top.scss */
  article.top .cover img {
    vertical-align: top;
  }
}
/* line 22, top.scss */
article.top .cover .copy {
  position: relative;
  font-size: 85px;
  font-family: upgrade, sans-serif;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.03em;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  /* line 22, top.scss */
  article.top .cover .copy {
    display: none;
  }
}
/* line 35, top.scss */
article.top .cover .copy span {
  display: block;
  font-size: 36px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold;
  padding-top: 30px;
}
/* line 45, top.scss */
article.top .cover .copy:after {
  position: absolute;
  content: url("../images/top/copy_after.png");
  bottom: -100px;
}
/* line 53, top.scss */
article.top .top_title {
  font-size: 60px;
  font-weight: normal;
  font-family: upgrade, sans-serif;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  /* line 53, top.scss */
  article.top .top_title {
    font-size: 36px;
    text-align: center;
  }
}
/* line 63, top.scss */
article.top .top_title .ja {
  font-size: 20px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #ffffff;
  font-weight: bold;
  display: block;
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  /* line 63, top.scss */
  article.top .top_title .ja {
    font-size: 16px;
  }
}
/* line 76, top.scss */
article.top section.info {
  background: #26346e;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  /* line 76, top.scss */
  article.top section.info {
    padding: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  /* line 82, top.scss */
  article.top section.info .flex {
    flex-wrap: wrap;
  }
}
/* line 87, top.scss */
article.top section.info .top_title {
  font-size: 36px;
  color: #ffffff;
  margin-right: 80px;
}
@media screen and (max-width: 767px) {
  /* line 87, top.scss */
  article.top section.info .top_title {
    width: 100%;
    font-size: 24px;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
/* line 97, top.scss */
article.top section.info .top_title .ja {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  /* line 97, top.scss */
  article.top section.info .top_title .ja {
    font-size: 14px;
    padding-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  /* line 106, top.scss */
  article.top section.info .info_list {
    width: 100%;
  }
}
/* line 110, top.scss */
article.top section.info .info_list article {
  margin-bottom: 15px;
}
/* line 113, top.scss */
article.top section.info .info_list article .text .date {
  display: inline-block;
  padding-right: 20px;
  color: #ffffff;
}
/* line 119, top.scss */
article.top section.info .info_list article .text .cat {
  width: 100px;
  display: inline-block;
  border: 1px solid #ffffff;
  text-align: center;
  padding: 2px 2px;
  margin-bottom: 10px;
}
/* line 126, top.scss */
article.top section.info .info_list article .text .cat a {
  font-size: 12px;
  color: #ffffff;
}
/* line 132, top.scss */
article.top section.info .info_list article .text .title {
  color: #ffffff;
  line-height: 1.4em;
}
/* line 135, top.scss */
article.top section.info .info_list article .text .title a {
  color: #ffffff;
}
/* line 144, top.scss */
article.top section.about_us {
  background: url("../images/top/about_bg.png") no-repeat right top;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  /* line 144, top.scss */
  article.top section.about_us {
    background: none;
    padding: 60px 0;
  }
}
/* line 151, top.scss */
article.top section.about_us .text {
  width: 50%;
}
@media screen and (max-width: 767px) {
  /* line 151, top.scss */
  article.top section.about_us .text {
    width: 100%;
  }
}
/* line 157, top.scss */
article.top section.about_us .text .top_title {
  color: #ced0da;
}
/* line 159, top.scss */
article.top section.about_us .text .top_title .ja {
  color: #1b1b1b;
}
/* line 163, top.scss */
article.top section.about_us .text p {
  margin-bottom: 50px;
}
/* line 169, top.scss */
article.top section.service {
  background-color: #313131;
  background-image: url("../images/top/service_bg.png");
  background-repeat: no-repeat;
  padding: 70px 0;
}
@media screen and (max-width: 767px) {
  /* line 169, top.scss */
  article.top section.service {
    position: relative;
    padding: 50px 0 130px 0;
    background-size: cover;
  }
}
/* line 179, top.scss */
article.top section.service .flex {
  justify-content: space-between;
  flex-wrap: wrap;
}
/* line 183, top.scss */
article.top section.service .flex .photo {
  width: 50%;
}
@media screen and (max-width: 767px) {
  /* line 183, top.scss */
  article.top section.service .flex .photo {
    width: 100%;
    order: 2;
  }
}
/* line 191, top.scss */
article.top section.service .flex .text {
  width: 45%;
}
@media screen and (max-width: 767px) {
  /* line 191, top.scss */
  article.top section.service .flex .text {
    width: 100%;
    order: 1;
  }
}
/* line 197, top.scss */
article.top section.service .flex .text .top_title {
  color: #8e8e8e;
}
/* line 199, top.scss */
article.top section.service .flex .text .top_title .ja {
  color: #ffffff;
}
/* line 204, top.scss */
article.top section.service .flex .text p {
  color: #ffffff;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  /* line 204, top.scss */
  article.top section.service .flex .text p {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  /* line 212, top.scss */
  article.top section.service .flex .text .btn {
    position: absolute;
    bottom: 60px;
    right: 0;
    left: 0;
    margin: auto;
  }
}
/* line 220, top.scss */
article.top section.service .flex .text .btn a {
  font-weight: bold;
  color: #1b1b1b;
  background: #ffffff;
  padding: 15px 50px;
}
/* line 232, top.scss */
article.top .works {
  background-image: url("../images/top/works_bg.png");
  background-repeat: no-repeat;
  background-position: top right;
  padding: 70px 0;
}
@media screen and (max-width: 767px) {
  /* line 232, top.scss */
  article.top .works {
    position: relative;
    padding: 50px 0 130px 0;
    background-image: none;
  }
}
/* line 242, top.scss */
article.top .works .flex {
  justify-content: space-between;
  flex-wrap: wrap;
}
/* line 245, top.scss */
article.top .works .flex .text {
  width: 45%;
}
@media screen and (max-width: 767px) {
  /* line 245, top.scss */
  article.top .works .flex .text {
    width: 100%;
  }
}
/* line 250, top.scss */
article.top .works .flex .text .top_title {
  color: #ced0da;
}
/* line 252, top.scss */
article.top .works .flex .text .top_title .ja {
  color: #1b1b1b;
}
/* line 256, top.scss */
article.top .works .flex .text p {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  /* line 256, top.scss */
  article.top .works .flex .text p {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  /* line 263, top.scss */
  article.top .works .flex .text .btn {
    position: absolute;
    bottom: 60px;
    right: 0;
    left: 0;
    margin: auto;
  }
}
/* line 273, top.scss */
article.top .works .flex .photo {
  width: 50%;
}
@media screen and (max-width: 767px) {
  /* line 273, top.scss */
  article.top .works .flex .photo {
    width: 100%;
  }
}
/* line 282, top.scss */
article.top .recruit {
  background: url("../images/top/recruit_photo.png") no-repeat;
  background-size: cover;
  padding: 70px 0;
}
@media screen and (max-width: 767px) {
  /* line 282, top.scss */
  article.top .recruit {
    padding: 50px 0;
  }
}
/* line 289, top.scss */
article.top .recruit .top_title {
  color: #ffffff;
  text-align: center;
}
/* line 292, top.scss */
article.top .recruit .top_title .ja {
  color: #ffffff;
}
/* line 297, top.scss */
article.top .recruit p {
  width: 50%;
  margin: 0 auto 50px;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  /* line 297, top.scss */
  article.top .recruit p {
    width: 100%;
    text-align: left;
    margin-bottom: 30px;
  }
}
/* line 309, top.scss */
article.top .recruit .btn {
  text-align: center;
}
/* line 311, top.scss */
article.top .recruit .btn a {
  font-weight: bold;
  color: #ffffff;
  background: #ff473d;
  padding: 20px 100px;
}
@media screen and (max-width: 767px) {
  /* line 311, top.scss */
  article.top .recruit .btn a {
    padding: 15px 50px;
  }
}

/*# sourceMappingURL=top.css.map */
