/* ============================================================
   wp-sub.css  下層ページ(コラム一覧・記事・お問い合わせ・診断)用  2026-10-31
   - functions.php の追記ブロック 2 が、トップ以外のページで wp_head の最後に読み込む
     (既存の denari_reset_styles(999)・denari_column_styles(1000)・追加 CSS より後)。
   - 下層には Tailwind CDN と旧デザインの CSS が残るので、新 LP の CSS は丸ごと読まず、
     ヘッダー・モバイルナビ・フッター・資料申込ダイアログに要る規則だけを抜き出している。
   - 構成
       0. 変数
       1. 新 LP から抜き出した規則(style-1.css / style-2.css / privacy-notice.css。値はそのまま)
       2. 既存 CSS(旧リセット CSS・追加 CSS・Seedlet)からヘッダー等を守る上書き
       3. 下層ページ共通(背景・旧固定ナビ用の上余白)
       4. コラム一覧([denari_column_list] の出力)
       5. 記事ページ(single.php + denari_column_single_extras の出力)
       6. お問い合わせ(固定ページ 22。HubSpot フォームは iframe なので外枠だけ)
       --- 2026-10-31 第 2 便で追加 ---
       3-2. 背景画像(追記ブロック 3 が body に lp-sub-bg と --lp-bg を出したときだけ)
       7. お問い合わせ(自前フォーム。追記ブロック 3 が本文を lp/parts/contact.html に差し替えたとき。6 を上書き)
       8. 経営シミュレーション診断(固定ページ 392 の #denari-shindan。本番 10/20 版の dsx-* が基準、
          ステージング 9/21 版の ds-* にも同じ値を当てる)
       9. 404 ページ(子テーマの 404.php。クラス名 lp-404-*)
       --- 2026-10-31 追加 ---
       3-3. ページ表示時のフェードイン(旧リセット CSS の pageFadeIn)を止める
       --- 2026-10-31 白い点滅の追加対策 ---
       0-2. html の背景色(隙間が出ても白でなく淡い水色に)
       1-7. 資料申込ダイアログの開き方(@keyframes。motion.css と同内容)
       1-8. ページ遷移のクロスフェード(@view-transition)→ 同日取り下げ
       10. ボタンの白点滅対策(グラデーション→単色の hover で背後が透けないよう background-color を明示)
       --- 2026-11-01 追加 ---
       11. プライバシーポリシー(スラッグ privacy-policy の固定ページ。本文は lp/parts/privacy.html)
   - 既存 CSS は消していない。このファイルを外せば元の見た目に戻る。
   ============================================================ */

/* ===== 0. 変数(style-1.css の :root) ===== */
:root {
  --navy: #081e4d;
  --blue: #1157c9;
  --pale: #eaf6fc;
  --font-sans: "Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}

/* 0-2. html の背景色(2026-10-31)。body の背景(3. / 3-2.)が描かれる前やページ切り替えの隙間に何か見えても、
        白ではなく下層の地色(--pale と同じ淡い水色)になるようにする */
html {
  background-color: #eaf6fc;
}

/* ===== 1. 新 LP から抜き出した規則 ===== */

/* 1-1. 新 LP の body・a・button の基本(style-1.css)を、ヘッダー・フッター・ダイアログの中だけに当てる。
        :where() で ID の詳細度を消し(要素名だけの詳細度にして)、下の各クラスの規則が必ず勝つようにしている */
:where(#top, #site-footer, #materials-request-dialog) {
  color: var(--navy);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}
:where(#top, #site-footer, #materials-request-dialog) a,
:where(#top, #site-footer, #materials-request-dialog) button {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
:where(#top, #materials-request-dialog) button {
  font: inherit;
  cursor: pointer;
  border: 0;
}
:where(#top, #site-footer, #materials-request-dialog) p,
:where(#top, #site-footer, #materials-request-dialog) h2 {
  margin: 0;
}
:where(#top, #site-footer, #materials-request-dialog) svg {
  flex-shrink: 0;
}

/* 1-2. 本文へ移動リンク(style-1.css)。Seedlet 自身の a.skip-link.screen-reader-text には当てない */
.skip-link:not(.screen-reader-text) {
  z-index: 100;
  border: 2px solid var(--blue);
  background: #fff;
  padding: 12px 20px;
  position: fixed;
  top: -80px;
  left: 16px;
}
.skip-link:not(.screen-reader-text):focus {
  top: 12px;
}

/* 1-3. ヘッダー・モバイルナビ・フッター・資料申込ダイアログ(style-2.css から抜き出し。並び順も元のまま) */
.landing-header_header__tBbed {
  position: relative;
  z-index: 10;
  background: #fff;
}
.landing-header_inner__pkt_4 {
  width: min(1440px,83.5%);
  margin-inline: auto;
  min-height: 80px;
  padding-block: 12px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.landing-header_brand____qYV {
  display: block;
  flex-shrink: 0;
  width: 180px;
}
.landing-header_crop__uJ7RH {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1035/300;
  overflow: hidden;
}
.landing-header_crop__uJ7RH img {
  position: absolute;
  max-width: none;
  width: 132.95%;
  height: auto;
  left: -16.9%;
  top: -78%;
}
.landing-header_navigation__2r1gV {
  display: flex;
  align-items: center;
  gap: clamp(18px,2vw,32px);
  margin-left: auto;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.landing-header_navigation__2r1gV a:hover {
  color: var(--blue);
}
.landing-header_download__yiUKX {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 24px;
  min-height: 52px;
  border-radius: 9px;
  background: #0751bd;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  white-space: nowrap;
  transition: background .18s;
}
.landing-header_download__yiUKX svg {
  width: 25px;
  height: 25px;
}
.landing-header_download__yiUKX:hover {
  background: #0646a7;
}
.landing-header_mobileNav__PNzDm,
.landing-header_toggle__IFfvi {
  display: none;
}
@media (max-width:1250px) and (min-width:1101px) {
  .landing-header_inner__pkt_4 {
    gap: 20px;
  }
  .landing-header_brand____qYV {
    width: 160px;
  }
  .landing-header_navigation__2r1gV {
    font-size: 12px;
    gap: 15px;
  }
  .landing-header_download__yiUKX {
    padding-inline: 18px;
    font-size: 15px;
  }
}
@media (max-width:1100px) {
  .landing-header_inner__pkt_4 {
    width: calc(100% - 64px);
    gap: 20px;
  }
  .landing-header_navigation__2r1gV {
    display: none;
  }
  .landing-header_download__yiUKX {
    margin-left: auto;
  }
  .landing-header_toggle__IFfvi {
    display: flex;
    width: 44px;
    height: 44px;
    padding: 10px 6px;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: space-between;
    background: transparent;
  }
  .landing-header_toggle__IFfvi span {
    width: 100%;
    height: 2px;
    background: var(--navy);
    transition: transform .18s,opacity .18s;
  }
  .landing-header_toggle__IFfvi[aria-expanded=true] span:first-child {
    transform: translateY(11px) rotate(45deg);
  }
  .landing-header_toggle__IFfvi[aria-expanded=true] span:nth-child(2) {
    opacity: 0;
  }
  .landing-header_toggle__IFfvi[aria-expanded=true] span:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
  }
  .landing-header_mobileNav__PNzDm {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    display: grid;
    padding: 8px 24px 20px;
    background: #fffffff9;
    box-shadow: 0 12px 20px #081e4d12;
    backdrop-filter: blur(12px);
  }
  .landing-header_mobileNav__PNzDm a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 12px 4px;
    border-bottom: 1px solid #e4eef5;
    font-size: 14px;
    font-weight: 700;
  }
  .landing-header_mobileNav__PNzDm svg {
    width: 17px;
    height: 17px;
  }
}
@media (max-width:650px) {
  .landing-header_inner__pkt_4 {
    width: calc(100% - 32px);
    min-height: 68px;
    padding-block: 10px;
    gap: 10px;
  }
  .landing-header_brand____qYV {
    width: 122px;
  }
  .landing-header_download__yiUKX {
    min-height: 44px;
    padding: 9px 10px;
    gap: 6px;
    border-radius: 7px;
    font-size: 11px;
  }
  .landing-header_download__yiUKX svg {
    width: 18px;
    height: 18px;
  }
  .landing-header_toggle__IFfvi {
    width: 38px;
    padding-inline: 4px;
  }
}
@media (max-width:360px) {
  .landing-header_inner__pkt_4 {
    gap: 8px;
  }
  .landing-header_brand____qYV {
    width: 108px;
  }
  .landing-header_download__yiUKX {
    font-size: 10px;
    padding-inline: 8px;
  }
  .landing-header_download__yiUKX svg {
    width: 16px;
    height: 16px;
  }
  .landing-header_download__yiUKX {
    white-space: normal;
  }
}
@media (prefers-reduced-motion:reduce) {
  .landing-header_download__yiUKX,
  .landing-header_toggle__IFfvi span {
    transition: none;
  }
}
.landing-header_download__yiUKX span {
  text-align: center;
}
.closing-sections_footer__cqIvr {
  color: var(--navy);
}
.closing-sections_wrap__nVFkN {
  width: min(1160px,calc(100% - 100px));
  margin-inline: auto;
}
.closing-sections_footer__cqIvr {
  padding: 32px 0 38px;
  border-top: 1px solid #d6eaf8;
  background: #fff;
}
.closing-sections_footerInner__yhjM0 {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  column-gap: 40px;
  row-gap: 14px;
}
.closing-sections_footerIdentity__o7Yzf {
  grid-row: span 2;
}
.closing-sections_footerLogo__0xX5d {
  display: block;
  width: 220px;
}
.closing-sections_footerLogo__0xX5d>span {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1035/300;
  overflow: hidden;
}
.closing-sections_footerLogo__0xX5d img {
  position: absolute;
  max-width: none;
  width: 132.95%;
  height: auto;
  left: -16.9%;
  top: -78%;
}
.closing-sections_footerIdentity__o7Yzf p {
  margin: 10px 0 0;
  font-size: 16px;
  line-height: 1.6;
}
.closing-sections_footerIdentity__o7Yzf .closing-sections_footerAddress__DSSJD {
  font-size: 14px;
  line-height: 1.8;
}
.closing-sections_footerAddress__DSSJD a {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.closing-sections_footerNav___KLbQ {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  padding-top: 18px;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 600;
}
.closing-sections_footerNav___KLbQ>*+* {
  padding-left: 24px;
  border-left: 1px solid #91add8;
}
.closing-sections_footerNav___KLbQ a:hover {
  color: #0755d1;
}
.closing-sections_footerNav___KLbQ [aria-disabled] {
  cursor: default;
}
.closing-sections_footerBrand__f_tKK {
  align-self: end;
  text-align: right;
  color: #5b75a5;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .02em;
}
@media (max-width:1100px) and (min-width:801px) {
  .closing-sections_wrap__nVFkN {
    width: calc(100% - 80px);
  }
  .closing-sections_footerNav___KLbQ {
    gap: 18px;
    font-size: 12px;
  }
  .closing-sections_footerNav___KLbQ>*+* {
    padding-left: 18px;
  }
  .closing-sections_footer__cqIvr {
    padding: 26px 0 30px;
  }
  .closing-sections_footerLogo__0xX5d {
    width: 150px;
  }
  .closing-sections_footerIdentity__o7Yzf p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.5;
  }
  .closing-sections_footerBrand__f_tKK {
    font-size: 10px;
  }
}
@media (max-width:800px) {
  .closing-sections_wrap__nVFkN {
    width: calc(100% - 48px);
  }
  .closing-sections_footerInner__yhjM0 {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .closing-sections_footerIdentity__o7Yzf {
    grid-row: auto;
  }
  .closing-sections_footerLogo__0xX5d {
    width: 190px;
  }
  .closing-sections_footerNav___KLbQ {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 14px 18px;
    padding-top: 0;
    font-size: 13px;
  }
  .closing-sections_footerNav___KLbQ>*+* {
    padding-left: 18px;
  }
  .closing-sections_footerBrand__f_tKK {
    text-align: left;
  }
}
@media (max-width:600px) {
  .closing-sections_wrap__nVFkN {
    width: calc(100% - 40px);
  }
  .closing-sections_footer__cqIvr {
    padding-block: 28px;
  }
  .closing-sections_footerIdentity__o7Yzf p {
    font-size: 14px;
  }
  .closing-sections_footerNav___KLbQ {
    gap: 14px;
    font-size: 12px;
  }
  .closing-sections_footerNav___KLbQ>*+* {
    padding-left: 14px;
  }
  .closing-sections_footerBrand__f_tKK {
    font-size: 11px;
  }
}
.materials-request-modal_dialog__uHxQl {
  position: fixed;
  inset: 0;
  width: min(720px,calc(100% - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 44px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: #173466;
  box-shadow: 0 24px 70px #081e4d26;
  font-size: 14px;
  line-height: 1.6;
}
.materials-request-modal_dialog__uHxQl::backdrop {
  background: #172b4db3;
}
.materials-request-modal_close__gCK4Y {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 6px;
  border-radius: 4px;
  background: transparent;
  color: #17458b;
}
.materials-request-modal_close__gCK4Y svg {
  width: 28px;
  height: 28px;
}
.materials-request-modal_close__gCK4Y:hover {
  background: #edf6ff;
}
.materials-request-modal_eyebrow__BJ5y_ {
  margin: 0 0 12px;
  color: #2572cb;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .1em;
  font-weight: 800;
}
.materials-request-modal_dialog__uHxQl h2 {
  margin: 0;
  padding-right: 20px;
  font-size: 28px;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: -.025em;
  color: #101820;
}
.materials-request-modal_description__k6_sx {
  margin: 14px 0 0;
}
.materials-request-modal_completion__Qqw0h,
.materials-request-modal_form__uKplQ {
  margin-top: 32px;
}
.materials-request-modal_fields__qJoHk {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px 16px;
}
.materials-request-modal_field__YcuEb {
  min-width: 0;
}
.materials-request-modal_field__YcuEb label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 14px;
}
.materials-request-modal_required__9mAO5 {
  color: #31557d;
  font-size: 11px;
}
.materials-request-modal_field__YcuEb input {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #b7cce7;
  border-radius: 3px;
  background: #f5f8fc;
  color: #173466;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}
.materials-request-modal_field__YcuEb input:focus-visible {
  outline: 3px solid #2e7bc7;
  outline-offset: 2px;
}
.materials-request-modal_field__YcuEb input[aria-invalid=true] {
  border-color: #a43b40;
}
.materials-request-modal_field__YcuEb input:disabled {
  opacity: .7;
}
.materials-request-modal_error___qlt3,
.materials-request-modal_fieldError__lU_bH {
  margin: 6px 0 0;
  color: #97343c;
  font-size: 13px;
  line-height: 1.6;
}
.materials-request-modal_error___qlt3 {
  margin-top: 18px;
}
.materials-request-modal_submit__RZrKh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  margin-top: 16px;
  padding: 14px 28px;
  border-radius: 4px;
  background: #1859c5;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 800;
}
.materials-request-modal_submit__RZrKh:hover {
  background: #104ba9;
}
.materials-request-modal_submit__RZrKh:disabled {
  background: #89afd7;
  cursor: wait;
}
.materials-request-modal_privacy__yTdf2 {
  margin-top: 18px;
}
.materials-request-modal_help__yxJBP {
  margin: 26px 0 0;
}
.materials-request-modal_help__yxJBP a,
.materials-request-modal_privacy__yTdf2 a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.materials-request-modal_help__yxJBP a:hover,
.materials-request-modal_privacy__yTdf2 a:hover {
  color: #0755c8;
}
.materials-request-modal_completion__Qqw0h:focus {
  outline: none;
}
@media (max-width:600px) {
  .materials-request-modal_dialog__uHxQl {
    width: calc(100% - 32px);
    max-height: calc(100dvh - 32px);
    padding: 36px 24px 28px;
  }
  .materials-request-modal_close__gCK4Y {
    top: 8px;
    right: 8px;
  }
  .materials-request-modal_dialog__uHxQl h2 {
    font-size: 24px;
  }
  .materials-request-modal_description__k6_sx {
    margin-top: 12px;
  }
  .materials-request-modal_completion__Qqw0h,
  .materials-request-modal_form__uKplQ {
    margin-top: 24px;
  }
  .materials-request-modal_fields__qJoHk {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .materials-request-modal_submit__RZrKh {
    width: 100%;
  }
  .materials-request-modal_help__yxJBP {
    margin-top: 22px;
    font-size: 13px;
  }
}

/* 1-4. ダイアログ内のプライバシーポリシー案内(privacy-notice.css) */
.materials-privacy-note {
  margin: 12px 0 0;
  color: #31557d;
  font-size: 14px;
  line-height: 1.7;
}
.materials-privacy-note a {
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.materials-privacy-note a:hover {
  color: #0755c8;
}

/* 1-5. スマホメニューを開くときの動き(motion.css の「4. 開閉のなめらかさ」と同内容。下層は motion.css を読まないため) */
/* スマホメニュー(2026-10-31 追加): パネルが上から 8px 降りながらフェードインし、項目が 0.05s 刻みで下から順に浮かぶ。
   site.js は開くたびに <template id="mobile-nav-template"> を複製して #mobile-nav を入れ直すので、
   @keyframes は開くたびに最初から再生される。閉じるときは site.js が要素ごと取り除くため、閉じる動きは無い。
   動きは opacity / translate だけ。「視差効果を減らす」設定では動かさない。 */
#mobile-nav {
  animation: m-mnav-panel .35s cubic-bezier(.22, 1, .36, 1) both;
}
#mobile-nav > a {
  animation: m-mnav-item .4s cubic-bezier(.22, 1, .36, 1) both;
}
#mobile-nav > a:nth-child(1) { animation-delay: .05s; }
#mobile-nav > a:nth-child(2) { animation-delay: .1s; }
#mobile-nav > a:nth-child(3) { animation-delay: .15s; }
#mobile-nav > a:nth-child(4) { animation-delay: .2s; }
#mobile-nav > a:nth-child(5) { animation-delay: .25s; }
#mobile-nav > a:nth-child(6) { animation-delay: .3s; }
@keyframes m-mnav-panel { from { opacity: 0; translate: 0 -8px; } to { opacity: 1; translate: 0 0; } }
@keyframes m-mnav-item  { from { opacity: 0; translate: 0 6px; }  to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) {
  #mobile-nav,
  #mobile-nav > a { animation: none; }
}

/* 1-6. PC ナビの詰め(wp-bridge.css の末尾と同内容。下層は wp-bridge.css を読まないため) */
/* PC ナビの詰め(2026-10-31 追加): ナビに「経営シミュレーション」を足して 6 項目になったため、ロゴ・ナビ・資料ボタンが
   1 行に収まらない幅だけ、ナビの文字と間隔を 1 段小さくする(style-2.css は触らずここで上書き)。
   実測(Chromium・Windows のスクロールバー 17px 込み)で、元の値のままだと 1101〜1250px(12px / 15px)で最大約 45px、
   1251〜1440px(14px / 25〜29px)で最大約 120px はみ出していた。1441px 以上は元の値のままで収まる。 */
@media (max-width:1250px) and (min-width:1101px) {
  .landing-header_navigation__2r1gV {
    font-size: 11px;
    gap: 12px;
  }
}
@media (max-width:1440px) and (min-width:1251px) {
  .landing-header_navigation__2r1gV {
    font-size: 12px;
    gap: 14px;
  }
}

/* 1-7. 資料申込ダイアログの開き方(2026-10-31。motion.css の「4. 開閉のなめらかさ」と同内容。下層は motion.css を読まないため)
        開いた瞬間から opacity 0 で始まるよう @keyframes で付ける(開始スタイル + transition だと Chrome で
        最初の 1 フレームが不透明に描かれ、白い箱が一瞬見えることがある)。閉じるときは site.js が dialog.close() するだけ。
        背景の色 #172b4db3 は 1-3 の ::backdrop と同じ値 */
.materials-request-modal_dialog__uHxQl[open] {
  animation: m-dialog-in .35s cubic-bezier(.22, 1, .36, 1) both;
}
.materials-request-modal_dialog__uHxQl[open]::backdrop {
  animation: m-backdrop-in .35s ease both;
}
@keyframes m-dialog-in   { from { opacity: 0; scale: .97; } to { opacity: 1; scale: 1; } }
@keyframes m-backdrop-in { from { background-color: transparent; } to { background-color: #172b4db3; } }
@media (prefers-reduced-motion: reduce) {
  .materials-request-modal_dialog__uHxQl[open],
  .materials-request-modal_dialog__uHxQl[open]::backdrop { animation: none; }
}

/* 1-8. ページ遷移のクロスフェード(@view-transition)は 2026-10-31 に取り下げ(白い点滅の原因ではなかったため。motion.css 4-2 も同じ) */

/* ===== 2. 既存 CSS からヘッダー・フッター・ダイアログを守る上書き =====
   下層に残る次の CSS が、新 LP の部品にも当たってしまうため、元の値に戻す。
   どれも !important 付きなので、こちらも !important + より強いセレクタ(html body #id …)で上書きする。
     - functions.php の denari_reset_styles(旧 LP 用リセット CSS)
         「header nav」→ position: fixed・白い半透明背景・z-index 9999
         「nav a:last-child」→ 灰色の枠線
         「a:not(.rounded-full)…」→ border-bottom: none / 「a」→ 下線と outline を消す
     - 外観 > カスタマイズ > 追加 CSS(wp_custom_css_cb)
         「nav」→ position: fixed・top 0・幅 100%・z-index 9999
     - Seedlet(親テーマ)のリンク色・ボタンの枠や背景 */

/* 2-1. ヘッダーのナビ・フッターのナビを固定表示から元の配置に戻す */
html body #top .landing-header_navigation__2r1gV,
html body #site-footer .closing-sections_footerNav___KLbQ {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  z-index: auto !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-bottom: 0 !important;
}
@media (max-width:1100px) {
  html body #top .landing-header_mobileNav__PNzDm {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    z-index: auto !important;
    background: #fffffff9 !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border-bottom: 0 !important;
  }
}

/* 2-2. ナビ内リンクの枠線(「nav a:last-child」の灰色枠・「a:not(...)」の border-bottom: none)を元に戻す */
html body #top .landing-header_navigation__2r1gV a {
  border: 0 !important;
}
html body #site-footer .closing-sections_footerNav___KLbQ > * {
  border: 0 !important;
}
html body #site-footer .closing-sections_footerNav___KLbQ > * + * {
  border-left: 1px solid #91add8 !important;
}
@media (max-width:1100px) {
  html body #top .landing-header_mobileNav__PNzDm a {
    border: 0 !important;
    border-bottom: 1px solid #e4eef5 !important;
  }
}

/* 2-3. 下線が必要なリンクと、キーボード操作時の枠(focus-visible)を元に戻す */
html body #site-footer .closing-sections_footerAddress__DSSJD a,
html body #materials-request-dialog .materials-request-modal_help__yxJBP a,
html body #materials-request-dialog .materials-privacy-note a {
  text-decoration: underline !important;
}
html body :is(#top, #site-footer, #materials-request-dialog) :is(a, button):focus-visible,
html body a.skip-link:not(.screen-reader-text):focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 5px !important;
}

/* 2-4. リンクの文字色。旧リセット CSS の「nav a { color: #102a43 !important }」と、
        Seedlet の「a:hover / a:focus / a:active」(新 LP のクラス規則より詳細度が高い)を戻す */
html body #top nav a,
html body #site-footer nav a {
  color: inherit !important;
}
html body #top .landing-header_navigation__2r1gV a:hover {
  color: var(--blue) !important;
}
html body #site-footer .closing-sections_footerNav___KLbQ a:hover {
  color: #0755d1 !important;
}
:where(#top, #site-footer, #materials-request-dialog) a:is(:hover, :focus, :active) {
  color: inherit;
}
html body #top .landing-header_download__yiUKX,
html body #materials-request-dialog a.materials-request-modal_submit__RZrKh {
  color: #fff;
}
/* 旧リセット CSS の「a:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a)」より詳細度を上げるため、同じ :not() を重ねている */
html body a.skip-link:not(.rounded-full):not(.mobile-menu-link):not(.screen-reader-text),
html body a.skip-link:not(.rounded-full):not(.mobile-menu-link):not(.screen-reader-text):is(:hover, :focus, :active) {
  color: var(--navy);
  border: 2px solid var(--blue) !important;
}

/* 2-5. ボタン。Seedlet の「button::before / ::after」(空の block 要素。ハンバーガーの線の間隔が崩れる)と、
        「button:not(.has-background):hover / :focus / :active」の背景色・文字色を戻す */
html body :is(#top, #materials-request-dialog) button::before,
html body :is(#top, #materials-request-dialog) button::after {
  content: none;
  display: none;
}
html body #top .landing-header_toggle__IFfvi,
html body #top .landing-header_toggle__IFfvi:is(:hover, :focus, :active) {
  background-color: transparent;
  color: var(--navy);
  border-radius: 0;
}
html body #materials-request-dialog .materials-request-modal_close__gCK4Y:is(:focus, :active) {
  background-color: transparent;
  color: #17458b;
}
html body #materials-request-dialog .materials-request-modal_close__gCK4Y:hover {
  background-color: #edf6ff;
  color: #17458b;
}
html body #materials-request-dialog .materials-request-modal_submit__RZrKh:is(:focus, :active) {
  background-color: #1859c5;
  color: #fff;
}
html body #materials-request-dialog .materials-request-modal_submit__RZrKh:hover {
  background-color: #104ba9;
  color: #fff;
}
html body #materials-request-dialog .materials-request-modal_submit__RZrKh:disabled {
  background-color: #89afd7;
  color: #fff;
}

/* 2-6. ダイアログの入力欄。Seedlet の「input[type="text"]:focus」が枠と文字の色を変えるので戻す */
html body #materials-request-dialog .materials-request-modal_field__YcuEb input:focus {
  color: #173466;
  border-color: #b7cce7;
}
html body #materials-request-dialog .materials-request-modal_field__YcuEb input[aria-invalid=true] {
  border-color: #a43b40;
}

/* ===== 3. 下層ページ共通 =====
   ページ背景を新 LP の淡い水色にする。新ヘッダーは固定表示ではないので、
   旧ナビ(position: fixed)のために空けていた上余白(120〜160px)は 4〜6 で詰める。 */
html body.page:has(.denari-column-wrap),
html body.single-post,
html body.page-id-22 {
  background: var(--pale) !important;
}
/* ログイン中(管理バーあり)。旧リセット CSS の「html, body { margin-top: 0 !important }」が
   WordPress の管理バー用の上余白を消しているため、管理バー(高さ 32px・782px 以下は 46px)が
   新ヘッダーに重なる。ヘッダーをその分だけ下げる */
html body.admin-bar #top.landing-header_header__tBbed {
  margin-top: 32px;
}
@media (max-width:782px) {
  html body.admin-bar #top.landing-header_header__tBbed { margin-top: 46px; }
}

/* 3-2. 背景画像(2026-10-31 第 2 便)。トップのヒーローと同じ画像を画面に固定して敷き、
        読みやすさのため淡い水色(--pale を 88%)を上に重ねる。白いカードはそのまま。
        画像の URL は追記ブロック 3 が <head> に出す CSS 変数 --lp-bg(無ければ画像なし=淡い水色だけ)。
        上の「3」(:has を含むセレクタ)より詳細度を上げるため html:root … [class] にしている */
html:root body.lp-sub-bg[class] {
  background-color: var(--pale) !important;
  background-image: linear-gradient(rgba(234, 246, 252, .88), rgba(234, 246, 252, .88)), var(--lp-bg, none) !important;
  background-position: center, center !important;
  background-size: auto, cover !important;
  background-repeat: no-repeat, no-repeat !important;
  background-attachment: fixed, fixed !important;
}
/* スマホ・タブレット(幅 767px 以下、またはタッチ操作の端末)は fixed が効かない・重い端末があるので、
   スクロールと一緒に動かす。ページ全体に cover すると極端に拡大されるため、画像は上端に横幅いっぱいで置く */
@media (max-width:767px), (hover:none) and (pointer:coarse) {
  html:root body.lp-sub-bg[class] {
    background-attachment: scroll, scroll !important;
    background-position: center, center top !important;
    background-size: auto, 100% auto !important;
  }
}

/* 3-3. ページ表示時のフェードインを止める(2026-10-31)。
        旧リセット CSS(functions.php の denari_reset_styles)の
        「body { animation: pageFadeIn 0.6s ease-out forwards !important }」(opacity 0 → 1)が下層で生きていて、
        トップのボタンから下層へ移ると、ページが真っ白から 0.6 秒かけて出る=白く点滅して見える。
        「body」より詳細度の高い「html body」+ !important で打ち消す(functions.php は変えない) */
html body {
  animation: none !important;
  opacity: 1 !important;
}

/* ===== 4. コラム一覧([denari_column_list] の出力) =====
   既存の denari_column_styles(wp_head 1000)は !important 付きなので、
   同じ要素をより強いセレクタ(html body … を前に付ける)+ !important で上書きしている。 */

/* 4-1. 外枠の余白(旧: 160px 48px 100px) */
html body .entry-content > div.denari-column-wrap:first-child,
html body .denari-column-wrap {
  max-width: 1256px !important;
  padding: 56px 48px 96px !important;
  font-family: var(--font-sans);
  color: var(--navy);
}

/* 4-2. 見出しブロック: 小見出し COLUMN → 短い罫線 → 見出し → 補足(新 LP の closing-sections_heading の型) */
html body .denari-column-header {
  margin-bottom: 40px;
}
html body .denari-column-eyebrow {
  margin: 0 0 18px !important;
  color: #0751c7 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}
html body .denari-column-eyebrow::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  margin: 6px auto 0;
  background: #4b7ee0;
}
html body .denari-column-title {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 42px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}
html body .denari-column-lead {
  margin: 12px 0 0 !important;
  color: #4a5f86 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* 4-3. カード(新 LP の closing-sections_columnCard の型: 白地・薄い水色の罫線・角丸・影なし) */
html body .denari-column-grid {
  gap: 20px;
}
html body .denari-column-wrap a.denari-column-card:not(.mobile-menu-link):not(.wpcf7 a) {
  padding: 20px 22px 22px;
  border: 1px solid #d6eaf8 !important;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  color: var(--navy) !important;
  transition: transform .16s, box-shadow .16s;
}
html body .denari-column-wrap a.denari-column-card:not(.mobile-menu-link):not(.wpcf7 a):hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 16px #174b9826;
}
html body .denari-column-thumb {
  border-radius: 9px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
}
html body .denari-column-card-body {
  padding: 18px 0 0;
  gap: 8px;
}
html body .denari-column-date {
  color: #5b75a5 !important;
  font-size: 13px;
  font-weight: 500;
}
html body .denari-column-card-title {
  color: var(--navy) !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}
html body .denari-column-excerpt {
  color: #31557d !important;
  font-size: 14px;
  line-height: 1.8;
}
/* 「続きを読む →」= 新 LP の「記事を読む」リンクの見た目 */
html body .denari-column-more {
  align-self: flex-start;
  padding-top: 8px;
  color: #174aab !important;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}
html body .denari-column-card:hover .denari-column-more {
  color: #063f9e !important;
}

/* 4-4. ページ送り */
html body .denari-column-wrap .denari-column-pagination a.page-numbers:not(.mobile-menu-link):not(.wpcf7 a),
html body .denari-column-pagination .page-numbers {
  border: 1px solid #d6eaf8 !important;
  background: #fff;
  color: var(--navy) !important;
  font-weight: 700;
}
html body .denari-column-wrap .denari-column-pagination a.page-numbers:not(.mobile-menu-link):not(.wpcf7 a):hover {
  border-color: var(--blue) !important;
  color: var(--blue) !important;
}
html body .denari-column-pagination .page-numbers.current {
  border-color: var(--blue) !important;
  background: var(--blue);
  color: #fff !important;
}
html body .denari-column-empty {
  color: #4a5f86;
}

@media (max-width:1100px) and (min-width:801px) {
  html body .denari-column-title { font-size: 34px !important; line-height: 1.25 !important; }
}
@media (max-width:800px) {
  html body .entry-content > div.denari-column-wrap:first-child,
  html body .denari-column-wrap { padding: 40px 24px 72px !important; }
  html body .denari-column-header { margin-bottom: 28px; }
  html body .denari-column-title { font-size: 30px !important; line-height: 1.5 !important; }
}
@media (max-width:639px) {
  html body .entry-content > div.denari-column-wrap:first-child,
  html body .denari-column-wrap { padding: 32px 20px 64px !important; }
  html body .denari-column-eyebrow { font-size: 12px !important; letter-spacing: .08em !important; }
  html body .denari-column-eyebrow::after { width: 26px; }
  html body .denari-column-title { font-size: 28px !important; }
  html body .denari-column-lead { font-size: 14px !important; }
  html body .denari-column-wrap a.denari-column-card:not(.mobile-menu-link):not(.wpcf7 a) { padding: 16px; }
  html body .denari-column-card-title { font-size: 18px !important; }
}

/* ===== 5. 記事ページ(投稿) =====
   既存: denari_column_styles の「body.single-post …」(!important あり)。html を前に付けて上書きする。 */

/* 5-1. 外側の余白(旧: 120px 20px 100px)と白い記事カード */
html body.single-post main#main.site-main {
  padding: 56px 20px 96px !important;
}
html body.single-post .entry-content {
  max-width: 820px !important;
  padding: 56px 56px 64px !important;
  border: 1px solid #d6eaf8;
  border-radius: 12px;
  box-shadow: none;
  color: #253858;
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-sans);
}

/* 5-2. タイトル・日付(denari_column_single_extras が本文の前に入れる) */
html body.single-post .denari-single-title {
  color: var(--navy) !important;
  font-size: 30px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 12px !important;
}
html body.single-post .denari-single-meta {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d6eaf8;
  color: #5b75a5 !important;
  font-size: 14px;
}

/* 5-3. 見出し: h2 はネイビー太字+下の罫線と青い短い線、h3 は左に青の縦線、h4 は太字のみ */
html body.single-post .entry-content h2 {
  margin: 64px 0 24px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #d6eaf8;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
}
html body.single-post .entry-content h2::after {
  bottom: -1px;
  width: 48px;
  height: 2px;
  background: var(--blue);
}
html body.single-post .entry-content h3 {
  margin: 44px 0 16px !important;
  padding: 2px 0 2px 14px !important;
  border-left: 4px solid var(--blue);
  color: var(--navy) !important;
  font-size: 20px !important;
  line-height: 1.6 !important;
  font-weight: 800 !important;
}
html body.single-post .entry-content h4 {
  margin: 32px 0 12px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.7;
  font-weight: 700;
}

/* 5-4. 本文の要素: 段落・リンク・リスト・画像・表・引用・区切り線 */
html body.single-post .entry-content p {
  margin: 0 0 1.6em !important;
}
html body.single-post .entry-content a:not([class]) {
  color: var(--blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html body.single-post .entry-content a:not([class]):hover {
  color: #063f9e !important;
}
html body.single-post .entry-content ul {
  list-style: disc;
}
html body.single-post .entry-content ol {
  list-style: decimal;
}
html body.single-post .entry-content li::marker {
  color: var(--blue);
}
html body.single-post .entry-content img {
  border-radius: 10px;
}
html body.single-post .entry-content figcaption {
  color: #5b75a5 !important;
  font-size: 13px;
}
html body.single-post .entry-content .wp-block-table {
  overflow-x: auto;
}
html body.single-post .entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
}
html body.single-post .entry-content th,
html body.single-post .entry-content td {
  padding: 10px 14px;
  border: 1px solid #d6eaf8;
  text-align: left;
  vertical-align: top;
}
html body.single-post .entry-content th {
  background: var(--pale);
  color: var(--navy);
  font-weight: 700;
}
html body.single-post .entry-content blockquote {
  margin: 32px 0;
  padding: 16px 20px;
  border-left: 4px solid var(--blue);
  border-radius: 0 8px 8px 0;
  background: #f5faff;
  color: var(--navy);
}
html body.single-post .entry-content blockquote p:last-child {
  margin-bottom: 0 !important;
}
html body.single-post .entry-content hr {
  margin: 48px 0;
  border: 0;
  border-top: 1px solid #d6eaf8;
}

/* 5-4-2. 目次(記事本文の先頭にある <div class="toc"><p class="toc-title">目次</p><ul>…<ol>…</ol></ul></div>。2026-10-31)
          上の 5-4「.entry-content a:not([class])」が目次のリンクにも下線を付けるので、目次の中だけ下線を消す。
          通常は濃紺、ホバーで青(色が変わるだけ・下線なし)。.toc の中だけに効くので、本文の通常のリンクの下線は残る。
          5-4 より詳細度を上げる(.toc を足す)+ 5-4 と同じく !important */
html body.single-post .entry-content .toc a:not([class]) {
  color: var(--navy) !important;
  text-decoration: none !important;
}
html body.single-post .entry-content .toc a:not([class]):hover {
  color: var(--blue) !important;
  text-decoration: none !important;
}

/* 5-5. 記事内のボタン(Gutenberg のボタン・.denari-cta-btn)= 新 LP の主ボタン(青の塗り) */
html body.single-post .entry-content a.denari-cta-btn,
html body.single-post .entry-content a.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 32px;
  border: 1px solid #1752bd !important;
  border-radius: 7px;
  background: linear-gradient(110deg, #175bc9, #1252bd);
  box-shadow: none;
  color: #fff !important;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .16s, box-shadow .16s, transform .16s;
}
html body.single-post .entry-content a.denari-cta-btn:hover,
html body.single-post .entry-content a.wp-block-button__link:hover {
  transform: translateY(-2px);
  background: #07449f;
  box-shadow: 0 5px 16px #174b9826;
}

/* 5-6. シェアと「コラム一覧へ戻る」(戻るは新 LP の副ボタン: 白地に青枠) */
html body.single-post .denari-share {
  border-top-color: #d6eaf8;
}
html body.single-post .denari-share-label {
  color: #5b75a5 !important;
}
html body.single-post .entry-content .denari-column-back a:not(.mobile-menu-link):not(.wpcf7 a) {
  padding: 12px 32px;
  border: 1px solid #1752bd !important;
  border-radius: 7px;
  background: #fff;
  color: #174aab !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
}
html body.single-post .entry-content .denari-column-back a:not(.mobile-menu-link):not(.wpcf7 a):hover {
  border-color: #1752bd !important;
  background: #f6fbff;
  color: #174aab !important;
  box-shadow: 0 4px 12px #174b9814;
}

@media (max-width:639px) {
  html body.single-post main#main.site-main { padding: 32px 12px 64px !important; }
  html body.single-post .entry-content { padding: 32px 20px 44px !important; border-radius: 10px; }
  html body.single-post .denari-single-title { font-size: 23px !important; }
  html body.single-post .denari-single-meta { margin-bottom: 32px; }
  html body.single-post .entry-content h2 { margin-top: 48px !important; font-size: 21px !important; }
  html body.single-post .entry-content h3 { font-size: 18px !important; }
  html body.single-post .entry-content table { font-size: 14px; }
  html body.single-post .entry-content th,
  html body.single-post .entry-content td { padding: 8px 10px; }
}

/* ===== 6. お問い合わせ(固定ページ 22) =====
   既存: 本文内の <style id="hubspot-form-custom-style">(body.page-id-22 …、!important あり。wp-sub.css より後に読まれる)
         と旧リセット CSS の「body.page-id-22」背景。どちらも詳細度を上げて上書きする。
   HubSpot のフォーム本体は iframe(iframe.hs-form-iframe)で描画されるため、入力欄・送信ボタンの見た目は
   このファイルからは変えられない(HubSpot 側のフォームのスタイル設定で変える)。ここでは外枠だけそろえる。 */

/* 6-1. 白いカード(旧: margin 120px auto 80px・角丸 2rem・影) */
html body.page-id-22 article .entry-content {
  width: 100% !important;
  max-width: 720px !important;
  margin: 56px auto 96px !important;
  padding: 56px 48px 48px !important;
  border: 1px solid #d6eaf8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* 6-2. 見出しブロック: 小見出し CONTACT(丸いラベル → 青い文字)→ 短い罫線 → 見出し → 補足 */
/* margin-top は Seedlet の「.entry-content > * { margin-top }」の分を消す */
html body.page-id-22 article .hs-form-header {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
}
html body.page-id-22 article .hs-contact-label {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #0751c7 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}
html body.page-id-22 article .hs-contact-label::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  margin: 6px auto 0;
  background: #4b7ee0;
}
html body.page-id-22 article .hs-contact-title {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 36px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}
html body.page-id-22 article .hs-contact-subtitle {
  margin: 12px 0 0 !important;
  color: #4a5f86 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* 6-3. 「トップページに戻る」= 新 LP の副ボタン(白地に青枠) */
html body.page-id-22 article .hs-form-footer {
  margin-top: 24px !important;
}
html body.page-id-22 article a.hs-back-btn {
  padding: 12px 32px !important;
  border: 1px solid #1752bd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #174aab !important;
  -webkit-text-fill-color: #174aab !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
html body.page-id-22 article a.hs-back-btn:hover {
  border-color: #1752bd !important;
  background: #f6fbff !important;
  color: #174aab !important;
  -webkit-text-fill-color: #174aab !important;
}

@media (max-width:767px) {
  html body.page-id-22 article .entry-content {
    width: calc(100% - 32px) !important;
    margin: 32px auto 64px !important;
    padding: 36px 20px 32px !important;
    border-radius: 10px !important;
  }
  html body.page-id-22 article .hs-contact-label { font-size: 12px !important; letter-spacing: .08em !important; }
  html body.page-id-22 article .hs-contact-title { font-size: 28px !important; }
}

/* ===== 7. お問い合わせ(自前フォーム・2026-10-31 第 2 便) =====
   追記ブロック 3 が本文を lp/parts/contact.html に差し替え、body に lp-contact-page を付けたときだけ効く。
   6 の「.entry-content を白いカードにする」をやめ、見出しは背景の上、フォームだけを白いカードにする。
   旧リセット CSS(!important 付き)に当たる所だけ !important + 強いセレクタにしている。
   旧版で「トップページに戻る」の下が切れていたのは、カード(.entry-content)の下端に横スクロールバーが出ていたため。
   カードは overflow: visible にし、ボタンの下に 48px の余白を取っている。 */

/* 7-1. 外側(6-1 の白いカードを打ち消す) */
html body.page-id-22.lp-contact-page article .entry-content {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 56px 20px 96px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body .lp-contact {
  color: var(--navy);
  font-family: var(--font-sans);
}

/* 7-2. 見出しブロック(新 LP の CONTACT と同じ型: 小見出し → 短い罫線 → 見出し → 補足) */
html body .lp-contact-head {
  margin: 0 0 32px !important;
  text-align: center;
}
html body .lp-contact .lp-contact-eyebrow {
  margin: 0 !important;
  color: #0751c7;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .04em;
}
html body .lp-contact .lp-contact-rule {
  display: block;
  width: 30px;
  height: 1px;
  margin: 6px auto 18px;
  background: #4b7ee0;
}
html body .lp-contact .lp-contact-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--navy) !important;
  font-size: 42px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}
html body .lp-contact .lp-contact-lead {
  margin: 12px 0 0 !important;
  color: #4a5f86;
  font-size: 16px;
  line-height: 1.7;
}
html body .lp-contact .lp-contact-lead span {
  white-space: nowrap;
}

/* 7-3. 白いカード */
html body .lp-contact .lp-contact-card {
  overflow: visible;
  padding: 40px 40px 48px;
  border: 1px solid #d6eaf8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(16, 74, 140, .08);
}

/* 7-4. 入力欄(2 列。会社名とお問い合わせ内容は 1 行全部) */
html body .lp-contact .lp-contact-form {
  margin: 0;
}
html body .lp-contact .lp-contact-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
}
html body .lp-contact .lp-contact-field {
  min-width: 0;
  margin: 0;
}
html body .lp-contact .lp-contact-field--wide {
  grid-column: 1 / -1;
}
html body .lp-contact .lp-contact-field label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
/* 「必須」「任意」= 新 LP の資料申込ダイアログと同じ小さな文字(赤くしない) */
html body .lp-contact .lp-contact-required,
html body .lp-contact .lp-contact-optional {
  color: #31557d;
  font-size: 11px;
  font-weight: 700;
}
html body .lp-contact .lp-contact-optional {
  color: #8193ad;
}
html body .lp-contact .lp-contact-form .lp-contact-input {
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #c7dcf2;
  border-radius: 8px;
  background-color: #f5f9fd;
  box-shadow: none;
  color: var(--navy);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}
html body .lp-contact .lp-contact-form textarea.lp-contact-input {
  min-height: 160px;
  resize: vertical;
}
html body .lp-contact .lp-contact-form select.lp-contact-input {
  padding-right: 36px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231157c9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}
html body .lp-contact .lp-contact-form .lp-contact-input::placeholder {
  color: #8a9bb8;
}
html body .lp-contact .lp-contact-form .lp-contact-input:focus {
  border-color: var(--blue);
  outline: 2px solid rgba(17, 87, 201, .25);
  outline-offset: 0;
  color: var(--navy);
}
html body .lp-contact .lp-contact-form .lp-contact-input[aria-invalid=true] {
  border-color: #a43b40;
}
html body .lp-contact .lp-contact-form .lp-contact-input:disabled {
  opacity: .7;
}
html body .lp-contact .lp-contact-fieldError,
html body .lp-contact .lp-contact-error {
  margin: 6px 0 0 !important;
  color: #97343c;
  font-size: 13px;
  line-height: 1.6;
}
html body .lp-contact .lp-contact-error {
  margin: 20px 0 0 !important;
}

/* 7-5. 送信ボタン = 新 LP の主ボタン(青の塗り)。幅いっぱい */
html body .lp-contact .lp-contact-form .lp-contact-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 60px;
  margin: 28px 0 0;
  padding: 14px 28px;
  border: 1px solid #1752bd;
  border-radius: 7px;
  background: linear-gradient(110deg, #175bc9, #1252bd);
  color: #fff;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  cursor: pointer;
  transition: background .16s, box-shadow .16s, transform .16s;
}
html body .lp-contact .lp-contact-form .lp-contact-submit::before,
html body .lp-contact .lp-contact-form .lp-contact-submit::after {
  content: none;
  display: none;
}
html body .lp-contact .lp-contact-form .lp-contact-submit:is(:hover, :focus, :active) {
  background: linear-gradient(110deg, #175bc9, #1252bd);
  color: #fff;
}
html body .lp-contact .lp-contact-form .lp-contact-submit:hover {
  transform: translateY(-2px);
  background: #07449f;
  box-shadow: 0 5px 16px #174b9826;
}
html body .lp-contact .lp-contact-form .lp-contact-submit:focus-visible {
  outline: 3px solid #008be0;
  outline-offset: 4px;
}
html body .lp-contact .lp-contact-form .lp-contact-submit:disabled {
  transform: none;
  background: #89afd7;
  box-shadow: none;
  cursor: wait;
}

/* 7-6. プライバシーポリシーの案内(旧リセット CSS の「.entry-content a:not([class])」より強くして下線と色を戻す) */
html body .lp-contact .lp-contact-privacy {
  margin: 20px 0 0 !important;
  color: #4a5f86;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}
html body .lp-contact .lp-contact-privacy a {
  color: var(--blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* 7-7. 送信できたときのお礼 */
html body .lp-contact .lp-contact-thanks {
  padding: 32px 24px;
  border: 1px solid #d6eaf8;
  border-radius: 10px;
  background: #eef6fc;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.8;
  font-weight: 700;
  text-align: center;
}
html body .lp-contact .lp-contact-thanks:focus {
  outline: none;
}
html body .lp-contact .lp-contact-thanks p {
  margin: 0 !important;
}

/* 7-8. 「トップページに戻る」= 新 LP の副ボタン(白地に青枠)。カードの中の一番下、下に 48px の余白。
        旧リセット CSS の「a:not(.rounded-full)…{ border-bottom: none }」「a { outline: none }」より強くするため :not() を重ねている */
html body .lp-contact .lp-contact-footer {
  margin: 32px 0 0;
  padding-top: 32px;
  border-top: 1px solid #e4eef5;
  text-align: center;
}
html body .lp-contact a.lp-contact-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 32px;
  border: 1px solid #1752bd !important;
  border-radius: 7px;
  background: #fff;
  color: #174aab !important;
  -webkit-text-fill-color: #174aab;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
  transition: background .16s, box-shadow .16s;
}
html body .lp-contact a.lp-contact-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):hover {
  background: #f6fbff;
  box-shadow: 0 4px 12px #174b9814;
}
html body .lp-contact a.lp-contact-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 4px;
}

@media (max-width:767px) {
  html body.page-id-22.lp-contact-page article .entry-content {
    padding: 32px 16px 64px !important;
  }
  html body .lp-contact .lp-contact-head h2 { font-size: clamp(28px, 7.5vw, 34px) !important; line-height: 1.5 !important; }
  html body .lp-contact .lp-contact-eyebrow { font-size: 12px; letter-spacing: .08em; }
  html body .lp-contact .lp-contact-lead { font-size: 15px; }
  html body .lp-contact .lp-contact-card { padding: 28px 20px 40px; border-radius: 10px; }
  html body .lp-contact .lp-contact-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  html body .lp-contact .lp-contact-form .lp-contact-submit { font-size: 16px; }
  html body .lp-contact a.lp-contact-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  html body .lp-contact .lp-contact-form .lp-contact-submit:hover { transform: none; }
}

/* ===== 8. 経営シミュレーション診断(固定ページ 392 の #denari-shindan・2026-10-31 第 2 便) =====
   本文(固定ページ)と診断の JS(計算・表示切替)は触らず、色・枠・角丸・余白だけを新 LP に寄せる。
   基準は本番の 10/20 版(v2.2・クラス名 dsx-*)。ステージングの 9/21 版(クラス名 ds-*)にも同じ値を当てる
   (片方にしか無いクラスは、もう片方では当たらないだけ)。
   上書きする相手と強さ:
     本文内の <style>   「#denari-shindan .dsx-…」(一部 !important)
     functions.php の denari_pillar_cta_prefill_script 「body #denari-shindan .ds-…」(wp_footer で後から出る)
     旧リセット CSS     「.entry-content > *」の幅・左右余白(!important)
   → こちらは「html body #denari-shindan …」で詳細度を上げ、相手が !important の所だけ !important を付ける。
   棒グラフの色(県=青・自社=黄)は凡例と対応しているので変えていない。 */

/* 8-1. 外枠: 背景画像が見えるよう地の色を外し、幅 760px で中央に置く */
html body .entry-content #denari-shindan {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 40px 20px 96px !important;
  background: transparent !important;
  color: var(--navy) !important;
  font-family: var(--font-sans) !important;
}
html body .entry-content #denari-shindan.dsx {
  padding: 32px 4px 96px !important; /* 10/20 版は内側(.dsx-in)に左右 16px の余白がある */
}
/* 10/20 版の上部のロゴ帯(本文側の部品)。新ヘッダーにロゴがあるので二重になる → 非表示(2026-10-31 判断) */
html body #denari-shindan .dsx-bar {
  display: none !important;
}
html body #denari-shindan .dsx-bar span {
  color: var(--blue);
}

/* 8-2. 見出し。h1 の黄色いマーカーは淡い青に */
html body #denari-shindan .dsx-pill {
  background: var(--navy);
}
html body #denari-shindan h1.dsx-h1 {
  color: var(--navy);
  letter-spacing: -.03em;
}
html body #denari-shindan h1.dsx-h1 em {
  color: var(--blue);
  background: linear-gradient(transparent 70%, #cfe5fb 70%);
}
html body #denari-shindan .dsx-lead {
  color: #4a5f86;
}
html body #denari-shindan .dsx-lead b {
  color: var(--navy);
}
html body #denari-shindan h2.dsx-h2,
html body #denari-shindan h3.ds-h {
  color: var(--navy);
  font-weight: 900;
  letter-spacing: -.02em;
}

/* 8-3. カード: 白・角丸 16px・薄い水色の罫線・控えめな影 */
html body #denari-shindan .dsx-quick,
html body #denari-shindan .dsx-card,
html body #denari-shindan .dsx-col,
html body #denari-shindan details.dsx-src,
html body #denari-shindan .ds-card {
  border: 1px solid #d6eaf8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 74, 140, .06);
}
html body #denari-shindan .dsx-steps li {
  border-color: #d6eaf8;
  border-radius: 10px;
}
html body #denari-shindan .dsx-steps li b,
html body #denari-shindan .dsx-col .k {
  color: var(--blue);
}

/* 8-4. ステップ表示(丸いラベル)と番号 */
html body #denari-shindan .dsx-step,
html body #denari-shindan .ds-step {
  background: var(--navy);
}
html body #denari-shindan .dsx-step.free,
html body #denari-shindan .dsx-q-no {
  background: var(--blue);
}

/* 8-5a. 黄色い注意書き(9/21 版 .ds-note / 10/20 版 .dsx-teaser)は新 LP のトーンに: 淡い水色の地・左に青の線・グレーの文字(2026-10-31 変更) */
html body #denari-shindan .ds-note,
html body #denari-shindan .dsx-teaser {
  background: #f5faff !important;
  border: 1px solid #d6eaf8 !important;
  border-left: 4px solid var(--blue, #1157c9) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  color: #4a5f86 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}
html body #denari-shindan .ds-note strong,
html body #denari-shindan .ds-note b,
html body #denari-shindan .dsx-teaser strong,
html body #denari-shindan .dsx-teaser b {
  color: var(--navy, #081e4d);
  font-weight: 700;
}

/* 8-5. 注記・補足はグレー */
html body #denari-shindan .dsx-sub,
html body #denari-shindan .dsx-fine,
html body #denari-shindan .dsx-q-sub,
html body #denari-shindan .dsx-q-head,
html body #denari-shindan .dsx-steps li small,
html body #denari-shindan .dsx-col p,
html body #denari-shindan .dsx-formhead .s,
html body #denari-shindan .ds-fine,
html body #denari-shindan .ds-formhead .s,
html body #denari-shindan details.dsx-src,
html body #denari-shindan details.dsx-src summary {
  color: #4a5f86;
}
html body #denari-shindan .dsx-nat {
  background: #eef6fc;
  color: #4a5f86;
}
html body #denari-shindan .dsx-nat .k,
html body #denari-shindan .dsx-nat b,
html body #denari-shindan .dsx-formhead .t,
html body #denari-shindan .ds-formhead .t,
html body #denari-shindan label {
  color: var(--navy);
}
/* 「必須」= 新 LP の資料申込ダイアログと同じ小さな文字(赤くしない) */
html body #denari-shindan label .req {
  color: #31557d;
  font-size: 11px;
  font-weight: 700;
}

/* 8-6. 入力欄・選択欄(資料申込ダイアログ・問い合わせと同じ: 淡い水色の地・水色の枠・角丸 8px・フォーカスで青枠)。
        冒頭の青い大きな都道府県ボタン(select.dsx-q-sel)は色だけ変えて形はそのまま */
html body #denari-shindan input:not([type=checkbox]):not([type=radio]),
html body #denari-shindan select:not(.dsx-q-sel) {
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid #c7dcf2;
  border-radius: 8px;
  background-color: #f5f9fd;
  color: var(--navy);
  font-size: 16px;
}
html body #denari-shindan select:not(.dsx-q-sel) {
  padding-right: 36px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231157c9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}
html body #denari-shindan input::placeholder {
  color: #8a9bb8;
}
html body #denari-shindan input:focus,
html body #denari-shindan select:focus {
  border-color: var(--blue);
  outline: 2px solid rgba(17, 87, 201, .25);
  outline-offset: 0;
}
html body #denari-shindan select.dsx-q-sel {
  border-radius: 12px;
  background-color: var(--blue);
  box-shadow: 0 6px 16px rgba(17, 87, 201, .28);
}

/* 8-7. ボタン = 新 LP の主ボタン(青の塗り・角丸・太字)。コラムを読む(.sub)は副ボタン(白地に青枠) */
html body #denari-shindan .dsx-btn,
html body #denari-shindan .ds-btn {
  border: 0;
  border-radius: 8px;
  background: var(--blue) !important;
  color: #fff !important;
  font-weight: 800;
  box-shadow: 0 8px 16px -6px rgba(17, 87, 201, .45);
  filter: none;
}
html body #denari-shindan .dsx-btn:hover,
html body #denari-shindan .ds-btn:hover {
  background: #07449f !important;
  filter: none;
}
html body #denari-shindan .dsx-btn:disabled,
html body #denari-shindan .ds-btn:disabled {
  background: #89afd7 !important;
  box-shadow: none;
  transform: none;
}
html body #denari-shindan .dsx-btn:focus-visible,
html body #denari-shindan .ds-btn:focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 4px;
}
html body #denari-shindan .dsx-btn.sub {
  border: 1px solid #1752bd !important; /* 旧リセット CSS の「a:not(…){ border-bottom: none !important }」に下線が消されるため */
  background: #fff !important;
  color: #174aab !important;
  box-shadow: none;
}
html body #denari-shindan .dsx-btn.sub:hover {
  background: #f6fbff !important;
}
html body #denari-shindan .dsx-textlink {
  color: var(--blue) !important;
}

/* 8-8. 結果の表示(数字の強調・表・まとめの枠) */
html body #denari-shindan .dsx-q-num,
html body #denari-shindan .dsx-num,
html body #denari-shindan .dsx-verdict b.big,
html body #denari-shindan .dsx-sum b.big,
html body #denari-shindan .dsx-thanks b,
html body #denari-shindan .ds-big,
html body #denari-shindan .ds-thanks b {
  color: var(--blue);
}
html body #denari-shindan .dsx-verdict,
html body #denari-shindan .dsx-sum,
html body #denari-shindan .ds-lead {
  background: #eef6fc;
}
html body #denari-shindan .dsx-thanks,
html body #denari-shindan .ds-thanks {
  border-color: #d6eaf8;
  background: #eef6fc;
  color: var(--navy);
}
html body #denari-shindan .dsx-res,
html body #denari-shindan .dsx-formhead,
html body #denari-shindan .ds-formhead {
  border-top-color: #d6eaf8;
}
html body #denari-shindan th,
html body #denari-shindan td {
  border-bottom-color: #d6eaf8 !important;
}
html body #denari-shindan thead th {
  background: #eef6fc;
  color: var(--navy);
  border-bottom: 2px solid var(--blue) !important;
}

@media (max-width:639px) {
  html body .entry-content #denari-shindan { padding: 24px 16px 64px !important; }
  html body .entry-content #denari-shindan.dsx { padding: 20px 0 64px !important; }
}

/* ===== 9. 404 ページ(子テーマの 404.php・2026-10-31) =====
   Seedlet の 404(サイト名の帯・英語の文言・検索フォーム)の代わりに、404.php が出す白いカード 1 枚。
   見出しは問い合わせ(7-2)、主ボタンは送信ボタン(7-5)、副ボタンは「トップページに戻る」(7-8)と同じ値。
   背景は他の下層と同じ「3-2」(body.lp-sub-bg)が効く。画像が無いときだけ下の淡い水色になる。
   旧リセット CSS が「main, #main」の余白を 0(!important)にするため、余白は内側の .lp-404-inner に持たせる。
   リンクは旧リセット CSS の「a { text-decoration: none; outline: none }」「a:not(…){ border-bottom: none }」
   (どれも !important)より強くするため、7-8 と同じく :not() を重ねて詳細度を上げている。 */

/* 9-1. 背景(画像が無いときの予備)と外側の余白 */
html body.error404 {
  background: var(--pale) !important;
}
html body .lp-404-inner {
  box-sizing: border-box;
  width: 100%;
  padding: 56px 20px 96px;
}

/* 9-2. 白いカード(最大幅 720px・角丸 16px・薄い水色の罫線) */
html body .lp-404 .lp-404-card {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 56px 48px 48px;
  border: 1px solid #d6eaf8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(16, 74, 140, .08);
  color: var(--navy);
  font-family: var(--font-sans);
  text-align: center;
}

/* 9-3. 見出しブロック: 小見出し NOT FOUND → 短い罫線 → 見出し → 補足(7-2 と同じ型) */
html body .lp-404 .lp-404-eyebrow {
  margin: 0;
  color: #0751c7;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .04em;
}
html body .lp-404 .lp-404-rule {
  display: block;
  width: 30px;
  height: 1px;
  margin: 6px auto 18px;
  background: #4b7ee0;
}
html body .lp-404 .lp-404-title {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--navy);
  font-size: 42px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: -.045em;
}
html body .lp-404 .lp-404-lead {
  margin: 12px 0 0;
  color: #4a5f86;
  font-size: 16px;
  line-height: 1.7;
}

/* 9-4. ボタン 2 つ(主 = 青の塗り・副 = 白地に青枠)。横並びで中央寄せ */
html body .lp-404 .lp-404-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 32px 0 0;
}
html body .lp-404 a.lp-404-btn:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 220px;
  min-height: 56px;
  padding: 12px 32px;
  border: 1px solid #1752bd !important;
  border-radius: 7px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .16s, box-shadow .16s, transform .16s;
}
html body .lp-404 a.lp-404-btn--primary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  background: linear-gradient(110deg, #175bc9, #1252bd);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}
html body .lp-404 a.lp-404-btn--primary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):hover {
  transform: translateY(-2px);
  background: #07449f;
  box-shadow: 0 5px 16px #174b9826;
}
html body .lp-404 a.lp-404-btn--secondary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  background: #fff;
  color: #174aab !important;
  -webkit-text-fill-color: #174aab;
}
html body .lp-404 a.lp-404-btn--secondary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):hover {
  background: #f6fbff;
  box-shadow: 0 4px 12px #174b9814;
}
html body .lp-404 a.lp-404-btn:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 4px;
}

/* 9-5. お問い合わせの案内(小さな文字・下線付きの青いリンク) */
html body .lp-404 .lp-404-note {
  margin: 32px 0 0;
  padding-top: 24px;
  border-top: 1px solid #e4eef5;
  color: #4a5f86;
  font-size: 13px;
  line-height: 1.7;
}
html body .lp-404 .lp-404-note a:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  color: var(--blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html body .lp-404 .lp-404-note a:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 2px;
}

@media (max-width:767px) {
  html body .lp-404-inner { padding: 32px 16px 64px; }
  html body .lp-404 .lp-404-card { padding: 40px 20px 32px; border-radius: 12px; }
  html body .lp-404 .lp-404-eyebrow { font-size: 12px; letter-spacing: .08em; }
  html body .lp-404 .lp-404-title { font-size: clamp(28px, 7.5vw, 34px); line-height: 1.5; }
  html body .lp-404 .lp-404-lead { font-size: 15px; text-align: left; }
  html body .lp-404 .lp-404-br { display: none; }
  html body .lp-404 .lp-404-actions { flex-direction: column; gap: 12px; }
  html body .lp-404 a.lp-404-btn:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion:reduce) {
  html body .lp-404 a.lp-404-btn--primary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):hover { transform: none; }
}

/* ===== 10. ボタンの白点滅対策(2026-10-31) =====
   2026-10-31 白点滅対策: グラデーション→単色の hover 遷移中に background-color が transparent から始まって背後が透けるのを防ぐ。
   次の主ボタンは、基本状態が「background: linear-gradient(...)」(= background-color は transparent)、hover が単色、
   transition に background を含む。hover した瞬間に画像(グラデーション)は即座に消え、色だけが transparent → #07449f へ
   0.16 秒かけて変わるため、その間ボタンの背後が透けて白く光って見える。基本状態の下にグラデーションの終端色 #1252bd を敷く。
   セレクタは元の規則と同じ詳細度にして、このファイルの末尾(元の規則より後)に置くことで勝たせている。
   (クラスや擬似クラスを足して 1 段強くすると、同じ詳細度の :hover 規則より後ろにあるこちらが hover の色まで上書きしてしまうため)
   どれも下層だけに出る要素(記事・お問い合わせ・404)。トップ用の同種の対策は wp-bridge.css の末尾 */

/* 10-1. 記事内のボタン(5-5) */
html body.single-post .entry-content a.denari-cta-btn,
html body.single-post .entry-content a.wp-block-button__link {
  background-color: #1252bd;
}

/* 10-2. お問い合わせの送信ボタン(7-5)
   7-5 の「:is(:hover, :focus, :active)」が background ショートハンドでグラデーションを入れ直す(色は transparent に戻る)ので、
   キーボードで focus した状態からマウスを乗せたときも透けないよう、focus / active でも色を敷く。
   hover 中と送信中(:disabled)はそれぞれの規則の色を優先するため :not(:hover):not(:disabled) で外している */
html body .lp-contact .lp-contact-form .lp-contact-submit,
html body .lp-contact .lp-contact-form .lp-contact-submit:is(:focus, :active):not(:hover):not(:disabled) {
  background-color: #1252bd;
}

/* 10-3. 404 の主ボタン(9-4) */
html body .lp-404 a.lp-404-btn--primary:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  background-color: #1252bd;
}

/* ===== 11. プライバシーポリシー(スラッグ privacy-policy の固定ページ・2026-11-01) =====
   本文は functions.php の追記ブロック 5 が lp/parts/privacy.html に差し替える(body に lp-policy-page クラス)。
   見出しブロック・白いカード・「トップページに戻る」はお問い合わせ(7-2 / 7-3 / 7-8)と同じ値。
   本文の見出しはコラム記事(5-3)の型(h2 = 下の罫線、h3 = 左の青線)に寄せている。
   下層には Tailwind CDN のリセット(リストの記号・見出しの文字サイズを消す)と旧リセット CSS
   (「.entry-content a:not([class])」の下線消し等、!important 付き)が残るので、必要な所だけ !important で戻す。 */

/* 11-1. 外側(お問い合わせの 7-1 と同じ。白いカードは中の .lp-policy-card) */
html body.lp-policy-page article .entry-content {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 56px 20px 96px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body.lp-policy-page .entry-header {
  display: none !important;
}
html body .lp-policy {
  color: var(--navy);
  font-family: var(--font-sans);
}

/* 11-2. 見出しブロック(7-2 と同じ型: 小見出し → 短い罫線 → 見出し → 補足) */
html body .lp-policy-head {
  margin: 0 0 32px !important;
  text-align: center;
}
html body .lp-policy .lp-policy-eyebrow {
  margin: 0 !important;
  color: #0751c7;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .04em;
}
html body .lp-policy .lp-policy-rule {
  display: block;
  width: 30px;
  height: 1px;
  margin: 6px auto 18px;
  background: #4b7ee0;
}
html body .lp-policy .lp-policy-head h1 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 42px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}
html body .lp-policy .lp-policy-lead {
  margin: 12px 0 0 !important;
  color: #4a5f86;
  font-size: 16px;
  line-height: 1.7;
}
html body .lp-policy .lp-policy-lead span {
  white-space: nowrap;
}

/* 11-3. 白いカード(7-3 と同じ) */
html body .lp-policy .lp-policy-card {
  overflow: visible;
  padding: 48px 48px 48px;
  border: 1px solid #d6eaf8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(16, 74, 140, .08);
}

/* 11-4. 本文: 段落・見出し・リスト */
html body .lp-policy .lp-policy-card p {
  margin: 0 0 1em !important;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.95;
}
html body .lp-policy .lp-policy-intro {
  margin-bottom: 8px !important;
}
html body .lp-policy .lp-policy-section {
  margin: 0;
}
html body .lp-policy .lp-policy-section h2 {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 44px 0 16px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #d6eaf8 !important;
  color: var(--navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}
html body .lp-policy .lp-policy-num {
  flex: none;
  color: #0751c7;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .04em;
}
html body .lp-policy .lp-policy-section h3 {
  margin: 24px 0 10px !important;
  padding: 1px 0 1px 12px !important;
  border: 0 !important;
  border-left: 3px solid var(--blue) !important;
  color: var(--navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
}
html body .lp-policy .lp-policy-list {
  margin: 0 0 1em !important;
  padding: 0 0 0 1.4em !important;
  list-style: disc !important;
}
html body .lp-policy .lp-policy-ol {
  margin: 0 0 1em !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: lp-policy;
}
html body .lp-policy .lp-policy-list li,
html body .lp-policy .lp-policy-ol li {
  margin: 0 0 .35em !important;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.85;
}
html body .lp-policy .lp-policy-list li::marker {
  color: var(--blue);
}
html body .lp-policy .lp-policy-ol li {
  position: relative;
  padding-left: 2.4em !important;
  counter-increment: lp-policy;
}
html body .lp-policy .lp-policy-ol li::before {
  content: "(" counter(lp-policy) ")";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--blue);
  font-weight: 700;
}

/* 11-5. リンク(旧リセット CSS の「.entry-content a:not([class])」より強くして下線と色を戻す。7-6 と同じ) */
html body .lp-policy .lp-policy-card a:not([class]) {
  color: var(--blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  word-break: break-word;
}
html body .lp-policy .lp-policy-card a:not([class]):hover {
  color: #063f9e !important;
}

/* 11-6. 事業者情報(項目名 | 内容 の 2 列。スマホは縦積み) */
html body .lp-policy .lp-policy-company {
  margin: 16px 0 0 !important;
  border-top: 1px solid #d6eaf8;
}
html body .lp-policy .lp-policy-company > div {
  display: grid;
  grid-template-columns: 9em minmax(0, 1fr);
  border-bottom: 1px solid #d6eaf8;
}
html body .lp-policy .lp-policy-company dt,
html body .lp-policy .lp-policy-company dd {
  margin: 0 !important;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.8;
}
html body .lp-policy .lp-policy-company dt {
  background: var(--pale);
  color: var(--navy);
  font-weight: 700;
}
html body .lp-policy .lp-policy-company dd {
  color: var(--navy);
}

/* 11-7. 制定日(右寄せ・小さめ) */
html body .lp-policy .lp-policy-card .lp-policy-date {
  margin: 40px 0 0 !important;
  color: #4a5f86;
  font-size: 13px;
  text-align: right;
}

/* 11-8. 「トップページに戻る」(7-8 と同じ) */
html body .lp-policy .lp-policy-footer {
  margin: 32px 0 0;
  padding-top: 32px;
  border-top: 1px solid #e4eef5;
  text-align: center;
}
html body .lp-policy a.lp-policy-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 32px;
  border: 1px solid #1752bd !important;
  border-radius: 7px;
  background: #fff;
  color: #174aab !important;
  -webkit-text-fill-color: #174aab;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
  transition: background .16s, box-shadow .16s;
}
html body .lp-policy a.lp-policy-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):hover {
  background: #f6fbff;
  box-shadow: 0 4px 12px #174b9814;
}
html body .lp-policy a.lp-policy-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a):focus-visible {
  outline: 3px solid #008be0 !important;
  outline-offset: 4px;
}

@media (max-width:767px) {
  html body.lp-policy-page article .entry-content {
    padding: 32px 16px 64px !important;
  }
  html body .lp-policy .lp-policy-head h1 { font-size: clamp(28px, 7.5vw, 34px) !important; line-height: 1.5 !important; }
  html body .lp-policy .lp-policy-eyebrow { font-size: 12px; letter-spacing: .08em; }
  html body .lp-policy .lp-policy-lead { font-size: 15px; }
  html body .lp-policy .lp-policy-card { padding: 28px 20px 40px; border-radius: 10px; }
  html body .lp-policy .lp-policy-section h2 { font-size: 18px !important; }
  html body .lp-policy .lp-policy-company > div { grid-template-columns: minmax(0, 1fr); }
  html body .lp-policy .lp-policy-company dt { padding: 8px 12px; }
  html body .lp-policy .lp-policy-company dd { padding: 10px 12px 12px; }
  html body .lp-policy a.lp-policy-back:not(.rounded-full):not(.mobile-menu-link):not(.wpcf7 a) { width: 100%; }
}
