/* AGA-DESIGN:CLINIC | v307 / 2026-10-08
 * 目的：医院名→住所・最寄駅などの基本情報→料金・診療・アクセスの順に把握しやすくする。
 * 維持：パンくずはh1より上、プロフィールは通常記事に合わせた専用デザインを優先。
 * 実装：冒頭は既存の所在地・駅距離表示を共有。本文16px相当・注記14px相当、行間1.75を基準にする。
 * 維持：広告ボタンの色は広告設定へ委ね、本文の青リンク指定を上書きしない。スマホの重なる余白を増やさない。
 * 変更時確認：住所や医院名が長い場合、情報未確認の場合、スマホ幅、目次からの移動。
 * END AGA-DESIGN */
/* v283: clinic detail only; shared data and blue underlined links are preserved. */
.aga-clinic-detail{--aga-detail-ink:#243d35;--aga-detail-muted:#51665f;--aga-detail-accent:#18664d;--aga-detail-line:#d5e3dc;--aga-detail-soft:#f1f7f3;color:var(--aga-detail-ink);font-size:1rem;line-height:1.75;overflow-wrap:anywhere;min-width:0;max-width:100%}
.aga-clinic-detail,.aga-clinic-detail *,.aga-clinic-detail *::before,.aga-clinic-detail *::after{box-sizing:border-box}
.agaclinic-db-public-page.aga-clinic-detail>article>h1{margin:0 0 24px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--aga-detail-ink);font-size:clamp(1.5rem,3vw,2rem);line-height:1.6;letter-spacing:.01em;overflow-wrap:anywhere;word-break:normal}
.agaclinic-db-public-page.aga-clinic-detail>article>h1::before,.agaclinic-db-public-page.aga-clinic-detail>article>h1::after{display:none;content:none}
.aga-clinic-detail a[href]:not(.aga-online-guide-cta):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(:where(.aga-profile-v299 *,.post-profile-before-toc *)){color:#00e!important;text-decoration:underline;text-underline-offset:.2em}
.aga-clinic-detail .aga-clinic-detail-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:24px;padding:24px;border:1px solid var(--aga-detail-line);border-top:4px solid var(--aga-detail-accent);border-radius:12px;background:var(--aga-detail-soft)}
.aga-clinic-detail .aga-clinic-detail-overview-copy,.aga-clinic-detail .aga-clinic-detail-actions{min-width:0}
.aga-clinic-detail .aga-clinic-detail-overview-copy:only-child{grid-column:1/-1}
.aga-clinic-detail .aga-clinic-detail-kicker{margin:0 0 8px;color:var(--aga-detail-accent);font-size:.875rem;font-weight:700;letter-spacing:.06em;line-height:1.6}
.aga-clinic-detail .aga-clinic-detail-intro{margin:0;font-size:1.05rem;font-weight:600;line-height:1.75}
.aga-clinic-detail .aga-clinic-official{margin:0}
.aga-clinic-detail .aga-clinic-official a{display:flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:14px 18px;border:1px solid #7ca990;border-radius:8px;background:#fff;color:#00e;text-decoration:underline;text-align:center;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-official a:hover{background:#e8f1eb}
.aga-clinic-detail .aga-clinic-detail-nav{margin:24px 0 32px;padding:20px 24px;border:1px solid var(--aga-detail-line);border-radius:10px;background:#fff}
.aga-clinic-detail .aga-clinic-detail-nav-title{margin:0 0 12px;font-weight:700;font-size:.875rem;color:var(--aga-detail-muted)}
.aga-clinic-detail .aga-clinic-detail-nav > ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-nav > ul > li{margin:0;padding:0;min-width:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-nav > ul > li > a{display:flex;align-items:center;min-height:46px;height:100%;padding:10px 12px;border:1px solid #e2eae5;border-radius:6px;background:#f8faf8;font-size:1rem;line-height:1.65}
.aga-clinic-detail .aga-clinic-detail-nav > ul > li > a:hover{background:#eaf3ec;border-color:#97b9a5}
.aga-clinic-detail .aga-clinic-detail-content{display:grid;gap:28px;min-width:0}
.aga-clinic-detail .aga-clinic-detail-section{min-width:0;max-width:100%;margin:0;padding:0;border:1px solid var(--aga-detail-line);border-radius:12px;background:#fff;scroll-margin-top:100px}
.aga-clinic-detail .aga-clinic-detail-section>.aga-clinic-detail-section-title{display:flex;align-items:baseline;gap:10px;min-width:0;margin:0;padding:20px 24px;border:0;border-bottom:1px solid var(--aga-detail-line);border-radius:11px 11px 0 0;background:var(--aga-detail-soft);box-shadow:none;color:var(--aga-detail-ink);font-size:1.25rem;font-weight:700;line-height:1.65;letter-spacing:.01em;word-break:normal;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-detail-section-title::before,.aga-clinic-detail .aga-clinic-detail-section-title::after{display:none;content:none}
.aga-clinic-detail .aga-clinic-detail-section-title .aga-ui-icon{flex-shrink:0}
.aga-clinic-detail .aga-clinic-detail-heading-text{min-width:0}
.aga-clinic-detail .aga-clinic-detail-section-body{min-width:0;padding:24px}
.aga-clinic-detail .aga-clinic-detail-section-body>:first-child{margin-top:0}
.aga-clinic-detail .aga-clinic-detail-section-body>:last-child{margin-bottom:0}
.aga-clinic-detail h3{max-width:100%;font-size:1.05rem;line-height:1.75;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-detail-basics{width:100%;margin:0;border:0;border-collapse:collapse;table-layout:fixed;background:#fff}
.aga-clinic-detail .aga-clinic-detail-basics th,.aga-clinic-detail .aga-clinic-detail-basics td{padding:16px;border:1px solid var(--aga-detail-line);text-align:left;vertical-align:top;line-height:1.75;word-break:normal;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-detail-basics th{width:27%;background:#f5f8f5;font-size:.875rem;font-weight:700;color:var(--aga-detail-muted)}
.aga-clinic-detail .aga-clinic-detail-basics td{background:#fff;font-size:1rem}
.aga-clinic-detail .aga-clinic-detail-basics td a{display:inline-block;padding:6px 0;line-height:1.8}
.aga-clinic-detail .aga-auto-prices{min-width:0;margin:0}
.aga-clinic-detail .aga-auto-prices .aga-auto-drug-heading{margin:0;font-size:1.1rem;line-height:1.7;box-shadow:none;border:0;background:transparent;color:var(--aga-detail-ink)}
.aga-clinic-detail .aga-auto-prices .aga-auto-drug-heading::before,.aga-clinic-detail .aga-auto-prices .aga-auto-drug-heading::after{display:none;content:none}
.aga-clinic-detail .aga-auto-price-plan,.aga-clinic-detail .aga-auto-offers>li,.aga-clinic-detail .aga-auto-drug-body{min-width:0;overflow-wrap:anywhere}
.aga-clinic-detail .aga-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;min-width:0;margin:0}
.aga-clinic-detail .aga-service-group{min-width:0;max-width:100%}
.aga-clinic-detail .aga-service-group>h3{margin:0;padding:12px 18px;color:#294d5a;font-size:1rem;font-weight:700;line-height:1.7;letter-spacing:.03em;border:0;border-bottom:1px solid #dce5e8;background:#eef4f5;box-shadow:none}
.aga-clinic-detail .aga-service-group>h3::before,.aga-clinic-detail .aga-service-group>h3::after{display:none;content:none}
.aga-clinic-detail .aga-service-unknown{margin:16px 0 0;padding:12px 16px;border:1px solid #e5dfcc;border-left:3px solid #a28a46;border-radius:5px;background:#fcfaf3;color:#615638;font-size:.875rem;line-height:1.75}
.aga-clinic-detail .aga-clinic-hours214-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.aga-clinic-detail .aga-public-media{min-width:0;max-width:100%;margin:16px 0}
.aga-clinic-detail .aga-map-frame{max-width:100%}
.aga-clinic-detail .aga-clinic-detail-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-branches>li{min-width:0;margin:0;padding:16px;border:1px solid var(--aga-detail-line);border-radius:8px;background:#f8faf8;list-style:none}
.aga-clinic-detail .aga-clinic-detail-branches>li>a{display:block;min-height:44px;padding:7px 0;font-weight:700;line-height:1.75}
.aga-clinic-detail .aga-clinic-detail-branch-address{display:block;margin-top:5px;font-size:.875rem;line-height:1.8;color:var(--aga-detail-muted)}
.aga-clinic-detail .aga-clinic-detail-related{min-width:0;margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--aga-detail-line)}
.aga-clinic-detail .aga-clinic-detail-related:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.aga-clinic-detail .aga-clinic-detail-related>h3{margin:0 0 10px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--aga-detail-muted);font-size:1rem}
.aga-clinic-detail .aga-clinic-detail-related>h3::before,.aga-clinic-detail .aga-clinic-detail-related>h3::after{display:none;content:none}
.aga-clinic-detail .aga-clinic-detail-related ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-related li{min-width:0;max-width:100%;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-related a{display:block;min-height:44px;padding:9px 14px;border:1px solid var(--aga-detail-line);border-radius:6px;background:#f8faf8;line-height:1.7}
.aga-clinic-detail .aga-clinic-detail-sources{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-sources li{min-width:0;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-detail-sources a{display:inline-block;min-height:44px;padding:8px 0;font-size:.875rem}
.aga-clinic-detail #aga-clinic-detail-sources .aga-clinic-detail-section-body{font-size:.875rem;color:var(--aga-detail-muted)}
.aga-clinic-detail a:focus-visible,.aga-clinic-detail summary:focus-visible{outline:3px solid #9b6500;outline-offset:3px}
.aga-clinic-detail .aga-clinic-breadcrumbs{margin:0 0 24px;color:var(--aga-detail-muted);font-size:.875rem;line-height:1.75}
.aga-clinic-detail .aga-clinic-breadcrumbs-list{display:flex;align-items:center;flex-wrap:wrap;gap:0 10px;margin:0;padding:0;list-style:none}
.aga-clinic-detail .aga-clinic-breadcrumbs-list>li{display:flex;align-items:center;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-breadcrumbs-list>li+li::before{content:"\203A";flex:0 0 auto;margin-right:10px;color:#63776f}
.aga-clinic-detail .aga-clinic-breadcrumbs a{display:inline-block;min-height:44px;padding:10px 0;overflow-wrap:anywhere}
.aga-clinic-detail .aga-clinic-breadcrumbs-current{min-width:0;padding:10px 0;color:var(--aga-detail-muted);overflow-wrap:anywhere}
@media(max-width:800px){
 .aga-clinic-detail .aga-clinic-detail-overview{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px}
 .aga-clinic-detail .aga-clinic-detail-nav > ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .aga-clinic-detail{font-size:1rem}
 .aga-clinic-detail .aga-clinic-detail-overview{padding:20px 16px}
 .aga-clinic-detail .aga-clinic-detail-intro{font-size:1rem}
 .aga-clinic-detail .aga-clinic-detail-nav{margin:20px 0 24px;padding:16px 12px}
 .aga-clinic-detail .aga-clinic-detail-nav > ul > li > a{padding:10px;font-size:1rem}
 .aga-clinic-detail .aga-clinic-detail-content{gap:24px}
 .aga-clinic-detail .aga-clinic-detail-section>.aga-clinic-detail-section-title{padding:16px;font-size:1.12rem;gap:8px}
 .aga-clinic-detail .aga-clinic-detail-section-body{padding:16px 12px}
 .aga-clinic-detail .aga-clinic-detail-basics,.aga-clinic-detail .aga-clinic-detail-basics tbody,.aga-clinic-detail .aga-clinic-detail-basics tr,.aga-clinic-detail .aga-clinic-detail-basics th,.aga-clinic-detail .aga-clinic-detail-basics td{display:block;width:100%}
 .aga-clinic-detail .aga-clinic-detail-basics th{padding:9px 12px;border-bottom:0}
 .aga-clinic-detail .aga-clinic-detail-basics td{padding:12px;font-size:1rem}
 .aga-clinic-detail .aga-clinic-detail-basics tr+tr th{border-top:0}
 .aga-clinic-detail .aga-service-group>h3{padding:11px 14px}
 .aga-clinic-detail .aga-clinic-detail-branches{grid-template-columns:minmax(0,1fr)}
 .aga-clinic-detail .aga-clinic-detail-branches>li{padding:12px}
 .aga-clinic-detail .aga-clinic-detail-related a{padding:10px 12px;font-size:1rem}
 .aga-clinic-detail .aga-clinic-official a{padding:12px;font-size:1rem}
}
@media print{
 .aga-clinic-detail .aga-clinic-detail-overview,.aga-clinic-detail .aga-clinic-detail-section{break-inside:avoid;box-shadow:none}
 .aga-clinic-detail .aga-clinic-detail-nav{display:none}
 .aga-clinic-detail .aga-clinic-detail-section{margin-bottom:20px}
}

/* v286: centered breadcrumb separators, independent of theme pseudo styles. */
.aga-clinic-detail .aga-clinic-breadcrumbs ol,.aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li{align-items:center}
.aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li+li::before{content:"\203A";position:static;display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto;inset:auto;width:auto;height:1em;min-height:0;margin:0 .7em;padding:0;border:0;background:none;transform:none;font:inherit;line-height:1}
.aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li:first-child::before{content:none;display:none}

/* v307: locality summary is the same guarded fragment as the access section.
 * Keep its station distance qualifier and source/uncertainty captions visible. */
.aga-clinic-detail .aga-clinic-detail-overview-location{margin-top:16px;padding-top:16px;border-top:1px solid var(--aga-detail-line);font-weight:400}
.aga-clinic-detail .aga-clinic-detail-overview-location .aga-public-media{margin:0}
.aga-clinic-detail .aga-media-location-details .aga-media-address,.aga-clinic-detail .aga-media-location-details .aga-media-station{font-size:1rem;line-height:1.75}
.aga-clinic-detail .aga-media-location-details .aga-media-station{margin:8px 0 0}
.aga-clinic-detail .aga-media-location-details .aga-media-caption{font-size:.875rem;line-height:1.75}
.aga-clinic-detail .aga-clinic-detail-access-jump{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:8px 0;line-height:1.75;font-size:1rem}
.aga-clinic-detail .aga-clinic-detail-section-body>p{line-height:1.75}
.aga-clinic-detail .aga-clinic-detail-section-body>h3{margin:24px 0 12px;font-weight:700}
.aga-clinic-detail .aga-clinic-detail-section-body>h3:first-child{margin-top:0}
/* Direction is decorative: render only an assigned SVG and reserve its own space. */
.aga-clinic-detail :is(.aga-clinic-detail-nav>ul>li>a,.aga-clinic-detail-access-jump):has(>img.aga-ui-icon-trailing){position:relative;padding-right:36px}
.aga-clinic-detail :is(.aga-clinic-detail-nav>ul>li>a,.aga-clinic-detail-access-jump)>img.aga-ui-icon-trailing{position:absolute!important;inset-inline-end:10px;top:50%;transform:translateY(-50%);width:14px!important;height:14px!important;margin:0!important;flex:none}
.aga-clinic-detail .aga-clinic-detail-overview-location .aga-media-location-details{padding:0;border:0;background:transparent}

/* AGA-DESIGN v308: compact wrapping breadcrumbs without stretching separate
 * levels. Separators align with the first text line, including long clinic names. */
@media(max-width:800px){
 .aga-clinic-detail .aga-clinic-breadcrumbs{margin-bottom:16px;line-height:1.65}
 .aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list{align-items:flex-start;gap:2px 0}
 .aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li{align-items:flex-start;line-height:1.65}
 .aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li+li::before{align-self:flex-start;display:block;width:.65em;height:auto;line-height:1.65;margin:3px .55em 0;padding:0;white-space:nowrap}
 .aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li>a,.aga-clinic-detail .aga-clinic-breadcrumbs .aga-clinic-breadcrumbs-list>li>span{display:block;min-width:0;max-width:100%;min-height:28px;padding:3px 0;line-height:1.65;overflow-wrap:anywhere}
}

/* v341: text links on the clinic page follow the same mouse-hover behaviour
 * as its route links. Shared styles still contain important decoration rules,
 * so the local hover/coarse-pointer reset must override that priority. Keep
 * profiles, advertisements and map controls under their own styling rules. */
@media (hover:hover) and (pointer:fine){
    .agaclinic-db-public-page.aga-clinic-detail a[href]:not(.aga-online-guide-cta):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(:where(.aga-profile-v299 *,.post-profile-before-toc *,.aga-clinic-detail-link *,.aga-online-guide-card *,.aga-ad-sticky *)):hover{
        text-decoration-line:none!important;
    }
    .agaclinic-db-public-page.aga-clinic-detail a[href]:hover>:is(.aga-route-link-text,.aga-transfer-link-name,.aga-search-station-name){text-decoration-line:none}
}
/* Touch browsers may retain :hover after a tap. This decoration-only reset
 * never changes geometry, reveals content, or intercepts native navigation.
 * Coloured-route/numbered-station anchors remain undecorated containers. */
@media (hover:none), (pointer:coarse){
    .agaclinic-db-public-page.aga-clinic-detail a[href]:not(.aga-online-guide-cta):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(.aga-route-colored-link):not(.aga-route-station-card):not(.aga-clinic-related-link):not(:where(.aga-profile-v299 *,.post-profile-before-toc *,.aga-clinic-detail-link *,.aga-online-guide-card *,.aga-ad-sticky *)):hover{
        text-decoration-line:underline!important;
    }
}
