/* ============================================
   Article（記事詳細ページ）
============================================ */
.article {
  width: 100%;
  background: #fffaf4;
  display: flex;
  justify-content: center;
}

.article__inner {
  width: 100%;
  max-width: 800px;
  background: #fff;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-x: hidden;
}

/* ============================================
   Article Header（投稿日・タイトル・アイキャッチ）
============================================ */
.article-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.article-header__date {
  color: #756457;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}

.article-header__title {
  color: #2c2420;
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.6;
  word-wrap: break-word;
}

.article-header__thumbnail {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 4px;
}

.article-header__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.article-header__no-image {
  width: 100%;
  height: 100%;
  background: #f0ebe6;
}

/* ============================================
   Article Body（記事本文）
============================================ */
.article-body {
  color: #2c2420;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  word-wrap: break-word;
  min-width: 0;
}

.article .article__inner .article-body table {
  display: block !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap !important;
  border-collapse: collapse;
}

/* ============================================
   SP対応
============================================ */
@media (max-width: 768px) {
  .article__inner {
    gap: 24px;
    padding: 16px;
  }

  .article-header__title {
    font-size: 22px;
  }
}
