/* =========================================================
   お知らせ（news）本文用スタイル
   - 編集画面（TinyMCE iframe 内の <body class="mceContentBody">）
   - フロント（single-news.php の .news-content セクション内）
   の両方に適用
   ========================================================= */

body.mceContentBody {
  max-width: 800px;
  margin: 1.5em auto;
  padding: 0 1em;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #1f2937;
}

/* 見出し */
body.mceContentBody h1,
body.mceContentBody h2,
body.mceContentBody h3,
body.mceContentBody h4,
body.mceContentBody h5,
body.mceContentBody h6,
.news-content h1,
.news-content h2,
.news-content h3,
.news-content h4,
.news-content h5,
.news-content h6 {
  font-weight: 700;
  line-height: 1.4;
  margin: 1.8em 0 0.8em;
}

body.mceContentBody h1,
.news-content h1 { font-size: 1.875rem; }

body.mceContentBody h2,
.news-content h2 {
  font-size: 1.5rem;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #662D6A;
}

body.mceContentBody h3,
.news-content h3 {
  font-size: 1.25rem;
  padding-left: 0.6em;
  border-left: 4px solid #662D6A;
}

body.mceContentBody h4,
.news-content h4 { font-size: 1.125rem; }

body.mceContentBody h5,
.news-content h5 { font-size: 1rem; }

body.mceContentBody h6,
.news-content h6 { font-size: 0.875rem; }

/* 段落 */
body.mceContentBody p,
.news-content p {
  margin: 0 0 1em;
}

/* リンク */
body.mceContentBody a,
.news-content a {
  color: #1e40af;
  text-decoration: underline;
}
body.mceContentBody a:hover,
.news-content a:hover {
  color: #662D6A;
  text-decoration: none;
}

/* リスト */
body.mceContentBody ul,
body.mceContentBody ol,
.news-content ul,
.news-content ol {
  margin: 0 0 1em;
  padding-left: 1.8em;
}
body.mceContentBody ul,
.news-content ul { list-style: disc; }

body.mceContentBody ol,
.news-content ol { list-style: decimal; }

body.mceContentBody li,
.news-content li { margin-bottom: 0.3em; }

/* 引用 */
body.mceContentBody blockquote,
.news-content blockquote {
  margin: 1em 0;
  padding: 0.8em 1em;
  border-left: 4px solid #B295B4;
  background: #F6F3F6;
  color: #4b5563;
}

/* 画像 */
body.mceContentBody img,
.news-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

/* テーブル */
body.mceContentBody table,
.news-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
}
body.mceContentBody th,
body.mceContentBody td,
.news-content th,
.news-content td {
  padding: 0.6em 0.8em;
  border: 1px solid #d1d5db;
  text-align: left;
}
body.mceContentBody th,
.news-content th {
  background: #F6F3F6;
  font-weight: 700;
}

/* 区切り線 */
body.mceContentBody hr,
.news-content hr {
  margin: 2em 0;
  border: 0;
  border-top: 1px solid #d1d5db;
}

/* インラインコード・pre */
body.mceContentBody code,
.news-content code {
  padding: 0.1em 0.4em;
  background: #F6F3F6;
  border-radius: 0.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.9em;
}
body.mceContentBody pre,
.news-content pre {
  padding: 1em;
  background: #F6F3F6;
  border-radius: 0.5rem;
  overflow-x: auto;
}
body.mceContentBody pre code,
.news-content pre code {
  padding: 0;
  background: transparent;
}
