/* TB共通：480px超・1200px未満に限定。本文・ブロック・操作・配色・正式素材は共通のまま。
 * 外側20px以上／最大1120pxでPC1120pxへつなぐ。独立HTMLや表示内容の複製は作らない。
 */
@media (width > 480px) and (width < 1200px) {
 .appride-site { width:calc(100% - 40px); max-width:1120px; }
 /* TBナビは既存の標準開閉式を維持。ロゴ比率・SP由来の170pxとtop6pxも維持する。 */
 .appride-site.topbar { padding:16px 0; min-height:84px; gap:20px; }
 .appride-site .brand-sub { font-size:14px; }
 .appride-site .wp-block-navigation__responsive-dialog { max-width:640px; }
 .appride-site .wp-block-navigation-item__content { min-height:58px; font-size:16px; }
 .appride-site.footer { padding:30px 20px; }
 .appride-site.footer .footer-links :is(li,a) { font-size:14px; }
 /* トップ：狭いTBは縦流れを維持し、本文サイズと入口の余白を広げる。 */
 .appride-home .lead { padding:40px 0 24px; }
 .appride-home .lead h1 { font-size:clamp(30px,3.6vw,40px); line-height:1.45; }
 .appride-home .intro { font-size:15px; max-width:48em; }
 .appride-home .search-box { margin:0 0 32px; }
 .appride-home .wp-block-search__input { font-size:16px; padding:14px; }
 .appride-home .wp-block-search__inside-wrapper { min-height:56px; }
 .appride-home .wp-block-search__button { min-width:64px; }
 .appride-home .search-note,.appride-home .candidate-note { font-size:14px; line-height:1.75; }
 .appride-home .search-detail { font-size:14px; }
 .appride-home .section { padding:32px 0; }
 .appride-home .section-title,.appride-home .newsletter h2 { font-size:23px; }
 .appride-home .topic-list { gap:12px; }
 .appride-home .topic-list > .topic > a,.appride-home .topic-list > .topic:not(:has(> a)) { min-height:52px; padding:12px 16px; font-size:14px; }
 .appride-home .gateway-grid { gap:16px; }
 .appride-home .gateway { min-height:152px; padding:20px; }
 .appride-home .gateway-title { font-size:17px; }
 .appride-home .gateway-description { font-size:14px; line-height:1.7; }
 .appride-home .section.newsletter { padding:28px; margin-bottom:36px; }
 .appride-home .newsletter .summary,.appride-home .newsletter .support p { font-size:14px; line-height:1.8; }
 .appride-home .newsletter .text-link { font-size:14px; min-height:50px; }
 /* 記事：本文は最大720px、題名は画像外側の共通幅。既存の引用・画像・個別書式を消さない。 */
 .appride-single .appride-article-head { max-width:100%; margin-inline:auto; padding:36px 0 28px; }
 .appride-single .appride-article-title { font-size:clamp(30px,3.5vw,38px); line-height:1.5; }
 .appride-single .appride-article-byline { font-size:14px; }
 .appride-single .appride-article-hero { max-width:920px; margin-inline:auto; }
 .appride-single .appride-article-body { max-width:720px; margin-inline:auto; padding:32px 0 40px; }
 .appride-single .appride-article-section { max-width:720px; margin-inline:auto; padding:28px 0; }
 /* 検索結果：まず縦配置で条件／結果の読み順を維持。横列化は余裕のある900pxから。 */
 .appride-search-results { padding:36px 0 48px; }
 .appride-search-results .appride-results-title { font-size:32px; padding:0; border:0; }
 .appride-search-results .appride-results-heading { margin-bottom:24px; }
 .appride-search-results .appride-results-search { margin:20px 0 0; }
 .appride-search-results .appride-results-conditions { margin:0 0 28px; padding:20px; }
 .appride-search-results .appride-results-query { font-size:19px; }
 .appride-search-results .appride-results-list { margin:0; padding:0; }
 .appride-search-results .appride-result { padding:24px 0; }
 .appride-search-results .appride-result-title { font-size:20px; line-height:1.65; }
 .appride-search-results .appride-result-meta { font-size:14px; }
 .appride-search-results .appride-results-count { font-size:14px; }
 .appride-search-results .wp-block-search__input { font-size:16px; min-height:52px; }
 .appride-search-results .wp-block-search__button { min-width:72px; }
 .appride-applied,.appride-filter-chips :is(a,button) { font-size:13px; }
 .appride-sort-form label { font-size:14px; }
 /* 絞り込み：実条件は1領域。ボタンを通常フローへ戻し、短い横向きで入力を隠さない。 */
 .appride-filter { max-width:920px; padding-bottom:40px; }
 .appride-filter .appride-filter-title { padding:32px 0 20px; font-size:30px; line-height:1.5; }
 .appride-filter .appride-filter-content { padding:24px 0; }
 .appride-filter .appride-filter-intro { font-size:15px; }
 .appride-filter .appride-filter-form label { font-size:14px; }
 .appride-filter .appride-filter-form legend { font-size:19px; }
 .appride-filter .appride-filter-form fieldset p,.appride-filter .appride-filter-hint { font-size:14px; line-height:1.75; }
 .appride-filter .appride-selected { padding:20px; font-size:14px; }
 .appride-filter .appride-date-row { gap:16px; }
 .appride-filter .appride-filter-bottom { position:static; padding:20px 0 0; text-align:right; }
 .appride-filter .appride-filter-bottom button { max-width:360px; min-height:56px; }
 /* 資料・基本索引：空状態と検索を拡張。hiddenは既存!importantを優先する。 */
 .appride-library { padding-bottom:40px; }
 .appride-library .appride-library-hero { padding:36px 0 28px; }
 .appride-library h1 { font-size:32px; }
 .appride-library .appride-library-intro { font-size:15px; }
 .appride-library .appride-library-tabs { margin:0; }
 .appride-library-tabs button { min-height:60px; font-size:16px; }
 .appride-library .appride-library-panel { padding:28px 0; }
 .appride-library .appride-library-panel-title { font-size:21px; }
 .appride-library .appride-library-note { font-size:14px; line-height:1.75; }
 .appride-library .appride-library-empty { padding:32px 24px; }
 .appride-library .appride-library-empty h3 { font-size:21px; }
 .appride-library .appride-library-empty p { font-size:14px; line-height:1.8; }
 .appride-library .appride-library-basic-search { padding:28px 0; }
 .appride-library .appride-library-basic-search h2 { font-size:22px; }
 .appride-library .appride-library-route a { font-size:14px; }
 /* ニュースレター：号の空状態と正式外部案内を維持。本文は読みやすい最大920px。 */
 .appride-newsletter { max-width:920px; padding-bottom:40px; }
 .appride-newsletter .appride-newsletter-hero { padding:36px 0 28px; }
 .appride-newsletter :is(h1,.appride-newsletter-series-label) { font-size:32px; }
 .appride-newsletter .appride-newsletter-intro { font-size:15px; }
 .appride-newsletter .appride-newsletter-latest { padding:28px 0; }
 .appride-newsletter .appride-newsletter-latest h2 { font-size:25px; }
 .appride-newsletter .latest-copy p { margin:12px 0 0; font-size:15px; line-height:1.8; }
 .appride-newsletter .appride-newsletter-archive { padding:32px 0; }
 .appride-newsletter .appride-newsletter-note,.appride-newsletter .appride-newsletter-empty p { font-size:14px; }
 .appride-newsletter .appride-newsletter-empty h3 { font-size:19px; }
 .appride-newsletter .appride-newsletter-external { padding:28px; }
 .appride-newsletter .appride-newsletter-external h2 { font-size:23px; }
 .appride-newsletter .subscribe-copy p { margin:12px 0 20px; font-size:14px; line-height:1.8; }
 .appride-newsletter .appride-newsletter-external-link a { font-size:14px; min-height:56px; }
 /* 媒体紹介：通常本文720px。機能一覧は順序を変えず、関連案内だけ横列を許容する。 */
 .appride-about .appride-about-crumbs { padding:16px 0; }
 .appride-about .appride-about-head { max-width:920px; margin-inline:auto; padding:36px 0 28px; }
 .appride-about h1 { font-size:32px; line-height:1.5; }
 .appride-about .appride-about-lead { font-size:16px; }
 .appride-about .appride-about-section { padding:32px 0; margin-inline:auto; }
 .appride-about .about-body { max-width:720px; }
 .appride-about h2 { font-size:24px; }
 .appride-about .appride-about-section p { font-size:17px; line-height:1.8; }
 .appride-about .appride-about-features li { font-size:14px; padding:20px 0 20px 42px; }
 .appride-about .appride-about-features strong { font-size:17px; }
 .appride-about .appride-about-links li { font-size:14px; }
 .appride-about .appride-about-contact { padding:28px; }
 /* お問い合わせ：内部720pxで入力を1列に保ち、長い確認値だけを自然に折り返す。 */
 .appride-contact { padding-bottom:40px; }
 .appride-contact .appride-contact-crumbs { padding:16px 0; }
 .appride-contact .appride-contact-content { max-width:720px; margin-inline:auto; padding:32px 0 0; }
 .appride-contact h1 { font-size:32px; }
 .appride-contact .appride-contact-lead { font-size:15px; }
 .appride-contact .appride-contact-notice { font-size:14px; }
 .appride-contact .appride-contact-wire-note,.appride-contact-js-note,.appride-contact-hint { font-size:14px; line-height:1.75; }
 .appride-contact-field { margin-bottom:26px; }
 .appride-contact-field label,.appride-contact-field legend { font-size:15px; }
 .appride-contact-field input,.appride-contact-field select,.appride-contact-field textarea { min-height:52px; }
 .appride-contact-field textarea { min-height:180px; }
 .appride-contact-check input { min-height:20px; }
 .appride-contact-check span { font-size:14px; }
 .appride-contact .appride-contact-primary[data-contact-confirm] { display:block; max-width:360px; margin-inline:auto; }
 .appride-contact-confirmation h2 { font-size:25px; }
 .appride-contact-confirmation dd { font-size:16px; }
}
/* 中幅TB：主題3列、新着2列。3番目の記事は読み順のまま次行に置く。 */
@media (min-width:768px) and (width < 1200px) {
 .appride-home .topic-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .appride-home .section.newsletter { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:32px; }
 .appride-home .newsletter .support { padding:0 0 0 24px; border-left:1px solid var(--appride-line); }
 .appride-filter-form .appride-filter-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 32px; }
 .appride-filter-form .appride-filter-content > :not(fieldset),.appride-filter-form .appride-filter-content > fieldset:not([disabled]) { grid-column:1 / -1; }
 .appride-about .appride-about-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
 .appride-contact .appride-contact-confirmation dl { display:grid; grid-template-columns:144px minmax(0,1fr); gap:0 24px; }
 .appride-contact .appride-contact-confirmation dt,.appride-contact .appride-contact-confirmation dd { margin:0; padding:18px 0; border-top:1px solid var(--appride-line); }
 .appride-site.footer { display:grid; grid-template-columns:1fr 1.35fr; gap:36px; }
 .appride-site.footer .footer-links { margin:0; }
}
/* 広めのTB：検索条件や資料説明に独立した左域を与え、一覧・入力の幅を確保する。 */
@media (min-width:900px) and (width < 1200px) {
 .appride-results-heading,.appride-results-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; align-items:start; }
 .appride-results-heading { align-items:center; }
 .appride-search-results .appride-results-search { margin:0; }
 .appride-search-results .appride-results-conditions { margin:0; }
 .appride-results-query-loop { min-width:0; }
 .appride-sort-form select { flex-basis:100%; width:100%; }
 .appride-library .appride-library-panel,.appride-library .appride-library-basic-search { display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; align-items:start; }
 .appride-newsletter .appride-newsletter-external { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
 .appride-newsletter .subscribe-copy p { margin-bottom:0; }
}
/* 横幅1024pxからPCの列数へ接続。ナビは1200pxまで開閉式のまま。 */
@media (min-width:1024px) and (width < 1200px) {
 .appride-home .appride-home-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; align-items:center; padding:44px 0 36px; }
 .appride-home .lead { padding:0; }
 .appride-home .search-box { margin:0; }
 .appride-home .gateway-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
