@charset "UTF-8";
/* ==========================================================================
   10-base.css — 版面の基盤 / 本文 / 見出し
   正本: canvas-final.dc.html 「00 トークン」(board0)+「02 記事」本文まわり
        + implementation.css の該当ブロックを逐語
   Xwrite の本文ラッパは .articleBody(親 parts/single/post-content.php)。
   キャンバス/実装CSSの .entry-content は等価として併記する。
   ========================================================================== */

/* --- §1 body ------------------------------------------------------------- */
body{
  background:var(--oym-paper);color:var(--oym-ink);
  font-family:var(--oym-font);font-size:var(--oym-fs-body);line-height:var(--oym-lh-body);
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
}
.entry-content p,
.articleBody p{margin:0 0 1.5em;text-wrap:pretty;}
a{color:var(--oym-walnut);text-decoration:none;}
a:hover{color:var(--oym-walnut-dark);text-decoration:underline;}
:is(.oym-table,.oym-meta,.oym-asof,time,.oym-num){font-variant-numeric:tabular-nums;}
img{max-width:100%;height:auto;}
*,*::before,*::after{box-sizing:border-box;}

/* --- §2 版面の器 ---------------------------------------------------------
   キャンバスは「外枠1280 / 内枠1120 / 左右28px」。内枠 = --oym-w-wide。 */
/* 左右だけを持たせる。padding のショートハンドを使うと、後段の層(70-responsive)で
   幅ごとに書き直したときに各要素の上下パディングまで 0 に戻してしまう。 */
.oym-wrap{
  width:100%;max-width:calc(var(--oym-w-wide) + 56px);margin:0 auto;
  padding-left:28px;padding-right:28px;
}
.oym-band{width:100%;}
.oym-band--surface{background:var(--oym-surface);border-bottom:1px solid var(--oym-line);}

/* 親テーマの器を無効化(子は全幅バンド+自前 wrap で組む) */
.contents{max-width:none;width:auto;margin:0;padding:0;background:transparent;}
.contents > .container{max-width:none;width:auto;margin:0;padding:0;}

/* --- §3 見出し -----------------------------------------------------------
   左罫を使わず「章番号＋全幅ヘアライン」。追加マークアップ不要。
   罫は背景グラデーションの1px線、章番号は絶対配置＋地色の背景で線を抜く。 */
.entry-title,.oym-arthead__title{font-size:var(--oym-fs-h1);line-height:var(--oym-lh-head);letter-spacing:.01em;font-weight:700;margin:0;}

.entry-content,.articleBody{counter-reset:oym-h2;}

.entry-content h2,
.articleBody h2{
  position:relative;counter-increment:oym-h2;
  font-size:var(--oym-fs-h2);line-height:var(--oym-lh-head);font-weight:700;
  margin:var(--oym-sp-5) 0 var(--oym-sp-2);padding:26px 0 0;border:0;
  background:linear-gradient(var(--oym-line),var(--oym-line)) no-repeat 0 12px/100% 1px;
}
.entry-content h2::before,
.articleBody h2::before{
  content:counter(oym-h2,decimal-leading-zero);
  position:absolute;top:4px;left:0;padding-right:10px;
  background:var(--oym-paper);          /* 地色で罫を抜く */
  font-size:var(--oym-fs-2xs);font-weight:700;letter-spacing:.12em;
  line-height:1.4;color:var(--oym-teal);
}
/* 温白のカード内に h2 を置く場合(サイドバー・囲みなど) */
.oym-onsurface .entry-content h2::before,
.oym-onsurface .articleBody h2::before,
.entry-content .oym-onsurface h2::before,
.articleBody .oym-onsurface h2::before{background:var(--oym-surface);}

.entry-content h3,
.articleBody h3{
  font-size:var(--oym-fs-h3);line-height:1.6;font-weight:700;
  margin:var(--oym-sp-4) 0 var(--oym-sp-1);display:flex;gap:10px;align-items:baseline;
}
.entry-content h3::before,
.articleBody h3::before{
  content:"";flex:none;width:16px;height:2px;
  background:var(--oym-teal);transform:translateY(-6px);
}

/* h4 以下は装飾を足さない(キャンバスに無い)。太さと余白だけ整える。 */
.entry-content :is(h4,h5,h6),
.articleBody :is(h4,h5,h6){
  font-size:15px;font-weight:700;line-height:1.7;
  margin:var(--oym-sp-3) 0 var(--oym-sp-1);
}

/* --- §4 本文の素タグ ----------------------------------------------------- */
.entry-content :is(ul,ol),
.articleBody :is(ul,ol){margin:0 0 1.5em;padding-left:1.6em;}
.entry-content li,
.articleBody li{margin:0 0 .5em;line-height:1.9;}
.entry-content strong,
.articleBody strong{font-weight:700;}
.entry-content blockquote,
.articleBody blockquote{
  margin:var(--oym-sp-3) 0;padding:18px 22px;
  background:var(--oym-surface);border:1px solid var(--oym-line);
  border-radius:var(--oym-r);font-size:15px;line-height:1.9;color:var(--oym-ink-2);
}
.entry-content hr,
.articleBody hr{border:0;height:1px;background:var(--oym-line);margin:var(--oym-sp-4) 0;}
.entry-content :is(figure,img),
.articleBody :is(figure,img){border-radius:var(--oym-r-sm);}
.entry-content figure,
.articleBody figure{margin:var(--oym-sp-3) 0;}

/* --- §5 スクリーンリーダー用 --------------------------------------------- */
.screen-reader-text{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
