:root{--ink:#191919;--muted:#686868;--line:#dededb;--paper:#fafaf8;--blue:#191919;--navy:#191919;font-family:Arial,"Noto Sans SC","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.6}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button,input,select{border-radius:0}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #191919;outline-offset:4px}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.masthead{max-width:1480px;margin:auto;min-height:108px;display:flex;justify-content:space-between;align-items:center;padding:24px 56px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px}.brand-mark{display:grid;place-items:center;border:1px solid #242424;width:42px;height:42px;font-family:serif;font-size:26px}.brand-name{text-decoration:none;font-size:19px;letter-spacing:.12em;font-weight:600}.brand-en{display:block;font-size:10px;letter-spacing:.24em;margin-top:4px}.edition{font-size:12px;letter-spacing:.12em;text-align:right}.edition span{display:block;color:var(--muted);font-size:10px;letter-spacing:.06em;margin-top:4px}main{max-width:1480px;margin:auto;padding:0 56px 28px}.search-section{padding:62px 0 40px}.search-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:18px;color:var(--muted)}h1{font-family:"Helvetica Neue",Arial,"PingFang SC",sans-serif;font-size:clamp(32px,4.2vw,62px);font-weight:400;letter-spacing:-.04em;line-height:1.25}.index-date{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap}.index-date span{display:block;font-size:12px;letter-spacing:.1em;margin-top:6px}.search-box{display:flex;gap:18px;align-items:center;padding:6px 0;border-top:1px solid #222;border-bottom:1px solid #222}.search-box input{border:0;background:transparent;flex:1;min-width:0;font-size:17px;padding:17px 0}.search-box input::placeholder{color:#858585}.search-box button{background:#202020;color:#fff;padding:14px 29px;font-size:13px}.quick{display:flex;gap:19px;align-items:center;flex-wrap:wrap;margin-top:19px;font-size:12px}.quick span{color:#767676}.quick button{padding:0;background:none;border-bottom:1px solid transparent}.quick button:hover{border-color:#222}.workspace{display:grid;grid-template-columns:194px minmax(0,1fr);gap:47px;border-top:1px solid var(--line);padding-top:32px}.sidebar{align-self:start}.filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.filter-head h2{font-size:16px;font-weight:500}.text-button{padding:0;background:none;text-decoration:underline;font-size:11px;color:var(--muted)}fieldset{border:0;margin:0 0 23px;padding:0}legend{font-size:12px;font-weight:600;margin-bottom:9px;letter-spacing:.04em}#companies label{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 0;font-size:12px;cursor:pointer;color:#666}#companies label:has(input:checked){color:#111;font-weight:600}.company-name{display:flex;gap:10px;align-items:center}.number{font-size:10px;color:#777;font-variant-numeric:tabular-nums}input[type=radio]{accent-color:#111;width:12px;height:12px;margin:0}select{width:100%;border:1px solid var(--line);background:transparent;padding:9px 27px 9px 10px;font-size:12px;min-height:39px}.select-label,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.guide-note{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.small-label{font-size:10px;color:var(--muted)}.guide-note p{font-size:16px;line-height:1.8;margin:10px 0}.guide-note>span:last-child{font-size:11px;color:var(--muted)}.about-button{font-size:11px;background:none;padding:0;text-decoration:underline;margin-top:20px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.results-heading h2{font-size:21px;font-weight:500;letter-spacing:.04em}.results-heading p{font-size:11px;color:var(--muted);margin-top:4px}.sort-label{font-size:10px;color:var(--muted);display:flex;gap:10px;align-items:center;white-space:nowrap}.sort-label select{width:166px;border:0;border-bottom:1px solid var(--line)}.coverage-banner{display:flex;align-items:start;gap:10px;font-size:11px;color:var(--muted);padding:0 0 23px;margin-bottom:25px;border-bottom:1px solid var(--line)}.coverage-banner strong{color:#303030;font-weight:500}.info-icon{font-family:serif;border:1px solid #aaa;border-radius:50%;width:15px;height:15px;flex-shrink:0;text-align:center;line-height:14px;margin-top:2px}.coverage-banner button{background:none;font-size:10px;white-space:nowrap;padding:0;text-decoration:underline;margin-left:auto}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.station-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid #c9c9c6;padding-bottom:4px}.card-visual{position:relative;aspect-ratio:1.18;background:white;overflow:hidden;border:1px solid #eaeae7}.card-visual img{display:block;width:100%;height:100%;object-fit:contain;padding:24px;mix-blend-mode:multiply}.visual-caption{position:absolute;bottom:7px;left:10px;font-size:9px;letter-spacing:.03em;color:#727272;background:#fffffff2;padding:1px 4px}.visual-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;gap:12px;background:#f1f1ee}.visual-placeholder strong{font-family:serif;font-size:28px;font-weight:400;letter-spacing:.12em;color:#a1a19c}.visual-placeholder span{font-size:10px;letter-spacing:.08em}.card-content{padding:18px 0 0;flex:1}.card-meta{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center}.company-dot{display:none}.bullet{color:#b8b8b8}.station-name{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px}.station-name button{padding:0;background:none;text-align:left;font-size:24px;line-height:1.4;font-weight:500;letter-spacing:.02em}.station-name button:hover{text-decoration:underline;text-underline-offset:6px}.shinkansen-tag{font-size:9px;border:1px solid #d4d4d0;padding:2px 4px;font-weight:400;white-space:nowrap}.jp-name{font-size:11px;color:var(--muted);margin-top:3px}.line-name{font-size:10px;color:#777;margin-top:5px;line-height:1.6;min-height:16px}.card-location{font-size:12px;line-height:1.8;margin:17px 0 10px;min-height:43px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.no-location{color:#888}.status{font-size:10px;display:inline-block;padding:2px 6px;border:1px solid #bdbdb8;background:transparent;color:#4d4d4d;align-self:start}.status.unknown{color:#858580;border-color:#ddd}.card-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-bottom:14px}.card-footer span{font-size:9px;color:#777}.card-footer button{padding:0;background:none;font-size:11px}.card-footer button:after{content:' ↗';font-size:13px}.load-more{display:block;min-width:250px;margin:42px auto 0;padding:14px 22px;border:1px solid #303030;background:transparent;font-size:12px}.load-more:hover,.search-box button:hover{background:#444;color:white}.empty{text-align:center;padding:65px 20px;border:1px solid var(--line)}.empty h3{font-size:19px;font-weight:400}.empty p{font-size:13px;color:var(--muted);margin:13px 0}.empty a{font-size:13px}.empty button{display:block;margin:20px auto 0;background:#222;color:white;padding:10px 15px}footer{display:flex;justify-content:space-between;gap:16px;margin-top:65px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}dialog{border:1px solid #999;width:min(930px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:14px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2;font-size:11px;color:var(--muted)}.close{font-size:27px;padding:0 7px;background:none}.detail-title-row{padding:28px}.detail-title-row .eyebrow{margin-bottom:8px}.detail-title-row h2{font-size:37px;font-weight:400}.detail-tags{display:flex;gap:10px;margin-top:15px}.detail-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;padding:0 28px 30px}.detail-photo{border:1px solid var(--line);background:white}.detail-photo img{display:block;width:100%;height:330px;object-fit:contain;padding:24px}.photo-caption{padding:14px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);line-height:1.9}.photo-caption a{display:block}.photo-switcher{padding:12px;display:flex;gap:8px}.photo-switcher button{border:1px solid #aaa;background:white;padding:7px 11px;font-size:11px}.photo-switcher button[aria-pressed=true]{background:#222;color:white}.photo-total{padding:0 14px 14px;font-size:10px;color:var(--muted)}.pattern-info{padding:20px 0;border-bottom:1px solid var(--line)}.pattern-info h3,.detail-info h3{font-size:13px;font-weight:600;margin-bottom:10px}.pattern-info p{font-size:13px;color:#666}.pattern-info a{display:block;font-size:11px;margin-top:14px}.location-box{padding:20px;background:#efefeb;border-left:2px solid #222}.location-box p{font-size:17px;line-height:1.9}.location-box .location-jp{font-size:12px;color:var(--muted);margin-top:10px}.detail-dl{font-size:12px;margin:15px 0}.detail-dl>div{display:grid;grid-template-columns:95px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.detail-dl dt{color:var(--muted)}.detail-dl dd{margin:0}.detail-note{font-size:11px;color:#777;line-height:1.9}.detail-source{display:block;font-size:11px;margin-top:14px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.detail-actions a,.detail-actions button{padding:10px 13px;border:1px solid #bbb;background:transparent;font-size:11px;text-decoration:none}.detail-actions .primary{background:#222;color:white;border-color:#222}.no-photo{height:250px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:10px;text-align:center;color:#888;padding:20px}.no-photo strong{font-size:18px;font-weight:400}.no-photo span{font-size:11px}.about-body{padding:30px}.about-body h2{font-size:30px;font-weight:400}.about-body p,.about-body li{font-size:13px;color:#666;line-height:1.9;margin-top:14px}.about-body h3{font-size:15px;font-weight:500;margin-top:28px}.source-directory{display:grid;gap:10px;margin-top:14px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border:1px solid #ddd;margin-top:24px}.stats>div{padding:17px;background:var(--paper)}.stats strong{display:block;font-size:26px;font-weight:400}.stats span{font-size:10px;color:#777}.about-foot{border-top:1px solid var(--line);padding-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:12px 22px;font-size:12px;z-index:10;max-width:90vw}
@media(min-width:1500px){.card-grid{gap:40px 35px}}@media(max-width:1100px){main{padding:0 30px 25px}.masthead{padding:24px 30px}.workspace{gap:30px;grid-template-columns:170px minmax(0,1fr)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.masthead{padding:20px;min-height:86px}.brand{gap:10px}.brand-name{font-size:15px}.brand-mark{width:34px;height:34px;font-size:22px}.brand-en{font-size:8px}.edition{font-size:10px}.edition span{font-size:8px}main{padding:0 20px 25px}.search-section{padding:36px 0 28px}.search-heading{margin-bottom:26px}.search-heading .eyebrow{font-size:8px;letter-spacing:.1em}h1{font-size:32px;letter-spacing:-.06em}.index-date{display:none}.search-box{gap:10px}.search-box svg{width:19px}.search-box input{font-size:14px;padding:15px 0}.search-box button{font-size:11px;padding:11px 14px}.quick{font-size:10px;gap:13px}.workspace{display:block;padding-top:22px}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:26px}.filter-head,.sidebar fieldset:first-of-type{grid-column:1/-1}.filter-head{margin-bottom:17px}#companies{display:flex;flex-wrap:wrap;gap:8px 17px}#companies label{font-size:11px;padding:0 0 5px}#companies input{display:none}#companies label:has(input:checked){border-bottom:1px solid #222}#companies .number{display:none}fieldset{margin-bottom:16px}legend{font-size:11px}select{font-size:11px}.guide-note,.about-button{display:none}.results-heading h2{font-size:19px}.results-heading p{font-size:10px}.sort-label{display:block;font-size:9px}.sort-label select{width:145px;font-size:10px}.coverage-banner{font-size:10px;margin-bottom:23px;padding-bottom:18px}.coverage-banner button{display:none}.card-grid{gap:27px 16px}.card-visual{aspect-ratio:1}.card-visual img{padding:15px}.visual-caption{font-size:8px;left:4px;bottom:4px}.card-meta{font-size:9px;gap:4px;flex-wrap:wrap}.station-name{flex-wrap:wrap}.station-name button{font-size:22px}.jp-name,.line-name{font-size:10px}.card-location{font-size:11px;margin-top:13px}.card-footer{gap:5px}.card-footer span{font-size:8px}.card-footer button{font-size:10px}.status{font-size:9px}.visual-placeholder strong{font-size:23px}.visual-placeholder span{font-size:9px}footer{flex-direction:column;font-size:9px;gap:5px;margin-top:44px}.detail-grid{display:block;padding:0 20px 25px}.detail-title-row{padding:22px 20px}.detail-info{margin-top:24px}.detail-photo img{height:300px}.stats{grid-template-columns:repeat(2,1fr)}.about-body{padding:23px 20px}.about-body h2{font-size:25px}.detail-dl>div{grid-template-columns:82px 1fr}}
@media(prefers-reduced-motion:no-preference){button,a{transition:opacity .15s}a:hover{opacity:.65}}

.official-shortcut{font-weight:600!important;border-bottom:1px solid #777!important}.image-source-tag{font-weight:600;color:#222}.artwork-note{display:block;margin-top:10px;font-size:10px;color:#777}.photo-switcher button{max-width:100%;white-space:normal;text-align:left}.photo-caption strong{font-weight:600}
