/* News
-------------------------------------*/
.news-index {
  background: var(--beige);
  padding: 0 0 200px;
  max-width: 1180px;
  margin: 0 auto;
}

.news-index .section-ttl {
  width: 120px;
  margin: 0 auto 160px;
}

.news-index .news-index-inner {
  display: block;
}
@media (max-width: 768px) {
  .news-index .section-ttl {
    width: 18vw;
    margin: 0 auto 40px;
  }
}

/* ---- 右側:お知らせ一覧 ---- */
.news-index .news-list {
  grid-area: list;
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-index .news-item {
  padding: 24px 0;
  border-bottom: 1px solid rgba(34, 24, 21, 0.25);
}
.news-index .news-item:first-child {
  padding-top: 0;
}

.news-index .news-item-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.news-index .news-date {
  display: block;
  font-family: "EB Garamond", serif;
  font-size: clamp(14px, 3.6vw, 16px);
  letter-spacing: 0.05em;
  color: var(--black);
  margin-bottom: 12px;
}

.news-index .news-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.news-index .news-title {
  margin: 0;
  font-size: clamp(16px, 1.8vw, 18px);
  letter-spacing: 0.02em;
  line-height: 1.6;
}

.news-index .news-link {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  width: clamp(
    24px,
    2.2vw,
    29px
  ); /* 最小24px 〜 最大29px の間で画面幅に応じて変化 */
  aspect-ratio: 29 / 21;
  border: 1px solid var(--black);
  border-radius: 999px;
  font-size: clamp(24px, 2.2vw, 29px);
  flex-shrink: 0;
  transition:
    opacity 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

.news-index .news-item-link:hover .news-title {
  opacity: 0.7;
}
.news-index .news-item-link:hover .news-link {
  background: var(--black);
  transform: translateX(4px);
}
.news-index .news-item-link:hover .news-link .icon-arrow {
  filter: invert(1) brightness(2);
}

.news-index .news-link .icon-arrow {
  width: 0.345em; /* 10px ÷ 29px ≒ 0.345 */
  aspect-ratio: 10 / 9;
  display: block;
}

.news-index .btn-area {
  text-align: center;
  margin-top: 40px;
}

@media (max-width: 900px) {
  .news-index {
    padding: 80px 6vw 100px;
  }

  .news-more {
    width: auto;
    justify-self: center;
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .news-index {
    padding: 0 3vw 17vw;
  }
  .news-index .news-link {
    width: clamp(27px, 7.69vw, 30px);
    height: auto;
  }
}

/* 記事ページ　list以下
-------------------------------------*/
.news-detail {
  padding: 0 0 200px;
  margin: 0 auto;
  max-width: 1180px;
}

.news-detail-inner {
  background: var(--white);
  padding: 120px 100px;
}

.news-date-title {
  border-bottom: 1px solid rgba(34, 24, 21, 0.25);
}

.news-date-title .news-date {
  font-size: clamp(14px, 3.6vw, 16px);
  display: block;
  color: var(--black);
  margin-bottom: 12px;
  letter-spacing: 0.05em;
  font-family: "NotoSerifJP", serif;
}

.news-date-title .news-detail-title {
  font-family: "Shippori Mincho", serif;
  margin: 11px 0 20px 0;
  font-size: clamp(31px, 8.72vw, 34px);
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.news-detail-body {
  margin-top: 30px;
}

.news-detail-back {
  text-align: center;
  margin-top: 80px;
}

/*記事段落調整用*/
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .news-detail {
    padding: 0 3vw 17vw;
  }
  .news-detail-inner {
    padding: 10vw 6vw;
  }

  .news-detail-back {
    margin-top: 40px;
  }
}
