  /* heading - 見出し */
.p-article_content h1,
.p-article_content h2,
.p-article_content h3,
.p-article_content h4,
.p-article_content h5,
.p-article_content h6 {
  color: inherit;
  line-height: 1.4;
}
.p-article_content h1 {
  font-size: 2.44em;
  margin-top: 0.67em;
  margin-bottom: 0.67em;
}
.p-article_content h2 {
  font-size: 1.95em;
  margin-top: 0.83em;
  margin-bottom: 0.83em;
}
.p-article_content h3 {
  font-size: 1.56em;
  margin-top: 1em;
  margin-bottom: 1em;
}
.p-article_content h4 {
  font-size: 1.25em;
  line-height: 1.5;
  margin-top: 1.33em;
  margin-bottom: 1.33em;
}
.p-article_content h5 {
  font-size: 1em;
  margin-top: 1.67em;
  margin-bottom: 1.67em;
}
.p-article_content h6 {
  font-size: 0.8em;
  margin-top: 2.33em;
  margin-bottom: 2.33em;
}

  /* p - 段落（Figma 2248:8094: Noto Sans JP Medium 16px / #333 / lh1.7 / ls1.12px） */
.p-article_content p {
  margin: 20px 0;
  max-width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 1.12px;
  color: #333333;
}
.p-article_content p:first-of-type {
  margin-top: 0;
}
.p-article_content p a{
  text-decoration: underline;
}
/* ボタン部品（c-button等）は本文リンクの下線対象外（Figma 2248:12183: ラベルに下線なし） */
.p-article_content a.c-button,
.p-article_content p a.c-button,
.p-article_content .p-article-cta a {
  text-decoration: none;
}
  /* ul,ol - リスト */
.p-article_content ul {
  list-style-type: disc;
}
.p-article_content ol {
  list-style-type: decimal;
}
.p-article_content ul, .p-article_content ol {
  margin-bottom: 28px;
  padding-left: 1.3em;
  margin-left: 1.3em;
}
.p-article_content ul li, .p-article_content ol li {
  margin-bottom: initial;
}
.p-article_content ul ul,
.p-article_content ul ol, .p-article_content ol ul,
.p-article_content ol ol {
  margin-bottom: 0;
}
.p-article_content ul ul,
.p-article_content ol ul {
  list-style-type: circle;
}

/* iframe - youtubeなど */
.p-article_content iframe {
  max-width: 100%;
}

/* image - 画像 */
.p-article_content .wp-block-image {
  line-height: 0;
  text-align: left;
  margin: 2.66em 0;
  width: 100%;
}
.p-article_content .wp-block-image img {
  width: 100%;
}
@media (max-width: 599px){
  .p-article_content .wp-block-image {
    width: 100%;
    margin: 2.6em 0;
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image{
  flex-grow: initial;
}
.wp-block-gallery.has-nested-images{
  gap: 0!important;
}
.wp-block-gallery.has-nested-images .wp-block-image:not(:nth-of-type(3n + 1)){
  margin-left: calc(20 / 835 * 100%)!important;
}
@media (max-width: 599px){
  .wp-block-gallery.has-nested-images .wp-block-image:not(:nth-of-type(3n + 1)){
    margin-left: 0!important;
  }
}
@media (max-width: 599px){
  .wp-block-gallery.has-nested-images .wp-block-image:not(:nth-of-type(2n + 1)){
    margin-left: calc(7 / 299 * 100%)!important;
  }
}
.wp-block-gallery:not(:nth-of-type()){
  margin-top: 40px;
  justify-content: flex-start;
}
@media (max-width: 599px){
  .wp-block-gallery{
    margin-top: 31px;
  }
}
.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
  width: calc(265 / 835 * 100%);
}
@media (max-width: 599px){
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
    width: calc(146 / 299 * 100%);
  }
}
@media (min-width: 600px){
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(n + 4){
    margin-top: 20px;
  }
}
@media (max-width: 1040px){
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(n + 4){
    margin-top: 13px;
  }
}
@media (max-width: 840px){
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(n + 4){
    margin-top: 10px;
  }
}
@media (max-width: 599px){
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(n + 3){
    margin-top: 7px;
  }
}

  /* quote - 引用 */
.p-article_content .wp-block-quote {
  padding: 1em 2em;
  margin: 0;
  border-left: 3px solid rgba(0, 0, 0, 0.5);
}
.p-article_content .wp-block-quote cite {
  text-align: right;
  display: block;
  font-style: normal;
  font-size: 0.9em;
}

/* pullquote - プルクォート */
.p-article_content .wp-block-pullquote {
  border-top: 2px solid rgba(0, 0, 0, 0.5);
  border-bottom: 2px solid rgba(0, 0, 0, 0.5);
}

.p-article_content .wp-block-pullquote cite {
  font-style: normal;
}

  /* code - コード */
.p-article_content .wp-block-code {
  background: rgba(0, 0, 0, 0.15);
  padding: 1em;
}

  /* verse - 詩 */
.p-article_content .wp-block-verse {
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 1em;
}

/* =========================================================================
   Figma準拠 本文装飾（コラム詳細 2248:8094 / 動画版 2248:8360）
   color token: base1 #27292d / Accent1 #BC8E23 / Accent2 #F8F4EB
               base2 #333333 / base3 #FDFDFD / base4 #F8F8F8 / mark #FBFF00
   ========================================================================= */

/* --- h2: 金枠ボックス + 左端 金タブ --------------------------------------- */
.p-article_content h2 {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 1.68px;
  color: #27292d;
  border: 1.5px solid #bc8e23;
  border-radius: 12px;
  padding: 12px 20px 12px 30px;
  margin-top: 2em;
  margin-bottom: 0.83em;
}
.p-article_content h2::before {
  content: "";
  position: absolute;
  left: -1.5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: calc(100% - 16px);
  background: #bc8e23;
  border-radius: 12px 0 0 12px;
}

/* --- h2 まとめ変種（Figma 2248:8296: 2px枠・radiusなし） ------------------- */
.p-article_content h2.is-matome {
  border-width: 2px;
  border-radius: 0;
}
.p-article_content h2.is-matome::before {
  left: -2px;
  border-radius: 0;
}

/* --- h3: 太字見出し + アンダーバー（金インジケータ） ----------------------- */
.p-article_content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 1.4px;
  color: #27292d;
  padding-bottom: 10px;
  margin-top: 2em;
  margin-bottom: 1em;
  background-image: linear-gradient(to right, #bc8e23 0, #bc8e23 52px, #f8f8f8 52px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 6px;
  border-radius: 0;
}

/* --- h4: 金チェックアイコン + 金テキスト ----------------------------------- */
.p-article_content h4 {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 1.26px;
  color: #bc8e23;
  padding-left: 23px;
}
.p-article_content h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 15px;
  height: 15px;
  background: url("../img/column/icon-h4.svg") no-repeat center / contain;
}

/* --- table: 金ヘッダ + 白セル（角丸4px・極細枠） -------------------------- */
.p-article_content .wp-block-table,
.p-article_content figure.wp-block-table {
  margin: 2em 0;
  overflow-x: auto;
}
.p-article_content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 4px;
  overflow: hidden;
  table-layout: fixed;
}
.p-article_content table th,
.p-article_content table td {
  padding: 12px 15px;
  text-align: center;
  vertical-align: middle;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: 1.12px;
}
.p-article_content table th {
  background: #bc8e23;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.26px;
  border: 0.5px solid #ffffff;
}
.p-article_content table td {
  background: #ffffff;
  color: #27292d;
  font-weight: 500;
  border: 0.5px solid #27292d;
}

/* --- ul / ol: 金枠ボックス・破線区切り ------------------------------------ */
.p-article_content ul,
.p-article_content ol {
  list-style: none;
  border: 1.5px solid #bc8e23;
  border-radius: 8px;
  padding: 20px 30px;
  margin: 2em 0 28px;
  margin-left: 0;
}
.p-article_content ul li,
.p-article_content ol li {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 1.19px;
  color: #27292d;
  padding: 0 0 10px 24px;
  margin-bottom: 14px;
  border-bottom: 1.5px dashed #27292d;
}
.p-article_content ul li:last-child,
.p-article_content ol li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
/* ul: 金ドット */
.p-article_content ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.5em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #bc8e23;
}
/* ol: 連番 */
.p-article_content ol {
  counter-reset: article-ol;
}
.p-article_content ol li {
  counter-increment: article-ol;
  padding-left: 30px;
}
.p-article_content ol li::before {
  content: counter(article-ol);
  position: absolute;
  left: 0;
  top: 0;
  min-width: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #27292d;
}
/* ネストしたリストは枠・区切りを持たないシンプル表示に戻す */
.p-article_content ul ul,
.p-article_content ul ol,
.p-article_content ol ul,
.p-article_content ol ol {
  border: 0;
  border-radius: 0;
  padding: 8px 0 0;
  margin: 0;
}
.p-article_content ul ul li,
.p-article_content ul ol li,
.p-article_content ol ul li,
.p-article_content ol ol li {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 4px;
}

/* --- blockquote / コールアウト: cream + 金枠 ------------------------------ */
.p-article_content blockquote,
.p-article_content .wp-block-quote {
  background: #f8f4eb;
  border: 1px solid #bc8e23;
  border-left: 1px solid #bc8e23;
  border-radius: 4px;
  padding: 35px 40px;
  margin: 2em 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: 1.19px;
  color: #27292d;
}
.p-article_content blockquote p,
.p-article_content .wp-block-quote p {
  width: auto;
  margin: 0 0 0.8em;
}
.p-article_content blockquote p:last-child,
.p-article_content .wp-block-quote p:last-child {
  margin-bottom: 0;
}
.p-article_content .wp-block-quote cite {
  text-align: right;
  display: block;
  font-style: normal;
  font-size: 0.9em;
}

/* コールアウト（グループブロックのcream箱・任意クラス .is-callout 併用可） */
.p-article_content .wp-block-group.is-callout,
.p-article_content .is-callout {
  background: #f8f4eb;
  border: 1px solid #bc8e23;
  border-radius: 4px;
  padding: 35px 40px;
  margin: 2em 0;
}

/* --- hr / 区切り: 金の破線 ------------------------------------------------ */
.p-article_content hr,
.p-article_content .wp-block-separator {
  height: 0;
  border: 0;
  border-top: 1.5px dashed #bc8e23;
  margin: 2.5em 0;
  background: none;
}

/* --- 画像: 角丸 ---------------------------------------------------------- */
.p-article_content .wp-block-image img,
.p-article_content img {
  border-radius: 8px;
}

/* --- mark: 黄ハイライト -------------------------------------------------- */
.p-article_content mark {
  background: #fbff00;
  color: inherit;
  padding: 0 0.1em;
}

/* マーカー書式（エディタ▼メニュー「マーカー（黄）」・Figma 2248:9425 #FBFF00）
   全面ハイライト（100%・ユーザー指定 2026-08-02） */
.p-article_content mark.news-marker,
mark.news-marker {
  background: #fbff00;
  color: inherit;
  padding: 0;
}

/* --- SP対応（Figma コラム詳細スマホ版 2248:11986 準拠・2026-08-04全面同期） ---- */
@media (max-width: 768px) {
  /* 段落: 14px / lh170% / ls0.98px（色・ウェイトは基底の #333 / 500 を継承） */
  .p-article_content p {
    margin: 20px 0;
    font-size: 14px;
    letter-spacing: 0.98px;
    line-height: 1.7;
  }
  /* h2: 金枠帯 20px・左タブは7px幅で枠全高（Figma 2248:12071-12073） */
  .p-article_content h2 {
    font-size: 20px;
    letter-spacing: 1.4px;
    border-radius: 8px;
    padding: 10px 15px 10px 22px;
  }
  .p-article_content h2::before {
    top: -1.5px;
    transform: none;
    width: 7px;
    height: calc(100% + 3px);
  }
  .p-article_content h2.is-matome::before {
    top: -2px;
    height: calc(100% + 4px);
  }
  /* h3: 18px・下バー4px（金セグメント25px。Figma 2248:12077-12081） */
  .p-article_content h3 {
    font-size: 18px;
    letter-spacing: 1.26px;
    padding-bottom: 8px;
    background-image: linear-gradient(to right, #bc8e23 0, #bc8e23 25px, #f8f8f8 25px);
    background-size: 100% 4px;
  }
  /* h4: 16px・チェックアイコン12px（Figma 2248:12119-12121） */
  .p-article_content h4 {
    font-size: 16px;
    letter-spacing: 1.12px;
    padding-left: 17px;
  }
  .p-article_content h4::before {
    width: 12px;
    height: 12px;
  }
  /* table: セル15px・padding10（Figma 2248:12123） */
  .p-article_content table th,
  .p-article_content table td {
    padding: 10px;
    font-size: 15px;
    letter-spacing: 1.05px;
  }
  /* テーブルは横スクロールで欠けを防ぐ */
  .p-article_content table {
    min-width: 560px;
  }
  /* ul/ol: 箱 padding 18px 16px・行15px・区切り間隔10px（Figma 2248:12086-12116） */
  .p-article_content ul,
  .p-article_content ol {
    padding: 18px 16px;
  }
  .p-article_content ul li,
  .p-article_content ol li {
    font-size: 15px;
    letter-spacing: 1.05px;
    padding-bottom: 7px;
    margin-bottom: 10px;
  }
  .p-article_content ul li {
    padding-left: 12px;
  }
  /* Figma SPのドットは5pxダーク（#27292d・2248:12106） */
  .p-article_content ul li::before {
    left: 0;
    top: 0.55em;
    width: 5px;
    height: 5px;
    background: #27292d;
  }
  .p-article_content ol li {
    padding-left: 24px;
  }
  .p-article_content blockquote,
  .p-article_content .wp-block-quote,
  .p-article_content .wp-block-group.is-callout,
  .p-article_content .is-callout {
    padding: 24px 20px;
  }
}
