/* AGA-DESIGN:SEARCH | v319
 * 名前を探す入力欄と、そのページ内を移動する目次は役割を分ける。
 * 候補は名称を主、所在地・会社・路線を従として表示し、駅／路線を区別する。
 * 検索リンクの右矢印は登録済みSVGのみ。右端位置と折返し余白を維持する。
 * 入力文字は16px以上。viewportの拡大制限やtransformによる見かけの縮小は禁止。
 * 下端フェードは候補が下に残る間だけ。候補のクリック・スクロールを妨げない。
 * v319: 場所／医院は同一入力欄で切替。地方を越える候補は別見出しに分ける。
 * 強調は検索に一致した原文だけ。本文・広告へmark背景を広げない。
 * 広告・プロフィール・通常目次のリンクには、これらのスタイルを波及させない。
 */
.aga-search-v319 {
  --aga-search-v319-border: #c7d8cf;
  --aga-search-v319-muted: #52665d;
  --aga-search-v319-surface: #fff;
  display: block;
  min-width: 0;
  margin: 0 0 24px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--aga-search-v319-border);
  font-family: inherit;
  font-feature-settings: "palt";
  text-align: left;
}
.aga-search-v319 .aga-search-v319-title {
  display: flex;
  align-items: center;
  gap: .3em;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  font-size: max(18px, 1.125rem);
  font-weight: 700;
  line-height: 1.65;
  color: #243d35;
}
.aga-search-v319 .aga-search-v319-title::before,
.aga-search-v319 .aga-search-v319-title::after { display: none; content: none; }
.aga-search-v319 .aga-search-v319-title img.aga-ui-icon {
  display: inline-block !important;
  width: 1.15em !important;
  min-width: 1.15em !important;
  height: 1.15em !important;
  min-height: 1.15em !important;
  margin: 0 .2em 0 0 !important;
  padding: 0 !important;
  flex: 0 0 1.15em !important;
  object-fit: contain;
}
.aga-search-v319 label { display: block; margin: 0; font-size: inherit; font-weight: inherit; }
.aga-search-v319 .aga-search-v319-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
}
.aga-search-v319 button[data-aga-search-mode] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  margin: 0;
  padding: 9px 14px;
  border: 1px solid #809b8d;
  border-radius: 6px;
  background: #fff;
  color: #355346;
  font: inherit;
  font-size: max(14px, .875rem);
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
  text-shadow: none;
  appearance: none;
}
.aga-search-v319 button[data-aga-search-mode][aria-pressed="true"] { background: #244c3d; border-color: #244c3d; color: #fff; font-weight: 700; }
.aga-search-v319 button[data-aga-search-mode]:hover { border-color: #244c3d; }
.aga-search-v319 button[data-aga-search-mode]:focus-visible { outline: 3px solid #996500; outline-offset: 3px; }
.aga-search-v319 button[data-aga-search-mode]:disabled { opacity: .6; cursor: default; }
.aga-search-v319 button[data-aga-search-mode]::before,
.aga-search-v319 button[data-aga-search-mode]::after { display: none; content: none; }
.aga-search-v319 input[type="search"][data-aga-search-input] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #809b8d;
  border-radius: 7px;
  background: #fff;
  color: #24352d;
  font-family: inherit;
  font-size: max(16px, 1rem) !important;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  box-shadow: none;
}
.aga-search-v319 input[type="search"][data-aga-search-input]::placeholder { color: #64756c; opacity: 1; }
.aga-search-v319 input[type="search"][data-aga-search-input]:focus-visible,
.aga-search-v319 [data-aga-search-results] a.aga-search-v319-result-link:focus-visible { outline: 3px solid #996500; outline-offset: 3px; }
.aga-search-v319 input[type="search"][data-aga-search-input]:disabled { background: #f2f4f2; color: #536259; }
.aga-search-v319 .aga-search-v319-example,
.aga-search-v319 [data-aga-search-status] {
  display: block;
  margin: 8px 0 0;
  padding: 0;
  color: var(--aga-search-v319-muted);
  font-size: max(14px, .875rem);
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.aga-search-v319 [data-aga-search-status]:empty { display: none; }
.aga-search-v319 [data-aga-search-example][hidden] { display: none !important; }
.aga-search-v319 [data-aga-search-results-wrap] {
  --aga-search-results-left: 4px;
  --aga-search-results-right: 8px;
  --aga-search-results-gutter: 0px;
  position: relative;
  max-width: 720px;
  min-width: 0;
  margin: 12px 0 0;
}
.aga-search-v319 [data-aga-search-results-wrap][hidden] { display: none !important; }
.aga-search-v319 [data-aga-search-results-wrap]::after {
  content: "";
  display: none;
  position: absolute;
  right: calc(var(--aga-search-results-right) + var(--aga-search-results-gutter));
  bottom: 0;
  left: var(--aga-search-results-left);
  height: 32px;
  margin: 0;
  padding: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .18));
  pointer-events: none;
  z-index: 1;
}
.aga-search-v319 [data-aga-search-results-wrap].has-more-below::after { display: block; }
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  box-sizing: border-box;
  max-height: 360px;
  max-height: min(360px, 55vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  margin: 0;
  padding: 4px var(--aga-search-results-right) 4px var(--aga-search-results-left);
  border: 0;
  list-style: none;
  scroll-padding-block: 4px;
  scrollbar-gutter: stable;
}
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] > li {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  list-style: none;
}
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] > li::before { display: none; content: none; }
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] > li.aga-search-v319-group {
  margin: 12px 0 0;
  padding: 7px 10px;
  border-left: 3px solid #587766;
  background: #edf2ef;
}
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] > li.aga-search-v319-group:first-child { margin-top: 0; }
.aga-search-v319 [data-aga-search-results] .aga-search-v319-group-title {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #243d35;
  font-size: max(14px, .875rem);
  font-weight: 700;
  line-height: 1.5;
  box-shadow: none;
}
.aga-search-v319 [data-aga-search-results] .aga-search-v319-group-title::before,
.aga-search-v319 [data-aga-search-results] .aga-search-v319-group-title::after { display: none; content: none; }
.aga-search-v319 [data-aga-search-results] a.aga-search-v319-result-link {
  display: flex;
  position: relative;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  height: auto;
  padding: 12px 42px 12px 14px;
  border: 1px solid var(--aga-search-v319-border);
  border-radius: 7px;
  background: var(--aga-search-v319-surface);
  color: #00e;
  font-size: max(16px, 1rem);
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  overflow-wrap: anywhere;
}
/* The inherited hub/comparison link rule deliberately uses !important.
   Keep the name underlined while its type and location remain plain text. */
.aga-search-v319 [data-aga-search-results-wrap] [data-aga-search-results] a.aga-search-v319-result-link[href] { text-decoration: none !important; }
.aga-search-v319 [data-aga-search-results] a.aga-search-v319-result-link:hover { background: #f0f6f2; }
.aga-search-v319 .aga-search-v319-result-label { display: block; min-width: 0; }
.aga-search-v319 .aga-search-v319-result-type {
  display: inline-block;
  margin: 0 .6em .2em 0;
  padding: 1px 6px;
  border: 1px solid #d2e1d8;
  border-radius: 4px;
  background: #edf4ef;
  color: #355346;
  font-size: max(12px, .75rem);
  font-weight: 400;
  line-height: 1.5;
  vertical-align: .1em;
}
.aga-search-v319 .aga-search-v319-result-name { display: inline; font-weight: 700; text-decoration: underline; }
.aga-search-v319 [data-aga-search-results] a.aga-search-v319-result-link:hover .aga-search-v319-result-name { text-decoration: none; }
.aga-search-v319 .aga-search-v319-result-meta,
.aga-search-v319 .aga-search-v319-result-reading {
  display: block;
  margin: 4px 0 0;
  color: var(--aga-search-v319-muted);
  font-size: max(14px, .875rem);
  font-weight: 400;
  line-height: 1.65;
}
/* v338: keep confirmed station and place readings beside their own labels.
   Supplemental matches stay bounded and can be revealed without another fetch. */
.aga-search-v319 .aga-search-v338-result-location { margin-top: 8px; }
.aga-search-v319 .aga-search-v338-result-location-reading { margin-top: 2px; overflow-wrap: anywhere; }
.aga-search-v319 [data-aga-search-results-wrap] ul[data-aga-search-results] > li[hidden] { display: none !important; }
.aga-search-v319 [data-aga-search-results] button.aga-search-v338-context-toggle {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #809b8d;
  border-radius: 6px;
  background: #f4f8f5;
  color: #244c3d;
  font: inherit;
  font-size: max(14px, .875rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: none;
  text-shadow: none;
  appearance: none;
  cursor: pointer;
}
.aga-search-v319 [data-aga-search-results] button.aga-search-v338-context-toggle:hover { background: #e8f1eb; }
.aga-search-v319 [data-aga-search-results] button.aga-search-v338-context-toggle:focus-visible { outline: 3px solid #996500; outline-offset: 3px; }
.aga-search-v319 [data-aga-search-results] button.aga-search-v338-context-toggle::before,
.aga-search-v319 [data-aga-search-results] button.aga-search-v338-context-toggle::after { display: none; content: none; }
.aga-search-v319 [data-aga-search-results] mark.aga-search-v319-match {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: #fff176;
  color: inherit;
  font: inherit;
  line-height: inherit;
  box-shadow: none;
}
.aga-search-v319-navigation { display: block; min-width: 0; margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid #dbe5df; }
.aga-search-v319-navigation .aga-search-actions.aga-search-hierarchy-v316 { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.aga-search-v319-navigation .aga-search-actions.aga-search-hierarchy-v316 a { box-sizing: border-box; margin: 0; min-height: 44px; height: auto; max-width: 100%; }
/* TOC links place their down-arrow at right. These scope links contain a
   separate leading place/train icon: keep only the trailing chevron absolute. */
.aga-search-v319-navigation .aga-search-actions.aga-search-hierarchy-v316 a > img.aga-ui-icon:not(.aga-ui-icon-trailing) {
  position: static !important;
  display: inline-block !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 1.15em !important;
  min-width: 1.15em !important;
  height: 1.15em !important;
  min-height: 1.15em !important;
  margin: 0 .45em 0 0 !important;
  transform: none !important;
  flex: 0 0 1.15em !important;
}
.aga-search-v319 .aga-search-v319-result-arrow {
  display: flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  top: 50%;
  right: 14px;
  width: 14px;
  height: 14px;
  margin: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.aga-search-v319 .aga-search-v319-result-arrow img.aga-ui-icon {
  position: static !important;
  display: block !important;
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  flex: 0 0 14px !important;
}
.aga-search-v319-fallback { margin: 16px 0 24px; }
p.aga-search-v319-fallback > a[href] {
  position: relative;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 48px;
  height: auto;
  padding: 10px 40px 10px 14px;
  border: 1px solid #c7d8cf;
  border-radius: 7px;
  background: #f4f8f5;
  color: #00e;
  font-size: max(16px, 1rem);
  line-height: 1.65;
  text-decoration: underline;
  overflow-wrap: anywhere;
}
p.aga-search-v319-fallback > a[href]:hover { text-decoration: none; }
p.aga-search-v319-fallback > a[href]:focus-visible { outline: 3px solid #996500; outline-offset: 3px; }
p.aga-search-v319-fallback > a[href] > img.aga-ui-icon {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
}
@media (forced-colors: active) {
  .aga-search-v319 [data-aga-search-results-wrap].has-more-below::after { display: none; }
  .aga-search-v319 [data-aga-search-results] a.aga-search-v319-result-link,
  .aga-search-v319 input[type="search"][data-aga-search-input] { border-color: ButtonText; }
  .aga-search-v319 [data-aga-search-results] mark.aga-search-v319-match { background: Mark; color: MarkText; }
}
