/*
 * 記事ページ（投稿）の見た目。トップの配色（夜空・ラベンダー・ローズ）と明朝の見出しを記事へ広げる。
 * 本文・ブロック構造・広告・CTA（.hdy-cta-*）は変更しない。SWELLの変数を上書きし、足りない部品だけ直接整える。
 * 読込：投稿の個別ページだけ（is_singular('post')）。SWELLは body_class を #body_wrap に出すため、そこを起点にする。
 */
#body_wrap.single-post {
  --hdy-a-ink: #493a49;
  --hdy-a-sub: #6a5868;
  --hdy-a-accent: #87516e;
  --hdy-a-accent-soft: #f7e9f0;
  --hdy-a-lav: #937b98;
  --hdy-a-lav-soft: #f2edf6;
  --hdy-a-gold: #b9956b;
  --hdy-a-line: #e5d6e1;
  --hdy-a-paper: #faf6f6;
  --hdy-a-card: #fffdfd;
  --hdy-a-mincho: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "Noto Serif CJK JP", serif;
  --hdy-a-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1c.8 7 4 10.2 11 11-7 .8-10.2 4-11 11-.8-7-4-10.2-11-11 7-.8 10.2-4 11-11z'/%3E%3C/svg%3E");
  --hdy-a-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 15.2A9 9 0 1 1 8.8 3.5a7.4 7.4 0 0 0 11.7 11.7z'/%3E%3C/svg%3E");

  /* SWELLの配色変数（投稿ページだけ） */
  --color_main: #87516e;
  --color_main_thin: rgba(135, 81, 110, .05);
  --color_main_dark: #6d3f59;
  --color_htag: #87516e;
  --color_text: #493a49;
  --color_link: #87516e;
  --color_bg: #faf6f6;
  --swl-fz--content: 16px;
  --thead-color--bg: #f3e4ec;
  --thead-color--txt: #493a49;
  --color_list_check: #87516e;
  --color_list_num: #87516e;
  --color_list_triangle: #d49ab4;
  --color_list_good: #74ad86;
  --color_list_bad: #d0607a;
  --color_icon_point: #d58aa6;
  --color_icon_check: #74ad86;
  --color_icon_caution: #d8ad57;
  --color_icon_info: #87516e;
  --color_icon_hatena: #8f86c4;
  --color_mark_yellow: #f9dce7;
  --color_mark_orange: #f8e3d2;
  --color_mark_blue: #e2e1f5;
  --color_mark_green: #dcefe1;
  background-color: var(--hdy-a-paper);
}

/* 本文 */
#body_wrap.single-post .post_content {
  color: var(--hdy-a-ink);
  line-height: 1.95;
  letter-spacing: .025em;
}
#body_wrap.single-post .post_content a:not([class]) {
  color: var(--hdy-a-accent);
  text-decoration: underline;
  text-decoration-color: #d9b4c6;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
}
#body_wrap.single-post .post_content a:not([class]):hover {
  text-decoration-color: currentColor;
}
#body_wrap.single-post .post_content ul:not([class*="is-style"]) > li::marker,
#body_wrap.single-post .post_content ol:not([class*="is-style"]) > li::marker {
  color: var(--hdy-a-accent);
  font-weight: 700;
}

/* 記事の頭：タイトル・日付・カテゴリー・パンくず・PR表記・アイキャッチ */
#body_wrap.single-post .p-breadcrumb.-bg-on {
  background: transparent;
  border-bottom: 1px solid var(--hdy-a-line);
}
#body_wrap.single-post .p-breadcrumb,
#body_wrap.single-post .p-breadcrumb a {
  color: var(--hdy-a-sub);
}
#body_wrap.single-post .c-postTitle__ttl {
  color: var(--hdy-a-ink);
  font-family: var(--hdy-a-mincho);
  font-size: clamp(21px, 5.6vw, 29px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .04em;
}
#body_wrap.single-post .c-postTitle__date {
  color: var(--hdy-a-accent);
  border-color: var(--hdy-a-line);
  font-family: var(--hdy-a-mincho);
}
#body_wrap.single-post .p-articleMetas,
#body_wrap.single-post .p-articleMetas a {
  color: var(--hdy-a-sub);
}
#body_wrap.single-post .p-articleMetas .c-categoryList__link {
  background: var(--hdy-a-accent-soft);
  border: 1px solid #ead2de;
  color: #74405d;
}
#body_wrap.single-post .c-prNotation {
  background: var(--hdy-a-card);
  border: 1px solid var(--hdy-a-line);
  border-radius: 12px;
  color: var(--hdy-a-sub);
}
#body_wrap.single-post .p-articleThumb__img {
  border-radius: 20px;
  box-shadow: 0 14px 30px -18px rgba(135, 81, 110, .55);
}

/* 目次：白い便箋のカード。折りたたみのぼかしもカードの色に合わせる */
#body_wrap.single-post .p-toc {
  --color_bg: var(--hdy-a-card);
  background: var(--hdy-a-card);
  border: 1px solid var(--hdy-a-line);
  border-radius: 22px;
  padding: 1.6em 1.25em 1.3em;
  box-shadow: 0 10px 26px -20px rgba(135, 81, 110, .6);
}
#body_wrap.single-post .p-toc__ttl {
  color: var(--hdy-a-ink);
  font-family: var(--hdy-a-mincho);
  font-weight: 600;
  letter-spacing: .12em;
}
#body_wrap.single-post .p-toc__ttl::before {
  color: var(--hdy-a-accent);
}
#body_wrap.single-post .p-toc__link {
  color: var(--hdy-a-ink);
}
#body_wrap.single-post .p-toc .p-toc__expandBtn {
  background: var(--hdy-a-accent-soft);
  box-shadow: 0 0 0 1px #e3c7d6;
  color: #74405d;
}

/* 見出し（本文直下だけ。ブロック内の見出しは変えない） */
#body_wrap.single-post .post_content > h2 {
  position: relative;
  margin: 3.4em 0 1.5em;
  padding: 1em 1.1em 1em 2.75em;
  background: linear-gradient(120deg, #f8eaf0 0%, #f1ebf6 100%);
  border: 1px solid #ead9e4;
  border-radius: 18px 18px 18px 4px;
  color: var(--hdy-a-ink);
  font-family: var(--hdy-a-mincho);
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .04em;
}
#body_wrap.single-post .post_content > h2::before {
  content: "";
  position: absolute;
  top: 1.3em;
  left: 1.05em;
  width: 1em;
  height: 1em;
  border: 0;
  background: var(--hdy-a-accent);
  -webkit-mask: var(--hdy-a-sparkle) center / contain no-repeat;
  mask: var(--hdy-a-sparkle) center / contain no-repeat;
}
#body_wrap.single-post .post_content > h2::after {
  content: none;
}
@media (max-width: 599px) {
  #body_wrap.single-post .post_content > h2 {
    padding: .95em 1em .95em 2.5em;
    font-size: 1.19em;
    letter-spacing: .02em;
  }
  #body_wrap.single-post .post_content > h2::before {
    top: 1.25em;
    left: .95em;
    width: .95em;
    height: .95em;
  }
}
#body_wrap.single-post .post_content > h3 {
  position: relative;
  margin: 2.8em 0 1.2em;
  padding: 0 0 .5em 1.75em;
  background: none;
  border: 0;
  border-bottom: 1.5px dashed #dcc4d2;
  color: var(--hdy-a-ink);
  font-family: var(--hdy-a-mincho);
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .03em;
}
#body_wrap.single-post .post_content > h3::before {
  content: "";
  position: absolute;
  top: .25em;
  left: 0;
  width: 1.15em;
  height: 1.15em;
  border: 0;
  background: var(--hdy-a-gold);
  -webkit-mask: var(--hdy-a-moon) center / contain no-repeat;
  mask: var(--hdy-a-moon) center / contain no-repeat;
}
#body_wrap.single-post .post_content > h3::after {
  content: none;
}
#body_wrap.single-post .post_content > h4 {
  position: relative;
  margin: 2.2em 0 1em;
  padding: 0 0 0 1.35em;
  background: none;
  border: 0;
  color: #74405d;
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.6;
}
#body_wrap.single-post .post_content > h4::before {
  content: "";
  position: absolute;
  top: .42em;
  left: 0;
  width: .8em;
  height: .8em;
  border: 0;
  background: #d49ab4;
  -webkit-mask: var(--hdy-a-sparkle) center / contain no-repeat;
  mask: var(--hdy-a-sparkle) center / contain no-repeat;
}

/* 吹き出し：ローズの手紙色。サイトで使う gray 設定だけを置き換える */
#body_wrap.single-post [data-col="gray"] .c-balloon__text {
  background: #f8edf2;
  color: var(--hdy-a-ink);
  border-radius: 20px;
}
#body_wrap.single-post [data-col="gray"] .c-balloon__before {
  border-right-color: #f8edf2;
}
#body_wrap.single-post .c-balloon__iconImg {
  border: 2px solid #ecd9e4;
  background: #fff;
}
#body_wrap.single-post .c-balloon__iconName {
  color: var(--hdy-a-sub);
}

/* 表：角丸の白いカード、見出し行は淡いローズ、行ごとに淡い縞 */
#body_wrap.single-post .post_content .wp-block-table table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--hdy-a-line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--hdy-a-card);
  font-size: .92em;
  line-height: 1.75;
}
#body_wrap.single-post .post_content .wp-block-table td,
#body_wrap.single-post .post_content .wp-block-table th {
  border: 0;
  border-right: 1px solid var(--hdy-a-line);
  border-bottom: 1px solid var(--hdy-a-line);
  padding: .75em .8em;
  vertical-align: top;
}
#body_wrap.single-post .post_content .wp-block-table tr > :last-child {
  border-right: 0;
}
#body_wrap.single-post .post_content .wp-block-table tbody tr:last-child > * {
  border-bottom: 0;
}
#body_wrap.single-post .post_content .wp-block-table thead td,
#body_wrap.single-post .post_content .wp-block-table thead th {
  font-weight: 700;
}
#body_wrap.single-post .post_content .wp-block-table tbody tr:nth-child(even) > * {
  background: #fcf7fa;
}

/* アイコン付きの段落ボックス：角を丸め、白地に */
#body_wrap.single-post .post_content [class*="is-style-big_icon_"] {
  border-radius: 16px;
  background: var(--hdy-a-card);
}

/* 記事下：著者・関連記事・前後の記事 */
#body_wrap.single-post .l-articleBottom__title.c-secTitle {
  color: var(--hdy-a-ink);
  font-family: var(--hdy-a-mincho);
  font-weight: 600;
  letter-spacing: .08em;
}
#body_wrap.single-post .p-authorBox {
  background: var(--hdy-a-card);
  border: 1px solid var(--hdy-a-line);
  border-radius: 20px;
}
#body_wrap.single-post .p-relatedPosts .p-postList__thumb {
  border-radius: 14px;
}
#body_wrap.single-post .p-relatedPosts .p-postList__title {
  color: var(--hdy-a-ink);
}
#body_wrap.single-post .p-pnLinks__link {
  border-radius: 14px;
  background: var(--hdy-a-card);
  box-shadow: 0 0 0 1px var(--hdy-a-line);
  color: var(--hdy-a-ink);
}
