@charset "UTF-8";
* {
  margin: 0;
  padding: 0; }

body {
  font-family: "游ゴシック体","游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","Osaka","Verdana",sans-serif;
  font-size: 16px;
  color: #2E2E2E;
  letter-spacing: 0;
  line-height: 27px;
  background-color: #fff; }

h2 {
  font-size: 40px;
  font-weight: bold;
  line-height: 68px; }

h3 {
  font-size: 30px;
  font-weight: bold;
  line-height: 51px; }

img {
  width: 100%; }

.view-pc {
  display: block; }

.view-sp {
  display: none; }

.container {
  max-width: 1110px;
  margin: 0 auto; }

.btn {
  width: 100%;
  font-size: 22px;
  line-height: 37px;
  font-weight: bold;
  border-radius: 0; }

/*************************** header *************************************
*************************************************************************/
.header {
  line-height: 27px;
  max-width: 100%;
  border: 1px solid #707070;
  margin-bottom: 86px; }
  .header .container {
    max-width: 1110px; }
    .header .container .head-logo {
      max-width: 187px; }

.fixed-top {
  box-shadow: 0 1px 5px #00000029; }

/*ハンバーガーメニュー*/
.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  /*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: rgba(0, 0, 0, 0.86); }

.menu-content ul {
  background: #fff;
  text-align: center;
  padding: 35px 0; }

.menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none; }

.menu-content ul li a {
  display: block;
  width: 100%;
  color: #2E2E2E;
  font-size: 26px;
  font-weight: bold;
  box-sizing: border-box;
  text-decoration: none;
  padding: 15px 5px;
  position: relative; }

.menu-content ul li a:hover {
  opacity: 0.7; }

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px; }

.menu-box {
  max-width: 1080px;
  margin: 0 auto;
  text-align: center; }

.menu-btn {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  margin-bottom: 0; }

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 8px;
  width: 60px;
  background-color: #2E2E2E;
  position: absolute;
  margin: 10px 0; }

.menu-btn span:before {
  bottom: 8px; }

.menu-btn span:after {
  top: 8px; }

#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/ }

#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: -15px;
  transform: rotate(45deg);
  transition: all 0.25s; }

#menu-btn-check:checked ~ .menu-btn span::after {
  top: -5px;
  transform: rotate(-45deg);
  transition: all 0.25s; }

#menu-btn-check {
  display: none; }

#menu-btn-check:checked ~ .menu-content {
  left: 0;
  /*メニューを画面内へ*/
  margin-top: 86px; }

/*************************** 共通部分 *************************************
*************************************************************************/
p .btn:hover, .entry .btn:hover {
  transform: scale(1.05);
  transition: .4s; }

.con_recruit {
  margin-top: 30px; }
  .con_recruit .col {
    display: grid; }
  .con_recruit .card-body {
    background-color: #F4F4F4;
    display: flex;
    flex-direction: column; }
  .con_recruit p.text-center {
    margin-top: auto; }
    .con_recruit p.text-center .btn {
      width: 100%;
      font-size: 22px;
      line-height: 51px; }
  .con_recruit.container {
    max-width: 100%; }

.con_btn_toTop {
  margin-top: 80px; }
  .con_btn_toTop .container {
    max-width: 736px; }
    .con_btn_toTop .container a {
      padding: 10px; }

.box_department {
  margin-top: 40px; }
  .box_department .col {
    display: flex;
    justify-content: space-between; }
    .box_department .col .card {
      box-shadow: 3px 3px 10px #00000029;
      display: flex;
      flex-direction: column; }
      .box_department .col .card:hover {
        transition: 0.8s ease;
        transform: scale(1.05, 1.05);
        text-decoration: none; }
      .box_department .col .card .card-body {
        background: #EAEAEA; }
        .box_department .col .card .card-body h5 {
          font-size: 18px;
          font-weight: bold;
          color: #2E2E2E; }

.con_blog {
  background-color: #F4F4F4;
  padding: 20px; }

/*************************** bootstrap *************************************
*************************************************************************/
.carousel-item {
  width: auto; }

.card {
  background-color: transparent;
  border: none;
  border-radius: 0; }

.card-img, .card-img-top {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

/*************************** content *************************************
*************************************************************************/
/*************************** footer *************************************
*************************************************************************/
.footer {
  clear: both;
  background: #fff;
  color: #363636;
  margin-top: 80px; }
  .footer h5 {
    font-weight: bold;
    font-size: 16px; }
  .footer a:hover {
    opacity: 0.6; }
  .footer .container {
    margin: 0 auto;
    padding-bottom: 30px; }

/*************************** レスポンシブ **********************************
*************************************************************************/
@media (max-width: 1110px) {
  .header .container {
    padding: 8px 10px; } }
@media (max-width: 992px) {
  .con_recruit h2 {
    font-size: 30px;
    line-height: 37px; }

  .con_recruit p.text-center .btn {
    font-size: 17px;
    line-height: 29px; } }
@media (max-width: 767px) {
  h2 {
    font-size: 30px;
    line-height: 51px; }

  .view-pc {
    display: none; }

  .view-sp {
    display: block; }

  .home .con-reuse .box_intro {
    padding: 0; }

  .con_recruit h2 {
    font-size: 22px; }
  .con_recruit .card-title {
    margin-bottom: 0; }
  .con_recruit p .btn {
    width: 100%;
    font-size: 17px;
    line-height: 29px; } }
@media (max-width: 576px) {
  .header {
    margin-bottom: 57px; }

  .header .container {
    padding: 0 5px; }

  .header .container .head-logo {
    max-width: 80%; }

  .menu-btn {
    height: 40px;
    width: 40px; }

  .menu-btn span, .menu-btn span:before, .menu-btn span:after {
    height: 3px;
    width: 40px;
    margin: 5px 0; }

  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: -5px; }

  #menu-btn-check:checked ~ .menu-content {
    margin-top: 57px; }

  .con_recruit h2 {
    font-size: 22px; }

  .footer .container p {
    font-size: 14px; } }
