@charset "UTF-8";
#mv {
  position: relative;
  padding: 0;
  background-color: #fff;
  /*左右の矢印の色を変える*/
  /*左右の矢印の位置を変える*/ }
  #mv .slide_box {
    height: 90vh;
    width: 100vw; }
    #mv .slide_box ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      #mv .slide_box ul a img {
        cursor: pointer; }
      #mv .slide_box ul img {
        height: 90vh;
        width: 100vw;
        object-fit: cover;
        cursor: auto; }
    #mv .slide_box .top_logo {
      position: absolute;
      width: 150px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      text-align: center;
      /*一応BOX内の文字も中央寄せ*/
      filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.7));
      color: #fff;
      cursor: auto; }
      #mv .slide_box .top_logo img {
        height: auto;
        object-fit: contain; }
      #mv .slide_box .top_logo p {
        margin: 20px 0; }
    #mv .slide_box .top_text {
      position: absolute;
      width: 350px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      text-align: center;
      /*一応BOX内の文字も中央寄せ*/
      color: #fff;
      -moz-text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
      -webkit-text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
      -ms-text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
      text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7); }
      #mv .slide_box .top_text h3 {
        font-size: 2.4rem;
        font-weight: bold;
        letter-spacing: 0.4rem; }
      #mv .slide_box .top_text p {
        margin: 20px 0; }
  #mv .slick-prev:before,
  #mv .slick-next:before {
    color: #000; }
  #mv .slick-next {
    top: 50%;
    right: 20px;
    z-index: 99; }
  #mv .slick-prev {
    top: 50%;
    left: 15px;
    z-index: 100; }

.message h2 {
  margin: 0 0 30px 0;
  font-size: 3.0rem;
  font-weight: bold;
  letter-spacing: 0.8rem;
  color: #4c8492; }
.message h3 {
  margin: 0 0 25px -12px;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.4rem; }
.message p {
  font-size: 1.6rem;
  line-height: 3; }

@media screen and (max-width: 39.9375em) {
  .message h3 {
    margin: 0 0 15px -12px;
    font-size: 2.0rem; }
  .message p {
    font-size: 1.4rem;
    line-height: 2.2; } }
.service h2 {
  margin: 0 0 30px 0;
  font-size: 3.0rem;
  font-weight: bold;
  letter-spacing: 0.8rem;
  color: #4c8492; }
.service h3 {
  margin: 0 0 25px 0;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.4rem; }
.service p {
  line-height: 2.4; }
.service .service_box {
  margin-top: 40px; }
  .service .service_box .service_box_inner {
    padding: 0 20px;
    position: relative; }
    .service .service_box .service_box_inner img {
      margin: 0 0 10px 0; }
    .service .service_box .service_box_inner h4 {
      margin: 0 0 4px 0;
      font-size: 1.8rem;
      font-weight: bold;
      letter-spacing: 0.2rem;
      transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      -ms-transition: all 0.3s ease;
      -khtml-transition: all 0.3s ease; }
    .service .service_box .service_box_inner h6 {
      margin: 0 0 15px 0; }
    .service .service_box .service_box_inner p {
      width: 100%;
      margin: 0;
      padding: 10px 0 0 0;
      line-height: 2;
      font-size: 1.2rem;
      border-top: 1px solid #ccc; }
    .service .service_box .service_box_inner .service_box_inner_img {
      overflow: hidden;
      width: 100%;
      cursor: pointer;
      margin: 0 0 10px 0;
      background: #000; }
      .service .service_box .service_box_inner .service_box_inner_img img {
        display: block;
        margin: 0;
        will-change: transform;
        transition-duration: 0.5s;
        width: 100%;
        object-fit: cover; }
    .service .service_box .service_box_inner a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      text-indent: -9999px; }
    .service .service_box .service_box_inner:hover h4 {
      color: #4c8492;
      letter-spacing: 0.2rem;
      transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      -ms-transition: all 0.3s ease;
      -khtml-transition: all 0.3s ease; }
    .service .service_box .service_box_inner:hover img {
      transform: scale(1.1);
      transition-duration: 0.5s;
      opacity: 0.8;
      will-change: transform; }

@media screen and (max-width: 39.9375em) {
  .service h3 {
    margin: 0 0 15px 0;
    font-size: 2.0rem; }
  .service p {
    font-size: 1.4rem;
    line-height: 2.2; }
  .service .service_box {
    margin-top: 40px; }
    .service .service_box .service_box_inner {
      padding: 0; }
      .service .service_box .service_box_inner:first-child {
        margin: 0 0 40px 0; }
      .service .service_box .service_box_inner h4 {
        margin: 0 0 4px 0;
        font-size: 1.8rem;
        font-weight: bold; }
      .service .service_box .service_box_inner h6 {
        margin: 0 0 15px 0; }
      .service .service_box .service_box_inner p {
        width: 100%;
        margin: 0;
        padding: 10px 0 0 0;
        line-height: 2;
        font-size: 1.2rem;
        border-top: 1px solid #ccc; }
      .service .service_box .service_box_inner .service_box_inner_img {
        height: 170px; } }
.works {
  background-color: #eee; }
  .works h2 {
    font-size: 3.0rem;
    font-weight: bold;
    letter-spacing: 0.8rem;
    color: #4c8492; }
  .works h3 {
    margin: 0 0 25px 0;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.4rem; }
  .works p {
    line-height: 2.4; }
  .works .works_box {
    margin-top: 40px; }

.blog {
  background-color: #eee; }
  .blog h2 {
    font-size: 3.0rem;
    font-weight: bold;
    letter-spacing: 0.8rem;
    color: #4c8492; }
  .blog .blog_box {
    margin-top: 40px; }
    .blog .blog_box .blog_box_inner {
      padding: 20px; }
      .blog .blog_box .blog_box_inner .blog_box_inner_img {
        overflow: hidden;
        width: 100%;
        cursor: pointer;
        margin: 0 0 10px 0;
        background: #000; }
        .blog .blog_box .blog_box_inner .blog_box_inner_img img {
          display: block;
          margin: 0;
          transition-duration: 0.5s;
          will-change: transform;
          width: 100%;
          object-fit: cover; }
          .blog .blog_box .blog_box_inner .blog_box_inner_img img:hover {
            transform: scale(1.1);
            transition-duration: 0.5s;
            opacity: 0.8; }
      .blog .blog_box .blog_box_inner h4 {
        font-size: 1.6rem;
        font-weight: bold;
        color: #4c8492;
        line-height: 1.8;
        transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -webkit-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        -ms-transition: all 0.3s ease;
        -khtml-transition: all 0.3s ease; }
        .blog .blog_box .blog_box_inner h4:hover {
          color: #ccc; }
      .blog .blog_box .blog_box_inner p {
        width: 100%;
        margin: 0;
        line-height: 2;
        font-size: 1.2rem; }

@media screen and (max-width: 39.9375em) {
  .blog .blog_box {
    margin-top: 40px; }
    .blog .blog_box .blog_box_inner {
      padding: 20px 0; }
      .blog .blog_box .blog_box_inner .blog_box_inner_img {
        height: auto;
        background: #000; }
      .blog .blog_box .blog_box_inner p {
        font-size: 1.2rem; } }
