/* ========================================
   Markdownコンテンツ用スタイル
   ※ Typographyプラグインのproseクラスを基本として使用
======================================== */

/* .news-container : ニュースページ用コンテナ */
/* @apply: max-w-3xl mx-auto bg-white p-10 shadow-sm */
.news-container {
  max-width: 48rem;       /* max-w-3xl = 768px */
  margin-left: auto;      /* mx-auto */
  margin-right: auto;     /* mx-auto */
  padding: 2.5rem;        /* p-10 */
}

/* .news-title : ニュースタイトル */
/* @apply: text-2xl font-bold border-b-4 border-blue-800 pb-2 mb-5 */
.news-title {
  font-size: 1.5rem;      /* text-2xl */
  font-weight: 700;       /* font-bold */
  border-bottom-width: 0.25rem; /* border-b-4 */
  border-bottom-style: solid;
  border-bottom-color: #1e40af; /* border-blue-800 */
  padding-bottom: 0.5rem; /* pb-2 */
  margin-bottom: 1.25rem; /* mb-5 */
  color: #1e40af;         /* text-blue-800 */
}

/* .post-date : 投稿日 */
/* @apply: text-gray-500 mb-1 */
.post-date {
  color: #6b7280;         /* text-gray-500 */
  margin-bottom: 0.25rem; /* mb-1 */
}

/* .post-date-new : 新しい投稿日（1週間以内） */
/* @apply: text-red-600 font-bold mb-1 */
.post-date-new {
  color: #dc2626;         /* text-red-600 */
  font-weight: 700;       /* font-bold */
  margin-bottom: 0.25rem; /* mb-1 */
}

/* .news-article : ニュース記事カード */
/* @apply: p-6 bg-white rounded-xl border border-gray-200 mb-15 */
.news-article {
  padding: 1.5rem;        /* p-6 */
  background-color: white; /* bg-white */
  border-radius: 0.75rem; /* rounded-xl */
  border-width: 1px;      /* border */
  border-style: solid;
  border-color: #e5e7eb;   /* border-gray-200 */
  margin-bottom: 3.75rem; /* mb-15 = 60px */
}

/* .news-article が <a> タグの場合のスタイル */
a.news-article {
  display: block;         /* aタグ用 */
  text-decoration: none;  /* リンク下線なし */
  color: inherit;         /* リンク色を継承 */
}

/* .news-description : ニュース説明文 */
/* @apply: text-gray-600 mt-2 */
.news-description {
  color: #4b5563;         /* text-gray-600 */
  margin-top: 0.5rem;     /* mt-2 */
}

/* .news-meta : 日付と分類のコンテナ */
/* @apply: flex items-center gap-2 mb-2 */
.news-meta {
  display: flex;        /* flex */
  align-items: center;  /* items-center */
  gap: 0.5rem;          /* gap-2 */
  margin-bottom: 0.5rem; /* mb-2 */
}

/* .news-category : ニュース分類 */
/* @apply: text-sm text-white font-semibold px-3 py-1 rounded-full bg-blue-600 */
.news-category {
  font-size: 0.875rem;    /* text-sm */
  color: white;           /* text-white */
  font-weight: 600;       /* font-semibold */
  padding-left: 0.75rem;  /* px-3 */
  padding-right: 0.75rem; /* px-3 */
  padding-top: 0.25rem;   /* py-1 */
  padding-bottom: 0.25rem;/* py-1 */
  border-radius: 9999px;  /* rounded-full */
  background-color: #2563eb; /* bg-blue-600 */
}

/* ========================================
   Markdown用スタイル（.prose）
======================================== */

.prose {
  color: #374151;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose p {
  text-indent: 1em;
}

.prose h1 {
  font-size: 1.75em;
  font-weight: 700;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
  line-height: 1.3;
  color: #111827;
  /* style.cssの設定を打ち消す */
  text-align: left;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.prose h2 {
  font-size: 1.5em;
  font-weight: 700;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  line-height: 1.3;
  color: #111827;
}

.prose h3 {
  font-size: 1.25em;
  font-weight: 600;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  line-height: 1.4;
  color: #111827;
}


.prose ul, .prose ol {
  /* デフォルト0.5emを使用 */
  padding-left: 1.625em;
}

.prose li {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.prose ul > li {
  list-style-type: disc;
}

.prose ol > li {
  list-style-type: decimal;
}

.prose code {
  color: #111827;
  font-weight: 600;
  font-size: 0.875em;
  background-color: #f3f4f6;
  padding: 0.2em 0.4em;
  border-radius: 0.25rem;
}

.prose pre {
  color: #e5e7eb;
  background-color: #1f2937;
  overflow-x: auto;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding: 0.8571429em 1.1428571em;
}

.prose pre code {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 400;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose a {
  color: #2563eb;
  text-decoration: underline;
  font-weight: 500;
}

.prose a:hover {
  color: #1d4ed8;
}

.prose blockquote {
  font-weight: 500;
  font-style: italic;
  color: #111827;
  border-left-width: 0.25rem;
  border-left-color: #e5e7eb;
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
}

.prose table {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose thead {
  border-bottom-width: 2px;
  border-bottom-color: #d1d5db;
}

.prose th {
  font-weight: 600;
  vertical-align: bottom;
  padding-right: 0.75em;
  padding-bottom: 0.75em;
  padding-left: 0.75em;
}

.prose tbody tr {
  border-bottom-width: 1px;
  border-bottom-color: #e5e7eb;
}

.prose td {
  vertical-align: top;
  padding-right: 0.75em;
  padding-bottom: 0.75em;
  padding-left: 0.75em;
}

.prose img {
  margin-top: 2em;
  margin-bottom: 2em;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.prose hr {
  border-color: #e5e7eb;
  margin-top: 3em;
  margin-bottom: 3em;
}
