@charset "UTF-8";
header#main_header {
  background: url(../../images/main_bg.jpg) no-repeat;
  background-size: cover;
  margin-bottom: 170px;
}
@media (max-width: 767px) {
  header#main_header {
    margin-bottom: 50px;
  }
}
header#main_header .container {
  position: relative;
  height: 820px;
}
@media (max-width: 767px) {
  header#main_header .container {
    height: 600px;
  }
}
header#main_header .wrapper {
  position: absolute;
  top: 45%;
  left: 30px;
  text-align: left;
}
@media (max-width: 767px) {
  header#main_header .wrapper {
    top: 40%;
    left: 20px;
  }
}
header#main_header h1 {
  font-size: 4.5rem;
  margin-bottom: 30px;
  color: #FFFFFF;
  text-shadow: 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699, 0 0 3px #336699;
}
@media (max-width: 767px) {
  header#main_header h1 {
    font-size: 3rem;
  }
}
header#main_header p {
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  header#main_header p {
    font-size: 2rem;
  }
}
header#main_header p span {
  display: block;
  background: rgba(255, 255, 255, 0.7);
  padding: 0px 10px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  h2 img {
    -webkit-transform: scale(0.8);
            transform: scale(0.8); /* 元サイズの50% */
    -webkit-transform-origin: top left;
            transform-origin: top left; /* 拡大・縮小の基準点 */
    display: block;
  }
}

#about {
  padding-bottom: 200px;
  background: url(../../images/about_bg.png) no-repeat top -50px right 0;
}
#about .container-fluid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#about .column01 {
  width: 465px;
}
#about .column02 {
  padding-top: 70px;
  text-align: left;
}
#about .column02 p.lead_txt {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  #about .column02 p.lead_txt {
    font-size: 2rem;
  }
}
#about .column02 ul li {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #about .column02 ul li {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  #about .column01 {
    display: none;
  }
}

#works {
  background: url(../../images/works_bg.jpg) no-repeat bottom right;
  background-size: 60%;
  text-align: left;
  margin-bottom: 140px;
}
@media (max-width: 767px) {
  #works {
    background-size: 80%;
    padding-bottom: 200px;
    margin-bottom: 60px;
  }
}
#works p {
  font-size: 1.8rem;
  line-height: 2.4;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  #works p {
    font-size: 1.6rem;
    line-height: 2;
  }
}
#works p.lead_txt {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #works p.lead_txt {
    font-size: 2rem;
  }
}

#recruit_enter {
  text-align: left;
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #recruit_enter {
    margin-bottom: 80px;
  }
}
#recruit_enter p.lead_txt {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #recruit_enter p.lead_txt {
    font-size: 1.6rem;
  }
}
#recruit_enter p.box_link a {
  position: relative;
  display: inline-block;
  padding: 15px 80px;
  text-align: center;
  text-decoration: none;
  border: solid 1px #333;
  background: url(../images/link_arrow.svg) no-repeat;
  background-position: top 50% right 15px;
  cursor: pointer;
  -webkit-transition: background-position 0.3s ease;
  transition: background-position 0.3s ease;
}
#recruit_enter p.box_link a:hover {
  background-color: #f5f5f5;
  background-position: top 50% right 5px;
}

#profile {
  text-align: left;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #profile {
    margin-bottom: 80px;
  }
}
#profile header {
  padding-top: 26%;
  background: url(../../images/company_head.jpg) no-repeat;
  background-size: cover;
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #profile header {
    margin-bottom: 80px;
  }
}
#profile table th {
  width: 8em;
  padding-bottom: 1em;
  vertical-align: top;
}
#profile table td {
  padding-bottom: 1em;
  vertical-align: top;
}
@media (max-width: 767px) {
  #profile h2 img {
    width: 90%;
  }
}

#history {
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #history {
    margin-bottom: 80px;
  }
}
#history h2 {
  text-align: right;
  margin-bottom: 20px;
}
#history table {
  width: 100%;
}
#history table th {
  background: #939393;
  color: #FFFFFF;
  text-align: left;
  padding: 10px;
  border: solid 1px #FFFFFF;
}
#history table td {
  padding: 10px;
  border: solid 1px #939393;
}
@media (max-width: 767px) {
  #history table td {
    font-size: 1.3rem;
  }
}

#access {
  text-align: left;
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #access {
    margin-bottom: 80px;
  }
}
/*# sourceMappingURL=top.css.map */