.header-ttl h1 {
  margin: 0;
  line-height: 0;
}
.ttl {
  h2 {
    font-size: 30px;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 25px;
    letter-spacing: 4px;
    @media (max-width: 767.98px) {
      font-size: 26px;
    }
    &::after {
      content: "";
      width: 0;
      transition: width 0.8s ease;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      height: 1px;
      background: #231815;
    }
    &.is-linein::after {
      width: 65%;
    }
  }
  h3 {
    font-size: 25px;
    text-align: center;
    letter-spacing: 2.5px;
    @media (max-width: 767.98px) {
      font-size: 22px;
    }
  }
}
.post-list {
  &.vk_posts.vk_posts-mainSection {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 50px 80px;
    margin: 7rem 0 7rem;
    @media (max-width: 991.98px) {
      gap: 40px;
    }
    @media (max-width: 767.98px) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 30px 20px;
    }
  }
  .item a {
    display: block;
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease, filter 0.3s ease;
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(35, 24, 21, 0.7);
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 32px;
      height: 32px;
      background: url("../../img/page/search.svg") no-repeat center center;
      background-size: contain;
      transform: translate(-50%, -50%) scale(0.8);
      opacity: 0;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }
  }
  .item a img {
    display: block;
    max-width: none;
    width: 100%;
  }
  .item > p.h2 {
    font-size: 25px;
    font-weight: bold;
    margin: 10px 0 -2px;
    letter-spacing: 2px;
    @media (max-width: 767.98px) {
      font-size: 22px;
      margin: 0px;
    }
  }
  .item > p.h2 .small {
    font-size: 20px;
    @media (max-width: 767.98px) {
      font-size: 18px;
    }
  }
}

.post-list.vk_posts.vk_posts-mainSection .item > p:not(.h2) {
  margin: 0;
}

.post-list .item a:hover::before {
  opacity: 1;
}
.post-list .item a:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
