.main__contents {
  max-width: 1280px;
  width: 90%;
  margin: auto;
}

.container {
  margin-top: 80px;
  margin-bottom: 150px;
}

.container .wrap {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
}

.container .wrap::after {
  content: "";
  width: 30%;
  height: 0;
  display: block;
  order: 1;
}

.container a.item {
  width: 30%;
  margin-right: 5%;
  display: block;
  transition: all 0.2s;
  box-shadow: 3px 3px 6px 0 rgb(0 0 0 / 5%);
  background-color: #f0f0f0;
}

.container a.item:hover {
  opacity: 0.92;
}

.container a.item:nth-child(3n) {
  margin-right: unset;
}

.container a.item:nth-child(n + 4) {
  margin-top: 5%;
}

.container a.item .item__img {
  width: 100%;
  height: 20vw;
  background-color: #ffffff;
}

.container a.item .item__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.container .info__box {
  width: 100%;
}

.container .center {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.container .center .tag {
  border-radius: 0 0 20px 0;
  background-color: #20912d;
  padding: 5px 8%;
  box-shadow: 0 1px 2px rgb(0 0 0 / 10%);
}

.container .center .date {
  font-size: calc(12px + 2 * (100vw - 320px) / 1046);
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-right: 2%;
}
@media screen and (min-width: 1440px) {
  .container .center .date {
    font-size: 14px;
  }
}

.container .info__box .title__box {
  padding: 1rem;
}

.container .info__box .title__box p.title__text {
  font-size: calc(14px + 2 * (100vw - 320px) / 1046);
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s;
}
@media screen and (min-width: 1440px) {
  .container .info__box .title__box p.title__text {
    font-size: 16px;
  }
}

.container .item:hover .info__box .title__box p.title__text {
  color: #20912d;
}

/* ------------------------- */
/* ページネーション */
.pnavi {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-top: 60px;
  width: 100%;
}

.pnavi .page-numbers {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #bfbfbf;
  background-color: #ffffff;
  margin: 0px 5px;
  font-size: calc(14px + 4 * (100vw - 320px) / 1046);
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 1440px) {
  .pnavi .page-numbers {
    font-size: 18px;
  }
}

.pnavi .page-numbers.current {
  background-color: #20912d;
  color: #ffffff;
}
/* ------------------------- */

/* ------------------------------------------------------------------------------------------------------------------- */
/* responsive */
@media screen and (max-width: 1024px) {
  .container a.item {
    width: 48%;
    margin-right: 4%;
  }

  .container a.item:nth-child(3n) {
    margin-right: 4%;
  }

  .container a.item:nth-child(2n) {
    margin-right: unset;
  }

  .container a.item:nth-child(n + 3) {
    margin-top: 8%;
  }

  .container a.item .item__img {
    height: 25vw;
  }
}

@media screen and (max-width: 768px) {
  .container a.item {
    width: 90%;
    margin: auto;
  }

  .container a.item:nth-child(3n) {
    margin: auto;
  }

  .container a.item:nth-child(2n) {
    margin: auto;
  }

  .container a.item:nth-child(n + 2) {
    margin-top: 8%;
  }

  .container a.item .item__img {
    height: 50vw;
  }
}

@media screen and (max-width: 480px) {
  .container {
    margin-top: 40px;
    margin-bottom: 80px;
  }

  .pnavi {
    margin-top: 30px;
  }

  .pnavi .page-numbers {
    width: 40px;
    height: 40px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------- */

/* 追記 */
.gallery {
  display: flex;
  flex-wrap: wrap;
}
