@charset "UTF-8";
/*============================================================
/*==================トップページ================================
/*===========================================================*/
.icatch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 50vw;
  background-image: url(../img/green_back.svg);
  background-size: 300%;
}

@media screen and (min-width: 769px) {
  .icatch {
    max-height: 622px;
    background-size: cover;
  }
}

.icatch img {
  width: 86.6%;
}

@media screen and (min-width: 769px) {
  .icatch img {
    width: 100%;
    max-width: 1025px;
  }
}

.PHILOSOPHY {
  height: 55vw;
  padding: 1rem 9vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .PHILOSOPHY {
    max-height: 280px;
  }
}

.PHILOSOPHY h2 {
  font-size: 2.8rem;
  line-height: 3rem;
  padding-bottom: 1rem;
  font-weight: bold;
}

@media screen and (min-width: 769px) {
  .PHILOSOPHY h2 {
    font-size: 3.5rem;
  }
}

.PHILOSOPHY p {
  color: #535353;
}

.PHILOSOPHY p.p1 {
  font-size: 1.5rem;
}

.PHILOSOPHY p.p2 {
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2rem;
}

@media screen and (min-width: 769px) {
  .PHILOSOPHY p.p2 {
    line-height: 2.3rem;
  }
}

@media screen and (min-width: 769px) {
  .PHILOSOPHY p {
    max-width: 518px;
    margin: 0 auto;
  }
}

.SERVICE {
  background-image: url(../img/service.png);
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  padding: 3rem 2rem;
}

.SERVICE h2,
.SERVICE h3,
.SERVICE h4 {
  width: 100%;
  text-align: center;
  font-weight: bold;
}

.SERVICE h2,
.SERVICE h3 {
  font-size: 2.5rem;
}

.SERVICE h3 {
  padding-top: 1rem;
}

.SERVICE h4 {
  padding-bottom: 1rem;
}

.SERVICE p {
  line-height: 1.8rem;
  padding-bottom: 1.5rem;
}

@media screen and (min-width: 769px) {
  .SERVICE h2 {
    font-size: 3.5rem;
  }
  .SERVICE .SERVICE_body {
    max-width: 1025px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .SERVICE .SERVICE_body .SERVICE_contents {
    width: 25%;
    padding: 1rem;
    padding-top: 0;
  }
  .SERVICE .SERVICE_body .SERVICE_contents h3 {
    font-size: 2rem;
    padding-top: 0;
  }
  .SERVICE .SERVICE_body .SERVICE_contents h4 {
    font-size: 1.2rem;
    padding-bottom: 1rem;
  }
  .SERVICE .SERVICE_body .SERVICE_contents p {
    line-height: 1.6rem;
    padding: 0;
  }
}

.WORK {
  width: 100%;
  padding: 2rem 0;
}

@media screen and (min-width: 769px) {
  .WORK {
    max-width: 1025px;
    margin: 0 auto;
    padding: 5rem 0 2rem;
  }
}

.WORK .WORK_top {
  text-align: center;
}

.WORK .WORK_top h2 {
  font-size: 3rem;
  font-weight: bold;
}

@media screen and (min-width: 769px) {
  .WORK .WORK_top h2 {
    font-size: 3.5rem;
  }
}

.WORK .lightbox-container {
  width: 70%;
}

.WORK .lightbox-container ul li {
  margin: 2rem 0;
}

.WORK .lightbox-container ul li img {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .WORK .lightbox-container {
    width: 90%;
    padding: 2rem 0;
  }
  .WORK .lightbox-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .WORK .lightbox-container ul li {
    width: 33%;
    margin: 0.5rem 0;
  }
  .WORK .lightbox-container ul li img {
    width: 100%;
  }
}

.ABOUT {
  width: 100%;
  text-align: center;
  padding: 2rem 0;
  background-color: #f2f2f2;
}

.ABOUT .ABOUT_top h2 {
  font-size: 3rem;
  font-weight: bold;
  padding-bottom: 1rem;
}

@media screen and (min-width: 769px) {
  .ABOUT .ABOUT_top h2 {
    font-size: 3.5rem;
  }
}

@media screen and (min-width: 769px) {
  .ABOUT {
    padding: 4rem 0 5rem;
  }
  .ABOUT .ABOUT_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    max-width: 1025px;
  }
}

.ABOUT .ABOUT_contents h3 {
  font-weight: bold;
}

.ABOUT .ABOUT_contents p {
  padding-bottom: 1rem;
}

@media screen and (min-width: 769px) {
  .ABOUT .ABOUT_contents p {
    padding: 1rem;
    line-height: 1.5rem;
  }
}

.RECRUIT {
  width: 100%;
  text-align: center;
  padding: 3rem 0 5rem;
}

@media screen and (min-width: 769px) {
  .RECRUIT {
    height: 313px;
    padding-bottom: 7rem;
  }
}

.RECRUIT .RECRUIT_top {
  width: 100%;
}

.RECRUIT .RECRUIT_top h2 {
  font-size: 3rem;
  font-weight: bold;
  padding-bottom: 1rem;
}

@media screen and (min-width: 769px) {
  .RECRUIT .RECRUIT_top h2 {
    font-size: 3.5rem;
    padding-bottom: 0;
  }
}

.RECRUIT .RECRUIT_top p {
  width: 100%;
  text-align: center;
}

.RECRUIT .RECRUIT_body {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .RECRUIT .RECRUIT_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    max-width: 1025px;
    padding: 2rem 0;
  }
}

.RECRUIT .RECRUIT_body .RECRUIT_contents {
  width: 100%;
}

.RECRUIT .RECRUIT_body .RECRUIT_contents h3 {
  font-weight: bold;
  width: 100%;
}

.RECRUIT .RECRUIT_body .RECRUIT_contents p {
  padding-bottom: 1rem;
  width: 100%;
}

.RECRUIT p.RECRUIT_bottom {
  width: 90%;
  line-height: 1.8rem;
}

.CONTACT {
  width: 100%;
  padding: 3rem 2rem;
  background-color: #f2f2f2;
}

.CONTACT .CONTACT_top {
  text-align: center;
  padding-bottom: 2rem;
}

.CONTACT .CONTACT_top h2 {
  font-size: 2.5rem;
  font-weight: bold;
  padding-bottom: 1rem;
}

@media screen and (min-width: 769px) {
  .CONTACT .CONTACT_top h2 {
    font-size: 3.5rem;
  }
}

.CONTACT .CONTACT_top p {
  line-height: 1.8rem;
}

.CONTACT section {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .CONTACT section {
    max-width: 1025px;
    margin: 0 auto;
  }
}

.CONTACT section div.contact_contents {
  width: 100%;
}

.CONTACT section div.contact_contents .contact_text {
  width: 100%;
  /*親要素いっぱい広げる*/
  padding: 0.2rem;
  /*ボックスを大きくする*/
  font-size: 16px;
  /*ボックス角の丸み*/
  border: 1px solid #ddd;
  /*枠線*/
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*横幅の解釈をpadding, borderまでとする*/
  margin-bottom: 1rem;
  background-color: #fff;
}

.CONTACT section div.contact_contents .contact_buttoms {
  border: 2px solid #fff;
  padding: 0.2rem 1rem;
  /*ボックスを大きくする*/
  font-size: 2rem;
  font-weight: bold;
  border-radius: 3px;
}

.ACCESS {
  width: 100%;
  height: 72vw;
  text-align: center;
  padding: 1.5rem 1rem 2.5rem;
}

@media screen and (min-width: 769px) {
  .ACCESS {
    max-width: 1025px;
    margin: 0 auto;
    height: 593px;
  }
}

.ACCESS .ACCESS_top h2 {
  font-size: 2.5rem;
  font-weight: bold;
  padding-bottom: 1rem;
}

@media screen and (min-width: 769px) {
  .ACCESS .ACCESS_top h2 {
    padding: 3rem 0 0;
    font-size: 3.5rem;
  }
}

.ACCESS .ACCESS_contents {
  width: 100%;
  height: 47vw;
}

@media screen and (min-width: 769px) {
  .ACCESS .ACCESS_contents {
    width: 75%;
    height: 360px;
    margin-top: -3rem;
  }
}
/*# sourceMappingURL=top.css.map */