@charset "UTF-8";


.ttl {
  margin-top: 25vw;
  padding: 0 5vw;
}

@media screen and (min-width: 681px) {
  .ttl {
    margin-top: 100px;
    padding: 0 50px;
  }

}

.ttl p {
  font-size: 6vw;
  position: relative;
  display: inline-block;
}

@media screen and (min-width: 681px) {
  .ttl p {
    font-size: 25px;
  }
}

.ttl p::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 2px;
  /* 下線の太さ */
  background: linear-gradient(to right, #c1b4a4 40%, black 40%);
}

section.posts {
  padding: 10vw 5vw 10vw;
  font-size: 4vw;
}

@media screen and (min-width: 681px) {
  section.posts {
    padding: 50px;
    font-size: 20px;
  }

}

section.posts .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* 横に3列 */
  grid-template-rows: repeat(4, auto);
  /* 縦に3行（高さ100px） */
  gap: 10px;
  /* 要素間の隙間 */
}

@media screen and (min-width: 681px) {
  section.posts .grid {
    grid-template-columns: repeat(4, 1fr);
    /* 横に3列 */
    grid-template-rows: repeat(2, auto);
    /* 縦に3行（高さ100px） */
    gap: 15px;
    /* 要素間の隙間 */
  }


}


.post-thumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}

@media screen and (min-width: 681px) {
  .post-thumb {
    padding-top: 60%;
  }

}

.post-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


.post-item {
  display: flex;
  flex-direction: column;
}

.post-date {
  font-size: 3vw;
  color: #886d4b;
}

@media screen and (min-width: 681px) {
  .post-date {
    font-size: 16px;
    color: #886d4b;
  }

}

.pagination {
  margin-top: 5vw;
  text-align: center;
}

.pagination .current {

  border-bottom: 1px solid black;
}