/* サカイタイムズ デザイン改善：記事ページの文字組み
   すべて html.stdz のときだけ効く（確認用・公開の切り替えは html のクラスで行う） */

/* ---------- 1. 本文の幅（PC）：1行 約43字。トップの写真だけ広く ---------- */
@media (min-width: 901px) {
  html.stdz .single-post .single-header,
  html.stdz .single-post .entry-content .st-article {
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
  }
  /* トップの写真は本文より左右に広げる（記事の枠いっぱい） */
  html.stdz .single-post .st-content > .st-main-image {
    width: min(980px, calc(100vw - 64px));
    max-width: none;
    margin-left: calc((740px - min(980px, calc(100vw - 64px))) / 2);
  }
  html.stdz .single-post:has(.st-content > .st-main-image:first-child) .single-meta {
    width: min(980px, calc(100vw - 64px));
    max-width: none;
    margin-left: calc((740px - min(980px, calc(100vw - 64px))) / 2);
    box-sizing: border-box;
  }
  html.stdz .single-post .st-content > .st-main-image img {
    width: 100%;
    height: auto;
  }
}

/* ---------- 2. 和文の組み方 ---------- */
html.stdz .single-post .entry-content .st-content p,
html.stdz .single-post .entry-content .st-content li {
  line-break: strict;          /* 行頭に「。」「」」などを置かない */
  overflow-wrap: anywhere;     /* 長いURLなどが枠からはみ出さない */
}
html.stdz .single-post .entry-content .st-content > p,
html.stdz .single-post .entry-content .st-before-heading-text > p {
  text-align: justify;         /* 行末をそろえる */
}
@supports (text-spacing-trim: normal) {
  html.stdz .single-post .entry-content { text-spacing-trim: normal; }
}
/* 数字と仮名の間に自動で空きを入れる設定（text-autospace）は使わない：「12月 5日」のように間延びするため */
@supports (text-autospace: no-autospace) {
  html.stdz .single-post .entry-content { text-autospace: no-autospace; }
}

/* 見出し類：約物の空きを詰め、言葉の途中で改行しない（改行位置は design.js が入れる） */
html.stdz .single-post h1,
html.stdz .single-post .single-excerpt,
html.stdz .single-post .entry-content h2,
html.stdz .single-post .entry-content h3,
html.stdz .article-card .article-card-title {
  font-feature-settings: "palt" 1;
  line-break: strict;
}
html.stdz .stdz-phrase {
  overflow-wrap: anywhere;
}
html.stdz .stdz-w {
  white-space: nowrap;
}
/* 全角スペースで区切られたまとまり：入りきらなければ、まとまりごと次の行へ */
html.stdz .stdz-seg {
  display: inline-block;
  max-width: 100%;
}
html.stdz .stdz-seg.is-flow {
  display: inline;
}

/* ---------- 3. 記事タイトルまわりを左揃え ---------- */
html.stdz .single-post .single-header {
  text-align: left;
}
html.stdz .single-post h1 {
  line-height: 1.42;
  letter-spacing: .01em;
}
html.stdz .single-post .single-excerpt {
  max-width: none;
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.75;
}
html.stdz .single-post .single-meta,
html.stdz .single-post .single-meta .post-categories {
  justify-content: flex-start;
}
html.stdz .single-post .single-meta {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line, #e6e6e6);
}

/* ---------- 4. 本文の見出し（h2）：控えめな大きさ ---------- */
html.stdz .single-post .entry-content h2 {
  font-size: 1.3em;            /* 本文17pxで約22px */
  line-height: 1.5;
  font-weight: 700;
  margin: 2.4em 0 .9em;
  letter-spacing: .02em;
}
html.stdz .single-post .entry-content h3 {
  font-size: 1.1em;
  line-height: 1.55;
  margin: 2em 0 .7em;
}
html.stdz .single-post .entry-content .st-content > h2:first-child {
  margin-top: 0;
}

/* ---------- 5. 箇条書き：本文と同じ色の小さな丸 ---------- */
html.stdz .single-post .entry-content .st-content ul:not([class]) {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1.4em;
}
html.stdz .single-post .entry-content .st-content ul:not([class]) > li {
  position: relative;
  padding-left: 1.2em;
  margin: 0 0 .45em;
}
html.stdz .single-post .entry-content .st-content ul:not([class]) > li::before {
  content: "";
  position: absolute;
  left: .2em;
  top: .78em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
html.stdz .single-post .entry-content .st-content ol:not([class]) {
  padding-left: 1.6em;
  margin: 0 0 1.4em;
}
html.stdz .single-post .entry-content .st-content ol:not([class]) > li {
  margin: 0 0 .45em;
}
html.stdz .single-post .entry-content .st-content ol:not([class]) > li::marker {
  font-weight: 700;
}

/* PCではタイトルとサブタイトルを中央揃え（日付の行は左端のまま） */
@media (min-width: 901px) {
  html.stdz .single-post .single-header h1,
  html.stdz .single-post .single-header .single-excerpt {
    text-align: center;
  }
}

/* ---------- スマホ ---------- */
@media (max-width: 900px) {
  html.stdz .single-post h1 {
    font-size: 23px;
    line-height: 1.45;
  }
  html.stdz .single-post .single-excerpt {
    font-size: 14px;
  }
  html.stdz .single-post .entry-content h2 {
    font-size: 1.2em;
    margin-top: 2.2em;
  }
}

/* ---------- 出典・参考資料の一覧（5件以上）は小さい文字で ---------- */
html.stdz .single-post .entry-content .st-content ul[data-stdz-src],
html.stdz .single-post .entry-content .st-content ol[data-stdz-src] {
  font-size: 14px;
  line-height: 1.65;
  margin-bottom: 1.6em;
}
html.stdz .single-post .entry-content .st-content [data-stdz-src] > li {
  margin: 0 0 .4em;
  padding-left: 1.05em;
}
html.stdz .single-post .entry-content .st-content ul[data-stdz-src] > li::before {
  width: 5px;
  height: 5px;
  top: .72em;
  left: .15em;
}
html.stdz .single-post .entry-content [data-stdz-src] a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(0, 102, 204, .35);
}
