@charset "utf-8";
/* CSS Document */

/*================================

全サイズ適用

================================*/
/*共通
--------------------------------*/

/*mainvisual
--------------------------------*/
#mainvisual {
  position: relative;
  height: 93.6vh;
}
#mainvisual .slide {
  height: 100% !important;
  padding: 0 3%;
}
#mainvisual .slider__item__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(img/slide.jpg) no-repeat center center/cover;
}
#mainvisual > .inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding-left: 10px;
  padding-right: 10px;
}

/*キャッチ*/
#mainvisual .inner .catch {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/*section01
--------------------------------*/
#section01 ul li {
  overflow: hidden;
  margin-bottom: 60px;
}
#section01 ul li .ttl_type04 {
  background-repeat: no-repeat;
  background-position: left center;
  text-align: left;
}
#section01 ul li .ttl_type04.bg01 {
  background-image: url(img/section02_cont01_h4_bg01.png);
}
#section01 ul li .ttl_type04.bg02 {
  background-image: url(img/section02_cont02_h4_bg01.png);
}
#section01 ul li .ttl_type04.bg03 {
  background-image: url(img/section02_cont03_h4_bg01.png);
}
#section01 ul li .ttl_type04.bg04 {
  background-image: url(img/section02_cont04_h4_bg01.png);
}
#section01 ul li .ttl_type04.bg05 {
  background-image: url(img/section02_cont05_h4_bg01.png);
}
#section01 ul li .ttl_type04.bg06 {
  background-image: url(img/section02_cont06_h4_bg01.png);
}
#section01 ul li p {
  text-align: left;
}

/*section02
--------------------------------*/
.section02 .section02_cont03_bg {
  background: url(img/section01_bg01.jpg) no-repeat top left/cover;
}

/*section04
--------------------------------*/
#section04 table {
  width: 100%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0px 10px;
}
#section04 table th,
#section04 table td {
  padding: 10px;
}
#section04 table th {
  position: relative;
  overflow: visible;
  background: rgba(170, 212, 64, 1);
  color: #ffffff;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
}
#section04 table th:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}
#section04 table td {
  padding-left: 32px;
  background: rgba(170, 212, 64, 0.3);
  text-align: left;
}
#section04 table + .txt {
  padding: 35px 0 60px;
  text-align: center;
}
#section04 .recruit_btn .link_btn.pink {
  margin: 0 auto;
}
#section04 .lead_text {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 45px;
  padding: 30px 50px;
  background: #aad440;
  border: 1px solid #fff;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

/*section08
--------------------------------*/
.section08 .video_area:last-of-type {
  margin-bottom: 0;
}

/*================================

481px〜max

================================*/
@media screen and (min-width: 481px) {
  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 32%;
  }
  #mainvisual .inner .catch img {
    max-width: 400px;
  }

  /*section01
  ------------------------------*/
  #section01 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #section01 .container .item {
    flex-basis: calc(100% / 2 - 10px);
  }
  #section01 ul li .ttl_type04 {
    margin-bottom: 45px;
    padding-left: 78px;
    background-size: 60px;
  }
  #section01 ul li p {
    max-width: 480px;
    font-size: 17px;
  }

  /*section02
  ------------------------------*/
  .section02 .section02_cont03 > .inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  /*section04
  ------------------------------*/
  #section04 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #section04 table th {
    width: 200px;
  }
  #section04 table th:after {
    top: 50%;
    left: 100%;
    margin-top: -10px;
    border: solid transparent;
    border-left-color: #aad440;
    border-width: 10px;
    background: rgba(170, 212, 64, 0);
  }

  /*section06
  ------------------------------*/
  .section06 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .section06 .container > .item {
    flex-basis: calc(100% / 2 - 10px);
  }

  /*section08
  ------------------------------*/
  .section08 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .section08 .video_area {
    margin-bottom: 100px;
  }
}

/*================================

700px〜max

================================*/
@media screen and (min-width: 700px) {
  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 80%;
  }
  #mainvisual .inner .catch img {
    max-width: 600px;
  }
}

/*================================

1024px〜max

================================*/
@media screen and (min-width: 1024px) {
  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 32%;
  }
}

/*================================

1366px〜max

================================*/
@media screen and (min-width: 1366px) {
  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 30%;
  }
}

/*================================

1366px〜max

================================*/
@media screen and (min-width: 1920px) {
  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 26.5%;
  }
  #mainvisual .inner .catch img {
    max-width: 100%;
  }
}

/*================================

0〜896pxまで

================================*/
@media screen and (max-width: 896px) {
  /*mainvisual
  ------------------------------*/
  #mainvisual .slider__item__image {
    background-position: 43% center;
  }
}

/*================================

0〜480pxまで

================================*/
@media screen and (max-width: 480px) {
  /*共通
  ------------------------------*/

  /*mainvisual
  ------------------------------*/
  /*キャッチ*/
  #mainvisual .inner .catch {
    margin-top: 85%;
  }

  /*section01
  ------------------------------*/
  #section01 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #section01 ul li .ttl_type04 {
    margin-bottom: 30px;
    padding-left: 35px;
    background-size: 28px;
  }
  #section01 ul li p {
    margin-bottom: 30px;
    font-size: 15px;
  }

  /*section02
  ------------------------------*/
  .section02 .section02_cont03 > .inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .section02 .section02_cont03_bg {
    padding-top: 300px;
    background-position: top right;
  }

  /*section04
  ------------------------------*/
  #section04 {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  #section04 table th {
    display: block;
    width: 100%;
    padding: 6px;
  }
  #section04 table th:after {
    top: 50%;
    left: 46.9%;
    margin-top: 17px;
    border: solid transparent;
    border-color: rgba(253, 234, 227, 0);
    border-left-color: #aad440;
    border-width: 10px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  #section04 table td {
    display: block;
    padding: 16px;
    line-height: 1.7em;
  }
  #section04 .lead_text {
    padding: 20px 40px;
    font-size: 16px;
  }

  /*section06
  ------------------------------*/
  .section06 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
