/* フォント共通設定：配信定義は assets/font/split/fonts.css、読み込み登録は functions.php。
 * ここは書体の優先順。theme.json のプリセットも同じ順に保つ。
 * このCSSはフロントとサイトエディターで共用する。
 */
:root { --appride-font: "Pretendard JP", "Pretendard", "Appride Supplemental", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", Meiryo, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; }
/* 共通配色：SP HOME v3と配色C「背景色なし」が基準。色の調整は以下の変数を参照。
 * 白いページ背景とカード等の薄い背景色は区別する。
 * 前半は参照HTML由来、後半はWordPressブロックへの適用・上書き。順序を維持する。
 */

    .appride-site {
      --appride-bg: #ffffff;
      --appride-paper: #ffffff;
      --appride-ink: #202020;
      --appride-sub: #666666;
      --appride-line: #e2e2e2;
      --appride-soft: #f5f1ea;
      --appride-key: #713a3e;
      --appride-accent: #647c74;
      padding: 0;
      color: var(--appride-ink);
      font-family: var(--appride-font);
    }
    .appride-site * { box-sizing: border-box; }
    .appride-site button, .appride-site a { font: inherit; }

/* ヘッダー基本形：ブランドと操作ボタンの配置。実際のブロック配置は後半の .appride-site.topbar も参照。 */
    .appride-site .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 72px;
      padding: 14px 20px;
      border-bottom: 1px solid var(--appride-line);
    }
    .appride-site .brand { line-height: 1.05; }
    .appride-site .brand-main { display: block; font: 500 19px/1.05 var(--appride-font); letter-spacing: .02em; }
    .appride-site .brand-sub { display: block; margin-top: 5px; color: var(--appride-sub); font-size: 14px; }
    .appride-site .icon-button {
      display: inline-flex;
      width: auto;
      min-width: 44px;
      height: 44px;
      padding: 0 10px;
      align-items: center;
      justify-content: center;
      gap: 5px;
      border: 1px solid var(--appride-line);
      background: transparent;
      color: var(--appride-ink);
    }
    .appride-site .icon-button i { width: 20px; height: 20px; }
    .appride-site .icon-button span { font-size: 11px; }
/* トップ冒頭：リード・英字ラベル・主見出しの余白と文字組み。 */
    .appride-site .lead { padding: 34px 20px 26px; }
    .appride-site .eyebrow, .appride-site .section-label { color: var(--appride-key); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
    .appride-site h1 { margin: 12px 0 14px; font: 500 29px/1.45 var(--appride-font); }
    .appride-site .intro { margin: 0; color: var(--appride-sub); font-size: 14px; line-height: 1.9; }
/* トップ検索：入力欄・補足・条件指定の導線。標準検索ブロック用の調整は後半。 */
    .appride-site .search-box { margin: 0 20px 28px; }
    .appride-site .search-main {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 52px;
      padding: 0 14px;
      border: 1px solid var(--appride-line);
      background: var(--appride-paper);
      color: var(--appride-sub);
      text-align: left;
      font-size: 13px;
    }
    .appride-site .search-main i { width: 18px; height: 18px; }
    .appride-site .search-note { margin: 9px 1px 0; color: var(--appride-sub); font-size: 14px; line-height: 1.55; }
    .appride-site .search-detail { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: var(--appride-key); text-decoration: none; font-size: 14px; }
/* 特集用部品：画像比率と紹介文の基本形。CSSの存在だけでは特集機能の実装・表示を意味しない。 */
    .appride-site .feature { border-top: 1px solid var(--appride-line); border-bottom: 1px solid var(--appride-line); }
    .appride-site .feature-label { padding: 15px 20px 0; color: var(--appride-sub); font-size: 11px; }
    .appride-site .feature-image, .appride-site .thumb {
      display: grid;
      place-items: center;
      background: var(--appride-soft);
      color: var(--appride-sub);
      font-size: 11px;
      letter-spacing: .08em;
    }
    .appride-site .feature-image { margin-top: 12px; aspect-ratio: 16/9; }
    .appride-site .feature-copy { padding: 18px 20px 26px; }
    .appride-site .meta { color: var(--appride-sub); font-size: 14px; }
    .appride-site h2 { margin: 8px 0 10px; font: 500 21px/1.55 var(--appride-font); }
    .appride-site .summary { margin: 0; color: var(--appride-sub); font-size: 14px; line-height: 1.75; }
/* 共通セクションと主題一覧：見出しの余白・2列ボタン・補足文を調整する。 */
    .appride-site .section { padding: 25px 20px; border-bottom: 1px solid var(--appride-line); }
    .appride-site .section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
    .appride-site .section-title { margin: 0; font: 500 20px/1.4 var(--appride-font); }
    .appride-site .more { display: inline-flex; align-items: center; min-height: 44px; color: var(--appride-key); text-decoration: none; font-size: 12px; }
    .appride-site .topic-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .appride-site .topic { display: flex; align-items: center; min-height: 44px; padding: 9px 11px; background: var(--appride-soft); color: var(--appride-ink); text-decoration: none; font-size: 12px; }
    .appride-site .candidate-note { margin: 12px 0 0; color: var(--appride-sub); font-size: 14px; line-height: 1.55; }
/* 「蓄積を探す」：資料・アーカイブ等への入口カードを2列に並べる。 */
    .appride-site .gateway-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
    .appride-site .gateway { display: flex; flex-direction: column; justify-content: space-between; min-height: 104px; padding: 14px; background: var(--appride-soft); color: var(--appride-ink); text-decoration: none; }
    .appride-site .gateway i { width: 18px; height: 18px; color: var(--appride-key); }
    .appride-site .gateway strong { font-size: 14px; font-weight: 500; }
    .appride-site .gateway small { margin-top: 5px; color: var(--appride-sub); font-size: 14px; line-height: 1.45; }
/* 新着記事：画像と記事情報の列幅・区切り。記事本文の指定は末尾に分ける。 */
    .appride-site .article { display: grid; grid-template-columns: 96px 1fr; gap: 14px; padding: 15px 0; border-top: 1px solid var(--appride-line); }
    .appride-site .article:first-of-type { padding-top: 0; border-top: 0; }
    .appride-site .thumb { aspect-ratio: 1/1; }
    .appride-site .article h3 { margin: 5px 0 0; font-size: 14px; line-height: 1.55; font-weight: 500; }
    .appride-site .date-label { display: block; margin-top: 6px; color: var(--appride-sub); font-size: 14px; }
/* ニュースレターと支援：案内背景・導線の余白。見た目の指定と接続先の実装は別に扱う。 */
    .appride-site .newsletter { background: var(--appride-soft); }
    .appride-site .newsletter-links { display: grid; gap: 8px; margin-top: 15px; }
    .appride-site .text-link { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 13px; border: 1px solid var(--appride-line); color: var(--appride-ink); text-decoration: none; font-size: 14px; }
    .appride-site .support { padding-top: 19px; }
    .appride-site .support p { margin: 7px 0 12px; color: var(--appride-sub); font-size: 14px; line-height: 1.65; }
/* フッター基本形：名称と2列の案内。表示文言は patterns/footer.php で管理する。 */
    .appride-site .footer { min-height: 165px; padding: 24px 20px; background: var(--appride-ink); color: var(--appride-paper); }
    .appride-site .footer-name { font: 500 18px/1 var(--appride-font); }
    .appride-site .footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; margin-top: 18px; }
    .appride-site .footer-links a { display: flex; flex-wrap: wrap; align-items: center; min-height: 40px; color: inherit; text-decoration: none; font-size: 14px; opacity: .78; }
    /* 確定配色の上書き：配色C「背景色なし」。名称に生成りが含まれていてもページ全面の背景色を戻さない。 */
    .appride-site .topbar { border-top: 5px solid var(--appride-key); }
    .appride-site .brand-main { color: var(--appride-key); font-weight: 700; }
    .appride-site .icon-button { border-color: var(--appride-key); background: var(--appride-key); color: var(--appride-paper); }
    .appride-site .eyebrow, .appride-site .section-label, .appride-site .feature-label { color: var(--appride-accent); font-weight: 700; }
    .appride-site .search-main { border: 2px solid var(--appride-key); }
    .appride-site .topic { border: 1px solid var(--appride-line); }
    .appride-site .topic:first-child { border-color: var(--appride-key); }
    .appride-site .gateway { border-top: 3px solid var(--appride-accent); }
    .appride-site .gateway i { color: var(--appride-accent); }
    .appride-site .article .meta { color: var(--appride-key); font-weight: 700; }
    .appride-site .newsletter { background: var(--appride-soft); }
    .appride-site .footer { border-top: 6px solid var(--appride-accent); background: var(--appride-ink); }
    .appride-site .footer-name { color: var(--appride-paper); }

/* 狭い画面の基本調整：見出し・記事画像列・カード列。後半のブロック用上書きも確認する。 */
    @media (max-width: 340px) {
      .appride-site h1 { font-size: 26px; }
      .appride-site .article { grid-template-columns: 82px 1fr; }
      .appride-site .gateway-grid, .appride-site .topic-list { grid-template-columns: 1fr; }
    }


/* WordPress共通補正：可変幅SP・最大480px。参照HTMLの端末枠は表示しない。
 * ブロック既定余白・リンク・フォーカス・長い文字の折り返しを揃える。
 */
body { background: #fff; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
.appride-site { max-width: 480px; margin-inline: auto; }
.appride-site, .appride-site * { box-sizing: border-box; }
.appride-site :where(p,figure,ul) { margin: 0; }
/* 共通固定ページ内の共通リンクだけはui.cssへ委ね、他のリンクは従来通り。 */
.appride-site a:where(:not(.appride-page .appride-ui-link, .appride-contact .appride-ui-link)) { color: inherit; text-decoration: none; }
.appride-site a:where(:not(.appride-page .appride-ui-link, .appride-contact .appride-ui-link)):hover { text-decoration: underline; }
.appride-site :where(a,button,input):focus-visible { outline: 2px solid var(--appride-key); outline-offset: 3px; }
.appride-site :where(h1,h2,h3,p,a) { overflow-wrap: anywhere; }
/* ブロック版ヘッダー：同じ要素にappride-siteとtopbarが付く。全体の余白・高さ・左右の間隔はここ。 */
.appride-site.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; padding:14px 20px; border-top:5px solid var(--appride-key); border-bottom:1px solid var(--appride-line); }
.appride-site .brand { flex: 1; min-width:0; }
.appride-site .brand-main { font:500 19px/1.05 var(--appride-font); letter-spacing:.02em; color:var(--appride-key); }
.appride-site .brand-sub { margin-top:5px; font-size:14px; line-height:1.5; }
/* 標準ナビゲーション：開閉処理はWordPressが担当。ここではボタンと開いたメニューの見た目を調整する。 */
.appride-site .appride-menu { flex:none; }
.appride-site .wp-block-navigation__responsive-container-open,
.appride-site .wp-block-navigation__responsive-container-close { min-width:44px; min-height:44px; padding:0 10px; border:1px solid var(--appride-key); background:var(--appride-key); color:var(--appride-paper); font:400 14px/1.5 var(--appride-font); }
.appride-site .wp-block-navigation__responsive-container.is-menu-open { background:var(--appride-paper); color:var(--appride-ink); padding:20px; }
.appride-site .wp-block-navigation__responsive-dialog { max-width:440px; margin-inline:auto; }
.appride-site .wp-block-navigation__responsive-container-content { padding-top:70px !important; align-items:stretch !important; }
.appride-site .wp-block-navigation__container { width:100%; gap:0; align-items:stretch !important; }
.appride-site .wp-block-navigation-item { width:100%; border-bottom:1px solid var(--appride-line); }
.appride-site .wp-block-navigation-item__content { display:flex; width:100%; align-items:center; min-height:58px; padding:12px 0; font-size:15px; }
/* 準備中の表示：補足文字の見た目。ナビゲーションリンクの無効化は functions.php を参照。 */
.appride-site .appride-pending { color:var(--appride-sub); }
.appride-site .appride-pending small { font-size:14px; font-weight:400; margin-left:4px; white-space:nowrap; }
/* 標準検索ブロックへの適用：入力欄と検索ボタンの枠・配色・幅を指定する。 */
.appride-site .search-main { display:block; padding:0; border:0; }
.appride-site .wp-block-search__inside-wrapper { border:2px solid var(--appride-key); padding:0; min-height:52px; }
.appride-site .wp-block-search__input { min-width:0; width:100%; border:0; border-radius:0; background:var(--appride-paper); color:var(--appride-ink); font:inherit; font-size:13px; padding:12px; }
.appride-site .wp-block-search__button { margin:0; padding:0 10px; min-width:44px; border:0; border-radius:0; background:var(--appride-key); color:var(--appride-paper); }
/* 主題のブロック対応：長文で列が広がらないようにし、リンク・文字のみ・確認待ち項目の余白を揃える。 */
.appride-site .topic-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.appride-site .topic { padding:0; }
.appride-site .topic-list > .topic { min-width:0; overflow-wrap:anywhere; }
.appride-site .topic-list > .topic:not(:has(> a)) { cursor:default; }
.appride-site .topic-list > .topic > a, .appride-site .topic-list > .topic:not(:has(> a)) { display:flex; flex-wrap:wrap; align-items:center; min-height:44px; padding:9px 11px; width:100%; }
.appride-site .topic > a:is(:hover,:focus-visible) { color:#713A3E; }
/* Highlighted topic bands retain their filled state; action buttons use shared UI styles. */
.appride-home .topic:first-child {border-color:#713A3E;background:#713A3E;color:#fff}
.appride-home .topic:first-child:has(> a:is(:hover,:focus-visible)) {background:#647C74}
.appride-home .topic:first-child :is(a,small) {color:#fff}
.appride-home .topic:first-child a:is(:visited,:hover,:focus-visible) {color:#fff}

/* 入口カードのブロック対応：タイトル・説明・準備中注記を個別ブロックで表示する。 */
.appride-site .gateway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.appride-site .gateway { min-width:0; min-height:104px; }
.appride-site .gateway-title { font-size:14px; font-weight:500; }
.appride-site .gateway-description { margin-top:5px; font-size:14px; line-height:1.45; color:var(--appride-sub); }
.appride-site .gateway .candidate-note { margin-top:8px; }
/* 新着クエリーループ：既存記事の画像を正方形で表示。画像がない記事は1列にする。 */
.appride-site .article { grid-template-columns:96px minmax(0,1fr); }
.appride-site .wp-block-post-template { margin:0; padding:0; }
.appride-site .wp-block-post-template > li + li .article { padding-top:15px; border-top:1px solid var(--appride-line); }
.appride-site .article-copy { min-width:0; }
.appride-site .thumb { width:96px; align-self:start; }
.appride-site .thumb a, .appride-site .thumb img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:cover; }
.appride-site .article:not(:has(.thumb)) { grid-template-columns:1fr; }
.appride-site .article h3 a { display:block; }
.appride-site .date-label { margin-top:6px; font-size:14px; }
/* 新着のページ送り：操作範囲と現在ページの下線を調整する。 */
.appride-site .wp-block-query-pagination { margin-top:16px; font-size:12px; color:var(--appride-key); gap:8px; }
.appride-site .wp-block-query-pagination a, .appride-site .wp-block-query-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:44px; }
.appride-site .wp-block-query-pagination .current { border-bottom:2px solid var(--appride-key); }
.appride-site .wp-block-query-pagination-numbers { margin:0; }
/* 案内導線とフッターのブロック対応：折り返しを許容し、名称はテキストで表示する。 */
.appride-site .text-link { gap:8px; flex-wrap:wrap; padding:10px 13px; }
.appride-site.footer { min-height:165px; padding:24px 20px; border-top:6px solid var(--appride-accent); background:var(--appride-ink); color:var(--appride-paper); }
.appride-site .footer-name { font:500 18px/1 var(--appride-font); }
.appride-site .footer-links li { display:flex; flex-wrap:wrap; align-items:center; min-height:40px; color:inherit; font-size:14px; opacity:.78; }
/* 狭い画面のブロック用補正：記事画像と列幅を同時に縮める。 */
@media (max-width:340px) { .appride-site .article { grid-template-columns:82px minmax(0,1fr); } .appride-site .thumb { width:82px; } }

/* 書体と小アイコンの補正：親テーマ等の指定に対し、メニュー・記事見出しを共通書体へ揃える。 */
.appride-site .appride-menu .wp-block-navigation__responsive-container-open,
.appride-site .appride-menu .wp-block-navigation__responsive-container-close { font:400 14px/1.5 var(--appride-font); }
.appride-site .article h3 { font-family:var(--appride-font); }
.appride-site .appride-pending a { cursor:default; text-decoration:none; }
.appride-site .gateway-icon { width:18px; height:18px; color:var(--appride-accent); margin-bottom:8px; }
.appride-site .gateway-icon svg { display:block; width:18px; height:18px; }

/* エディター対応：標準ボタンの色指定に上書きされないようメニューの文字色を維持。フロントにも共通適用。 */
.appride-site .appride-menu .wp-block-navigation__responsive-container-open,
.appride-site .appride-menu .wp-block-navigation__responsive-container-close {
  align-items: center;
  justify-content: center;
  color: var(--appride-paper) !important;
}
.appride-site .appride-menu .wp-block-navigation__responsive-container-open { display:inline-flex; }

/* 「条件を指定して探す」は準備中でも臙脂色を保持。配色の変更でリンクを有効化しない。 */
.appride-site .search-detail.appride-pending { color: var(--appride-key); }
/* 正式ロゴの調整：width:170px が表示幅、top:6px が通常位置からの下移動。
 * relativeで説明文・メニュー・ヘッダーの高さを動かさず、height:autoでSVGの縦横比を保つ。 */
.appride-site .brand-main img { position: relative; top: 6px; display: block; width: 170px; max-width: 100%; height: auto; }

/* 記事本文：基本17px・行高1.8・通常400、強調700の調整箇所。
 * 投稿本文の明示的な個別書式は強制消去しない。既存ブロックのサイズ指定が優先される場合がある。
 */
.wp-block-post-content { font-family: var(--appride-font); font-size: 17px; line-height: 1.8; font-weight: 400; }
.wp-block-post-content :where(p, li, blockquote) { line-height: 1.8; }
.wp-block-post-content strong, .wp-block-post-content b { font-weight: 700; }

/* SP記事詳細v2：記事専用クラスに限定し、トップと共通ヘッダー・フッターへ影響させない。
 * 参照HTMLの余白・見出し階層を使い、書体と本文サイズは現在の確定仕様を優先する。
 */
.appride-single .appride-article-head { box-sizing:border-box;width:100%;padding:30px 0 24px; }
.appride-single .appride-article-type { color:var(--appride-key); font-size:11px; letter-spacing:.1em; }
.appride-single .appride-article-title { margin:13px 0 17px; font:500 28px/1.52 var(--appride-font); }
.appride-single .appride-article-byline { margin-top:20px; padding-top:16px; border-top:1px solid var(--appride-line); color:var(--appride-sub); font-size:14px; line-height:1.8; }
.appride-single .appride-article-date { display:flex; flex-wrap:wrap; gap:0 .3em; }
.appride-single .appride-article-categories { font-weight:400; }
/* アイキャッチ：16:10の枠内で元画像を切り落とさず表示。未設定の記事にダミー画像は追加しない。 */
.appride-single .appride-article-hero { margin:0; background:var(--appride-soft); }
.appride-single .appride-article-hero img { display:block; width:100%; object-fit:contain; }
/* 本文：既存記事の個別指定を消さず、未指定部分の基準を17px・1.8にする。
 * 幅のある画像・表・コードはページ全体を押し広げない。表・コードは必要なら内部スクロール。
 */
.appride-single .appride-article-body { padding:25px 20px 32px; font:400 17px/1.8 var(--appride-font); overflow-wrap:anywhere; }
.appride-single .appride-article-body :where(p) { margin:0 0 1.7em; }
.appride-single .appride-article-body :where(h2) { margin:2.4em 0 .9em; font:500 22px/1.55 var(--appride-font); }
.appride-single .appride-article-body :where(h3,h4,h5,h6) { margin:2em 0 .9em; font-family:var(--appride-font); font-weight:500; line-height:1.55; }
.appride-single .appride-article-body :where(h3) { font-size:20px; }
.appride-single .appride-article-body :where(h4,h5,h6) { font-size:18px; }
.appride-single .appride-article-body :where(ul,ol) { margin:0 0 1.7em; padding-inline-start:1.5em; }
.appride-single .appride-article-body :where(li) { margin-block:.4em; }
.appride-single .appride-article-body :where(li > ul,li > ol) { margin-bottom:0; }
.appride-single .appride-article-body :where(figure) { margin:1.7em 0; max-width:100%; }
.appride-single .appride-article-body :where(img,video) { max-width:100%; height:auto; }
.appride-single .appride-article-body :where(iframe) { max-width:100%; }
.appride-single .appride-article-body :where(figcaption) { margin-top:8px; color:var(--appride-sub); font:400 14px/1.55 var(--appride-font); }
.appride-single .appride-article-body :where(blockquote) { margin:2em 0; padding:18px 0 18px 18px; border:0; border-left:3px solid var(--appride-key); font:400 17px/1.8 var(--appride-font); }
.appride-single .appride-article-body :where(blockquote p:last-of-type) { margin-bottom:0; }
.appride-single .appride-article-body :where(cite) { display:block; margin-top:10px; color:var(--appride-sub); font:400 14px/1.6 var(--appride-font); }
.appride-single .appride-article-body :where(pre,.wp-block-table) { max-width:100%; overflow-x:auto; }
.appride-single .appride-article-body :where(a), .appride-single .appride-article-byline a, .appride-single .appride-article-detail-body a { color:var(--appride-key); text-decoration:underline; text-underline-offset:.15em; }
/* 読後の導線：既存カテゴリー・タグをその名称で表示し、未承認の主題・型付き索引に置き換えない。 */
.appride-single .appride-article-section { padding:24px 20px; border-top:1px solid var(--appride-line); }
.appride-single .appride-article-section-title { margin:0 0 14px; font:500 19px/1.4 var(--appride-font); }
.appride-single .appride-article-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px; font-size:12px; font-weight:400; }
.appride-single .appride-article-tags a { display:inline-flex; align-items:center; min-height:42px; max-width:100%; padding:8px 11px; border:1px solid var(--appride-line); }
/* 標準detailsで記事情報を開閉。JSを追加せず、キーボード操作とエディター編集に対応する。 */
.appride-single .appride-article-details { border-block:1px solid var(--appride-line); }
.appride-single .appride-article-details > summary { min-height:54px; padding:16px 0; cursor:pointer; font-size:13px; font-weight:500; }
.appride-single .appride-article-details > summary:focus-visible { outline:2px solid var(--appride-key); outline-offset:3px; }
.appride-single .appride-article-detail-body { padding-bottom:17px; color:var(--appride-sub); font-size:14px; line-height:1.75; }
.appride-single .appride-article-detail-body .wp-block-post-terms { margin-top:12px; font-weight:400; }
/* 中央配置画像：標準のtable表示は画像取得失敗時にcaptionを1文字幅へ縮めるため、通常のブロック幅で保持する。
 * 画像自体の指定幅・縦横比・本文データは変更せず、中央寄せを維持する。
 */
.appride-single .appride-article-body .wp-block-image.aligncenter { display:block; text-align:center; }
.appride-single .appride-article-body .wp-block-image.aligncenter figcaption { display:block; }

/* 検索結果v4：共通ヘッダー・フッターには触れず、検索画面内の余白と文字組みを調整する。
 * 色は背景色なしの配色変数を継承。長い検索語・英単語も画面内で折り返す。
 */
.appride-search-results { padding-bottom:24px; overflow-wrap:anywhere; }
.appride-search-results .appride-results-title { margin:0; padding:22px 20px; border-bottom:1px solid var(--appride-line); font-size:18px; font-weight:500; line-height:1.2; }
.appride-search-results .appride-results-search { margin:20px; }
.appride-search-results .wp-block-search__inside-wrapper { padding:0; border:0; gap:8px; }
.appride-search-results .wp-block-search__input { min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--appride-line); border-radius:0; background:var(--appride-paper); color:var(--appride-ink); font:400 16px/1.5 var(--appride-font); }
.appride-search-results .wp-block-search__button { flex-shrink:0; margin:0; padding:0 12px; border:1px solid var(--appride-key); border-radius:0; background:var(--appride-key); color:var(--appride-paper); font:500 12px/1.5 var(--appride-font); }
/* 検索条件：現在はキーワードだけ。未実装の操作をボタンや解除チップとして見せない。 */
.appride-search-results .appride-results-conditions { padding:0 20px 18px; border-bottom:1px solid var(--appride-line); }
.appride-search-results .appride-results-query { margin:0 0 9px; font-size:12px; font-weight:500; line-height:1.7; }
.appride-search-results .appride-results-pending { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.7; }
.appride-search-results .appride-results-count { margin:0; padding:18px 20px 12px; font-size:14px; }
/* 一覧：タイトル17px／行高1.55、項目間19pxが参照値。未承認の抜粋や架空の公開種別は出力しない。 */
.appride-search-results .appride-results-list { margin:0; padding:0 20px 24px; list-style:none; }
.appride-search-results .appride-results-list > li { margin:0; }
.appride-search-results .appride-result { padding:19px 0; border-top:1px solid var(--appride-line); }
.appride-search-results .appride-result-type { display:inline-flex; align-items:center; min-height:24px; margin:0; padding:3px 7px; background:var(--appride-soft); color:var(--appride-sub); font-size:10px; }
.appride-search-results .appride-result-title { margin:8px 0 7px; font:500 17px/1.55 var(--appride-font); }
.appride-search-results .appride-result-title a { color:inherit; text-decoration:none; }
.appride-search-results .appride-result-title a:hover { text-decoration:underline; }
.appride-search-results .appride-result-meta { margin:0; gap:0; color:var(--appride-sub); font-size:14px; line-height:1.55; }
.appride-search-results .appride-result-meta > * { margin:0; }
/* 0件とページ送り：表示の有無・総ページ数はコアの継承クエリーに任せる。 */
.appride-search-results .appride-results-empty { padding:38px 30px; text-align:center; }
.appride-search-results .appride-results-empty h2 { margin:12px 0 7px; font:500 18px/1.45 var(--appride-font); }
.appride-search-results .appride-results-empty p { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.7; }
.appride-search-results .appride-results-pages { margin:0; padding:2px 20px 10px; gap:7px; font-size:12px; }
.appride-search-results .appride-results-pages > * { margin:0; }
.appride-search-results .wp-block-query-pagination-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.appride-search-results .appride-results-pages a,
.appride-search-results .appride-results-pages .page-numbers { display:grid; min-width:44px; min-height:44px; padding:0 10px; place-items:center; border:1px solid var(--appride-line); color:var(--appride-ink); text-decoration:none; }
.appride-search-results .appride-results-pages .current { background:var(--appride-ink); color:var(--appride-paper); }
/* 同じCSSをエディターへ読み込むため、上記のクラスを標準ブロックに残して編集する。 */

/* 検索・絞り込みv4：20pxの左右余白、項目ごとの罫線、画面下の検索ボタン。
 * 分類は未確定のため準備中の説明のみ。フォーム要素も共通の書体・白背景を使う。
 */
.appride-filter { overflow-wrap:anywhere; }
.appride-filter .appride-filter-title { margin:0; padding:24px 20px; border-bottom:1px solid var(--appride-line); font:500 19px/1.2 var(--appride-font); }
.appride-filter-content { padding:24px 20px; }
.appride-filter-form label, .appride-sort-form label { display:block; margin-bottom:7px; font-size:14px; }
.appride-filter-intro { margin:0 0 14px!important; color:var(--appride-sub); font-size:14px; line-height:1.75; }
.appride-filter-form input:not([type=hidden]), .appride-filter-form select, .appride-sort-form select { width:100%; min-width:0; max-width:100%; min-height:46px; padding:8px 10px; border:1px solid var(--appride-line); border-radius:0; background:var(--appride-paper); color:var(--appride-ink); font:400 16px/1.5 var(--appride-font); }
.appride-filter-form input[type=search] { min-height:50px; margin-bottom:22px; }
.appride-filter-form fieldset { min-width:0; margin:0; padding:0 0 18px; border:0; border-top:1px solid var(--appride-line); }
.appride-filter-form legend { width:100%; padding:18px 0 12px; font:500 16px/1.4 var(--appride-font); }
.appride-filter-form fieldset p, .appride-filter-hint { margin:0 0 12px; color:var(--appride-sub); font-size:14px; line-height:1.65; }
.appride-date-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
.appride-date-row > div { min-width:0; }
.appride-sort-field { margin:0 0 18px; }
.appride-filter-bottom { position:sticky; bottom:0; padding:13px 20px 17px; background:var(--appride-paper); border-top:1px solid var(--appride-line); }
.appride-filter-bottom button { width:100%; min-height:52px; border:0; background:var(--appride-key); color:var(--appride-paper); font-weight:500; }
/* 入力中／適用済みチップ：長い語句を折り返し、解除操作の対象を読み上げ可能にする。 */
.appride-selected { margin-bottom:22px; padding:15px; background:var(--appride-soft); font-size:12px; }
.appride-filter-chips { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
.appride-filter-chips a, .appride-filter-chips button { min-height:36px; max-width:100%; padding:6px 9px; border:1px solid var(--appride-line); background:var(--appride-paper); color:var(--appride-ink); font-size:11px; overflow-wrap:anywhere; text-align:left; }
.appride-selected > button { min-height:44px; border:0; background:transparent; color:var(--appride-key); font-size:12px; }
.appride-applied { font-size:12px; line-height:1.7; }
.appride-applied p a { display:inline-block; min-height:44px; padding:10px 0; color:var(--appride-key); }
.appride-sort-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.appride-sort-form label { width:100%; margin:0; }
.appride-sort-form select { flex:1; width:auto; font-size:12px; }
.appride-sort-form button { min-height:46px; padding:8px; border:1px solid var(--appride-line); background:var(--appride-paper); color:var(--appride-ink); font-size:12px; }
.appride-filter-error { margin:12px 20px; padding:12px; border:1px solid var(--appride-key); color:var(--appride-key); font-size:14px; line-height:1.7; }

/* 資料・基本索引v5：入口と2パネルの余白。分類・索引データが整うまで空状態を標準ブロックで示す。 */
.appride-library { overflow-wrap:anywhere; }
.appride-library .appride-library-hero { padding:31px 20px 22px; }
.appride-library .appride-library-eyebrow { margin:0; color:var(--appride-key); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.appride-library h1 { margin:10px 0 12px; font:500 28px/1.45 var(--appride-font); }
.appride-library .appride-library-intro { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.8; }
.appride-library-tabs { display:grid; grid-template-columns:1fr 1fr; margin:0 20px; border:1px solid var(--appride-line); }
.appride-library-tabs button { min-height:48px; border:0; background:var(--appride-paper); color:var(--appride-sub); font-size:13px; }
.appride-library-tabs button + button { border-left:1px solid var(--appride-line); }
.appride-library-tabs [aria-selected=true] { background:var(--appride-ink); color:var(--appride-paper); }
/* hiddenとdisplay指定の衝突を防ぐ（過去監査A2）。JSなしとエディターでは案内2つを順に表示する。 */
.appride-library [hidden] { display:none!important; }
.appride-library:not(.is-ready) .appride-library-tabs { display:none; }
.appride-library .appride-library-panel { padding:20px 20px 26px; margin:0; }
.appride-library .appride-library-panel-title { margin:0 0 16px; font:500 16px/1.4 var(--appride-font); }
.appride-library-types { margin-top:24px;display:flex; flex-wrap:wrap; gap:8px; padding-bottom:14px; }
.appride-library-types button { min-height:42px; padding:7px 11px; border:1px solid var(--appride-line); background:var(--appride-paper); color:var(--appride-sub); font-size:12px; cursor:default; }
.appride-library .appride-library-note { margin:0 0 16px; color:var(--appride-sub); font-size:14px; line-height:1.6; }
.appride-library .appride-library-empty { padding:24px 12px; background:var(--appride-soft); text-align:center; }
.appride-library .appride-library-empty h3 { margin:0 0 10px; font:500 16px/1.5 var(--appride-font); }
.appride-library .appride-library-empty p { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.7; }
/* 基本検索はタブの外に置く。資料条件は付けず、検索対象が全記事であることを明示する。 */
.appride-library .appride-library-basic-search { padding:20px; margin:0; border-top:1px solid var(--appride-line); }
.appride-library .appride-library-basic-search h2 { margin:0 0 12px; font:500 18px/1.4 var(--appride-font); }
.appride-library .wp-block-search__inside-wrapper { border:0; padding:0; gap:8px; }
.appride-library .wp-block-search__input { min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--appride-line); border-radius:0; background:var(--appride-paper); color:var(--appride-ink); font:400 16px/1.5 var(--appride-font); }
.appride-library .wp-block-search__button { flex-shrink:0; min-width:56px; white-space:nowrap; margin:0; padding:0 12px; border:0; border-radius:0; background:var(--appride-key); color:var(--appride-paper); font-size:12px; }
.appride-library .appride-library-route a { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; color:var(--appride-key); font-size:12px; }

/* ニュースレターv2の余白・文字組み。配色C「背景色なし」の共通変数とPretendard JPを継承する。
 * 承認済みの号がないため表紙・日付・目次・年選択・件数は描画せず、標準ブロックの空状態を配置する。
 */
.appride-newsletter { overflow-wrap:anywhere; }
.appride-newsletter .appride-newsletter-hero { padding:32px 20px 25px; }
.appride-newsletter .appride-newsletter-eyebrow { margin:0; color:var(--appride-key); font-size:11px; letter-spacing:.12em; }
.appride-newsletter :is(h1,.appride-newsletter-series-label) { margin:11px 0 12px; font:500 28px/1.45 var(--appride-font); }
.appride-newsletter .appride-newsletter-intro { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.8; }
.appride-newsletter .appride-newsletter-latest { margin:0; padding:20px; border-block:1px solid var(--appride-line); }
.appride-newsletter .appride-newsletter-latest h2 { margin:7px 0 10px; font:500 21px/1.5 var(--appride-font); }
.appride-newsletter .appride-newsletter-latest > p:last-child { margin:13px 0 0; color:var(--appride-sub); font-size:14px; line-height:1.75; }
.appride-newsletter .appride-newsletter-archive { margin:0; padding:25px 20px; }
.appride-newsletter .appride-newsletter-archive h2 { margin:0 0 16px; font:500 20px/1.4 var(--appride-font); }
.appride-newsletter .appride-newsletter-note { margin:0 0 16px; color:var(--appride-sub); font-size:14px; line-height:1.65; }
.appride-newsletter .appride-newsletter-empty { padding:18px 0; border-top:1px solid var(--appride-line); }
.appride-newsletter .appride-newsletter-empty h3 { margin:0 0 6px; font:500 14px/1.55 var(--appride-font); }
.appride-newsletter .appride-newsletter-empty p { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.65; }
/* 外部導線は文字で識別できる表示。新しいタブを強制せず、キーボードフォーカスは共通指定を使う。 */
.appride-newsletter .appride-newsletter-external { margin:0; padding:22px 20px; background:var(--appride-soft); }
.appride-newsletter .appride-newsletter-external h2 { margin:0; font:500 18px/1.4 var(--appride-font); }
.appride-newsletter .appride-newsletter-external > p { margin:9px 0 14px; color:var(--appride-sub); font-size:14px; line-height:1.7; }
.appride-newsletter .appride-newsletter-external .appride-newsletter-external-link { margin:0; }
.appride-newsletter .appride-newsletter-external-link a { display:flex; align-items:center; min-height:48px; padding:10px 13px; border:1px solid var(--appride-line); background:var(--appride-paper); color:var(--appride-key); font-size:12px; line-height:1.7; }

/* 媒体紹介v3のセクション順・文字組み・余白。配色C「背景色なし」と確定済み書体を継承する。
 * 仮の画像・引用・プロフィールは出力せず、正式原稿待ちの部分を標準段落で案内する。
 */
.appride-about { overflow-wrap:anywhere; }
.appride-about .appride-about-crumbs { margin:0; padding:13px 18px; border-bottom:1px solid var(--appride-line); color:var(--appride-sub); font-size:11px; line-height:1.7; }
.appride-about .appride-about-head { padding:31px 18px 27px; }
.appride-about .appride-about-eyebrow { margin:0 0 8px; color:var(--appride-key); font-size:11px; letter-spacing:.13em; }
.appride-about h1 { margin:0; font:500 29px/1.35 var(--appride-font); }
.appride-about .appride-about-lead { margin:17px 0 0; color:var(--appride-sub); font-size:14px; line-height:1.9; }
.appride-about .appride-about-section { margin:0; padding:34px 18px; border-bottom:1px solid var(--appride-line); }
.appride-about h2 { margin:0 0 17px; font:500 21px/1.5 var(--appride-font); }
.appride-about h3 { margin:24px 0 9px; font:500 15px/1.6 var(--appride-font); }
.appride-about .appride-about-section p { margin:0 0 15px; font-size:14px; line-height:1.95; }
.appride-about .appride-about-section p:last-child { margin-bottom:0; }
/* 標準リストの3項目をv3の番号付き行へ整える。未整備の資料・索引は案内文を残す。 */
.appride-about .appride-about-features { margin:4px 0 0; padding:0; list-style:none; counter-reset:appride-about-feature; border-top:1px solid var(--appride-line); }
.appride-about .appride-about-features li { position:relative; padding:16px 0 16px 42px; border-bottom:1px solid var(--appride-line); color:var(--appride-sub); font-size:14px; line-height:1.7; }
.appride-about .appride-about-features li::before { counter-increment:appride-about-feature; content:counter(appride-about-feature,decimal-leading-zero); position:absolute; left:0; top:16px; color:var(--appride-key); font-size:13px; }
.appride-about .appride-about-features strong { display:inline-block; margin-bottom:5px; color:var(--appride-ink); font-size:14px; font-weight:500; }
.appride-about .appride-about-features a { display:inline-flex; align-items:center; min-height:44px; }
/* 関連リンクの52px行と準備中表示。未確定リンクは文字だけにし、フォーカス対象にしない。 */
.appride-about .appride-about-links { margin:0; padding:0; list-style:none; border-top:1px solid var(--appride-line); }
.appride-about .appride-about-links li { margin:0; border-bottom:1px solid var(--appride-line); font-size:13px; line-height:1.7; }
.appride-about .appride-about-links a { display:flex; align-items:center; min-height:52px; padding:10px 0; color:var(--appride-ink); }
.appride-about .appride-about-links .appride-pending { display:flex; align-items:center; min-height:52px; padding:10px 0; color:var(--appride-sub); }
.appride-about .appride-about-contact { margin:0; padding:28px 18px; background:var(--appride-soft); text-align:center; }
.appride-about .appride-about-contact h2 { margin-bottom:9px; }
.appride-about .appride-about-contact p { margin:0; color:var(--appride-sub); font-size:14px; line-height:1.7; }

/* お問い合わせv4の白背景・文字組み・フォーム余白。標準ブロックの見出し・案内にも適用する。 */
.appride-contact { overflow-wrap:anywhere; }
.appride-contact [hidden] { display:none !important; }
.appride-contact .appride-contact-crumbs { margin:0; padding:13px 18px; color:var(--appride-sub); font-size:11px; border-bottom:1px solid var(--appride-line); }
.appride-contact-content { padding:30px 18px 38px; }
.appride-contact h1 { margin:0; font:500 29px/1.35 var(--appride-font); }
.appride-contact .appride-contact-lead { margin:15px 0 25px; color:var(--appride-sub); font-size:14px; line-height:1.8; }
.appride-contact .appride-contact-notice { margin:0 0 13px; padding:15px 16px; background:var(--appride-soft); font-size:14px; line-height:1.75; }
.appride-contact .appride-contact-wire-note { margin:0 0 25px; padding:12px 13px; border:1px solid var(--appride-line); color:var(--appride-sub); font-size:14px; line-height:1.65; }
.appride-contact-js-note,.appride-contact-hint { margin:7px 0 16px; color:var(--appride-sub); font-size:14px; line-height:1.65; }
/* 項目幅と16px入力文字。端末の入力拡大を避け、長文は改行して確認画面に収める。 */
.appride-contact-field { margin:0 0 21px; padding:0; border:0; min-width:0; }
.appride-contact-field label,.appride-contact-field legend { display:block; margin:0 0 8px; font-size:14px; font-weight:500; }
.appride-contact-required { margin-left:7px; color:var(--appride-key); font-size:14px; font-weight:400; }
.appride-contact-field input,.appride-contact-field select,.appride-contact-field textarea { width:100%; min-height:48px; border:1px solid var(--appride-line); border-radius:0; background:var(--appride-paper); color:var(--appride-ink); padding:12px; font:400 16px/1.6 var(--appride-font); }
.appride-contact-field textarea { min-height:150px; resize:vertical; }
.appride-contact-field .appride-contact-check { display:flex; gap:10px; align-items:flex-start; padding:13px 0; font-weight:400; }
.appride-contact-check input { width:20px; min-height:20px; margin:1px 0 0; padding:0; flex:0 0 auto; }
.appride-contact-check span { font-size:14px; line-height:1.65; }
/* エラーは色と本文を併用し、無効な送信ボタンは操作できない状態を表示する。 */
.appride-contact-error,.appride-contact-errors { margin:7px 0; color:var(--appride-key); font-size:14px; line-height:1.5; }
.appride-contact-errors { padding:12px; border:1px solid var(--appride-key); }
.appride-contact-field.is-error input,.appride-contact-field.is-error select,.appride-contact-field.is-error textarea { border-color:var(--appride-key); }
.appride-contact button { width:100%; min-height:52px; border:1px solid var(--appride-key); border-radius:0; padding:12px; font:500 14px/1.6 var(--appride-font); }
.appride-contact-primary { background:var(--appride-key); color:var(--appride-paper); }
.appride-contact button:disabled { background:var(--appride-line); color:var(--appride-sub); border-color:var(--appride-line); cursor:not-allowed; }
.appride-contact-back { margin:0 0 12px; background:var(--appride-paper); color:var(--appride-key); }
/* 確認は送信完了ではない。入力文字列を折り返す一覧と修正ボタンで構成する。 */
.appride-contact-confirmation h2 { margin:0 0 15px; font:500 21px/1.5 var(--appride-font); }
.appride-contact-confirmation dl { margin:20px 0; }
.appride-contact-confirmation dt { padding:13px 0 6px; border-top:1px solid var(--appride-line); font-size:13px; font-weight:500; }
.appride-contact-confirmation dd { margin:0; padding:0 0 15px; font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.appride-about .appride-contact-route a { display:inline-flex; align-items:center; min-height:44px; }

/* 共通フォーカスの対象外だった選択欄・本文欄と確認見出しにも明瞭なフォーカスを付ける。 */
.appride-contact :where(select,textarea):focus-visible,.appride-contact-confirmation h2:focus { outline:2px solid var(--appride-key); outline-offset:3px; }

/* カテゴリー一覧：トップの共通カード・列配置を継承。H1→記事H2の階層だけを専用指定する。 */
.appride-category .appride-category-title { margin:0 0 24px; font:500 20px/1.4 var(--appride-font); }
.appride-category .article h2 { margin:5px 0 0; font:500 14px/1.55 var(--appride-font); }
.appride-category .article h2 a { display:block; }
.appride-category .wp-block-query-total { margin:0 0 16px; font-size:14px; color:var(--appride-sub); }
.appride-category .appride-category-empty { padding:24px 0; border-top:1px solid var(--appride-line); }
.appride-category .appride-category-empty h2 { font:500 18px/1.6 var(--appride-font); }
/* TB／PCは既存トップのカード幅・列数を利用し、H2も同じ位置・文字寸法へ合わせる。 */
@media (width > 480px) { .appride-category .appride-category-title { font-size:32px; line-height:1.5; } .appride-category .article h2 { font-size:17px; line-height:1.7; } }
@media (min-width:768px) { .appride-category .article h2 { grid-column:1 / -1; } }
@media (min-width:1200px) { .appride-category .appride-category-title { font-size:36px; } .appride-category .article h2 { margin:0; font-size:18px; } }
/* カテゴリーは複数行になるため、PCの各行先頭だけ既存3枚カードの左罫線・余白を解除する。 */
@media (min-width:1200px) {
 .appride-category .appride-articles > .wp-block-post-template > li:nth-child(3n+1) { padding-left:0; border-left:0; }
}

/* レビュー用固定ページ：媒体紹介の共通幅・見出し・余白を再利用し、本文の標準ブロックを編集可能にする。 */
.appride-review .appride-review-route a { display:inline-flex; align-items:center; min-height:44px; color:var(--appride-key); text-decoration:underline; }
.appride-review .appride-review-route a:focus-visible { outline:2px solid var(--appride-accent); outline-offset:4px; }

/* 確認用仮原稿の案内：標準ブロック用。配色・文字組みは既存の共通値を継承。 */
.appride-site .appride-draft-notice {
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid var(--appride-line);
  border-left: 3px solid var(--appride-key);
  overflow-wrap: anywhere;
}
.appride-site .appride-draft-notice > :last-child { margin-bottom: 0; }

/* Gateway anchors keep the existing responsive card layout and one keyboard stop. */
.appride-site a.gateway.appride-gateway-link {text-decoration:none;color:#647C74}
.appride-site a.gateway.appride-gateway-link:visited {color:#647C74}
.appride-site .appride-gateway-link .gateway-title {color:inherit;text-decoration:none}
.appride-site a.gateway.appride-gateway-link:is(:hover,:focus-visible) {color:#713A3E;border-top-color:#713A3E}
/* Descendants inherit the active card color instead of retaining their own muted colors. */
.appride-site a.gateway.appride-gateway-link:is(:hover,:focus-visible) * {color:inherit}
.appride-site .appride-gateway-link:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
/* Imported source notices use the same appearance without changing saved manuscript. */
.appride-review .tkf-draft-notice {background:var(--appride-soft);border:1px solid var(--appride-line);border-left:4px solid var(--appride-key);padding:18px 20px;margin:0 0 24px}
.appride-review .tkf-draft-notice > :last-child {margin-bottom:0}

.appride-review .wp-block-post-content .wp-block-heading:not([style*="color"]) {color:#713A3E}

/* Whole-card / topic-band outlines reuse the global menu's animation. */
.appride-site :is(a.appride-gateway-link,.topic > a) {position:relative;text-decoration:none}
.appride-site :is(a.appride-gateway-link,.topic > a):is(:visited,:hover,:focus) {text-decoration:none}
.appride-site :is(a.appride-gateway-link,.topic > a) * {text-decoration:none}
.appride-site :is(a.appride-gateway-link,.topic > a)::before {content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #647c74;opacity:0}
.appride-site :is(a.appride-gateway-link,.topic > a):is(:hover,:focus-visible)::before {opacity:1;animation:appride-pc-outline .5s linear}
.appride-site .topic > a:focus-visible {outline:2px solid var(--appride-key);outline-offset:3px}
@media(prefers-reduced-motion:reduce) {.appride-site :is(a.appride-gateway-link,.topic > a)::before {animation:none!important}}

/* 補足文だけに14pxの下限を設け、既に大きい継承サイズは維持する。 */
.appride-site .footer-links small,
.appride-site .text-link small,
.appride-about .appride-role-heading small,
.appride-contact .appride-role-heading small { font-size:max(14px, .833333em); }

/* 大きくした状態注記をリンク文字の横で無理に圧縮しない。 */
.appride-site .footer-links small { display:inline-block; }

/* 編集プレビューの仮原稿リンクだけを区切る。折り返し行に字下げを残さない。 */
.appride-site .footer-links a[href*="preview=true"]:has(> small) { column-gap:.25em; }

/* Semantic wrappers inherit the established footer/menu geometry. */
.appride-site .footer-links { padding:0; list-style:none; margin-bottom:0; margin-left:0; margin-right:0; }
.appride-site .footer-links > li { margin:0; padding:0; list-style:none; }

/* Phase1: retain the original 20px SP text gutter without narrowing full-width media. */
@media (width <= 480px) {
 .appride-single .appride-article-head { padding-inline:20px; }
 .appride-single .appride-article-author { padding-inline:20px; }
}

/* Common article label/date semantics, including native and dedicated templates. */
.appride-single .appride-article-head > .appride-article-type,.appride-single-article .appride-article-head > .appride-article-type{font-size:13px}
.appride-published-date,.appride-updated-date{display:inline-block;white-space:nowrap}
