:root{--ink:#202d3d;--muted:#5c6b7e;--accent:#285b9a;--accent-dark:#214d83;--tint:#edf3fc;--canvas:#f5f7fa;--surface:#fff;--line:#dce3eb;--positive:#14745d;--negative:#b04d3b;--radius:10px;--shadow:0 4px 18px #18324b08;font-family:"Yu Gothic UI","Meiryo",sans-serif;font-size:16px;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{transition:background-color .16s ease,border-color .16s ease,color .16s ease}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:default}svg{width:21px;height:21px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.04em;font-weight:750;line-height:1.4}h2{font-size:18px;line-height:1.5;font-weight:700}h3{font-size:17px;line-height:1.6}.muted{color:var(--muted)}.positive{color:var(--positive)}.negative{color:var(--negative)}small{font-size:14px;font-weight:500;margin-left:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:12px;top:-60px;z-index:20;background:white;padding:14px}.skip:focus{top:12px}.layout{display:grid;grid-template-columns:204px minmax(0,1fr);min-height:100vh}.sidebar{padding:32px 18px 22px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--accent);font-size:25px;letter-spacing:-.8px;font-weight:760;padding:0 12px}.brand svg{width:34px;height:34px}.brand span{color:var(--ink)}.app-nav{display:flex;flex-direction:column;gap:8px;margin-top:44px}.nav-item{display:flex;align-items:center;gap:12px;min-height:48px;border:0;background:transparent;border-radius:8px;text-align:left;padding:12px;color:var(--muted);font-size:15px;white-space:nowrap}.nav-item:hover{background:var(--canvas)}.nav-item.active{background:var(--tint);color:var(--accent);font-weight:700}.nav-count{margin-left:auto;display:grid;place-items:center;background:var(--canvas);border-radius:5px;min-width:23px;height:23px;font-size:14px}.sidebar-footer{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.sidebar-footer strong{display:block;font-size:16px;color:var(--ink);margin-top:7px}.workspace{min-width:0}.utility{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;padding:16px 34px;min-height:64px;color:var(--muted);font-size:14px}.utility>span:first-child{display:flex;align-items:center;gap:8px}.utility svg{width:17px;height:17px}.demo-badge{display:inline-flex;align-items:center;border:1px solid #d4dce6;background:#f8fafc;border-radius:5px;font-size:14px;padding:4px 10px;color:#526174;white-space:nowrap}main{max-width:1480px;margin:auto;padding:30px 34px 16px;outline:none}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.subtitle{font-size:15px;color:var(--muted);margin-top:6px}.date-heading{font-size:16px;font-weight:600;color:var(--muted)}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.filter-row+.filter-row{margin-top:16px;padding-top:16px;border-top:1px solid #edf0f4}.segments{display:flex;gap:3px;padding:3px;background:var(--canvas);border-radius:8px;width:max-content;max-width:100%;border:1px solid var(--line)}.segments button{min-height:40px;padding:8px 19px;border:0;border-radius:5px;background:transparent;color:var(--muted);white-space:nowrap;font-size:15px}.segments button.selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #203b5820;font-weight:700}.segments button:hover{color:var(--accent)}.segments button span{margin-left:7px;font-size:14px;font-weight:400}.date-controls{display:flex;align-items:center;gap:12px}.date-field{display:flex;gap:8px;align-items:center;min-width:0}.date-field input{width:160px;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:8px 10px;color:var(--ink);background:#fff;font-size:14px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #c5d0dd;border-radius:7px;min-height:44px;background:#fff;padding:0 12px;max-width:380px;flex:1;color:var(--muted);min-width:0}.search-field input{width:100%;min-width:0;border:0;background:transparent;outline:0;padding:10px 0;font-size:15px;color:var(--ink)}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search-field input:focus-visible{outline:0}.search-field svg{width:19px;height:19px}.toggle-label{display:flex;align-items:center;gap:9px;font-size:14px;min-height:44px;cursor:pointer}.toggle-label input{width:18px;height:18px;accent-color:var(--accent)}.list-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 13px;gap:15px}.list-title>span{font-size:14px;color:var(--muted)}.count{color:var(--muted);font-size:15px;font-weight:500;margin-left:8px}.list-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table-header,.hall-row{display:grid;grid-template-columns:minmax(235px,1.8fr) minmax(142px,.9fr) minmax(105px,.7fr) minmax(80px,.65fr) 54px;align-items:center;gap:18px;padding:12px 20px}.table-header{background:#f8fafc;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line)}.hall-row{min-height:128px;border-bottom:1px solid #e7ecf2;padding-top:13px;padding-bottom:13px}.hall-row:last-child{border-bottom:0}.hall-row:hover{background:#fcfdff}.hall-info{min-width:0}.hall-name-row{display:flex;align-items:center;justify-content:space-between;gap:3px}.hall-name{background:transparent;border:0;padding:3px 0;font-size:17px;font-weight:700;min-height:38px;text-align:left}.hall-name:hover,.event-card h3 button:hover,.comparison-card h2 button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.location{display:block;color:var(--muted);font-size:14px;line-height:1.6}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;min-width:44px;padding:8px;border:0;background:transparent;color:var(--muted);border-radius:7px}.icon-button:hover{background:var(--tint);color:var(--accent)}.favorite svg{width:19px;height:19px}.is-favorite{color:var(--accent)}.is-favorite svg{fill:var(--tint)}.event-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.badge{display:inline-flex;align-items:center;font-size:13px;font-weight:650;min-height:24px;border-radius:4px;background:var(--tint);color:var(--accent);padding:2px 8px;white-space:nowrap}.badge.neutral{background:#f2f0eb;color:#75633f}.event-name,.no-event{font-size:14px;color:var(--muted)}.metric>strong{display:block;font-family:"Segoe UI",sans-serif;font-size:27px;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.4}.metric>span:not(.mobile-label),.sample-days>span:not(.mobile-label){display:block;font-size:13px;color:var(--muted);margin-top:5px;line-height:1.5}.sample-days>strong{font-family:"Segoe UI",sans-serif;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.sample-days>span.low-sample,.low-sample{color:#8b5e20;font-size:13px}.sparkline{width:100%;height:56px;max-width:180px;display:block;color:var(--accent)}.row-chart{min-width:0}.row-chart .muted{font-size:13px}.compare-check{display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}.compare-check input,.picker-hall input{width:19px;height:19px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.compare-check>span{display:none}.mobile-label{display:none}.next-section{display:flex;justify-content:space-between;align-items:center;margin:30px 0 13px}.text-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:0;background:transparent;color:var(--accent);padding:4px 0;font-size:14px;font-weight:600;text-align:left}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.text-button svg{width:17px;height:17px}.schedule-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.event-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.event-card-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}.event-card-top time{font-family:"Segoe UI",sans-serif;font-size:16px;font-variant-numeric:tabular-nums;color:var(--muted)}.event-card-top .icon-button{margin-left:auto;margin-right:-9px;margin-top:-8px;margin-bottom:-8px}.event-card h3 button{border:0;background:transparent;font-size:19px;font-weight:700;line-height:1.6;text-align:left;padding:0;min-height:36px}.event-hall{display:flex;align-items:center;gap:15px;font-size:16px;border:0;background:transparent;padding:9px 0;text-align:left}.event-hall svg{width:17px;height:17px;color:var(--accent)}.event-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;gap:12px;font-size:14px;color:var(--muted)}.event-card.compact{padding:17px 18px}.event-card.compact h3 button{font-size:16px}.event-card.compact .event-hall{font-size:15px}.event-card.compact .location{display:none}.event-card.compact .event-card-bottom{margin-top:10px;padding-top:8px;font-size:13px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:7px;padding:10px 17px;font-weight:650;font-size:15px;white-space:nowrap}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.secondary{border-color:var(--line);background:#fff;color:var(--accent)}.button.secondary:hover{background:var(--tint);border-color:var(--accent)}.button svg{width:18px;height:18px}.compare-tray{position:sticky;bottom:16px;background:#fff;border:1px solid #b7c8df;box-shadow:0 4px 24px #243d6414;border-radius:10px;padding:13px 16px;margin-top:25px;display:flex;align-items:center;gap:18px;z-index:3}.tray-label{display:flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}.tray-label strong{font-size:23px;color:var(--accent);font-family:"Segoe UI",sans-serif}.tray-label small{font-size:14px;color:var(--muted)}.tray-halls{display:flex;gap:7px;flex:1}.tray-halls button{display:flex;align-items:center;gap:5px;min-height:36px;padding:5px 8px;border:0;border-radius:5px;background:var(--canvas);font-size:13px;white-space:nowrap}.tray-halls svg{height:14px;width:14px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1480px;margin:4px auto 0;padding:18px 34px 22px;color:var(--muted);font-size:13px}.app-footer button{display:flex;align-items:center;gap:7px;border:0;background:transparent;font-size:14px;min-height:44px;color:var(--muted)}.app-footer svg{height:17px;width:17px}.empty{padding:50px 20px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:18px}.empty>svg{width:30px;height:30px;color:var(--muted)}.empty p{font-size:16px;line-height:1.7}.compare-limit-message{background:#fff4e1;color:#784b14;border:1px solid #e7c69b;border-radius:7px;padding:12px 16px;font-size:14px;margin:12px 0}
body{background:var(--canvas)}
/* B: 予定を主役にした横ナビゲーションと週間表示。 */
body[data-concept=b]{--accent:#a45230;--accent-dark:#8c3f20;--tint:#fbefe6;--canvas:#faf8f5;--line:#e3ddd5;--ink:#332d29;--muted:#716359;--positive:#24715c;--radius:7px}.horizontal{display:block}.horizontal .sidebar{position:static;height:auto;flex-direction:row;justify-content:space-between;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:18px max(30px,calc((100vw - 1220px)/2));gap:30px}.horizontal .app-nav{margin:0;flex-direction:row;gap:7px}.horizontal .brand{padding:0}.horizontal .utility{padding:14px max(30px,calc((100vw - 1160px)/2));background:var(--canvas);border-bottom:0}.horizontal main{max-width:1220px;padding-top:20px}.horizontal h1{font-size:31px}.horizontal .app-footer{max-width:1220px}.week-panel{padding:20px 25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.week-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.week-heading h2{font-size:20px}.week-heading .date-field input{width:158px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.week-day{border:1px solid transparent;border-radius:6px;background:transparent;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:116px;padding:8px 6px;color:var(--muted)}.week-day strong{font-family:"Segoe UI",sans-serif;font-size:30px;font-weight:600;color:var(--ink);line-height:1.25}.week-day>span{font-size:14px}.week-day.weekend>span:first-child{color:var(--accent)}.week-day:hover{background:var(--canvas)}.week-day.selected{background:var(--accent);color:#fff}.week-day.selected strong,.week-day.selected.weekend>span:first-child{color:#fff}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;margin-top:4px}.event-filters{display:flex;gap:9px;margin-bottom:18px}.chip{min-height:40px;border:1px solid var(--line);border-radius:30px;padding:8px 18px;background:var(--surface);font-size:14px;color:var(--muted)}.chip.selected{background:var(--tint);border-color:var(--accent);color:var(--accent);font-weight:700}.event-list{display:flex;flex-direction:column;gap:16px}.event-list .event-card{border-left:3px solid var(--accent)}.schedule-aside{margin-top:28px}.schedule-aside>h2{padding-bottom:17px;border-bottom:1px solid var(--line);font-size:17px}.upcoming{display:block;position:relative;width:100%;background:transparent;text-align:left;border:0;border-bottom:1px solid var(--line);padding:17px 26px 17px 0}.upcoming time{font-size:14px;color:var(--accent);font-weight:600}.upcoming strong{display:block;font-size:15px;margin-top:8px;line-height:1.6}.upcoming>span{display:block;font-size:14px;color:var(--muted);margin-top:3px}.upcoming>svg{position:absolute;right:0;top:50%;width:17px;height:17px;color:var(--accent)}.upcoming:hover{background:#fff}.aside-note{background:#f1ede6;border-radius:7px;margin-top:26px;padding:21px}.aside-note p{font-size:14px;line-height:1.9;margin:10px 0}
/* C: 店舗選択を左側、比較結果を右側に固定。 */
body[data-concept=c]{--accent:#19725f;--accent-dark:#105646;--tint:#e8f3ee;--canvas:#f4f7f5;--line:#d8e3dc;--ink:#223a31;--muted:#5a6f64;--positive:#15745b;--negative:#b25140;--radius:8px}.limit-label{border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 13px;color:var(--muted);font-size:14px}.compare-layout{display:grid;grid-template-columns:262px minmax(0,1fr);gap:23px}.hall-picker{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 16px;height:max-content}.picker-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.picker-title h2{font-size:16px}.picker-title>span{font-size:13px;color:var(--muted)}.hall-picker .regions{width:100%}.hall-picker .segments button{flex:1;padding:8px 9px;font-size:14px}.hall-picker .search-field{margin-top:15px}.hall-picker .search-field input{font-size:14px}.picker-list{margin-top:15px;display:flex;flex-direction:column;gap:6px}.picker-hall{display:flex;align-items:flex-start;gap:9px;padding:13px 9px;border-radius:6px;border:1px solid transparent;cursor:pointer}.picker-hall.checked{background:var(--tint);border-color:#bed8cc}.picker-hall:hover{border-color:var(--accent)}.picker-hall input{margin:3px 0 0}.picker-hall strong{display:block;font-size:14px;line-height:1.65}.picker-hall>span>span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.comparison-content{min-width:0}.comparison-toolbar{margin-bottom:20px}.period-tabs{background:#e8eeea}.period-tabs button{padding:9px 20px;min-height:44px}.comparison-condition{display:flex;flex-wrap:wrap;gap:5px 20px;margin-top:17px;font-size:15px;font-weight:650}.comparison-condition>span{font-size:13px;color:var(--muted);font-weight:400}.compare-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:12px}.comparison-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px}.comparison-card-title{display:flex;align-items:center;justify-content:space-between;margin-top:-7px;margin-right:-8px;gap:5px}.comparison-card-title>span{font-size:13px;color:var(--muted);background:var(--canvas);padding:4px 8px;border-radius:4px}.comparison-card h2{font-size:16px;line-height:1.7;margin-top:3px}.comparison-card h2 button{font-size:inherit;line-height:inherit;font-weight:700;text-align:left;background:transparent;border:0;padding:0;min-height:36px;overflow-wrap:anywhere}.comparison-card .location{font-size:13px;margin-top:4px;min-height:42px}.comparison-number{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0 21px;margin-top:14px}.comparison-number>span{display:block;font-size:13px;color:var(--muted)}.comparison-number>strong{display:block;font-family:"Segoe UI",sans-serif;font-size:35px;font-weight:650;line-height:1.4;letter-spacing:-1px;margin-top:7px;font-variant-numeric:tabular-nums}.comparison-card dl{margin:17px 0 20px}.comparison-card dl>div{margin:14px 0}.comparison-card dt{font-size:13px;color:var(--muted);margin-bottom:5px}.comparison-card dd{font-size:15px;font-weight:600;margin:0;line-height:1.6}.comparison-card dd .low-sample{display:block;font-weight:400}.comparison-card .button{width:100%;padding:9px 8px;font-size:14px}.bar-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:20px}.bar-panel h2{font-size:16px;margin-bottom:24px}.bar-panel h2>span{font-size:13px;color:var(--muted);font-weight:400;margin-left:8px}.bar-row{display:grid;grid-template-columns:145px minmax(50px,1fr) 58px;gap:12px;align-items:center;margin:18px 0}.bar-row>span{font-size:13px}.bar-row>strong{font-family:"Segoe UI",sans-serif;font-size:18px;text-align:right;font-weight:650}.bar-track{height:20px;position:relative;background:#f3f6f4;border-radius:3px}.bar-zero{position:absolute;left:50%;top:-7px;bottom:-7px;width:1px;background:#a9beb2;z-index:1}.bar{position:absolute;height:100%;border-radius:2px}.bar.plus{background:#6ba68d}.bar.minus{background:#d68b7e}.bar-axis{display:flex;justify-content:space-between;margin:16px 70px 0 157px;font-size:12px;color:var(--muted)}
/* 共通の店舗詳細。 */
dialog{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 90px #162b4340;padding:22px 30px 28px;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto}dialog::backdrop{background:#1b2b4055;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialog-header .icon-button{margin-right:-10px}dialog h2{font-size:25px;line-height:1.5;margin-bottom:12px}dialog p{font-size:16px;line-height:1.9}.dialog-location{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px!important}.detail-stats{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;padding:22px 0;margin-top:13px;border-top:1px solid var(--line)}.detail-stats span{display:block;font-size:14px;color:var(--muted)}.detail-stats strong{display:block;font-family:"Segoe UI",sans-serif;font-size:32px;margin-top:8px;line-height:1.5}.detail-history{background:var(--canvas);padding:17px;border-radius:8px;margin-bottom:23px}.detail-history .sparkline{max-width:none;width:100%;height:120px}.detail-history p{font-size:13px;color:var(--muted)}.detail-events{margin:12px 0 22px}.detail-events>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.detail-events time{min-width:92px;color:var(--muted)}.detail-events strong{font-size:14px;font-weight:600}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.about-list dt{font-weight:700;font-size:16px;margin-top:22px}.about-list dd{font-size:15px;line-height:1.9;margin:8px 0 0}
@media(min-width:1650px){main{padding-top:38px}.table-header,.hall-row{grid-template-columns:minmax(300px,1.8fr) minmax(160px,.9fr) minmax(115px,.7fr) minmax(100px,.65fr) 54px}.hall-row{min-height:140px}.comparison-card{padding:22px}.comparison-card h2{font-size:18px}.comparison-number>strong{font-size:40px}}
@media(max-width:1250px){.layout{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding:27px 12px}.brand{font-size:23px;padding:0 8px;gap:8px}.brand svg{width:29px;height:29px}.nav-item{padding:11px 9px;gap:9px;font-size:14px}main{padding-left:24px;padding-right:24px}.utility,.app-footer{padding-left:24px;padding-right:24px}.table-header,.hall-row{grid-template-columns:minmax(205px,1.5fr) minmax(130px,.8fr) 100px 52px;gap:14px;padding-left:17px;padding-right:17px}.table-header>span:nth-child(4),.row-chart{display:none}.hall-name{font-size:16px}.compare-tray{gap:12px}.tray-halls button{font-size:12px;padding:5px}.tray-label{gap:8px;font-size:13px}.compare-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.hall-picker{padding:18px 12px}.comparison-card{padding:13px}.comparison-card .location{min-height:48px}.comparison-number>strong{font-size:31px}.period-tabs button{padding:9px 16px}.compare-grid{gap:9px}.bar-row{grid-template-columns:128px minmax(40px,1fr) 50px;gap:8px}.bar-axis{margin-left:136px;margin-right:58px}.schedule-cards{gap:10px}.event-card.compact{padding:15px 12px}.event-card.compact .event-card-bottom>span{font-size:12px}}
@media(max-width:1050px){.compare-layout{grid-template-columns:1fr}.hall-picker{padding:16px}.hall-picker .picker-title{margin-bottom:10px}.hall-picker .regions{max-width:240px;display:inline-flex;vertical-align:middle}.hall-picker .search-field{display:inline-flex;vertical-align:middle;max-width:250px;margin:0 0 0 14px}.picker-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.picker-hall{padding:8px}.picker-hall>span>span{display:none}.compare-grid{gap:12px}.comparison-card{padding:17px}.comparison-card .location{min-height:42px}.comparison-card h2{font-size:16px}.comparison-number>strong{font-size:35px}.tray-halls{display:none}.compare-tray>.button{margin-left:auto}.date-field input{width:142px}.segments button{padding:8px 13px}.date-controls{gap:8px}.schedule-layout{gap:24px;grid-template-columns:minmax(0,1fr) 260px}.horizontal .app-nav{gap:2px}.horizontal .sidebar{gap:18px}.schedule-cards{grid-template-columns:1fr 1fr}.schedule-cards>.event-card:last-child{display:none}}
@media(max-width:800px){.layout{display:block}.sidebar{height:auto;position:static;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line);padding:15px 18px;gap:20px}.brand{padding:0}.app-nav{margin:0;flex-direction:row;gap:3px}.nav-item{gap:6px;padding:8px;font-size:13px;min-height:44px}.nav-item svg{width:18px;height:18px}.nav-count,.sidebar-footer{display:none}.utility{min-height:52px;padding:11px 20px}main{padding:24px 20px 16px}.heading{margin-bottom:20px}.filter-panel{padding:16px}.filter-row{gap:12px}.date-controls .segments button{padding:8px 11px}.table-header,.hall-row{grid-template-columns:minmax(230px,1.7fr) minmax(130px,.9fr) 104px 46px;gap:12px}.horizontal .sidebar{padding:16px 20px}.horizontal .brand{font-size:23px}.horizontal .app-nav .nav-item svg{display:none}.horizontal .utility{padding:12px 20px}.horizontal main{padding-top:15px}.schedule-layout{grid-template-columns:minmax(0,1fr) 235px;gap:22px}.event-card{padding:18px}.event-card h3 button{font-size:17px}.week-strip{gap:4px}.week-panel{padding:18px 20px}.week-day{min-height:110px}.schedule-aside{margin-top:27px}.upcoming strong{font-size:14px}.app-footer{padding:12px 20px 20px}}
@media(max-width:640px){:root{font-size:16px}.sidebar,.horizontal .sidebar{padding:16px 16px 0;display:block;background:#fff}.brand,.horizontal .brand{font-size:24px;gap:9px;width:max-content}.brand svg{width:30px;height:30px}.app-nav,.horizontal .app-nav{display:flex;margin:14px -4px 0;gap:0;justify-content:space-between}.nav-item,.horizontal .nav-item{flex:1;justify-content:center;border-radius:0;gap:6px;font-size:14px;padding:12px 5px;min-height:49px;border-bottom:2px solid transparent}.nav-item svg,.horizontal .app-nav .nav-item svg{display:inline-block;width:17px;height:17px}.nav-item.active{background:transparent;border-color:var(--accent)}.nav-item:last-child svg{display:none}.utility,.horizontal .utility{padding:11px 16px;min-height:51px;font-size:13px}.utility>span:first-child{gap:5px}.utility svg{width:15px;height:15px}.demo-badge{font-size:12px;padding:4px 7px}main,.horizontal main{padding:20px 16px 8px}h1,.horizontal h1{font-size:26px}.heading{align-items:flex-start;margin-bottom:20px;gap:12px}.subtitle{font-size:14px;margin-top:5px}.date-heading{font-size:13px;margin-top:8px;white-space:nowrap}.filter-panel{padding:13px}.filter-row{flex-wrap:wrap;gap:13px}.regions{width:100%}.regions button{flex:1;min-height:40px}.date-controls{width:100%;gap:10px}.date-controls .segments{flex:1}.date-controls .segments button{flex:1;padding:8px 10px;font-size:14px}.segments button span{display:block;margin:2px 0 0;font-size:12px}.date-controls .date-field{width:132px}.date-controls .date-field input{width:132px;padding:8px 5px;font-size:13px}.filter-row+.filter-row{padding-top:13px;margin-top:13px;gap:7px}.search-field{max-width:none;flex-basis:100%}.toggle-label{font-size:13px;min-height:38px}.list-title{margin-top:23px;margin-bottom:12px;align-items:center}.list-title h2{font-size:18px}.list-title>span{font-size:12px}.list-panel{border-radius:8px}.table-header{display:none}.hall-row{position:relative;grid-template-columns:minmax(0,1.4fr) minmax(85px,.8fr);gap:14px 16px;min-height:0;padding:15px 17px 17px}.hall-info{grid-column:1/-1}.hall-name{font-size:17px;min-height:34px}.hall-name-row .icon-button{margin:-4px -9px -4px 0}.location{font-size:13px}.event-badges{margin-top:8px;gap:6px}.badge{font-size:12px;min-height:24px}.event-name,.no-event{font-size:13px}.mobile-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.metric>strong{font-size:26px}.metric>span:not(.mobile-label),.sample-days>span:not(.mobile-label){font-size:12px;margin-top:3px}.sample-days>strong{font-size:23px;line-height:1.6}.sample-days{align-self:start}.hall-row>.compare-check{position:absolute;right:16px;bottom:18px;justify-content:flex-end;min-height:28px}.compare-check input{width:18px;height:18px}.compare-check>span{display:inline-block;font-size:12px;color:var(--muted);margin-left:4px}.sample-days>span{padding-right:53px}.sample-days>span.low-sample{font-size:11px;white-space:normal}.sample-days>span:not(.mobile-label){max-width:125px}.hall-row:has(.low-sample){padding-bottom:24px}.compare-tray{padding:12px;margin-top:19px;bottom:10px;gap:6px;flex-wrap:wrap}.tray-label{font-size:13px;gap:7px}.tray-label strong{font-size:22px}.compare-tray .button{font-size:13px;padding:9px 12px;gap:6px}.compare-tray .button svg{width:15px;height:15px}.next-section{margin-top:26px;gap:10px}.next-section h2{font-size:17px}.next-section .text-button{font-size:12px}.schedule-cards{grid-template-columns:1fr}.schedule-cards>.event-card:last-child{display:block}.schedule-cards .event-card.compact{padding:15px 17px}.schedule-cards .event-card.compact .event-card-bottom>span{font-size:13px}.app-footer,.horizontal .app-footer{padding:16px;gap:5px;flex-wrap:wrap;line-height:1.6;font-size:12px}.app-footer button{font-size:13px;min-height:38px}.empty{padding:35px 16px}.horizontal .heading{display:block}.horizontal .heading>.regions{width:100%;margin-top:20px}.week-panel{padding:16px 10px}.week-heading{margin:0 5px 15px}.week-heading h2{font-size:18px}.week-heading .date-field>svg{display:none}.week-heading .date-field input{width:139px;min-height:40px;font-size:13px}.week-strip{gap:3px}.week-day{min-height:97px;padding:8px 0;gap:7px}.week-day>span{font-size:12px}.week-day strong{font-size:26px}.schedule-layout{display:block}.event-filters{gap:8px;margin-bottom:15px}.chip{padding:8px 17px}.event-card{padding:17px 18px}.event-card h3 button{font-size:19px}.event-card .event-hall{font-size:16px}.event-card-top time{font-size:15px}.event-card-bottom{font-size:13px;margin-top:14px}.schedule-aside{margin-top:31px}.schedule-aside>h2{font-size:18px}.upcoming strong{font-size:16px}.upcoming time,.upcoming>span{font-size:14px}.aside-note{margin-top:22px;padding:20px}.limit-label{font-size:12px;padding:8px 10px;white-space:nowrap;margin-top:5px}.compare-layout{gap:20px}.hall-picker{padding:16px 13px}.picker-title{gap:10px}.picker-title h2{font-size:16px}.hall-picker .regions{width:100%;max-width:none}.hall-picker .search-field{display:flex;max-width:none;margin:12px 0 0}.picker-list{grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.picker-hall{gap:7px;padding:10px 7px}.picker-hall strong{font-size:12px;line-height:1.6;white-space:normal}.picker-hall input{width:17px;height:17px}.comparison-toolbar{margin-bottom:16px}.period-tabs{width:100%}.period-tabs button{flex:1;padding:9px 10px;font-size:14px}.comparison-condition{font-size:15px;line-height:1.7;gap:4px}.comparison-condition>span{font-size:12px}.compare-grid{gap:8px;grid-template-columns:repeat(var(--columns),minmax(0,1fr))}.comparison-card{padding:12px 9px}.comparison-card-title{margin-top:-5px;margin-right:-7px}.comparison-card-title>.icon-button{min-width:35px;min-height:36px}.comparison-card-title>.icon-button svg{width:17px;height:17px}.comparison-card-title>span{font-size:12px;padding:3px 5px}.comparison-card h2{font-size:14px;line-height:1.6;min-height:68px}.comparison-card .location{display:none}.comparison-number{padding:16px 0 15px;margin-top:7px}.comparison-number>span{font-size:12px;line-height:1.7;min-height:40px}.comparison-number>strong{font-size:24px;white-space:nowrap;letter-spacing:-.6px}.comparison-number small{font-size:12px;margin-left:2px}.comparison-card dl{margin:14px 0}.comparison-card dl>div{margin:13px 0}.comparison-card dt{font-size:12px;line-height:1.7;min-height:21px}.comparison-card dd{font-size:12px;line-height:1.7;word-break:break-word;min-height:22px}.comparison-card dd .text-button{font-size:12px;line-height:1.7;min-height:44px}.comparison-card dd .low-sample{font-size:11px}.comparison-card .button{font-size:12px;min-height:44px;padding:6px 3px;gap:3px;white-space:normal}.comparison-card .button svg{width:13px;height:13px}.bar-panel{padding:18px 13px}.bar-panel h2{margin-bottom:20px}.bar-row{grid-template-columns:109px minmax(30px,1fr) 44px;gap:8px}.bar-row>span{font-size:12px;line-height:1.6}.bar-row>strong{font-size:16px}.bar-track{height:17px}.bar-axis{margin-left:117px;margin-right:52px;font-size:11px}.compare-limit-message{font-size:13px;line-height:1.8}dialog{padding:18px 20px 23px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:22px}.detail-stats{gap:12px;grid-template-columns:1.7fr 1fr}.detail-stats span{font-size:13px}.detail-stats strong{font-size:29px}.detail-history{padding:13px}.detail-history h3{font-size:15px}.detail-history p{font-size:12px}.dialog-location{font-size:13px!important}.detail-events>div{gap:8px}.detail-events time{min-width:82px}.dialog-actions .button{font-size:14px}.about-list dd{font-size:14px}}
/* スマホでは比較欄を縦に並べ、数値と項目名の大きさを保つ。 */
@media(max-width:640px){.comparison-content{display:flex;flex-direction:column}.comparison-toolbar{order:1}.bar-panel{order:2;margin:0 0 18px;padding:20px 15px}.compare-grid{order:3;grid-template-columns:1fr;gap:16px}.comparison-card{padding:17px 20px}.comparison-card h2{font-size:18px;min-height:0;margin:0}.comparison-card .location{display:block;min-height:0;font-size:14px;margin-top:4px}.comparison-card-title>span{font-size:14px}.comparison-card-title>.icon-button{min-width:44px;min-height:44px}.comparison-number{padding:18px 0;margin-top:18px}.comparison-number>span{font-size:14px;min-height:0}.comparison-number>strong{font-size:34px;margin-top:5px}.comparison-number small{font-size:15px;margin-left:4px}.comparison-card dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.comparison-card dl>div{margin:0}.comparison-card dt{font-size:14px;min-height:0}.comparison-card dd{font-size:15px;min-height:0;margin-top:4px}.comparison-card dd .text-button{font-size:14px;min-height:32px}.comparison-card dd .low-sample{font-size:13px}.comparison-card .button{font-size:15px;gap:10px}.comparison-card .button svg{width:18px;height:18px}.bar-row{grid-template-columns:117px minmax(30px,1fr) 48px;gap:9px}.bar-row>span{font-size:14px}.bar-row>strong{font-size:18px}.bar-axis{margin-left:126px;margin-right:57px;font-size:12px}.picker-hall strong{font-size:14px}.picker-hall{min-height:60px}.mobile-label{font-size:13px}.metric>span:not(.mobile-label),.sample-days>span:not(.mobile-label){font-size:13px}.sample-days>span.low-sample{font-size:12px}.week-day{min-height:100px}.event-name,.no-event,.location{font-size:14px}.event-card.compact h3 button{font-size:17px}.event-card.compact .event-hall{font-size:16px}}
@media(max-width:640px){.search-row{flex-wrap:nowrap;gap:10px}.search-row .search-field{flex:1;flex-basis:0}.search-row .toggle-label{white-space:nowrap;gap:6px;font-size:12px}.search-row .toggle-label input{margin:0;width:17px;height:17px}.hall-row>.compare-check{position:static;grid-column:1/-1;justify-content:flex-end;min-height:32px;margin-top:-6px}.sample-days>span{padding-right:0;max-width:none}.sample-days>span:not(.mobile-label){max-width:none}.compare-check>span{font-size:13px}.hall-row:has(.low-sample){padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
