*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul,ol{padding:0}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:root{color-scheme:light;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-text:#1e293b;--color-muted:#64748b;--color-muted-light:#94a3b8;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-accent:#0f766e;--color-accent-dark:#0b5b54;--color-accent-contrast:#fff;--color-accent-bg:#f0fdfa;--color-accent-visited:#115e59;--color-amber:#b45309;--color-amber-bg:#fffbeb;--color-amber-border:#fde68a;--color-neutral-bg:#f1f5f9;--color-neutral-text:#475569;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow-card-hover:0 2px 6px #0f172a14;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--max-width:720px;--max-width-wide:960px;--tap-min:44px}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3{color:var(--color-text);font-weight:700;line-height:1.4}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{color:var(--color-text)}a{color:var(--color-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 45%, transparent);text-underline-offset:2px;transition:color .15s}a:hover{color:var(--color-accent-dark)}a:visited{color:var(--color-accent-visited)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.skip-link{background:var(--color-surface);color:var(--color-text);z-index:1000;border-radius:0 0 var(--radius-sm) 0;padding:10px 16px;text-decoration:none;position:absolute;top:0;left:-999px}.skip-link:focus{top:0;left:0}body{padding:0}main{max-width:var(--max-width);padding:var(--space-4) var(--space-4) var(--space-8);margin:0 auto;display:block}main.main-wide{max-width:var(--max-width-wide)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:50;position:sticky;top:0}.site-header .inner{max-width:var(--max-width-wide);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 auto;display:flex}.site-header .brand{color:var(--color-accent);letter-spacing:.01em;font-size:1.15rem;font-weight:700;text-decoration:none}.site-header .brand:hover{color:var(--color-accent-dark)}.site-header nav a{min-height:var(--tap-min);padding:0 var(--space-2);color:var(--color-muted);align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--color-accent)}.site-footer{background:var(--color-surface-muted);border-top:1px solid var(--color-border);margin-top:var(--space-6)}.site-footer .inner{max-width:var(--max-width-wide);padding:var(--space-5) var(--space-4) 88px;color:var(--color-muted);margin:0 auto;font-size:.85rem}.site-footer .footer-links{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.site-footer .footer-links a{color:var(--color-muted)}.site-footer .footer-links a:hover{color:var(--color-accent)}.site-footer .disclaimer{margin-top:var(--space-2);line-height:1.6}.site-footer .copy{margin-top:var(--space-4);color:var(--color-muted-light)}.btn,.cta{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);border-radius:var(--radius-pill);cursor:pointer;border:1.5px solid #0000;padding:12px 22px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-primary,.cta-tel{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover,.cta-tel:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-accent-contrast)}.btn-secondary,.cta-map{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.btn-secondary:hover,.cta-map:hover{background:var(--color-accent-bg);color:var(--color-accent-dark);border-color:var(--color-accent-dark)}.cta-tel:before{content:"";background-color:currentColor;flex-shrink:0;width:18px;height:18px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") 50%/contain no-repeat}.cta-map:before{content:"";background-color:currentColor;flex-shrink:0;width:18px;height:18px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") 50%/contain no-repeat}.result-ctas,.pharmacy-card .tel{gap:var(--space-2);margin-top:var(--space-2);display:flex}.result-ctas .cta,.pharmacy-card .tel a{min-height:38px;padding:8px 16px;font-size:.85rem}.pharmacy-card .tel a{align-items:center;gap:var(--space-2);display:inline-flex}.pharmacy-card .tel a:before{content:"";background-color:currentColor;flex-shrink:0;width:15px;height:15px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") 50%/contain no-repeat}.btn-primary,.btn-secondary{padding:14px 22px;font-size:1rem}.chip-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.chip-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.chip-grid{grid-template-columns:repeat(4,1fr)}}.chip,.pref-grid a,.city-grid a{min-height:var(--tap-min);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);justify-content:center;align-items:center;gap:4px;padding:10px 8px;font-size:.88rem;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:flex}.chip:hover,.pref-grid a:hover,.city-grid a:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-bg)}.pref-grid,.city-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.pref-grid,.city-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.pref-grid,.city-grid{grid-template-columns:repeat(4,1fr)}}.pref-grid .count,.city-grid .count{color:var(--color-muted);font-size:.78rem}.stats-row{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.stat-chip{min-height:var(--tap-min);background:var(--color-accent-bg);color:var(--color-accent);border-radius:var(--radius-pill);align-items:center;padding:10px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.pharmacy-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin-bottom:var(--space-3);list-style:none}.pharmacy-card[hidden]{display:none}.pharmacy-card .name{color:var(--color-text);font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-block}.pharmacy-card .name:hover{color:var(--color-accent)}.pharmacy-card .address{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.85rem}.pharmacy-card .hours-raw{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.82rem}.pharmacy-card .hours-unreliable-note{margin:var(--space-2) 0 0;border-radius:var(--radius-sm);background:var(--color-amber-bg);color:var(--color-amber);padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.triage{margin-top:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5) var(--space-4)}.triage h2{margin-top:0;margin-bottom:var(--space-3)}.confirm-template,.filter-toggle,.badge-legend{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.triage-result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin-bottom:var(--space-3)}.triage-result-card.closing-soon{border-color:var(--color-amber-border);background:var(--color-amber-bg)}.result-name{margin:0;font-size:1rem;font-weight:700}.result-meta{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.85rem}.result-warning{margin:var(--space-2) 0 0;color:var(--color-amber);font-size:.85rem;font-weight:700}.result-detail-link{margin-top:var(--space-2);font-size:.82rem;display:inline-block}.triage-none .triage-alt{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-muted);border-radius:var(--radius-md);color:var(--color-muted);font-size:.85rem}.badge-closing{margin-top:var(--space-2);border-radius:var(--radius-sm);background:var(--color-amber-bg);color:var(--color-amber);border:1px solid var(--color-amber-border);align-items:center;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}fieldset{border:none;margin:0;padding:0}legend{margin-bottom:var(--space-3);padding:0;font-size:.98rem;font-weight:700}.radio-row{align-items:center;gap:var(--space-3);min-height:52px;margin-bottom:var(--space-2);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;padding:14px 20px;font-size:.95rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:flex}.radio-row:last-child{margin-bottom:0}.radio-row:hover{border-color:var(--color-accent)}.radio-row input[type=radio]{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0}.radio-row:has(input:checked){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.radio-row:has(input:checked) input[type=radio]{accent-color:var(--color-accent-contrast)}.radio-row:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.location-buttons{gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.hint{color:var(--color-muted);font-size:.85rem}#location-step{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}#manual-location{margin:var(--space-3) 0}.select-row{margin-bottom:var(--space-3);font-size:.9rem;font-weight:600;display:block}.select-row select{width:100%;min-height:var(--tap-min);margin-top:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:10px 12px;display:block}.select-row select:focus-visible{border-color:var(--color-accent)}#triage-status{color:var(--color-muted);min-height:1.2em;margin-top:var(--space-2);font-size:.88rem}.fixed-content{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.92rem}.fixed-content h3{margin-top:0;margin-bottom:var(--space-2)}.fixed-content p{margin-bottom:var(--space-2);color:var(--color-text)}.fixed-content p:last-child{margin-bottom:0}.filter-toggle{gap:var(--space-2) var(--space-5);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);flex-wrap:wrap;font-size:.9rem;display:flex}.filter-toggle label{align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;font-weight:500;display:flex}.filter-toggle input[type=checkbox]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filter-toggle .switch{border-radius:var(--radius-pill);background:var(--color-border-strong);flex-shrink:0;width:40px;height:24px;transition:background-color .15s;position:relative}.filter-toggle .switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a40}.filter-toggle input[type=checkbox]:checked+.switch{background:var(--color-accent)}.filter-toggle input[type=checkbox]:checked+.switch:after{transform:translate(16px)}.filter-toggle input[type=checkbox]:focus-visible+.switch{outline:2px solid var(--color-accent);outline-offset:2px}.badges{margin:var(--space-2) 0 0;flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.badge{border-radius:var(--radius-sm);background:var(--color-neutral-bg);color:var(--color-neutral-text);white-space:nowrap;padding:4px 10px;font-size:.75rem;font-weight:600}.badge.tone-positive{background:var(--color-accent-bg);color:var(--color-accent)}.badge.tone-caution{background:var(--color-amber-bg);color:var(--color-amber)}.breadcrumb{margin-bottom:var(--space-3)}.breadcrumb ol{color:var(--color-muted);flex-wrap:wrap;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:6px;display:flex}.breadcrumb a{color:var(--color-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-accent);text-decoration:underline}.breadcrumb .sep{color:var(--color-border-strong);margin:0 2px}.breadcrumb [aria-current=page]{color:var(--color-text)}.badge-legend{margin:var(--space-4) 0;padding:0 var(--space-4)}.badge-legend summary{cursor:pointer;padding:var(--space-3) 0;color:var(--color-text);justify-content:space-between;align-items:center;font-size:.88rem;font-weight:600;list-style:none;display:flex}.badge-legend summary::-webkit-details-marker{display:none}.badge-legend summary:after{content:"";border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);width:9px;height:9px;margin-left:var(--space-2);flex-shrink:0;transition:transform .15s;transform:rotate(45deg)}.badge-legend[open] summary:after{transform:rotate(225deg)}.badge-legend ul{margin:0 0 var(--space-3);color:var(--color-muted);padding:0;font-size:.85rem;list-style:none}.badge-legend li{padding:var(--space-1) 0}.badge-legend strong{color:var(--color-text);font-weight:600}.faq{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.faq h2{margin-bottom:var(--space-3)}.faq-list{gap:var(--space-2);flex-direction:column;display:flex}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4)}.faq-item[open]{border-color:var(--color-border-strong)}.faq-item summary{cursor:pointer;color:var(--color-text);justify-content:space-between;align-items:center;gap:var(--space-3);margin:0;padding:14px 0;font-size:.92rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);flex-shrink:0;width:9px;height:9px;transition:transform .15s;transform:rotate(45deg)}.faq-item[open] summary:after{transform:rotate(225deg)}.faq-item .faq-a{color:var(--color-muted);margin:0 0 14px;font-size:.9rem;line-height:1.7}.hours-table{border-collapse:collapse;width:100%;margin:var(--space-3) 0;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.92rem;overflow:hidden}.hours-table caption{text-align:left;padding:var(--space-3) var(--space-3) var(--space-2);background:var(--color-surface-muted);caption-side:top;font-weight:700}.hours-table caption .note{color:var(--color-muted);font-size:.8rem;font-weight:400}.hours-table th,.hours-table td{border-top:1px solid var(--color-border);text-align:left;padding:10px 14px}.hours-table th{width:3.2em;color:var(--color-muted);font-weight:600}.hours-table tr.status-unknown td{color:var(--color-muted)}.hours-table tr.status-closed td{color:var(--color-muted-light)}.hours-table tr.is-today{background:var(--color-accent-bg)}.hours-table tr.is-today th{color:var(--color-accent);font-weight:700}.hours-table tr.is-today th:after{content:"本日";border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-contrast);vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.hours-unreliable{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--color-amber-bg);border:1px solid var(--color-amber-border);border-radius:var(--radius-md);font-size:.9rem}.hours-unreliable .label{color:var(--color-amber);margin:0;font-weight:700}.hours-unreliable .explain{margin:var(--space-2) 0 0;color:var(--color-amber);font-size:.85rem;line-height:1.6}.hours-unreliable .raw{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.85rem}#quick-exit-btn{right:var(--space-3);bottom:var(--space-3);z-index:1000;background:var(--color-surface);min-height:38px;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);cursor:pointer;padding:8px 16px;font-size:.8rem;position:fixed}#quick-exit-btn:hover,#quick-exit-btn:focus-visible{background:var(--color-surface-muted);color:var(--color-text);box-shadow:var(--shadow-card-hover)}.hero{padding:var(--space-5) 0 var(--space-2)}.hero h1{margin:0 0 var(--space-2)}.hero p{color:var(--color-muted);margin:0}.count{color:var(--color-muted);font-size:.9rem}.sub-nav{gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.sub-nav a{min-height:var(--tap-min);padding:0 var(--space-4);border:1.5px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);align-items:center;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.sub-nav a:hover{background:var(--color-accent-bg)}.note-mechanical{color:var(--color-muted);margin-top:var(--space-2);font-size:.85rem}.advance-notice{background:var(--color-amber-bg);border:1px solid var(--color-amber-border);color:var(--color-amber);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin:var(--space-3) 0;font-size:.88rem;font-weight:600}.pharmacy-list{margin:var(--space-4) 0 0;padding:0}.adjacent-cities{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.adjacent-cities h2{margin-bottom:var(--space-3)}.pref-list{margin-top:var(--space-6)}.pref-list h2{margin-bottom:var(--space-3)}.stats-section{margin-top:var(--space-4)}.intro{margin-top:var(--space-5);color:var(--color-text);font-size:.9rem}.intro p{margin:0 0 var(--space-3);line-height:1.75}.intro p:last-child{margin-bottom:0}.address{color:var(--color-muted);margin-top:0}.ctas{gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.confirm-template{padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:.9rem}.confirm-template h2{margin:0 0 var(--space-2);color:var(--color-muted);font-size:.85rem;font-weight:700}.confirm-template p{margin:0}.after-hours{margin-top:var(--space-3);font-size:.9rem}.note{color:var(--color-muted);margin-top:var(--space-2);font-size:.85rem}.nearby{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.nearby h2{margin-bottom:var(--space-3)}.nearby-list{margin:0;padding:0;list-style:none}.nearby-list li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:.9rem;display:flex}.nearby-list li:last-child{border-bottom:none}.nearby-dist{color:var(--color-muted);flex-shrink:0;font-size:.8rem}.disclaimer{margin-top:var(--space-6);color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:var(--space-3);font-size:.8rem;line-height:1.7}main section+section{margin-top:var(--space-6)}main section h2{margin-bottom:var(--space-2)}main section p{margin-bottom:var(--space-2);line-height:1.75}main section ul{margin-bottom:var(--space-2);padding-left:1.3em}main section li{margin-bottom:var(--space-1);line-height:1.7}.enacted{color:var(--color-muted);margin-top:var(--space-1);font-size:.85rem}main .note{font-size:.82rem}.not-found{text-align:center;padding:var(--space-8) 0 var(--space-5)}.not-found h1{margin-bottom:var(--space-3)}.not-found p{color:var(--color-muted);margin-bottom:var(--space-4)}.not-found .cta{margin-top:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
