/* 記事内は控えめな共通導線、一覧では検索と結果の状態をまとめる。 */
.content-search { color: #1f2937; font-family: "Noto Sans JP", sans-serif; }
.content-search--article { width: min(1120px, calc(100% - 32px)); margin: 16px auto 0; padding-block: 12px; border-bottom: 1px solid #d7e6da; }
.content-search--list { margin-top: 24px; padding-bottom: 16px; border-bottom: 1px solid #d7e6da; }
.content-search label { display: block; font-size: 15px; font-weight: 700; }
.content-search__row { display: flex; gap: 8px; margin-top: 8px; max-width: 680px; }
.content-search input { box-sizing: border-box; min-width: 0; width: 100%; border: 1px solid #7a9484; border-radius: 8px; padding: 11px 12px; background: #fff; color: #1f2937; font: inherit; font-size: 16px; line-height: 1.5; }
.content-search input::placeholder { color: #64746a; opacity: 1; }
.content-search button { flex: 0 0 auto; min-height: 46px; padding: 10px 18px; border: 1px solid #2f6f3e; border-radius: 8px; background: #2f6f3e; color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.content-search button:hover { background: #245832; }
.content-search a { color: #245832; text-decoration: underline; text-underline-offset: 4px; }
.content-search a:focus-visible, .content-search button:focus-visible, .content-search input:focus-visible { outline: 3px solid #065f46; outline-offset: 3px; }
.content-search__help, .content-search__status { margin: 10px 0 0; font-size: 13px; line-height: 1.8; }
.content-search__help { color: #52606d; }
.content-search__status { min-height: 1.8em; }
.content-search__clear { display: inline-flex; min-height: 44px; align-items: center; margin-top: 8px; font-size: 14px; }
#article-grid > [hidden], .content-search [hidden] { display: none !important; }
[data-content-search-intro][hidden] { display: none !important; }
@media (max-width: 414px) { .content-search button { padding-inline: 14px; } }
