/* =========================================================
   Start From 39 | 投稿記事共通デザイン
   既存 article-reading-editorial.css に副業記事用スタイルを統合
   サイドバー・サイト共通レイアウトには変更なし
========================================================= */

/* Start From 39 — editorial reading design / 2026-10-14
   Scoped to .sf39-reading-article. Header, footer, sidebar untouched. */
.sf39-reading-article {
  --sfr-ink: #183f37;
  --sfr-paper: #faf7f0;
  --sfr-cream: #f4ede1;
  --sfr-clay: #b65e42;
  --sfr-gold: #ae873f;
  --sfr-sage: #edf2eb;
  color: #34423c;
  background: #fff;
  border: 0;
}

.sf39-reading-article .sf39-reading-photo {
  margin: 0;
  overflow: hidden;
}

.sf39-reading-article .sf39-reading-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2.15/1;
  object-fit: cover;
  object-position: center;
}

.sf39-reading-article .sf-article-header {
  position: relative;
  z-index: 1;
  padding: 30px 34px 26px;
  background: var(--sfr-paper);
  border-bottom: 1px solid #e1d8c8;
}

.sf39-reading-article .has-photo .sf-article-header {
  margin: -44px 24px 0;
}

.sf39-reading-article .sf-article-header h1 {
  margin: 14px 0 18px;
  padding: 0;
  border: 0;
  color: var(--sfr-ink);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(20px,1.7vw,26px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .025em;
  overflow-wrap: anywhere;
}

.sf39-reading-article .sf-article-meta {
  color: #687269;
  font-size: 11px;
}

.sf39-reading-article .sf-article-content {
  padding: 38px 36px 42px;
  font-size: 17px;
  line-height: 1.95;
  letter-spacing: .02em;
  overflow-wrap: anywhere;
}

.sf39-reading-article .sf-article-content :where(.sf-article,.sf-article__body,.sf-money-page) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: inherit;
  line-height: inherit;
}

.sf39-reading-article .sf-article-content p {
  margin: 0 0 1.5em;
  line-height: 1.95;
}

.sf39-reading-article .sf-article-content :is(h2,h3,h4,h5,h6):not([class]):not(.sf-faq-question) {
  font-family: "Noto Serif JP","Yu Mincho",serif;
  color: var(--sfr-ink);
  font-weight: 600;
  line-height: 1.65;
  box-shadow: none;
  border-radius: 0;
}

.sf39-reading-article .sf-article-content h2:not([class]) {
  position: relative;
  margin: 58px 0 25px;
  padding: 0 0 17px 20px;
  font-size: 24px;
  background: none;
  border: 0;
  border-bottom: 1px solid #d9d8cc;
}

.sf39-reading-article .sf-article-content h2:not([class])::before {
  content: "";
  position: absolute;
  left: 0;
  top: .28em;
  width: 5px;
  height: 1.15em;
  background: var(--sfr-clay);
  border: 0;
  border-radius: 0;
}

.sf39-reading-article .sf-article-content h2:not([class])::after {
  content: none;
}

.sf39-reading-article .sf-article-content h3:not([class]) {
  position: relative;
  margin: 37px 0 18px;
  padding: 0 0 10px 18px;
  font-size: 21px;
  border: 0;
  border-bottom: 1px solid #e8dfd0;
  background: none;
}

.sf39-reading-article .sf-article-content h3:not([class])::before {
  content: "";
  position: absolute;
  left: 0;
  top: .28em;
  width: 3px;
  height: 1.05em;
  background: #b86f60;
  transform: none;
  border: 0;
}

.sf39-reading-article .sf-article-content h3:not([class])::after {
  content: none;
}

.sf39-reading-article .sf-article-content h4:not([class]) {
  margin: 29px 0 16px;
  padding: 12px 16px;
  font-size: 19px;
  background: var(--sfr-sage);
  border: 0;
  border-left: 3px solid #71836d;
}

.sf39-reading-article .sf-article-content h5:not([class]) {
  margin: 25px 0 13px;
  padding: 0 0 0 16px;
  font-size: 17px;
  color: #685244;
  background: none;
  border: 0;
  border-left: 2px solid #95765d;
}

.sf39-reading-article .sf-article-content h6:not([class]) {
  margin: 22px 0 12px;
  padding: 0 0 0 13px;
  font-size: 16px;
  background: none;
  border: 0;
  border-left: 1px solid var(--sfr-gold);
}

.sf39-reading-article .sf-article-content :is(h4,h5,h6):not([class])::before,.sf39-reading-article .sf-article-content :is(h4,h5,h6):not([class])::after {
  content: none;
}

.sf39-reading-article .sf-article-content .sf-article__lead,.sf39-reading-article .sf-article-content .sf-lead {
  font-size: 1.06em;
  line-height: 2.05;
  color: #3f4a43;
}

.sf39-reading-article .sf-article-content .sf-toc {
  padding: 25px 27px;
  background: #faf7ef;
  border: 1px solid #e7ddcc;
  border-radius: 3px;
  box-shadow: none;
}

.sf39-reading-article .sf-article-content .sf-article__summary,.sf39-reading-article .sf-article-content .sf-summary-box {
  padding: 25px 27px;
  background: #eef3ee;
  border: 1px solid #d5e2d9;
  border-left: 4px solid #496f5e;
  border-radius: 3px;
  box-shadow: none;
}

.sf39-reading-article .sf-article-content .sf-point-box {
  background: #f9f1e5;
  border: 1px solid #ebd9c5;
  border-left: 4px solid #b08a55;
  border-radius: 3px;
  box-shadow: none;
}

.sf39-reading-article .sf-article-content .sf-check-box {
  background: #f5f7f2;
  border-color: #7c9279;
}

.sf39-reading-article .sf-article-content .sf-alert-box,.sf39-reading-article .sf-article-content .sf-caution-box {
  background: #fcf0ec;
  border-color: #b65e42;
}

.sf39-reading-article .sf-article-content blockquote {
  margin: 32px 0;
  padding: 24px 27px;
  background: #f8f3e9;
  border: 0;
  border-left: 3px solid var(--sfr-gold);
  color: #29473b;
}

.sf39-reading-article .sf-article-content :is(.wp-block-table,.sf-table-wrap,.sf-table-scroll,.sf39-table-scroll) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.sf39-reading-article .sf-article-content table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.7;
}

.sf39-reading-article .sf-article-content th {
  background: #e8efe8;
  color: var(--sfr-ink);
  font-weight: 700;
}

.sf39-reading-article .sf-article-content th,.sf39-reading-article .sf-article-content td {
  padding: 13px 14px;
  border: 1px solid #dddcd3;
  vertical-align: top;
}

.sf39-reading-article .sf-article-content tbody tr:nth-child(even) {
  background: #fcfaf5;
}

/* Use .sf39-table-scroll and .sf39-table--2 / --3 / --4 / --6 around tables. */
.sf39-reading-article .sf39-table--2 {
  min-width: 360px;
}

.sf39-reading-article .sf39-table--3 {
  min-width: 480px;
}

.sf39-reading-article .sf39-table--4 {
  min-width: 620px;
}

.sf39-reading-article .sf39-table--6 {
  min-width: 900px;
}

.sf39-reading-article .sf39-table--2 th,.sf39-reading-article .sf39-table--2 td {
  width: 50%;
}

.sf39-reading-article .sf39-table--3 th,.sf39-reading-article .sf39-table--3 td {
  width: 33.333%;
}

.sf39-reading-article .sf39-table--4 th,.sf39-reading-article .sf39-table--4 td {
  width: 25%;
}

.sf39-reading-article .sf39-table--6 th,.sf39-reading-article .sf39-table--6 td {
  width: 16.666%;
}

.sf39-reading-article .sf-article-content figure img {
  max-width: 100%;
  height: auto;
}

.sf39-reading-article .sf-article-content figcaption {
  font-size: 12px;
  color: #778077;
  line-height: 1.7;
  text-align: center;
}

.sf39-reading-article .sf-article-content [id] {
  scroll-margin-top: 110px;
}

@media (max-width:600px) {
  .sf39-reading-article .sf39-reading-photo img {
    aspect-ratio: 1.65/1;
  }

  .sf39-reading-article .has-photo .sf-article-header {
    margin: -24px 12px 0;
  }

  .sf39-reading-article .sf-article-header {
    padding: 20px 18px;
  }

  .sf39-reading-article .sf-article-header h1 {
    font-size: 22px;
  }

  .sf39-reading-article .sf-article-content {
    padding: 28px 20px;
    font-size: 16px;
  }

  .sf39-reading-article .sf-article-content h2:not([class]) {
    margin: 42px 0 21px;
    font-size: 23px;
  }

  .sf39-reading-article .sf-article-content h3:not([class]) {
    font-size: 19px;
  }

  .sf39-reading-article .sf-article-content :is(.sf-toc,.sf-article__summary,.sf-summary-box) {
    padding: 20px 18px;
  }

}


/* =========================================================
   40代の在宅副業4選 | 記事本文の専用デザイン
   .sf39-sidejob の内側に限定
========================================================= */

/* Start From 39 | Warm Editorial Article | Scoped to .sf39-sidejob */
.sf39-sidejob {
  --sf-forest: #18483e;
  --sf-ink: #343b37;
  --sf-muted: #69736b;
  --sf-gold: #ad854d;
  --sf-rose: #ad685c;
  --sf-paper: #fbf7f0;
  --sf-sage: #edf3ed;
  --sf-line: #e8dfd3;
  color: var(--sf-ink);
  font-size: 16px;
  line-height: 1.95;
  letter-spacing: .018em;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.sf39-sidejob * {
  box-sizing: border-box;
}

.sf39-sidejob p {
  margin: 0 0 1.35em;
  line-height: 1.95;
}

.sf39-sidejob strong {
  color: var(--sf-forest);
  font-weight: 700;
}

.sf39-sidejob a {
  color: #916344;
  text-underline-offset: 4px;
}

.sf39-sidejob ul,.sf39-sidejob ol {
  padding-left: 1.4em;
}

.sf39-sidejob li {
  margin: .4em 0;
}

.sf39-sidejob h2,.sf39-sidejob h3 {
  font-family: "Noto Serif JP","Yu Mincho",serif;
  color: var(--sf-forest);
  font-weight: 650;
  line-height: 1.55;
  letter-spacing: .015em;
}

.sf39-sidejob .sf39-ed-kicker,.sf39-sidejob .sf39-ed-small-label,.sf39-sidejob .sf39-ed-section-no {
  font-family: Arial,sans-serif;
  letter-spacing: .16em;
  font-size: 11px;
  font-weight: 700;
}

.sf39-sidejob .sf39-ed-kicker {
  color: var(--sf-gold);
  margin: 0 0 20px;
}

.sf39-sidejob .sf39-ed-kicker span {
  letter-spacing: .06em;
  color: var(--sf-muted);
}

.sf39-sidejob .sf39-ed-intro {
  padding: 28px 0 12px;
}

.sf39-sidejob .sf39-ed-lead {
  font-family: "Noto Serif JP",serif;
  font-size: clamp(21px,2.3vw,29px);
  font-weight: 650;
  color: var(--sf-forest);
  line-height: 1.7;
  border-left: 3px solid var(--sf-gold);
  padding-left: 18px;
  margin-bottom: 24px;
}

.sf39-sidejob .sf39-ed-question {
  background: var(--sf-paper);
  border: 1px solid var(--sf-line);
  padding: 25px 28px;
  margin: 28px 0;
  border-radius: 4px;
}

.sf39-sidejob .sf39-ed-small-label {
  color: var(--sf-rose);
  margin-bottom: 8px;
}

.sf39-sidejob .sf39-ed-question ul {
  margin: 10px 0 0;
}

.sf39-sidejob .sf39-ed-question li::marker {
  color: var(--sf-rose);
}

.sf39-sidejob .sf39-ed-summary {
  background: linear-gradient(125deg,#f2f5ef,#fcf8f2);
  border: 1px solid #dbe6da;
  border-left: 4px solid var(--sf-forest);
  padding: 28px 30px;
  margin: 35px 0;
}

.sf39-sidejob .sf39-ed-box-title {
  font-size: 21px !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

.sf39-sidejob .sf39-ed-summary ul {
  margin: 0;
}

.sf39-sidejob .sf39-ed-summary li::marker {
  color: var(--sf-forest);
}

.sf39-sidejob .sf39-ed-toc {
  padding: 28px 30px;
  background: #fbf8f4;
  border: 1px solid var(--sf-line);
  margin: 38px 0 55px;
}

.sf39-sidejob .sf39-ed-toc ol {
  margin: 0;
  list-style: decimal-leading-zero;
  columns: 2;
  column-gap: 35px;
}

.sf39-sidejob .sf39-ed-toc li {
  break-inside: avoid;
  padding: 5px 0;
  border-bottom: 1px solid #ece6dc;
}

.sf39-sidejob .sf39-ed-toc li::marker {
  color: var(--sf-gold);
  font-weight: 700;
}

.sf39-sidejob .sf39-ed-toc a {
  color: var(--sf-ink);
  text-decoration: none;
}

.sf39-sidejob .sf39-ed-toc a:hover {
  color: var(--sf-rose);
}

.sf39-sidejob .sf39-ed-section {
  margin: 65px 0 0;
  scroll-margin-top: 120px;
}

.sf39-sidejob .sf39-ed-section-no {
  display: none;
}

.sf39-sidejob .sf39-ed-section-no span {
  font-size: 10px;
  color: var(--sf-muted);
  margin-left: 12px;
}

.sf39-sidejob .sf39-ed-section>h2 {
  font-size: clamp(22px,2vw,24px) !important;
  margin: 0 0 27px !important;
  padding: 0 0 17px !important;
  border: 0 !important;
  border-bottom: 1px solid #d7c4a8 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sf39-sidejob .sf39-ed-section>h2:before,.sf39-sidejob .sf39-ed-section>h2:after {
  content: none !important;
}

.sf39-sidejob .sf39-ed-section>h3 {
  font-size: 20px;
  margin: 34px 0 12px;
  padding-left: 15px;
  border-left: 3px solid var(--sf-rose);
}

.sf39-sidejob .sf39-ed-steps {
  margin: 24px 0;
}

.sf39-sidejob .sf39-ed-step {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 18px;
  padding: 24px 0;
  border-bottom: 1px solid var(--sf-line);
}

.sf39-sidejob .sf39-ed-step>span {
  font: 700 22px Georgia,serif;
  color: var(--sf-gold);
}

.sf39-sidejob .sf39-ed-step h3 {
  margin: 0 0 9px;
  font-size: 20px;
}

.sf39-sidejob .sf39-ed-step p {
  margin: 0;
}

.sf39-sidejob .sf39-ed-alert,.sf39-sidejob .sf39-ed-point,.sf39-sidejob .sf39-ed-check {
  padding: 25px 28px;
  margin: 32px 0;
  border-radius: 4px;
}

.sf39-sidejob .sf39-ed-alert {
  background: #fbf0e9;
  border-left: 4px solid #bc7862;
}

.sf39-sidejob .sf39-ed-point {
  background: #f5f0e8;
  border-left: 4px solid var(--sf-gold);
}

.sf39-sidejob .sf39-ed-check {
  background: #eef4ee;
  border-left: 4px solid #648673;
}

.sf39-sidejob :is(.sf39-ed-alert,.sf39-ed-point,.sf39-ed-check) h3 {
  font-size: 19px;
  margin: 0 0 10px;
}

.sf39-sidejob :is(.sf39-ed-alert,.sf39-ed-point,.sf39-ed-check) p:last-child {
  margin-bottom: 0;
}

.sf39-sidejob .sf39-ed-table-scroll {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid var(--sf-line);
  margin: 24px 0 30px;
  overscroll-behavior-x: contain;
}

.sf39-sidejob table {
  border-collapse: collapse;
  width: 100%;
  min-width: 650px;
  font-size: 14px;
  line-height: 1.75;
}

.sf39-sidejob caption {
  text-align: left;
  padding: 14px 18px;
  font-weight: 700;
  color: var(--sf-forest);
  background: #f9f4ec;
}

.sf39-sidejob th,.sf39-sidejob td {
  padding: 15px 16px;
  border: 1px solid #e9e4dc;
  vertical-align: top;
  text-align: left;
}

.sf39-sidejob thead th {
  background: var(--sf-forest) !important;
  color: #fff !important;
  white-space: nowrap;
}

.sf39-sidejob tbody th {
  background: #f1f3eb !important;
  color: var(--sf-forest) !important;
  min-width: 125px;
}

.sf39-sidejob tbody tr:nth-child(even) td {
  background: #fdfaf6;
}

.sf39-sidejob .sf39-ed-calc {
  background: #f9f4ed;
  border: 1px solid var(--sf-line);
  padding: 24px 28px;
  margin: 24px 0;
}

.sf39-sidejob .sf39-ed-calc>div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #e4d7c6;
}

.sf39-sidejob .sf39-ed-calc>div strong {
  font-size: 23px;
  color: var(--sf-rose);
  white-space: nowrap;
}

.sf39-sidejob .sf39-ed-calc>div strong span {
  font-size: 12px;
  color: var(--sf-muted);
}

.sf39-sidejob .sf39-ed-note {
  font-size: 13px;
  color: var(--sf-muted);
  margin-top: 12px;
}

.sf39-sidejob .sf39-ed-process {
  list-style: none;
  counter-reset: sfstep;
  padding: 0;
  margin: 20px 0;
}

.sf39-sidejob .sf39-ed-process li {
  counter-increment: sfstep;
  position: relative;
  padding: 14px 0 18px 58px;
  border-bottom: 1px solid var(--sf-line);
}

.sf39-sidejob .sf39-ed-process li:before {
  content: counter(sfstep,decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 16px;
  font: 700 22px Georgia,serif;
  color: var(--sf-gold);
}

.sf39-sidejob .sf39-ed-process h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.sf39-sidejob .sf39-ed-process p {
  margin: 0;
}

.sf39-sidejob .sf39-ed-check ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sf39-sidejob .sf39-ed-check li {
  padding-left: 28px;
  position: relative;
}

.sf39-sidejob .sf39-ed-check li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #4f8068;
  font-weight: 700;
}

.sf39-sidejob .sf39-ed-resources {
  background: #faf8f4;
  border: 1px solid var(--sf-line);
  padding: 25px 28px;
}

.sf39-sidejob .sf39-ed-resources h3 {
  margin: 0 0 15px;
  font-size: 19px;
}

.sf39-sidejob .sf39-ed-resources ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sf39-sidejob .sf39-ed-resources li {
  padding: 12px 0;
  border-bottom: 1px solid var(--sf-line);
}

.sf39-sidejob .sf39-ed-resources li:last-child {
  border: 0;
}

.sf39-sidejob .sf39-ed-resources span {
  display: block;
  font-size: 13px;
  color: var(--sf-muted);
}

.sf39-sidejob .sf39-ed-conclusion {
  padding: 28px;
  background: var(--sf-paper);
  border-top: 3px solid var(--sf-gold);
}

.sf39-sidejob .sf39-ed-next {
  background: #18483e;
  color: #fff;
  padding: 32px;
  margin: 40px 0 20px;
}

.sf39-sidejob .sf39-ed-next h2 {
  font-size: 23px;
  color: #fff !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

.sf39-sidejob .sf39-ed-next p {
  color: #f1f2eb;
}

.sf39-sidejob .sf39-ed-next .sf39-ed-small-label {
  color: #e9bd8e;
}

.sf39-sidejob .sf39-ed-next-label {
  border: 1px solid #c3d3c6;
  padding: 13px 17px;
  font-weight: 700;
}

.sf39-sidejob .sf39-ed-next-label span {
  float: right;
}

.sf39-sidejob .sf39-ed-next .sf39-ed-note {
  color: #c8d5cd;
  font-size: 12px;
}

@media (max-width:700px) {
  .sf39-sidejob {
    font-size: 15.5px;
  }

  .sf39-sidejob .sf39-ed-toc ol {
    columns: 1;
  }

  .sf39-sidejob .sf39-ed-toc,.sf39-sidejob .sf39-ed-summary,.sf39-sidejob .sf39-ed-question,.sf39-sidejob .sf39-ed-alert,.sf39-sidejob .sf39-ed-point,.sf39-sidejob .sf39-ed-check,.sf39-sidejob .sf39-ed-resources {
    padding: 20px;
  }

  .sf39-sidejob .sf39-ed-section {
    margin-top: 48px;
  }

  .sf39-sidejob .sf39-ed-step {
    grid-template-columns: 34px 1fr;
    gap: 12px;
  }

  .sf39-sidejob .sf39-ed-calc {
    padding: 18px;
  }

  .sf39-sidejob .sf39-ed-calc>div {
    display: block;
  }

  .sf39-sidejob .sf39-ed-calc>div strong {
    display: block;
    margin-top: 5px;
  }

  .sf39-sidejob .sf39-ed-next {
    padding: 22px;
  }

}

/* =========================================================
   Start From 39 投稿記事共通テンプレート｜仕上げ版
   対象：左記事本文の .sf39-post-template のみ
   H1〜H5 / FAQ / CTA / 比較表
   既存サイドバー・目次・その他ボックスは変更しない
========================================================= */

.sf-article-content .sf39-post-template {
  --sf39-deep-green: #173f38;
  --sf39-accent-gold: #b18a4b;
  --sf39-accent-terracotta: #b76855;
  --sf39-accent-sage: #819987;
  --sf39-accent-blue: #577d91;
  --sf39-accent-mocha: #806454;
}

/* H1：深緑の明朝体＋ゴールドの直線 */

.sf-article-content .sf39-post-template .sf39-template-header h1 {
  position: relative;
  margin: 0 0 22px;
  padding: 0 0 16px;
  color: #173f38;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(21px, 1.9vw, 26px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.015em;
  border: 0;
  border-bottom: 1px solid #c9ac7a;
  background: transparent;
  box-shadow: none;
  overflow-wrap: anywhere;
}

.sf-article-content .sf39-post-template .sf39-template-header h1::before {
  content: none;
}

.sf-article-content .sf39-post-template .sf39-template-header h1::after {
  content: none;
}

/* H2：文字を引き締め、章の上下に余白 */

.sf-article-content .sf39-post-template h2:not([class]) {
  position: relative;
  margin: 52px 0 24px;
  padding: 0 0 15px 15px;
  color: #173f38;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #c9ac7a;
  border-radius: 0;
  box-shadow: none;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}

.sf-article-content .sf39-post-template h2:not([class])::before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 3px;
  height: 1em;
  background: #173f38;
  transform: none;
}

.sf-article-content .sf39-post-template h2:not([class])::after {
  content: none;
}

/* H3：テラコッタの直線 */

.sf-article-content .sf39-post-template h3:not([class]) {
  position: relative;
  margin: 36px 0 18px;
  padding: 0 0 10px 16px;
  color: #995747;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e9d8d1;
  border-radius: 0;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.65;
}

.sf-article-content .sf39-post-template h3:not([class])::before {
  content: "";
  position: absolute;
  top: 0.28em;
  left: 0;
  width: 3px;
  height: 1em;
  background: #b76855;
  transform: none;
}

.sf-article-content .sf39-post-template h3:not([class])::after {
  content: none;
}

/* H4：セージグリーンの控えめな帯 */

.sf-article-content .sf39-post-template h4:not([class]) {
  margin: 28px 0 15px;
  padding: 8px 14px;
  color: #315649;
  background: #e9f0e9;
  border: 0;
  border-left: 4px solid #819987;
  border-radius: 2px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.6;
}

/* H5：モカの細線 */

.sf-article-content .sf39-post-template h5:not([class]) {
  margin: 26px 0 14px;
  padding: 0 0 0 14px;
  color: #765849;
  background: transparent;
  border: 0;
  border-left: 2px solid #a18370;
  border-radius: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.7;
}

.sf-article-content .sf39-post-template h5:not([class])::before {
  content: none;
}

/* =========================================================
   比較表：深緑からセージへの3段階ヘッダー
   白＋薄いアイボリーの交互行 / 細いグレージュ罫線
   対象：投稿記事テンプレート内の比較表のみ
========================================================= */

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid #e3e0d9;
  border-radius: 11px;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  font-size: 14px;
  line-height: 1.75;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table th,
.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table td {
  padding: 15px 13px;
  border: 0;
  border-right: 1px solid #e3e0d9;
  border-bottom: 1px solid #e3e0d9;
  vertical-align: middle;
  text-align: center;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tr > :last-child {
  border-right: 0;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tbody tr:last-child > * {
  border-bottom: 0;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table thead th {
  color: #ffffff;
  background: #709187;
  border-top: 0;
  border-bottom: 1px solid #e3e0d9;
  font-weight: 700;
  white-space: normal;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table thead th:first-child {
  background: #3c6158;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table thead th:nth-child(2) {
  background: #65897f;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table thead th:nth-child(n+3) {
  background: #77978c;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tbody tr:nth-child(odd) > * {
  background: #ffffff;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tbody tr:nth-child(even) > * {
  background: #faf9f6;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tbody th {
  color: #2c5851;
  font-weight: 700;
}

.sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table tbody td {
  color: #34413c;
  font-weight: 400;
}

@media (max-width: 600px) {
  .sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table {
    font-size: 13px;
  }

  .sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table th,
  .sf39-post-template :is(.sf39-table-scroll, .sf-table-wrap) table td {
    padding: 12px 10px;
  }
}

/* FAQ：質問の背景をブルーグレー、回答は白 */

.sf-article-content .sf39-post-template .sf39-faq-item {
  margin: 0 0 14px;
  padding: 0;
  background: #ffffff;
  border: 1px solid #dce5e9;
  border-radius: 3px;
  overflow: hidden;
}

.sf-article-content .sf39-post-template .sf-faq-question {
  margin: 0;
  padding: 15px 18px;
  color: #456b82;
  background: #eaf1f5;
  border: 0;
  border-left: 3px solid #7896a7;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}

.sf-article-content .sf39-post-template .sf39-faq-answer {
  padding: 16px 19px;
  color: #34453d;
  background: #ffffff;
}

.sf-article-content .sf39-post-template .sf39-faq-answer p:last-child {
  margin-bottom: 0;
}

/* CTA：深緑の背景とアイボリーの文字 */

.sf-article-content .sf39-post-template .sf39-template-cta {
  margin: 44px 0;
  padding: 32px 28px;
  color: #f7f3eb;
  background: #173f38;
  border: 1px solid #173f38;
  border-radius: 3px;
  box-shadow: none;
}

.sf-article-content .sf39-post-template .sf39-template-cta__label {
  display: block;
  margin-bottom: 12px;
  color: #d9bf91;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.sf-article-content .sf39-post-template .sf39-template-cta__title {
  margin: 0 0 14px;
  padding: 0;
  color: #fffaf0;
  background: transparent;
  border: 0;
  font-size: 22px;
  line-height: 1.6;
}

.sf-article-content .sf39-post-template .sf39-template-cta__title::before {
  content: none;
}

.sf-article-content .sf39-post-template .sf39-template-cta p {
  color: #e7ece6;
  line-height: 1.85;
}

.sf-article-content .sf39-post-template .sf39-template-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  max-width: 100%;
  margin-top: 12px;
  padding: 12px 20px;
  color: #173f38;
  background: #f7f3eb;
  border: 1px solid #d7c29d;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.sf-article-content .sf39-post-template .sf39-template-cta__button:hover {
  color: #173f38;
  background: #e9e0cd;
}

@media (max-width: 600px) {
  .sf-article-content .sf39-post-template .sf39-template-header h1 {
    font-size: 23px;
  }

  .sf-article-content .sf39-post-template h2:not([class]) {
    margin: 40px 0 21px;
    font-size: 22px;
  }

  .sf-article-content .sf39-post-template h3:not([class]) {
    font-size: 19px;
  }

  .sf-article-content .sf39-post-template h4:not([class]) {
    font-size: 18px;
  }

  .sf-article-content .sf39-post-template h5:not([class]) {
    font-size: 16px;
  }

  .sf-article-content .sf39-post-template .sf39-template-cta {
    padding: 26px 20px;
  }

  .sf-article-content .sf39-post-template .sf39-template-cta__title {
    font-size: 20px;
  }
}


/* =========================================================
   Start From 39｜投稿記事4パーツ・表示修正
   HTMLの .sf39-post-template を直接対象にする
   サイドバー・レイアウト・他の部品は変更しない
========================================================= */

.sf39-post-template h4:not([class]) {
  margin: 28px 0 15px !important;
  padding: 9px 15px !important;
  color: #315649 !important;
  background: #e8f0e9 !important;
  border: 0 !important;
  border-left: 4px solid #819987 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}

.sf39-post-template h5:not([class]) {
  position: relative !important;
  margin: 26px 0 13px !important;
  padding: 0 0 0 13px !important;
  color: #765849 !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 2px solid #a18370 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.sf39-post-template h5:not([class])::before,
.sf39-post-template h5:not([class])::after {
  content: none !important;
  display: none !important;
}

.sf39-post-template ul.sf39-feature-list {
  display: grid !important;
  gap: 11px !important;
  margin: 20px 0 28px !important;
  padding: 18px 20px !important;
  background: #f7f4ed !important;
  border: 1px solid #ebe4d9 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  list-style: none !important;
}

.sf39-post-template ul.sf39-feature-list > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 27px !important;
  color: #34453d !important;
  background: none !important;
  list-style: none !important;
  line-height: 1.8 !important;
}

.sf39-post-template ul.sf39-feature-list > li::marker {
  content: '';
}

.sf39-post-template ul.sf39-feature-list > li::before {
  content: '✓' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: auto !important;
  color: #789782 !important;
  background: transparent !important;
  border: 0 !important;
  transform: none !important;
  font-weight: 700 !important;
}

.sf39-post-template ol.sf39-step-list {
  display: grid !important;
  gap: 10px !important;
  margin: 20px 0 30px !important;
  padding: 17px 19px !important;
  background: #f1f4f6 !important;
  border: 1px solid #e3e9ec !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  list-style: none !important;
  counter-reset: sf39-step;
}

.sf39-post-template ol.sf39-step-list > li {
  position: relative !important;
  display: block !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 5px 0 5px 53px !important;
  color: #34453d !important;
  background: transparent !important;
  list-style: none !important;
  counter-increment: sf39-step;
  line-height: 1.8 !important;
}

.sf39-post-template ol.sf39-step-list > li::marker {
  content: '';
}

.sf39-post-template ol.sf39-step-list > li::before {
  content: counter(sf39-step, decimal-leading-zero) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 39px !important;
  height: 36px !important;
  color: #486a81 !important;
  background: #dce7ed !important;
  border: 0 !important;
  border-radius: 3px !important;
  transform: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 600px) {
  .sf39-post-template ul.sf39-feature-list,
  .sf39-post-template ol.sf39-step-list {
    padding: 15px 14px !important;
  }
}


/* =========================================================
   SF39｜新デザイン：投稿ヘッダー・この記事でわかること・目次
   既存CSSの末尾に追加。右サイドバーや2カラムは変更しない。
   写真はWordPressの既存アイキャッチを使用する。
========================================================= */

/* テーマ側の投稿タイトル：深緑の明朝＋繊細なゴールドライン */
.sf39-reading-article .sf-article-header {
  border-bottom: 1px solid #d9c7a9;
  background: #faf7f1;
}

.sf39-reading-article .sf-article-header h1 {
  position: relative;
  max-width: 100%;
  padding: 0 0 12px;
  border-bottom: 1px solid #c9aa76;
  color: #173f38;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(21px, 1.8vw, 26px);
  line-height: 1.65;
  font-weight: 600;
}

/* ポイント：左の濃い緑帯を廃止、ローズとテラコッタに */
.sf39-post-template .sf39-editorial-keypoints {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 28px 0 20px;
  padding: 26px 28px 25px;
  border: 1px solid #efdfd4;
  border-left: 3px solid #bd7259;
  border-radius: 9px;
  background: linear-gradient(125deg, #fcf2ed 0%, #fff9f5 100%);
  box-shadow: none;
}

.sf39-post-template .sf39-editorial-keypoints::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -33px;
  width: 135px;
  height: 175px;
  opacity: .27;
  pointer-events: none;
  background:
    radial-gradient(ellipse 13px 31px at 38% 22%, #bc856e 0 65%, transparent 70%),
    radial-gradient(ellipse 13px 31px at 70% 44%, #bc856e 0 65%, transparent 70%),
    radial-gradient(ellipse 12px 30px at 29% 65%, #bc856e 0 65%, transparent 70%);
  transform: rotate(-27deg);
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-title {
  margin: 0 0 18px;
  padding: 0 0 0 13px;
  border: 0;
  border-left: 3px solid #b96f55;
  background: transparent;
  color: #924b37;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(18px, 1.7vw, 21px);
  line-height: 1.55;
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-title::before,
.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-title::after {
  content: none !important;
  display: none !important;
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-list > li {
  position: relative;
  margin: 0;
  padding: 0 0 0 37px;
  color: #3d4540;
  background: transparent;
  list-style: none;
  line-height: 1.8;
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-list > li::before {
  content: "✓" !important;
  position: absolute;
  top: .17em;
  left: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #b86d54;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.sf39-post-template .sf39-editorial-keypoints .sf-article__summary-list > li::after {
  content: none !important;
}

/* 目次：縦のゴールドラインと丸い連番、各行は淡いアイボリー */
.sf39-post-template nav.sf39-editorial-toc {
  position: relative;
  overflow: hidden;
  margin: 28px 0 36px;
  padding: 27px 28px 29px;
  border: 1px solid #e8d8bd;
  border-left: 3px solid #b68d52;
  border-radius: 9px;
  background: linear-gradient(135deg, #fffdf9 0%, #faf6ef 100%);
  box-shadow: none;
}

.sf39-post-template .sf39-editorial-toc .sf-toc-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  margin: 0 0 23px;
  padding: 0 0 11px;
  border: 0;
  background: transparent;
  color: #173f38;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
}

.sf39-post-template .sf39-editorial-toc .sf-toc-title::before,
.sf39-post-template .sf39-editorial-toc .sf-toc-title::after {
  content: none !important;
  display: none !important;
}

.sf39-post-template .sf39-editorial-toc .sf-toc-title span {
  color: #ae834a;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: .19em;
  font-weight: 500;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list {
  position: relative;
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0 0 0 36px;
  list-style: none;
  counter-reset: sf39-toc-counter;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 12px;
  width: 1px;
  background: #c9a56b;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li {
  position: relative;
  margin: 0;
  padding: 0;
  counter-increment: sf39-toc-counter;
  list-style: none;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li::before {
  content: counter(sf39-toc-counter, decimal-leading-zero) !important;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -35px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  transform: translateY(-50%);
  border: 1px solid #b58a49;
  border-radius: 50%;
  background: #fffaf3;
  color: #a77731;
  font-family: Georgia, serif;
  font-size: 10px;
  line-height: 1;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li::after {
  content: none !important;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li > a {
  display: block;
  padding: 12px 16px;
  border: 1px solid #eee7db;
  border-radius: 5px;
  background: #f8f5ef;
  color: #28463d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease;
}

.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li > a:hover,
.sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li > a:focus-visible {
  background: #f0e9dd;
  border-color: #c9aa7d;
}

@media (max-width: 600px) {
  .sf39-post-template .sf39-editorial-keypoints,
  .sf39-post-template nav.sf39-editorial-toc {
    padding: 21px 17px;
  }

  .sf39-post-template .sf39-editorial-toc ol.sf-toc__list > li > a {
    padding: 10px 11px;
    font-size: 13px;
  }

  .sf39-post-template .sf39-editorial-keypoints .sf-article__summary-list > li {
    padding-left: 34px;
  }
}


/* =========================================================
   40代、ひとりで生きるのも悪くない｜記事固有パーツ
   共通パーツ・右サイドバー・2カラムは変更しない
========================================================= */

.sf39-solo-article .sf39-solo-lead {
  padding-bottom: 6px;
}

.sf39-solo-article .sf39-solo-section {
  margin: 0 0 44px;
}

.sf39-solo-article .sf39-solo-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 28px;
}

.sf39-solo-article .sf39-solo-card {
  padding: 19px 17px;
  background: #f8f6f1;
  border: 1px solid #e7e1d6;
  border-top: 3px solid #9baea0;
  border-radius: 5px;
}

.sf39-solo-article .sf39-solo-card__number {
  display: block;
  margin-bottom: 11px;
  color: #b28246;
  font-family: Georgia, serif;
  font-size: 24px;
  line-height: 1;
}

.sf39-solo-article .sf39-solo-card h3 {
  margin: 0 0 9px;
  padding: 0;
  border: 0;
  color: #20463d;
  background: transparent;
  font-size: 16px;
  line-height: 1.65;
}

.sf39-solo-article .sf39-solo-card h3::before,
.sf39-solo-article .sf39-solo-card h3::after {
  content: none !important;
  display: none !important;
}

.sf39-solo-article .sf39-solo-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.85;
}

.sf39-solo-article .sf39-solo-quote {
  margin: 25px 0 31px;
  padding: 20px 24px;
  border: 0;
  border-left: 3px solid #b47f62;
  border-radius: 0 5px 5px 0;
  background: #fbf4ec;
  color: #34483e;
  box-shadow: none;
}

.sf39-solo-article .sf39-solo-quote p {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 16px;
  line-height: 1.95;
}

.sf39-solo-article .sf39-solo-photo {
  margin: 26px 0 29px;
  padding: 0;
}

.sf39-solo-article .sf39-solo-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 6px;
}

.sf39-solo-article .sf39-solo-photo figcaption {
  padding: 10px 0 0;
  color: #788078;
  font-size: 12px;
  line-height: 1.6;
}

.sf39-solo-article .sf39-solo-next {
  margin: 52px 0 18px;
  padding: 29px 30px;
  background: #193f36;
  color: #f8f3e8;
  border-radius: 6px;
}

.sf39-solo-article .sf39-solo-next__label {
  display: block;
  margin-bottom: 12px;
  color: #d9bc89;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: .2em;
}

.sf39-solo-article .sf39-solo-next h2 {
  margin: 0 0 17px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff9ed;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.7;
}

.sf39-solo-article .sf39-solo-next h2::before,
.sf39-solo-article .sf39-solo-next h2::after {
  content: none !important;
  display: none !important;
}

.sf39-solo-article .sf39-solo-next p {
  margin: 0 0 12px;
  color: #f2eee6;
  font-size: 14px;
  line-height: 1.9;
}

.sf39-solo-article .sf39-solo-next__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 100%;
  margin-top: 12px;
  padding: 12px 17px;
  border: 1px solid #d7bc8e;
  background: #f8f3e8;
  color: #20443b;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.sf39-solo-article .sf39-solo-next__link:hover {
  background: #e9ddc8;
}

@media (max-width: 760px) {
  .sf39-solo-article .sf39-solo-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .sf39-solo-article .sf39-solo-next {
    padding: 24px 19px;
  }

  .sf39-solo-article .sf39-solo-quote {
    padding: 17px 18px;
  }
}
