/* PC専用共通設定：1200px未満の既存SPスタイルには寸法・文字・並びを適用しない。
 * 内容は単一の標準ブロックを使い、正式SVG・自サーバーフォント・現行の空状態を継承する。
 */
.appride-pc-nav { display:none; }
@media (min-width:1200px) {
 .appride-site { max-width:1120px; width:calc(100% - 80px); }
 /* 共通ヘッダー：ロゴ左／PCナビ右。SP170px・top6pxは既存CSSのまま。 */
 .appride-site.topbar { min-height:109px; padding:0; gap:40px; position:relative; z-index:5; }
 .appride-site.topbar .brand { flex:0 0 260px; }
 .appride-site.topbar .brand-main img { width:220px; height:auto; top:0; }
 .appride-site.topbar .brand-sub { margin-top:7px; font-size:14px; line-height:1.5; letter-spacing:.02em; }
 .appride-site.topbar .appride-menu { display:none; }
 .appride-site .appride-pc-nav { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:0; flex:1; min-width:0; }
 .appride-pc-nav .appride-pc-disclosure { position:relative; margin:0; padding:0; }
 .appride-pc-nav .appride-pc-disclosure summary { position:relative; display:flex; align-items:center; gap:10px; min-height:48px; padding:0 13px; list-style:none; cursor:pointer; }
 .appride-pc-nav summary::-webkit-details-marker { display:none; }
 .appride-pc-nav summary::after { content:'⌄'; }
 .appride-pc-nav .appride-pc-disclosure[open] summary::after { transform:rotate(180deg); }
 .appride-pc-nav .appride-pc-top-link { margin:0; }
 .appride-pc-nav .appride-pc-top-link > :is(a,span) { display:flex; align-items:center; gap:8px; min-height:48px; padding:0 13px; position:relative; font-size:15px; }
 .appride-site .appride-pc-nav :is(summary,a) { color:#647c74; background:transparent; text-decoration:none; font:700 15px/1.6 var(--appride-font); white-space:nowrap; }
 .appride-site .appride-pc-nav :is(summary,a):is(:hover,:focus-visible), .appride-site .appride-pc-nav details[open] > summary { color:#713a3e; text-decoration:none; background:transparent; }
 .appride-pc-nav .appride-pc-pending > span { color:var(--appride-sub); font-size:15px; font-weight:700; }
 .appride-pc-nav small { font:400 14px/1.7 var(--appride-font); color:var(--appride-sub); }
 /* 下層メニュー：Detailsの標準開閉がJSなしでも利用できる。準備中項目はテキストのみ。 */
 .appride-pc-nav .appride-pc-dropdown { position:absolute; top:100%; left:0; width:366px; margin:0!important; padding:6px 10px 10px; list-style:none; background:#fff; border-top:3px solid #647c74; box-shadow:0 8px 22px #20202014; z-index:6; }
 .appride-pc-contact-menu .appride-pc-dropdown { left:auto; right:0; }
 .appride-pc-dropdown li { margin:0; }
 .appride-pc-dropdown li + li { border-top:1px solid var(--appride-line); }
 .appride-pc-nav .appride-pc-dropdown li > :is(a,span) { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; min-height:82px; padding:16px 12px; position:relative; white-space:normal; font-size:14px; line-height:1.5; }
 .appride-pc-dropdown li > span { color:var(--appride-sub); }
 .appride-pc-dropdown small { display:block; width:100%; }
 /* 青磁の枠を時計回りに描画。reduce時は枠だけを即時表示し、動作に依存させない。 */
 .appride-pc-nav :is(summary,a)::before { content:''; position:absolute; inset:0; pointer-events:none; border:1px solid #647c74; opacity:0; }
 .appride-pc-nav :is(summary,a):is(:hover,:focus-visible)::before, .appride-pc-nav details[open] > summary::before { opacity:1; animation:appride-pc-outline .5s linear; }
 .appride-pc-nav :is(summary,a):focus-visible { outline:2px solid var(--appride-key); outline-offset:3px; }
 /* 共通フッター：同じ名称・4案内を2列域へ配置。 */
 .appride-site.footer { display:grid; grid-template-columns:1fr 1.35fr; gap:80px; padding:40px 0 46px; }
 .appride-site.footer .footer-name { font-size:20px; }
 .appride-site.footer .footer-links { margin-top:0; gap:2px 36px; }
 .appride-site.footer .footer-links :is(li,a) { font-size:14px; }
 /* トップv7：リード＋検索、主題3列、入口4列、新着3列。順序はSPと共通。 */
 .appride-home-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:64px; padding:60px 0 50px; }
 .appride-home .lead { padding:0; }
 .appride-home .lead h1 { font-size:44px; line-height:1.45; margin:17px 0 20px; letter-spacing:-.03em; }
 .appride-home .intro { font-size:16px; line-height:1.9; }
 .appride-home .eyebrow,.appride-home .section-label { font-size:12px; }
 .appride-home .search-box { margin:0; }
 .appride-home .wp-block-search__inside-wrapper { min-height:60px; }
 .appride-home .wp-block-search__input { font-size:16px; padding:14px 16px; }
 .appride-home .wp-block-search__button { min-width:87px; }
 .appride-home .search-note { font-size:14px; line-height:1.75; margin-top:13px; }
 .appride-home .search-detail { font-size:14px; }
 .appride-home .section { padding:38px 0 40px; }
 .appride-home .section-head { margin-bottom:24px; }
 .appride-home .section-title,.appride-home .newsletter h2 { font-size:24px; line-height:1.4; }
 .appride-home .topic-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 16px; }
 .appride-home .topic-list > .topic > a,.appride-home .topic-list > .topic:not(:has(> a)) { min-height:56px; padding:15px 20px; font-size:14px; }
 .appride-home .gateway-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
 .appride-home .gateway { padding:22px 20px; min-height:176px; }
 .appride-home .gateway-title { font-size:18px; }
 .appride-home .gateway-description { font-size:14px; line-height:1.7; margin-top:7px; }
 .appride-home .candidate-note { font-size:14px; line-height:1.7; }
 .appride-home .wp-block-query-pagination { justify-content:center; margin-top:30px; padding-top:20px; border-top:1px solid var(--appride-line); font-size:13px; }
 .appride-home .section.newsletter { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:56px; padding:40px; margin-bottom:56px; }
 .appride-home .newsletter .summary { font-size:14px; line-height:1.8; }
 .appride-home .newsletter .support { margin:0; padding:0 0 0 40px; border-left:1px solid #d9d3ca; }
 .appride-home .newsletter .support p { font-size:14px; line-height:1.85; }
 .appride-home .newsletter .text-link { min-height:50px; font-size:14px; padding:12px 16px; }
}
@keyframes appride-pc-outline {
 0% { clip-path:polygon(0 0,0 0,0 0,0 0,0 0); }
 25% { clip-path:polygon(0 0,100% 0,100% 0,100% 0,0 0); }
 50% { clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 0); }
 75% { clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 100%); }
 100% { clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0); }
}
@media (prefers-reduced-motion:reduce) { .appride-pc-nav :is(summary,a)::before { animation:none!important; } }

/* 記事本文720px、タイトルは画像外側の共通幅。既存本文・言語・画像比率は保持。 */
@media(min-width:1200px){
 .appride-single{max-width:1120px;width:calc(100% - 80px)}
 .appride-single .appride-article-head{max-width:100%;margin-inline:auto;padding:56px 0 0}
 .appride-single .appride-article-type{font-size:12px;letter-spacing:.12em}
 .appride-single .appride-article-title{font-size:40px;line-height:1.5;letter-spacing:-.02em;margin:16px 0 28px;text-wrap:pretty}
 .appride-single .appride-article-byline{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:0;padding:20px 0 0;font-size:14px}
 .appride-single .appride-article-hero{max-width:920px;margin:40px auto 0}
 .appride-single .appride-article-body{max-width:720px;margin-inline:auto;padding:48px 0 56px}
 .appride-single .appride-article-body h2{font-size:26px;line-height:1.55;margin-top:2.2em}
 .appride-single .appride-article-body h3{font-size:22px}
 .appride-single .appride-article-body h4,.appride-single .appride-article-body h5,.appride-single .appride-article-body h6{font-size:19px}
 .appride-single .appride-article-body blockquote{padding:20px 0 20px 24px}
 .appride-single .appride-article-body cite,.appride-single .appride-article-body figcaption{font-size:14px}
 .appride-single .appride-article-section{max-width:720px;margin-inline:auto;padding:32px 0}
 .appride-single .appride-article-section-title{font-size:22px;margin-bottom:20px}
 .appride-single .appride-article-tags{font-size:13px;gap:10px;margin-top:12px}
 .appride-single .appride-article-tags a{min-height:44px;padding:9px 14px}
 .appride-single .appride-article-details>summary{min-height:58px;padding:17px 0;font-size:14px}
 .appride-single .appride-article-detail-body{font-size:14px;padding-bottom:22px}
 .appride-single .appride-article-section:last-child{padding-bottom:80px}
}

/* 条件264pxと実検索結果の2列。標準クエリーと件数は共通。 */
@media(min-width:1200px){
 .appride-search-results{max-width:1120px;width:calc(100% - 80px);padding:52px 0 72px}

 .appride-search-results .appride-results-title{font-size:36px;line-height:1.5;padding:0;border:0;letter-spacing:-.02em}
 .appride-search-results .appride-results-search{margin:0}
 .appride-search-results .wp-block-search__inside-wrapper{gap:12px}
 .appride-search-results .wp-block-search__input{min-height:56px;padding:14px 16px;font-size:16px}
 .appride-search-results .wp-block-search__button{min-width:100px;padding:0 22px;font-size:14px}
 .appride-search-results .appride-results-search label{font-size:13px;margin-bottom:10px}

 .appride-search-results .appride-results-conditions{padding:23px;border:1px solid var(--appride-line);border-top:3px solid var(--appride-accent)}



 .appride-search-results .appride-results-count{font-size:14px}.appride-results-count strong{font-size:28px}.appride-results-count small{font-size:14px}
 .appride-sort-form label{font-size:14px;margin-right:4px}.appride-sort-form select{font-size:13px}.appride-sort-form button{font-size:13px}
 .appride-search-results .appride-results-list{padding:0;margin:0}
 .appride-search-results .appride-result{padding:26px 0 28px}
 .appride-search-results .appride-result-type{font-size:11px;min-height:26px;padding:3px 9px}
 .appride-search-results .appride-result-title{font-size:22px;line-height:1.6;margin:12px 0}
 .appride-search-results .appride-result-meta{font-size:14px}
 .appride-search-results .appride-results-pages{border-top:1px solid var(--appride-line);padding:28px 0 0;gap:8px;font-size:13px}
 .appride-search-results .appride-results-empty{margin:0;padding:60px 32px}
 .appride-search-results .appride-results-empty h2{font-size:24px;margin:12px 0}.appride-search-results .appride-results-empty p{font-size:14px}

}

/* 最大920px。既存の必須条件・未対応分類・GET検索は変更しない。 */
@media(min-width:1200px){
 .appride-filter{max-width:920px;width:calc(100% - 80px);padding-bottom:68px}

 .appride-filter .appride-filter-title{font-size:36px;margin-bottom:14px;letter-spacing:-.02em}
 .appride-filter .appride-filter-intro{font-size:16px}
 .appride-filter .appride-filter-content{padding:32px 0 0}
 .appride-filter .appride-filter-form label{font-size:14px;margin-bottom:10px}
 .appride-filter .appride-filter-form input:not([type=hidden]),.appride-filter .appride-filter-form select{min-height:52px;padding:12px 14px}
 .appride-filter .appride-filter-form input[type=search]{min-height:58px;padding:15px 18px;margin-bottom:28px}
 .appride-filter .appride-selected{padding:18px 24px 24px;margin-bottom:36px}

 .appride-filter .appride-filter-chips{margin-top:10px}.appride-filter .appride-filter-chips button{font-size:12px}


 .appride-filter .appride-filter-form legend{font-size:20px;padding:24px 0 14px}
 .appride-filter .appride-filter-form fieldset p{font-size:14px}
 .appride-filter .appride-date-row{gap:16px}
 .appride-filter .appride-filter-form fieldset{padding-bottom:28px}





 .appride-filter .appride-filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;position:static;padding:28px 0 0;margin-top:8px}

 .appride-filter-bottom button{flex:0 0 300px;width:300px;min-height:56px;font-size:15px}



}

/* 説明264pxと空状態。既存タブのhiddenを優先する。 */
@media(min-width:1200px){
 .appride-library{max-width:1120px;width:calc(100% - 80px);padding-bottom:68px}
 .appride-library .appride-library-hero{padding:52px 0 36px}
 .appride-library .appride-library-eyebrow{font-size:12px}
 .appride-library h1{font-size:36px;line-height:1.5;margin:12px 0 14px;letter-spacing:-.02em}
 .appride-library .appride-library-intro{font-size:16px;max-width:920px}
 .appride-library-tabs{margin:0;border:1px solid var(--appride-line);border-bottom:0}
 .appride-library-tabs button{position:relative;min-height:80px;padding:15px 20px 19px;font-size:20px;color:var(--appride-sub);background:white}
 .appride-library-tabs small{display:block;font-size:14px;font-weight:400;color:var(--appride-sub)}
 .appride-library-tabs [aria-selected=true]{background:var(--appride-soft);color:var(--appride-key)}
 .appride-library-tabs [aria-selected=true]::after{position:absolute;content:'';height:3px;bottom:0;left:0;right:0;background:var(--appride-key)}
 .appride-library-tabs button:hover{color:var(--appride-key);filter:none}
 .appride-library .appride-library-panel{display:grid;grid-template-columns:264px minmax(0,1fr);gap:40px;align-items:start;padding:32px 0 36px;border-bottom:1px solid var(--appride-line);min-height:352px}
 .appride-library .appride-library-panel-title{font-size:24px;margin:2px 0 22px;line-height:1.5}

 .appride-library-types{gap:8px;padding-bottom:18px}
 .appride-library-types button{font-size:12px;min-height:44px;padding:8px 12px}
 .appride-library .appride-library-note{font-size:14px;line-height:1.85;margin-bottom:0}
 .appride-library .appride-library-empty{min-height:284px;display:flex;flex-direction:column;justify-content:center;padding:38px 40px}
 .appride-library .appride-library-empty h3{font-size:23px;line-height:1.5;margin:0 0 14px}
 .appride-library .appride-library-empty p{font-size:14px;line-height:1.85;max-width:36em}
 .appride-library .appride-library-basic-search{display:grid;grid-template-columns:264px minmax(0,1fr);gap:40px;padding:36px 0 0;margin:0;border:0}
 .appride-library .appride-library-basic-search h2{font-size:24px;margin-bottom:14px}
 .appride-library .wp-block-search__inside-wrapper{gap:12px}
 .appride-library .wp-block-search__input{min-height:56px;padding:14px 16px}
 .appride-library .wp-block-search__button{min-width:100px;min-height:56px;font-size:14px;padding:0 20px}
 .appride-library .appride-library-route a{font-size:13px;margin-top:12px}



}

/* 実号未採用の空状態を保持し、外部購読案内を2列へ。 */
@media(min-width:1200px){
 .appride-newsletter{max-width:1120px;width:calc(100% - 80px);padding-bottom:64px}
 .appride-newsletter .appride-newsletter-hero{max-width:920px;margin-inline:auto;padding:52px 0 36px}
 .appride-newsletter .appride-newsletter-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
 .appride-newsletter :is(h1,.appride-newsletter-series-label){font-size:36px;line-height:1.5;margin:12px 0 14px;letter-spacing:-.02em}
 .appride-newsletter .appride-newsletter-intro{font-size:16px;line-height:1.85;max-width:48em}
 .appride-newsletter .appride-newsletter-latest{display:grid;grid-template-columns:160px minmax(0,1fr);gap:40px;max-width:920px;margin:0 auto;padding:36px 0 38px;border-top:3px solid var(--appride-accent);border-bottom:1px solid var(--appride-line)}



 .appride-newsletter .appride-newsletter-latest h2{font-size:28px;line-height:1.5;margin:0 0 16px}
 .appride-newsletter .latest-copy>p:last-child{font-size:15px;line-height:1.85;margin:0;max-width:44em}
 .appride-newsletter .appride-newsletter-archive{max-width:920px;margin:0 auto;padding:40px 0 48px}

 .appride-newsletter .appride-newsletter-archive h2{font-size:24px;line-height:1.5;margin:0}
 .appride-newsletter .appride-newsletter-note{font-size:14px;margin:0}
 .appride-newsletter .appride-newsletter-empty{display:flex;align-items:center;justify-content:center;gap:28px;min-height:168px;padding:36px 40px;border:0;background:var(--appride-soft)}

 .appride-newsletter .appride-newsletter-empty h3{font-size:21px;line-height:1.5;margin:0 0 10px}
 .appride-newsletter .appride-newsletter-empty p{font-size:14px;line-height:1.8}
 .appride-newsletter .appride-newsletter-external{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center;padding:36px 40px;border-top:3px solid var(--appride-accent);background:var(--appride-paper)}
 .appride-newsletter .appride-newsletter-external h2{font-size:24px;line-height:1.5}
 .appride-newsletter .appride-newsletter-external .subscribe-copy>p{font-size:14px;line-height:1.85;margin:12px 0 0;max-width:37em}
 .appride-newsletter .appride-newsletter-external-link a{min-height:78px;padding:16px 20px;border:1px solid var(--appride-key);background:var(--appride-key);color:white;font-size:14px;line-height:1.6}
 .appride-newsletter .appride-newsletter-external-link small{font-size:14px;margin-top:4px}
}

/* 通常本文720px、既存の3機能・関連リンクだけを列化。 */
@media(min-width:1200px){
 .appride-about{max-width:1120px;width:calc(100% - 80px);padding-bottom:64px}
 .appride-about .appride-about-crumbs{padding:18px 0;border:0;font-size:12px}
 .appride-about .appride-about-head{max-width:920px;margin:0 auto;padding:32px 0 42px}
 .appride-about .appride-about-eyebrow{font-size:12px;text-transform:uppercase;margin-bottom:12px}
 .appride-about h1{font-size:36px;line-height:1.5;letter-spacing:-.02em}
 .appride-about .appride-about-lead{font-size:18px;line-height:1.8;margin-top:18px}
 .appride-about .appride-about-section{padding:36px 0;margin:0 auto}
 .appride-about .about-body{max-width:720px}
 .appride-about h2{font-size:24px;line-height:1.5;margin-bottom:20px}
 .appride-about h3{font-size:19px;line-height:1.6;margin:28px 0 12px}
 .appride-about .appride-about-section p{font-size:17px;line-height:1.8;margin-bottom:20px}
 .appride-about .appride-about-section p:last-child{margin-bottom:0}
 .appride-about .about-features{padding:40px 0 30px;border:0}
 .appride-about .about-features h2,.appride-about .about-related h2{max-width:720px;margin:0 auto 24px}
 .appride-about .appride-about-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0;margin:0}
 .appride-about .appride-about-features li{min-width:0;min-height:178px;padding:50px 24px 24px;border:1px solid var(--appride-line);border-top:3px solid var(--appride-accent);font-size:14px;line-height:1.8}
 .appride-about .appride-about-features li::before{top:20px;left:24px;font-size:13px;font-weight:500}
 .appride-about .appride-about-features strong{display:block;font-size:18px;font-weight:500;margin-bottom:8px}
 .appride-about .appride-about-features a{display:flex;justify-content:space-between;min-height:44px;width:100%;gap:12px}
 .appride-about .appride-about-features br{display:none}
 .appride-about .about-related{max-width:1120px;padding:40px 0 48px;border:0}
 .appride-about .appride-about-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border:0}
 .appride-about .appride-about-links li{font-size:14px;border-bottom:1px solid var(--appride-line)}
 .appride-about .appride-about-links li:nth-child(-n+2){border-top:1px solid var(--appride-line)}
 .appride-about .appride-about-links a,.appride-about .appride-about-links .appride-pending{min-height:64px;padding:14px 0}
 .appride-about .appride-about-contact{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:32px 40px;text-align:left}
 .appride-about .appride-about-contact h2{margin:0;font-size:24px}
 .appride-about .appride-about-contact p{flex:0 1 360px}
 .appride-about .appride-contact-route a{margin:0;width:100%;min-height:72px;padding:14px 20px;font-size:14px}
}

/* フォーム720px。非送信とブラウザー内だけの確認処理を保持。 */
@media(min-width:1200px){
 .appride-contact{max-width:1120px;width:calc(100% - 80px);padding-bottom:64px}
 .appride-contact .appride-contact-crumbs{padding:12px 0;border:0;font-size:12px}
 .appride-contact-content{max-width:720px;margin-inline:auto;padding:32px 0 0}
 .appride-contact h1{font-size:36px;line-height:1.5;letter-spacing:-.02em}
 .appride-contact .appride-contact-lead{font-size:16px;line-height:1.85;margin:18px 0 28px}
 .appride-contact .appride-contact-notice{padding:18px 20px;font-size:14px;margin-bottom:14px}
 .appride-contact .appride-contact-wire-note{padding:15px 20px;font-size:14px;line-height:1.8;margin-bottom:28px}

 .appride-contact-js-note{font-size:14px;line-height:1.8;margin:0 0 32px}
 .appride-contact-field{margin-bottom:28px}
 .appride-contact-field label,.appride-contact-field legend{font-size:15px;margin-bottom:11px}
 .appride-contact-required{font-size:14px;margin-left:10px}
 .appride-contact-field input,.appride-contact-field select,.appride-contact-field textarea{min-height:54px;padding:13px 15px;font-size:16px;line-height:1.6}
 .appride-contact-field textarea{min-height:200px}
 .appride-contact-hint{font-size:14px;line-height:1.75;margin:9px 0 0}
 .appride-contact-error,.appride-contact-errors{font-size:14px;line-height:1.7}
 .appride-contact-errors{margin:0 0 28px;padding:16px 20px}

 .appride-contact-check input{width:20px;min-height:20px;height:20px;margin:2px 0 0;padding:0}
 .appride-contact-check span{font-size:14px;line-height:1.8}


 .appride-contact-confirmation h2{font-size:26px;line-height:1.5;margin:0 0 16px}








}

/* 標準ブロック版への対応：画面用プロトタイプの補助クラスを実サイトの単一DOMへ合わせる。 */
@media (min-width:1200px) {
 .appride-search-results { padding:52px 0 72px; }
 .appride-results-heading,.appride-results-layout { display:grid; grid-template-columns:264px minmax(0,1fr); gap:40px; align-items:start; }
 .appride-results-heading { align-items:center; margin-bottom:40px; }
 .appride-search-results .appride-results-conditions { padding:23px; border:1px solid var(--appride-line); border-top:3px solid var(--appride-accent); }
 .appride-results-query-loop { min-width:0; }
 .appride-search-results .appride-results-count { padding:0 0 22px; font-size:14px; }
 .appride-search-results .appride-result { padding:26px 0 28px; }
 .appride-applied,.appride-applied .appride-filter-chips { font-size:13px; }
 .appride-applied .appride-filter-chips a { width:100%; font-size:12px; }
 .appride-sort-form label { font-size:14px; }
 .appride-sort-form select { width:100%; flex-basis:100%; }
 .appride-filter .appride-filter-title { padding:52px 0 0; border:0; line-height:1.5; }
 .appride-filter-form .appride-filter-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; }
 .appride-filter-form .appride-filter-content > :not(fieldset) { grid-column:1 / -1; }
 .appride-filter-form .appride-filter-content > fieldset:not([disabled]) { grid-column:1 / -1; }
 .appride-filter .appride-filter-bottom { justify-content:flex-end; }
 .appride-library-panel-intro { min-width:0; }
 .appride-library .appride-library-empty p { max-width:none; }
 .appride-library-basic-search > .appride-library-search-controls { min-width:0; }
 .appride-newsletter .appride-newsletter-latest > .appride-newsletter-eyebrow { font-size:13px; padding-top:6px; }
 .appride-newsletter .latest-copy > p { font-size:15px; line-height:1.85; margin:0; }
 .appride-newsletter .appride-newsletter-external .subscribe-copy > p { margin:12px 0 0; }
 .appride-newsletter .appride-newsletter-empty { display:block; text-align:center; }
 .appride-newsletter .appride-newsletter-note { margin:12px 0 22px; }
 .appride-about .appride-about-section.about-body { max-width:720px; }
 .appride-contact .appride-contact-primary[data-contact-confirm] { display:block; max-width:360px; margin-inline:auto; min-height:56px; font-size:15px; }
 .appride-contact .appride-contact-confirmation dl { display:grid; grid-template-columns:160px minmax(0,1fr); gap:0 24px; margin:28px 0; }
 .appride-contact .appride-contact-confirmation dt,.appride-contact .appride-contact-confirmation dd { padding:20px 0; border-top:1px solid var(--appride-line); margin:0; }
 .appride-contact .appride-contact-confirmation dd { font-size:16px; min-width:0; }
 .appride-contact-confirmation button { min-height:56px; }
}
/* PC共通ヘッダー・フッターの枠線。 */
@media (min-width:1200px) {
 .wp-block-template-part:has(> .appride-site.footer) { background:#202020; border-top:6px solid #647c74; }
 .appride-site.footer { border-top:0; }
 .wp-block-template-part:has(> .appride-site.topbar) { border-top:5px solid #713a3e; border-bottom:1px solid #e2e2e2; }
 .appride-site.topbar { min-height:104px; border:0; }
}



@media(min-width:1200px) {
 .appride-pc-nav > .appride-pc-top-items { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:0; padding:0; list-style:none; }
 .appride-pc-top-items > li { margin:0; padding:0; list-style:none; }
}

/* 新着記事のみ：小さな画像＋分類、全幅タイトル、行内で揃う下端の日付。
 * 画像の取得サイズはcoreが150×150に限定。表示はSP/TB96px、PC104px。
 * 列数は既存の768px=2列、1024px=3列を保持。検索・分類一覧には適用しない。 */
.appride-home .appride-articles > .wp-block-post-template { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; list-style:none; padding:0; margin:0; }
.appride-home .appride-articles > .wp-block-post-template > li { position:relative; min-width:0; list-style:none; margin:0; padding:0; border:0; }
.appride-home .appride-articles > .wp-block-post-template > li .article { display:grid; grid-template-columns:96px minmax(0,1fr); grid-template-rows:auto 1fr auto; column-gap:16px; row-gap:0; height:100%; box-sizing:border-box; margin:0; padding:0; border:0; background:#fff; }
.appride-home .appride-articles .article-copy { display:contents; }
.appride-home .appride-articles .thumb { grid-column:1; grid-row:1; display:block; position:relative; float:none; width:96px; height:96px; max-width:100%; padding:0; margin:0 0 20px; aspect-ratio:1; overflow:hidden; }
.appride-home .appride-articles .thumb > a,.appride-home .appride-articles .thumb picture { display:block; width:100%; height:100%; margin:0; padding:0; }
.appride-home .appride-articles .thumb img { display:block; width:100%; max-width:100%; height:100%; margin:0; padding:0; aspect-ratio:1; object-fit:cover; object-position:center; }
.appride-home .appride-articles .article .meta { grid-column:2; grid-row:1; min-width:0; align-self:start; margin:0 0 20px; color:var(--appride-key); font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.appride-home .appride-articles .article:not(:has(.thumb)) .meta { grid-column:1 / -1; }
.appride-home .appride-articles .article .meta:empty { margin:0; }
.appride-home .appride-articles .article h3 { grid-column:1 / -1; grid-row:2; align-self:start; min-width:0; clear:both; margin:0; color:var(--appride-ink); font-size:17px; font-weight:600; line-height:1.7; overflow-wrap:anywhere; }
.appride-home .appride-articles .article .date-label { grid-column:1 / -1; grid-row:3; align-self:end; margin:0; padding-top:24px; color:var(--appride-sub); font-size:13px; line-height:1.7; text-align:left; }
/* タイトルのホバー色・画像の透明度は既存heading-colors.cssを継承する。 */
.appride-home .appride-articles .article h3 a { color:inherit; text-decoration:none; }
.appride-home .appride-articles .meta a:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:.2em; }
.appride-home .appride-articles a:focus-visible { outline:2px solid var(--appride-key); outline-offset:3px; }
.appride-home .appride-articles .thumb > a:focus-visible { outline-offset:-3px; }
/* 新着一覧全体の下端罫線：ul一本だけに付け、li側の区切り線とは重ねない。 */
.appride-home .appride-articles > .wp-block-post-template { padding-bottom:30px; border-bottom:1px solid var(--appride-line); }
@media (width < 768px) {
 .appride-home .appride-articles > .wp-block-post-template > li + li { padding-top:24px; border-top:1px solid var(--appride-line); }
}
@media (min-width:768px) {
 .appride-home .appride-articles > .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .appride-home .appride-articles > .wp-block-post-template > li::before { content:''; position:absolute; left:-14px; top:0; bottom:0; border-left:1px solid var(--appride-line); pointer-events:none; }
}
@media (min-width:768px) and (width < 1024px) {
 .appride-home .appride-articles > .wp-block-post-template > li:nth-child(2n+1)::before { content:none; }
}
@media (min-width:1024px) {
 .appride-home .appride-articles > .wp-block-post-template { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .appride-home .appride-articles > .wp-block-post-template > li:nth-child(3n+1)::before { content:none; }
}
@media (min-width:1200px) {
 .appride-home .appride-articles > .wp-block-post-template { gap:32px; }
 .appride-home .appride-articles > .wp-block-post-template > li::before { left:-16px; }
 .appride-home .appride-articles > .wp-block-post-template > li .article { grid-template-columns:104px minmax(0,1fr); }
 .appride-home .appride-articles .thumb { width:104px; height:104px; margin-bottom:24px; }
 .appride-home .appride-articles .article .meta { margin-bottom:24px; }
 .appride-home .appride-articles .article .meta:empty { margin:0; }
 .appride-home .appride-articles .article h3 { font-size:18px; }
}
