/* Shared visual system, based on the approved v4 search and facility screens. */
:root{--paper:#fff;--white:#fff;--ink:#10203e;--muted:#536074;--green:#0061ee;--green-dark:#004dbd;--yellow:#0061ee;--coral:#a83c33;--line:#dce1e8;--shell:1160px}
body{background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.75;letter-spacing:.005em}
h1,h2,h3{letter-spacing:-.025em;color:var(--ink)}
a{color:var(--green-dark)}
.brand,.brand-name,.site-header nav a{color:var(--ink)}
.header-inner{min-height:76px;gap:24px}.brand{font-size:23px;letter-spacing:-.045em}.brand-tagline{font-size:13px}.brand-symbol{filter:grayscale(1) brightness(.45)}
.site-header{background:#fff}.header-search input,.field input,.field select{border:1px solid #c7cfdb;border-radius:7px;min-height:48px;background:#fff;font-size:16px;color:var(--ink)}
.header-search{max-width:230px}.header-search button{background:var(--green);color:#fff;border-color:var(--green)}
.page-hero,.page-title,.result-controls{background:#fff;border-color:var(--line)}
.hero-inner{min-height:0;display:block;padding-block:32px 28px;position:relative}.hero-inner h1{font-size:clamp(28px,3.2vw,42px);max-width:850px;margin-top:10px;line-height:1.45}
.eyebrow{color:var(--muted);font-size:14px;letter-spacing:.04em}.eyebrow:before{content:none}
.home-photo{margin:22px 0 8px!important;max-width:100%!important;float:none!important}.home-photo img{width:100%;height:170px;object-fit:cover;object-position:center 52%;border-radius:8px}.home-photo figcaption{padding:5px 0;font-size:13px;color:var(--muted)}
.search-panel,.hero-search .search-panel{background:#fff;border:0;border-radius:0;padding:0;max-width:none;margin-top:20px;box-shadow:none}.search-fields{gap:18px}.field label,.field-group legend{font-size:15px;color:var(--ink)}.field-group{border:0;padding:0;min-width:0}.search-panel .button{align-self:end}
.button{border-radius:7px;border-width:1px;min-height:48px;padding:11px 18px;font-size:16px;background:var(--green);border-color:var(--green);color:#fff;box-shadow:none}.button.ghost{border-color:#bcc8da;color:var(--green-dark);background:#fff}.button.ghost:hover{background:#f2f6fd}
.shortcut,.chips a,.filter-chip,.tag{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:14px}.shortcut{padding:9px 16px;min-height:44px}.shortcut-row{gap:10px}.shortcut[aria-current],.shortcut.active{background:var(--green);color:#fff;border-color:var(--green)}
.search-refinements{border-color:var(--line)}.search-refinements summary{color:var(--green-dark)}.refinement-fields{gap:18px}.refinement-fields small{font-size:14px;color:var(--muted)}
.main-section{padding-block:40px}.section-head{margin-bottom:22px}.section-head p,.source,.result-address,.detail-address,.breadcrumbs,.notice,.seo-slot a,.seo-slot small,.beginner-help span{font-size:14px!important}.page-title h1,.detail-head h1{font-size:clamp(28px,3.3vw,42px);line-height:1.4}.detail-head{padding:28px 0 0;background:#fff}.detail-layout{padding-top:22px}
.result-facility,.facility-result,.seo-facility,.info-panel{border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;padding:24px 0;box-shadow:none}.result-facility h2,.seo-facility h2{font-size:24px;line-height:1.45}.result-facility h2 a,.seo-facility h2 a{color:var(--ink);text-decoration:none}.result-facility h2 a:hover{text-decoration:underline}.result-pending{background:#fff}
.result-facts>div{grid-template-columns:78px minmax(0,1fr);font-size:16px;border-bottom:1px solid var(--line);padding:8px 0}.result-facts dt{color:var(--muted)}.result-facts dd{line-height:1.7}.result-cta .button{background:#fff;border:0;border-top:1px solid var(--line);border-radius:0;justify-content:flex-start;padding-left:0;color:var(--green-dark)}
.facility-photo{margin:0 0 16px;max-width:100%}.facility-photo img{display:block;width:100%;height:180px;object-fit:cover;border-radius:8px}.facility-photo figcaption{font-size:13px;line-height:1.55;margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.facility-photo figcaption a{color:inherit}.seo-facility>.facility-photo{grid-column:1/-1}
.time-chip,.slot-times-primary .time-chip{border:0;background:transparent;border-radius:0;padding:0;min-height:42px;font-size:26px;color:var(--ink);font-weight:750;white-space:nowrap}.time-chips-list{gap:10px 22px}.slot-times-primary .time-chips-list{display:flex;flex-wrap:wrap}.slot-times-primary .time-chip{font-size:clamp(27px,3.1vw,38px);justify-content:flex-start}.slot-duration,.slot-notes,.slot-room,.time-chips-label{font-size:14px}.slot-times-primary{margin-block:18px}.slot-group-head{font-size:16px}
.decision-card{border:0;border-radius:0;padding:0;background:#fff}.verdict h2{font-size:24px}.verdict-none h2{color:var(--ink)}.verdict-sub{color:var(--muted);font-size:16px}.verdict-next{background:#f6f8fc;border:0;border-radius:6px;padding:16px;margin-block:18px}.verdict-next-label{font-size:14px}
.quick-title{margin:24px 0 8px;font-size:18px;font-weight:700;color:var(--ink)}.quick-grid,.join-grid{display:block}.quick-grid>div,.join-grid>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;padding:14px 0}.quick-grid dt,.join-grid dt{font-size:15px;color:var(--muted)}.quick-grid dd,.join-grid dd{font-size:17px;margin:0}.join-grid .join-evidence,.quick-grid small{font-size:14px;line-height:1.7}
.confirmation-needed,.notice,.seo-freshness{background:#f6f8fc;border:0;border-radius:6px;font-size:15px;color:var(--muted);padding:14px 16px}.cta-stack{margin-top:24px;gap:14px}.cta-stack>a:not(.button){padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}.cta-primary{min-height:50px}.sub-link{font-size:16px}.next-actions{font-size:15px}.state-label{font-size:13px;background:#f4f7fc;color:var(--ink);border:0}.state-label .vacancy{color:var(--muted)}
.day-strip{margin-top:8px;border-block:1px solid var(--line);gap:0}.day-cell{min-height:70px;border-radius:0}.day-cell b{font-size:18px}.day-cell span,.day-cell small{font-size:13px}.day-cell[aria-current]{background:#fff;color:var(--green);border-bottom-color:var(--green)}.day-strip-label{font-size:14px}.date-strip [aria-current]{background:#f4f7fc;border-color:var(--green)}.date-strip span{font-size:14px}
.fold{border-color:var(--line);background:#fff;border-radius:0}.fold>summary{padding-block:18px}.fold h2{font-size:22px}.seo-next{border-left:0;padding-left:0}.seo-next>strong{font-size:22px}.seo-compare dt{color:var(--muted)}.seo-compare dd{font-size:16px}.schedule-list{border-top:1px solid var(--line)}.date-block{border:0;padding:0}.schedule-preview{padding-inline:0}.schedule-preview p,.schedule-preview span{font-size:14px}
.guide-card,.guide-table,.guide-route,.guide-cta{background:#fff;border-color:var(--line);border-radius:8px}.guide-table thead,.guide-table tbody th,.guide-route,.guide-cta{background:#f6f8fc;color:var(--ink)}.guide-toc,.guide-section h2{border-color:var(--line)}.guide-route li span{color:var(--green)}.guide-cta .button{background:var(--green);border-color:var(--green);color:#fff}.guide-table::before{background:#f6f8fc;color:var(--muted);font-size:14px}.guide-citation{font-size:14px}
.week-grid thead th,.week-grid tbody th{background:#f6f8fc}.week-grid td.has{background:#edf4ff;color:var(--ink)}.site-footer{background:#f8f9fc;font-size:14px;padding-block:32px}.footer-inner{gap:28px}.site-footer p{font-size:14px}.side-panel{background:#fff;border-color:var(--line)}
@media(max-width:780px){.shell{padding-inline:20px}.header-inner{min-height:66px;gap:12px;flex-wrap:wrap;padding-block:12px}.brand{font-size:20px}.brand-tagline{display:none}.brand-symbol{width:30px;height:34px}.header-inner nav{order:3;width:100%;gap:18px;overflow:auto;flex-wrap:nowrap;padding-top:5px}.header-inner nav a{font-size:14px;white-space:nowrap}.header-search{display:none}.hero-inner{padding-block:22px}.hero-inner h1{font-size:29px}.home-photo img{height:130px}.search-fields{grid-template-columns:1fr;gap:16px}.search-fields .button{width:100%}.field-group{grid-template-columns:1fr 1fr!important}.hero-search{margin-top:18px}.search-panel .search-refinements{margin-top:0}.main-section{padding-block:28px}.detail-head h1{font-size:29px}.detail-layout{padding-top:18px}.result-facility h2,.seo-facility h2{font-size:22px}.quick-grid>div,.join-grid>div{grid-template-columns:86px minmax(0,1fr);gap:12px}.quick-grid dd,.join-grid dd{font-size:16px}.verdict h2{font-size:22px}.day-cell small{font-size:12px}.facility-photo img{height:160px}.footer-inner{display:block}.footer-inner>div+div{margin-top:24px}.seo-facility{padding:22px 0}.seo-next{margin-block:16px}.guide-body p,.guide-body li{font-size:16px}.guide-cards{gap:16px}.next-actions .button{font-size:15px}.detail-jump a{font-size:14px}.result-meta{padding-inline:0}.button{white-space:normal}.date-strip a{flex-basis:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.site-menu{display:none}.brand-question{color:var(--ink);text-shadow:none;border:0}.field-place .field{min-width:0}.field-place select{width:100%}
@media(max-width:780px){.header-inner .desktop-nav{display:none}.site-menu{display:block;margin-left:auto}.site-menu>summary{font-size:25px;line-height:1;list-style:none;cursor:pointer;padding:8px;color:var(--ink)}.site-menu>summary::-webkit-details-marker{display:none}.site-menu[open]>nav{position:absolute;z-index:20;left:0;right:0;top:65px;background:#fff;border-bottom:1px solid var(--line);display:grid;padding:18px 24px;box-shadow:0 10px 20px #10203e0d}.site-menu nav a{padding-block:8px}.brand{font-size:21px}.field-place{display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:12px}}

.condition-text small{display:block;margin-top:.4rem;font-size:.875rem;color:var(--muted)}.selection-context{font-size:.95rem;font-weight:650;color:var(--green-dark);margin:0 0 1rem}
