/* imp.re-feed.jp 全ページ共通の上書き（styles.css は shiyou 同期のため直接編集しない方針）
   2026-08-16 作成。モバイルブラッシュアップで使用 */

/* ==========================================================================
   2026-08-16 モバイル仕上げ（team20260816g audit_top.md / audit_sub.md 対応）
   既存セレクタ削除なし・末尾追記のみ。!important 不使用。
   ========================================================================== */

/* polish-m: T-1 / sub-4 / M-7 固定フッターバーのタップ高を全幅で 44px 以上に均一化
   （320/375px の 37〜42px を 48px へ、600〜767px の 68〜87px のインフレも解消） */
@media only screen and (max-width: 767px) {
  .c-block-fixed .c-button.c-button--secondary {
    min-height: 48px;
    padding: 8px 10px;
    font-size: 15px;
  }
}

/* polish-m: T-2 / M-8 600〜767px のヘッダー肥大を抑制し
   トップ「サービス案内」ラベルとのクリアランスを回復（下層は rem 逃げのため影響なし方向） */
@media only screen and (min-width: 600px) and (max-width: 767px) {
  .l-header__logo { width: 150px; }
  .l-header__wrapper { min-height: 56px; }
}

/* polish-m: T-5 ハンバーガーメニューのヒットエリアを約 48px 四方へ拡張
   （疑似要素のみ・content は空文字列で文言追加なし・表示への影響なし検証済み） */
@media only screen and (max-width: 767px) {
  .l-button-menu::after { content: ""; position: absolute; inset: -10px; }
}

/* polish-m: T-6 フッター © 表記と固定バー（48px 化後）のクリアランス確保 */
@media only screen and (max-width: 767px) {
  .l-footer { padding-bottom: calc(0.5rem + 24px); }
}

/* polish-m: sub-1 / M-10 下層キービジュアルをトップの紺 #03346e 系へ統一
   （media query なし＝PC 側も同時に統一。パターン画像 ::after は維持される） */
.c-section-keyvisual {
  background: linear-gradient(90deg, #0a4a94 0, #03346e 100%);
}

/* polish-m: sub-2 assignment SOLUTION バーの透かし英字の二重写り解消
   （DOM・文言は残し色だけ透明化。--solution 側は 2 クラス指定が勝つため併記必須） */
.p-block-assignment-solution__heading-english,
.p-block-assignment-solution__box--solution .p-block-assignment-solution__heading-english {
  color: transparent;
}

/* polish-m: sub-3 strength 末尾の 2 ボタン密着と CTA ボックス隙間ゼロの解消 */
@media only screen and (width < 768px) {
  .p-section-strength .c-button.c-button--primary { margin-top: .15rem; }
  .page-id-22 .c-section-contact { margin-top: .5rem; }
}

/* polish-m: sub-5 service「途中の手順からの…」c-box の内外余白 */
@media only screen and (width < 768px) {
  .p-section-function .c-box { margin-top: .4rem; padding: .3rem .2rem; }
  .p-section-function .c-box .c-heading--primary { margin-bottom: .15rem; }
}

/* polish-m: sub-6 番号見出し日本語の末尾 1 字泣き別れ解消（1 行化方向のみ・副作用なし） */
@media only screen and (width < 768px) {
  .c-heading--secondary .c-heading__detail { font-size: .2rem; }
}

/* polish-m: sub-7 faq Q 行のタップ高 44px 保証と開閉記号の視認性向上 */
@media only screen and (width < 768px) {
  .p-section-faq__question { min-height: 44px; }
  .p-section-faq__question::before,
  .p-section-faq__question::after { width: .14rem; height: 2px; }
}

/* ==========================================================================
   readability: 文章の壁対策（wall_audit / readability_design 準拠）
   装置 5 種: .r-lead / .r-key / .r-items(--num) / .r-note / .r-chunk
   トークン: 紺 #03346e / ベース #1663b0 / 薄青 #eef2f7・#dbe4f0
   既存セレクタ削除なし・末尾追記のみ。!important 不使用。
   .r- 系は rem 独自スケール回避のため em / px のみで記述。
   ========================================================================== */

/* readability D1: リード段落（ブロック先頭の段落を半段大きく・左に細罫） */
.r-lead {
  border-left: 3px solid #1663b0;
  padding-left: 14px;
  font-size: 1.06em;
  line-height: 2.05;
}

/* readability D2: キーセンテンス（マーカー下線。1 段落 1 箇所） */
strong.r-key {
  font-weight: 700;
  background: linear-gradient(transparent 64%, rgba(22, 99, 176, .16) 64%);
  padding: 0 .08em;
}

/* readability D3: 列挙のリスト化（記号・番号は CSS 生成。HTML に文字を足さない） */
ul.r-items {
  list-style: none;
  margin: .8em 0 1.2em;
  padding: 0;
}
ul.r-items > li {
  position: relative;
  padding-left: 1.25em;
  margin: .4em 0;
  line-height: 1.9;
}
ul.r-items > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1663b0;
}
/* readability D3 番号版（壁 6）。番号チップは counter で描画 */
ul.r-items--num { counter-reset: r-item; }
ul.r-items--num > li { padding-left: 2.5em; margin: .6em 0; }
ul.r-items--num > li::before {
  counter-increment: r-item;
  content: counter(r-item, decimal-leading-zero);
  top: .2em;
  width: 1.8em;
  height: 1.8em;
  border-radius: 4px;
  background: #eef2f7;
  color: #03346e;
  font-size: .85em;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* readability D4: 役割・案内ボックス（依頼事項/案内を薄青地で切り出す） */
.r-note {
  background: #eef2f7;
  border-left: 3px solid #03346e;
  border-radius: 6px;
  padding: 1em 1.2em;
}

/* readability D5: 文グループ分割（段落を割らずに視覚上の呼吸を入れる） */
span.r-chunk { display: block; }
span.r-chunk + span.r-chunk { margin-top: .85em; }

/* readability 地の調整: 壁 1・4 service 本文の行長制限と段落間の呼吸 */
.p-section-function__item-description {
  max-width: 40em;
  line-height: 1.95;
}
.p-section-function__item-description + .p-section-function__item-description { margin-top: 1.1em; }
.p-section-function .c-box .c-text { max-width: 40em; }

/* readability 地の調整: 壁 2 assignment 解決の方向性の再配分
   （DOM で挿絵を p の前へ移動済み前提。挿絵右フロート + 本文左揃え） */
.r-solution { display: block; }
.r-solution .c-text {
  text-align: left;
  line-height: 1.95;
}
.r-solution::after { content: ""; display: block; clear: both; }
@media only screen and (min-width: 768px) {
  .r-solution .p-block-assignment-solution__image {
    float: right;
    width: 185px;
    margin: 0 0 12px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .r-solution .p-block-assignment-solution__image {
    float: none;
    margin: 0 auto 12px;
    text-align: center;
  }
}

/* readability 地の調整: 壁 3 strength POINT 本文のテクスチャ */
.p-list-strength__item-text {
  text-align: left;
  line-height: 1.9;
}
@media only screen and (min-width: 768px) {
  .p-list-strength__item-content { padding-left: 0; padding-right: 0; }
}
@media only screen and (max-width: 767px) {
  .p-list-strength__item + .p-list-strength__item { margin-top: 1.4em; }
}

/* readability 地の調整: 壁 5 リード分割後の段落間隔の補正 */
.c-block-introduction__text + .c-block-introduction__text { margin-top: .8em; }

/* readability 地の調整: 壁 7 faq 回答の行間 */
.p-section-faq__answer .c-text { line-height: 1.95; }

/* readability 補足: ボタンの帯化解消と CTA 前後の呼吸（中央寄せ + 上下マージン） */
.p-section-function .c-button--primary,
.p-section-strength .c-button--primary {
  max-width: 360px;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  margin-left: auto;
  margin-right: auto;
}

/* readability モバイル: D1 / D4 の寸法調整（§4） */
@media only screen and (max-width: 767px) {
  .r-lead { border-left-width: 2px; padding-left: 10px; font-size: 1.03em; }
  .r-note { padding: .85em 1em; }
}
