@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* CSS Document */
body.active {
  overflow: hidden;
}

.fastview {
  background-image: url(../images/top.jpg);
  width: auto;
  height: calc(100vh - 80px);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.first-contents {
  h2 {
    text-align: center;
  }


}

h2 {
  text-align: center;
  margin-block: 200px 50px;
  font-size: 36px;
  font-weight: 500;
}


/* スライダー全体 */
.slider-wrapper {
  display: flex;
  /* スライドのグループを横並び */
  overflow: hidden;
  /* はみ出たスライドを隠す */
}

/* スライド3枚のグループ */
.slider {
  animation: scroll-left 20s infinite linear .5s both;
  display: flex;
  /* スライドを横並び */
}

/* スライド */
.slide {
  width: calc(100vw / 4);
  list-style: none;
  margin-inline: 20px;
}

/* スライドの画像 */
.slide img {
  display: block;
  width: 100%;
}

/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}


.feature {
  display: grid;
  width: min(90%, 1209px);
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 425px 425px 425px;
  gap: 20px;
  justify-content: center;
  margin-inline: auto;
  text-align: center;
  list-style: none;
  margin: 0 auto;

}

.feature-box {
  width: auto;
  box-shadow: 0 0 6px 6px hsla(0, 0%, 70%, 0.5);
  margin: 0 auto;

  img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

}

.text-box {
  padding: 20px;

  .top-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    .category {
      margin-bottom: 1rem;
    }

    .main-text {
      text-align: left;
      margin-bottom: 1rem;
      font-weight: 450;
    }
  }

  .under-text {
    position: relative;
    text-align: right;


  }

}

.feature-box8 {
  grid-row: 3 / 4;
  grid-column: 2 / 4;
  box-shadow: 0 0 6px 6px hsla(0, 0%, 70%, 0.5);

  img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    aspect-ratio: 16 / 9;
  }
}

.feature-box9 {
  display: none;
}

.access-map {
  width: min(80%, 970px);
  margin-inline: auto;
}

.access-map iframe {
  width: 100%;
  height: 400px;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

@media (width <=770px) {
  .fastview {
    background-image: url(../images/top-smart.jpg);
  }

  h2 {
    margin-block: 80px 40px;
  }

  .slide {
    width: calc(100vw / 2);
    margin-inline: 20px;
  }

  .feature {
    display: block;
  }

  .feature-box {
    margin-bottom: 30px;
  }

  .feature-box8 {
    margin-bottom: 30px;

    img {
      width: 100%;
      height: auto;
    }
  }

  .feature-box9 {
    display: block;
    box-shadow: 0 0 6px 6px hsla(0, 0%, 70%, 0.5);

    img {
      width: 100%;
      height: auto;
    }
  }

  .access-map {
    width: min(90%, 970px);
    margin-inline: auto;
  }

  .access-map iframe {
    width: 100vw;
    /* 画面の幅いっぱい */
    margin-left: calc(50% - 50vw);
    /* 親要素のセンターから画面の左端へ移動 */
    margin-right: calc(50% - 50vw);
    /* 左右対称にする */
    height: 300px;
  }

}