@charset "UTF-8";

/* ================================
   Main Content Column
   single-review.css と同じ本文カラム補正
   ================================ */
/* .main-content {
  flex: 1;
  min-width: 0;
} */

/* 紙面型では中央寄せしない */
/* .main-content .container {
  max-width: none;
  margin: 0;
} */

/* @media screen and (min-width: 768px) {
  .inner--left-column {
    padding-inline: 0;
  }
} */

/* body.single-post に下余白を付けると、SPでフッター下に白い余白が出るため 0 にする */
.single-post {
  padding-bottom: 0px;
}

.single-post__header {
  margin-bottom: 24px;
}

.single-post__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.single-post__meta time {
  color: #777;
  font-size: 13px;
  font-weight: 600;
}

.single-post__title {
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 700;
  text-align: left;
}

.single-post__writer {
  margin-bottom: 18px;
  color: #555;
  font-size: 13px;
  font-weight: 600;
}

.single-post__thumbnail {
  width: min(100%, 320px);
  margin-bottom: 28px;
}

.single-post__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
}

.single-post__body {
  font-size: 15px;
  line-height: 2;
}

.single-post__body p {
  margin-bottom: 1.6em;
}

.single-post__related-drama {
  margin-top: 44px;
  margin-bottom: 48px;
  padding-top: 24px;
  border-top: 1px solid #eee;
}

.single-post__related-title {
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
}

.single-post__related-link {
  display: flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.single-post__related-link:hover {
  opacity: 0.86;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.single-post__related-thumb {
  width: 72px;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  flex-shrink: 0;
}

.single-post__related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post__related-name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}
.single-post__related-list {
  display: grid;
  gap: 12px;
}
/* ================================
   Single Post Body Decoration
   推し活日記本文の装飾
================================ */

.single-post__body h2 {
  margin-top: 2.4em;
  margin-bottom: 0.9em;
  padding-bottom: 0.35em;
  border-bottom: 1px solid #eadede;
  font-size: 21px;
  line-height: 1.6;
  font-weight: 700;
}

.single-post__body h3 {
  margin-top: 2em;
  margin-bottom: 0.8em;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 700;
}

/* .single-post__body strong {
  font-weight: 700;
} */

.single-post__body ul,
.single-post__body ol {
  margin: 1.2em 0 1.6em;
  padding-left: 1.6em;
}

.single-post__body li {
  margin-bottom: 0.5em;
  line-height: 1.9;
}

.single-post__body a {
  color: #9b5c5c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* .single-post__body blockquote {
  margin: 1.8em 0;
  padding: 1em 1.2em;
  border-left: 4px solid #d8b8b8;
  background: #fbf7f7;
  color: #555;
  line-height: 1.9;
}

.single-post__body blockquote p:last-child {
  margin-bottom: 0;
} */

/* 調整用の追加 */
/* ================================
   Single Post Body Decoration
   推し活日記本文の装飾
================================ */

/* 見出し2：大きな話題の区切り */
.single-post__body h2 {
  margin-top: 2.6em;
  margin-bottom: 1em;
  padding: 0.25em 0 0.35em 0.8em;
  border-left: 6px solid #b98f8f;
  border-bottom: 1px solid #eadede;
  font-size: 23px;
  line-height: 1.6;
  font-weight: 700;
}

/* 見出し3：小さな話題の区切り */
.single-post__body h3 {
  margin-top: 2.1em;
  margin-bottom: 0.8em;
  padding-left: 0.7em;
  border-left: 4px solid #d8b8b8;
  font-size: 19px;
  line-height: 1.6;
  font-weight: 700;
}

/* 段落 */
.single-post__body p {
  margin-bottom: 1.6em;
}

/* 太字：本文中でしっかり強調されるようにする */
/* .single-post__body strong {
  font-weight: 700;
  background: linear-gradient(transparent 62%, #fff0a8 62%);
  padding-inline: 0.05em;
} */

/* 強調：黒いアンダーライン */
.single-post__body u,
.single-post__body span[style*="text-decoration: underline"] {
  text-decoration-line: underline;
  text-decoration-color: #393939;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}

/* 箇条書き・番号付きリスト */
.single-post__body ul,
.single-post__body ol {
  margin: 1.2em 0 1.8em;
  padding-left: 1.6em;
}

/* foundationなどでlist-styleが消えている場合のため、明示する */
.single-post__body ul {
  list-style: disc;
}

.single-post__body ol {
  list-style: decimal;
}

.single-post__body li {
  margin-bottom: 0.6em;
  line-height: 1.9;
}

/* リストの入れ子 */
.single-post__body li ul,
.single-post__body li ol {
  margin-top: 0.6em;
  margin-bottom: 0.8em;
}

/* リンク：分かりやすさ優先で水色 */
.single-post__body a {
  color: #178bd7;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-post__body a:hover {
  opacity: 0.75;
}

/* 引用：かなり控えめ */
.single-post__body blockquote {
  position: relative;
  margin: 1.8em 0;
  padding: 0.4em 0 0.4em 1.8em;
  color: #555;
  font-size: 14px;
  line-height: 1.9;
}

.single-post__body blockquote::before {
  content: "“";
  position: absolute;
  top: 0;
  left: 0;
  color: #c9a8a8;
  font-size: 28px;
  line-height: 1;
  font-family: serif;
}
