/* ==================================================================
   本文の土台（.miki-body）
   ------------------------------------------------------------------
   下層4ページの**高さを決めている**CSS。飾りではない。

   ★ 出どころと書き方（2026-09-07）
     移行元サイトでは、本文エディタ用の拡張が本文を包み、その配下の
     素の要素（h1〜h6 / p / ul / ol / img …）に余白と文字サイズを当てていた。
     その**見え方**を引き継ぐ必要があるが、**他人のテーマ・プラグインの
     CSSファイルをそのまま同梱しない**方針にしたため、
     以下の手順で「自分のファイル」として書き直した。

       1. 7ページ × PC/SP を実際に描画し、CSSOM のルールを1本ずつ
          querySelectorAll に掛けて、**当たるルールだけ**を採った
          （tools/measure/usedcss.js）
       2. 並び順・入れ子（@media / @container）は元のまま復元した。
          順序はカスケードそのものなので崩せない
       3. 名前はすべて miki-* に付け替えた
       4. 編集画面でしか当たらないセレクタは落とした。
          `:is(.miki-body, 編集画面用のクラス)` を `.miki-body` に縮めても
          **詳細度は変わらない**（`:is()` は引数の最大値＝(0,1,0)）

     残っているのは「値」だけである。px・色・余白は、移行前と同じ表示に
     するために必要な**事実**なので保っている。

   ★ @container を消さないこと
     `.miki-body { container: miki-body / inline-size }` と
     `@container miki-body (max-width: 600px)` の組で、
     **本文の PC 値と SP 値を切り替えている。**
     @media ではないので、画面幅ではなく**本文の幅**で切り替わる。

   ★ 変更したら 44区画の高さを測り直すこと（tools/measure/run.py）。
   ================================================================== */

:root { --miki-body-base-font-size-pc: inherit; --miki-body-base-font-size-sp: inherit; --miki-body-base-font-family: inherit; --miki-body-base-line-height-pc: 2.4; --miki-body-base-line-height-sp: 2.2; --miki-body-base-font-color: inherit; --miki-body-base-link-color: #0b57d0; --miki-body-base-link-decoration: underline; --miki-body-base-margin-bottom-pc: 40px; --miki-body-base-margin-bottom-sp: 30px; --miki-body-half-leading: calc((1em - 1lh) / 2); --miki-body-opt-inset-block-top: 0 auto; --miki-body-opt-inset-inline-left: 0 auto; --miki-body-h2-font-size-pc: 28px; --miki-body-h2-font-size-sp: 22px; --miki-body-h2-line-height: 1.5; --miki-body-h2-text-align: center; --miki-body-h2-font-weight: 600; --miki-body-h2-font-color: var(--miki-body-base-font-color); --miki-body-h2-font-family: var(--miki-body-base-font-family); --miki-body-h2-content-width: 100%; --miki-body-h2-background: initial; --miki-body-h2-border-position: var(--miki-body-h2-border-width); --miki-body-h2-border-width: 0px; --miki-body-h2-element-inset-inline: var(--miki-body-opt-inset-inline-left); --miki-body-h2-element-inset-block: var(--miki-body-opt-inset-block-top); --miki-body-h2-element-size-w-pc: 0px; --miki-body-h2-element-size-w-sp: 0px; --miki-body-h2-element-size-h-pc: 0px; --miki-body-h2-element-size-h-sp: 0px; --miki-body-h2-padding-pc: 0px; --miki-body-h2-padding-sp: 0px; --miki-body-h2-margin-top-pc: 100px; --miki-body-h2-margin-top-sp: 50px; --miki-body-h2-margin-bottom-pc: 30px; --miki-body-h2-margin-bottom-sp: 20px; --miki-body-h3-font-size-pc: 24px; --miki-body-h3-font-size-sp: 20px; --miki-body-h3-line-height: 1.5; --miki-body-h3-text-align: left; --miki-body-h3-font-weight: 600; --miki-body-h3-font-color: var(--miki-body-base-font-color); --miki-body-h3-font-family: var(--miki-body-base-font-family); --miki-body-h3-content-width: 100%; --miki-body-h3-background: initial; --miki-body-h3-border-position: var(--miki-body-h3-border-width); --miki-body-h3-border-width: 0px; --miki-body-h3-element-inset-inline: var(--miki-body-opt-inset-inline-left); --miki-body-h3-element-inset-block: var(--miki-body-opt-inset-block-top); --miki-body-h3-element-size-w-pc: 0px; --miki-body-h3-element-size-w-sp: 0px; --miki-body-h3-element-size-h-pc: 0px; --miki-body-h3-element-size-h-sp: 0px; --miki-body-h3-padding-pc: 0px; --miki-body-h3-padding-sp: 0px; --miki-body-h3-margin-top-pc: 80px; --miki-body-h3-margin-top-sp: 50px; --miki-body-h3-margin-bottom-pc: 20px; --miki-body-h3-margin-bottom-sp: 20px; --miki-body-h4-font-size-pc: 22px; --miki-body-h4-font-size-sp: 18px; --miki-body-h4-line-height: 1.5; --miki-body-h4-text-align: left; --miki-body-h4-font-weight: 600; --miki-body-h4-font-color: var(--miki-body-base-font-color); --miki-body-h4-font-family: var(--miki-body-base-font-family); --miki-body-h4-content-width: 100%; --miki-body-h4-background: initial; --miki-body-h4-border-position: var(--miki-body-h4-border-width); --miki-body-h4-border-width: 0px; --miki-body-h4-element-inset-inline: var(--miki-body-opt-inset-inline-left); --miki-body-h4-element-inset-block: var(--miki-body-opt-inset-block-top); --miki-body-h4-element-size-w-pc: 0px; --miki-body-h4-element-size-w-sp: 0px; --miki-body-h4-element-size-h-pc: 0px; --miki-body-h4-element-size-h-sp: 0px; --miki-body-h4-padding-pc: 0px; --miki-body-h4-padding-sp: 0px; --miki-body-h4-margin-top-pc: 60px; --miki-body-h4-margin-top-sp: 40px; --miki-body-h4-margin-bottom-pc: 15px; --miki-body-h4-margin-bottom-sp: 15px; --miki-body-ul-font-size-pc: 16px; --miki-body-ul-font-size-sp: 16px; --miki-body-ul-font-weight: normal; --miki-body-ul-font-color: var(--miki-body-base-font-color); --miki-body-ul-background: initial; --miki-body-ul-border-style: hidden; --miki-body-ul-border-width: 2; --miki-body-ul-border-color: #000000; --miki-body-ul-list-style: disc; --miki-body-ul-icon: none; --miki-body-ul-icon-offset: 1em; --miki-body-ul-icon-content:; --miki-body-ul-icon-color: #000000; --miki-body-ul-padding-pc: 0px; --miki-body-ul-padding-sp: 0px; --miki-body-ul-margin-top-pc: 40px; --miki-body-ul-margin-top-sp: 30px; --miki-body-ul-margin-bottom-pc: 40px; --miki-body-ul-margin-bottom-sp: 30px; --miki-body-marker-weight: 0.8em; }
.miki-body { container: miki-body / inline-size; position: relative; color: var(--miki-body-base-font-color); font-size: var(--miki-body-base-font-size-pc); font-family: var(--miki-body-base-font-family); line-height: var(--miki-body-base-line-height-pc); overflow-wrap: break-word; }
.miki-body, .miki-body * { box-sizing: border-box; }
@media (max-width: 767px) {
  .miki-body { font-size: var(--miki-body-base-font-size-sp); line-height: var(--miki-body-base-line-height-sp); }
}
.miki-body > :has(+ *) { margin-bottom: var(--miki-body-base-margin-bottom-pc); }
@container miki-body (max-width: 600px) {
  :is(.miki-body, .miki-body .wp-block-group__inner-container) > * { --miki-body-base-margin-bottom-pc: var(--miki-body-base-margin-bottom-sp); }
}
.miki-body :where(a) { color: var(--miki-body-base-link-color); }
@media (any-hover: hover) {
  .miki-body :where(a:hover) { text-decoration: var(--miki-body-base-link-decoration); }
}
.miki-body strong, .miki-body b { font-weight: 700; }
.miki-body p:has(+ *) { margin: 0 0
    calc(var(--miki-body-base-margin-bottom-pc) + var(--miki-body-half-leading)); }
.miki-body h2 { position: relative; font-size: var(--miki-body-h2-font-size-pc); font-weight: var(--miki-body-h2-font-weight); line-height: var(--miki-body-h2-line-height); text-align: var(--miki-body-h2-text-align); color: var(--miki-body-h2-font-color); font-family: var(--miki-body-h2-font-family); width: var(--miki-body-h2-content-width); background: var(--miki-body-h2-background); border-top-color:; border-top-style:; border-right-color:; border-right-style:; border-bottom-color:; border-bottom-style:; border-left-color:; border-left-style:; border-width: var(--miki-body-h2-border-position); border-image-source:; border-image-slice:; border-image-outset:; border-image-repeat:; border-image-width: var(--miki-body-h2-border-position); padding: var(--miki-body-h2-padding-pc); margin-inline: auto; }
.miki-body * + h2 { margin-top: var(--miki-body-h2-margin-top-pc); }
.miki-body h2:has(+ *) { margin-bottom: var(--miki-body-h2-margin-bottom-pc); }
.miki-body h2::before { content: ""; display: block; width: var(--miki-body-h2-element-size-w-pc); height: var(--miki-body-h2-element-size-h-pc); background-image:; background-attachment:; background-origin:; background-clip:; background-color:; background-size: contain; background-repeat: no-repeat; background-position: center center; position: absolute; inset-block: var(--miki-body-h2-element-inset-block); inset-inline: var(--miki-body-h2-element-inset-inline); margin: auto; }
@container miki-body (max-width: 600px) {
  .miki-body h2 { font-size: var(--miki-body-h2-font-size-sp); padding: var(--miki-body-h2-padding-sp); }
  .miki-body h2::before { width: var(--miki-body-h2-element-size-w-sp); height: var(--miki-body-h2-element-size-h-sp); }
  .miki-body * + h2 { margin-top: var(--miki-body-h2-margin-top-sp); }
  .miki-body h2:has(+ *) { margin-bottom: var(--miki-body-h2-margin-bottom-sp); }
}
.miki-body h3 { position: relative; font-size: var(--miki-body-h3-font-size-pc); font-weight: var(--miki-body-h3-font-weight); line-height: var(--miki-body-h3-line-height); text-align: var(--miki-body-h3-text-align); color: var(--miki-body-h3-font-color); font-family: var(--miki-body-h3-font-family); width: var(--miki-body-h3-content-width); background: var(--miki-body-h3-background); border-top-color:; border-top-style:; border-right-color:; border-right-style:; border-bottom-color:; border-bottom-style:; border-left-color:; border-left-style:; border-width: var(--miki-body-h3-border-position); border-image-source:; border-image-slice:; border-image-outset:; border-image-repeat:; border-image-width: var(--miki-body-h3-border-position); padding: var(--miki-body-h3-padding-pc); margin-inline: auto; }
.miki-body * + h3 { margin-top: var(--miki-body-h3-margin-top-pc); }
.miki-body h3:has(+ *) { margin-bottom: var(--miki-body-h3-margin-bottom-pc); }
.miki-body h3::before { content: ""; display: block; width: var(--miki-body-h3-element-size-w-pc); height: var(--miki-body-h3-element-size-h-pc); background-image:; background-attachment:; background-origin:; background-clip:; background-color:; background-size: contain; background-repeat: no-repeat; background-position: center center; position: absolute; inset-block: var(--miki-body-h3-element-inset-block); inset-inline: var(--miki-body-h3-element-inset-inline); margin: auto; }
@container miki-body (max-width: 600px) {
  .miki-body h3 { font-size: var(--miki-body-h3-font-size-sp); padding: var(--miki-body-h3-padding-sp); }
  .miki-body h3::before { width: var(--miki-body-h3-element-size-w-sp); height: var(--miki-body-h3-element-size-h-sp); }
  .miki-body * + h3 { margin-top: var(--miki-body-h3-margin-top-sp); }
  .miki-body h3:has(+ *) { margin-bottom: var(--miki-body-h3-margin-bottom-sp); }
}
.miki-body h4 { position: relative; font-size: var(--miki-body-h4-font-size-pc); font-weight: var(--miki-body-h4-font-weight); line-height: var(--miki-body-h4-line-height); text-align: var(--miki-body-h4-text-align); color: var(--miki-body-h4-font-color); font-family: var(--miki-body-h4-font-family); width: var(--miki-body-h4-content-width); background: var(--miki-body-h4-background); border-top-color:; border-top-style:; border-right-color:; border-right-style:; border-bottom-color:; border-bottom-style:; border-left-color:; border-left-style:; border-width: var(--miki-body-h4-border-position); border-image-source:; border-image-slice:; border-image-outset:; border-image-repeat:; border-image-width: var(--miki-body-h4-border-position); padding: var(--miki-body-h4-padding-pc); margin-inline: auto; }
.miki-body * + h4 { margin-top: var(--miki-body-h4-margin-top-pc); }
.miki-body h4:has(+ *) { margin-bottom: var(--miki-body-h4-margin-bottom-pc); }
.miki-body h4::before { content: ""; display: block; width: var(--miki-body-h4-element-size-w-pc); height: var(--miki-body-h4-element-size-h-pc); background-image:; background-attachment:; background-origin:; background-clip:; background-color:; background-size: contain; background-repeat: no-repeat; background-position: center center; position: absolute; inset-block: var(--miki-body-h4-element-inset-block); inset-inline: var(--miki-body-h4-element-inset-inline); margin: auto; }
@container miki-body (max-width: 600px) {
  .miki-body h4 { font-size: var(--miki-body-h4-font-size-sp); padding: var(--miki-body-h4-padding-sp); }
  .miki-body h4::before { width: var(--miki-body-h4-element-size-w-sp); height: var(--miki-body-h4-element-size-h-sp); }
  .miki-body * + h4 { margin-top: var(--miki-body-h4-margin-top-sp); }
  .miki-body h4:has(+ *) { margin-bottom: var(--miki-body-h4-margin-bottom-sp); }
}
.miki-body ul { font-size: var(--miki-body-ul-font-size-pc); font-weight: var(--miki-body-ul-font-weight); text-align: left; color: var(--miki-body-ul-font-color); line-height: 2.2; background: var(--miki-body-ul-background); border-style: var(--miki-body-ul-border-style); border-width: var(--miki-body-ul-border-width); border-color: var(--miki-body-ul-border-color); padding-block: calc(var(--miki-body-ul-padding-pc) - 0.6em); padding-inline-start: calc(
    var(--miki-body-ul-padding-pc) + var(--miki-body-ul-icon-offset)
  ); padding-inline-end: var(--miki-body-ul-padding-pc); list-style-position: outside; list-style-type: var(--miki-body-ul-list-style); margin-inline: 0px; }
.miki-body * + ul { margin-top: var(--miki-body-ul-margin-top-pc); }
.miki-body ul:has(+ *) { margin-bottom: var(--miki-body-ul-margin-bottom-pc); }
.miki-body ul li { position: relative; margin: 0px; line-height: revert; list-style-type: inherit; }
.miki-body ul li::before { content: var(--miki-body-ul-icon); color: var(--miki-body-ul-icon-color); width: 1em; height: 1em; position: absolute; top: calc(0.55em); left: -1.5em; mask-image: var(--miki-body-ul-icon-content); mask-position: center center; mask-repeat: no-repeat; mask-size: contain; background: currentcolor; transform: scale(1.2); }
@container miki-body (max-width: 600px) {
  .miki-body ul { font-size: var(--miki-body-ul-font-size-sp); padding-block: calc(var(--miki-body-ul-padding-sp) - 0.6em); padding-inline-start: calc(
      var(--miki-body-ul-padding-sp) + var(--miki-body-ul-icon-offset)
    ); padding-inline-end: var(--miki-body-ul-padding-sp); }
  .miki-body * + ul { margin-top: var(--miki-body-ul-margin-top-sp); }
  .miki-body ul:has(+ *) { margin-bottom: var(--miki-body-ul-margin-bottom-sp); }
}
.miki-body img { max-width: 100%; height: auto; vertical-align: bottom; }
.wpcf7 { width: 100%; border: 1px solid rgb(221, 221, 221); background: rgb(250, 250, 250); font-size: 14px; }
.wpcf7 form { margin: 1.5em 1.5em 0px; }
.wpcf7 p { margin-bottom: 1em; font-size: 16px; }
.wpcf7 input, .wpcf7 textarea { width: 100%; padding: 8px; border: 1px solid rgb(204, 204, 204); line-height: 1.2; }
.wpcf7 select, .wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { width: auto; max-width: 97%; padding: 8px; border: 1px solid rgb(204, 204, 204); }
.wpcf7 .wpcf7-list-item { display: block; }
.wpcf7 textarea { height: 300px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border: 1px solid rgb(187, 187, 187); outline: none; }
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { background-color: rgb(0, 0, 0); display: block; position: relative; width: 225px; height: 48px; margin: 30px auto 0px; outline: none; color: rgb(255, 255, 255); font-size: 14px; line-height: 1.5; text-align: center; text-decoration: none; cursor: pointer; transition: 0.3s; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; }
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color: color-mix(in srgb, rgb(0, 0, 0) 70%, transparent); }
.wpcf7 form .wpcf7-response-output { margin: 2em 0.5em; padding: 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; text-align: center; }
:root { --miki-body-base-link-color: #0b57d0; }
.miki-body { --miki-body-base-font-size-pc: 16px; --miki-body-base-font-size-sp: 14px; --miki-body-base-link-color: #0b57d0; }
@keyframes mikiBodyMarkerAnimation { 
  0% { background-position: 0 var(--miki-body-marker-weight); }
  100% { background-position: -100% var(--miki-body-marker-weight); }
}
