:root{--w-ink:#0f172a;--w-muted:#526173;--w-line:#dbe4ea;--w-teal:#0f766e;--w-teal-dark:#115e59;--w-sky:#e6f5f7;--w-amber:#f59e0b;--w-paper:#f8fafc}body.waste-page{background:#fff;color:var(--w-ink);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif}.waste-page svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.waste-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:70px;align-items:center;padding:88px max(8vw,32px);background:radial-gradient(circle at 82% 18%,#dff4f6 0,transparent 31%),linear-gradient(135deg,#fff,#f8fbfc);border-bottom:1px solid var(--w-line)}.waste-hero-inner{max-width:760px}.waste-eyebrow,.section-title>p,.official-sources>div>p{margin:0;color:var(--w-teal);font-size:12px;font-weight:900;letter-spacing:.12em}.waste-hero h1{margin:12px 0 20px;font-size:clamp(44px,6vw,78px);line-height:1.13;letter-spacing:-.045em}.waste-hero h1 span{color:var(--w-teal)}.waste-lead{max-width:700px;margin:0;color:var(--w-muted);font-size:17px;line-height:1.9}.waste-page .hero-actions{display:flex;gap:10px;margin-top:30px}.waste-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none}.waste-button.primary{background:var(--w-teal);color:#fff}.waste-button.secondary{border:1px solid #9cb7b5;background:#fff;color:var(--w-teal-dark)}.today-card{padding:28px;border:1px solid #cfe2e3;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 16px 45px rgba(15,118,110,.09)}.icon-disc{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:#dff5f3;color:var(--w-teal)}.icon-disc svg{width:23px;height:23px}.today-card>p{margin:18px 0 3px;color:var(--w-muted);font-size:12px;font-weight:800}.today-card>strong{font-size:20px;line-height:1.5}.today-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 14px}.today-card dl div{padding:12px;border-radius:10px;background:#f1f7f7}.today-card dt{font-size:10px;color:var(--w-muted)}.today-card dd{margin:2px 0 0;font-size:15px;font-weight:900}.today-card small{display:block;color:var(--w-muted);font-size:11px;line-height:1.7}.source-alert{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:center;max-width:1180px;margin:24px auto;padding:18px 20px;border:1px solid #f4d591;border-radius:13px;background:#fffbeb}.source-alert>svg{width:25px;color:#b45309}.source-alert b{font-size:13px}.source-alert p{margin:2px 0 0;color:#725c32;font-size:11px}.source-alert a{color:#92400e;font-size:12px;font-weight:900}.waste-section{padding:86px max(8vw,32px)}.waste-section:nth-of-type(even){background:var(--w-paper)}.section-title{max-width:1180px;margin:0 auto 34px}.section-title h2{margin:6px 0 5px;font-size:clamp(30px,4vw,45px);line-height:1.3;letter-spacing:-.035em}.section-title>span{color:var(--w-muted);font-size:13px}.quick-check ol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1180px;margin:0 auto;padding:0;list-style:none}.quick-check li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;min-height:190px;padding:24px;border:1px solid var(--w-line);border-radius:15px;background:#fff;box-shadow:0 3px 14px rgba(15,23,42,.04)}.quick-check li>span{position:absolute;right:17px;top:10px;color:#d8e4e6;font-size:44px;font-weight:900}.quick-check li>div:last-child{grid-column:1/-1}.quick-check b{display:block;font-size:17px}.quick-check p{margin:6px 0 0;color:var(--w-muted);font-size:13px;line-height:1.8}.waste-filter{display:flex;flex-wrap:wrap;gap:8px;max-width:1180px;margin:0 auto 22px}.waste-filter button{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 13px;border:1px solid var(--w-line);border-radius:10px;background:#fff;color:var(--w-ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.waste-filter button svg{width:20px;height:20px;color:var(--w-teal)}.waste-filter button[aria-pressed="true"]{border-color:var(--w-teal);background:var(--w-teal);color:#fff}.waste-filter button[aria-pressed="true"] svg{color:#fff}.facility-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1180px;margin:0 auto}.facility-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--w-line);border-radius:16px;background:#fff;box-shadow:0 5px 20px rgba(15,23,42,.05)}.facility-card>header{display:flex;gap:12px;align-items:flex-start}.facility-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--w-teal);color:#fff;font-size:14px;font-weight:900}.facility-card header p{margin:0;color:var(--w-teal);font-size:10px;font-weight:900}.facility-card h3{margin:2px 0;font-size:18px;line-height:1.4}.facility-card header span:last-child{display:block;color:var(--w-muted);font-size:10px}.facility-status{display:flex;align-items:center;gap:8px;margin:20px 0 14px;padding:11px 12px;border-radius:9px;font-size:11px}.facility-status svg{width:20px;height:20px;flex:0 0 auto}.facility-status.needs-ticket{background:#fff4dd;color:#92400e}.facility-status.direct{background:#e9f8f4;color:#116152}.facility-card dl{margin:0}.facility-card dl div{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #edf2f5}.facility-card dt{color:var(--w-muted);font-size:10px}.facility-card dd{margin:0;font-size:11px;font-weight:800}.accepted{margin-top:17px}.accepted>b{font-size:11px}.accepted p,.facility-flow{color:var(--w-muted);font-size:11px;line-height:1.75}.facility-flow{padding:11px;border-left:3px solid var(--w-teal);background:#f6fafa}.route-link{display:inline-flex;justify-content:center;margin-top:auto;padding:11px 12px;border:1px solid #8bb9b4;border-radius:9px;color:var(--w-teal-dark);font-size:11px;font-weight:900;text-decoration:none}.classification-note{max-width:1180px;margin:20px auto 0;padding:15px 18px;border-radius:10px;background:#f1f5f9;color:var(--w-muted);font-size:12px}.classification-note b{color:var(--w-ink)}.classification-note a{color:var(--w-teal);font-weight:900}.map-section{background:#eef7f7!important}.map-legend-waste{display:flex;gap:18px;max-width:1180px;margin:-18px auto 14px;color:var(--w-muted);font-size:11px}.map-legend-waste span{display:flex;align-items:center;gap:7px}.map-legend-waste i{width:13px;height:13px;border-radius:50%}.map-legend-waste .drop{background:var(--w-teal)}.map-legend-waste .ticket{background:var(--w-amber)}.waste-map{height:500px;max-width:1180px;margin:0 auto;border:1px solid #b9cecf;border-radius:16px;background:#dcebec;overflow:hidden;z-index:1}.waste-marker-wrap{background:transparent!important;border:0!important}.waste-marker{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);box-shadow:0 3px 12px rgba(15,23,42,.3);color:#fff;font-size:12px;font-weight:900}.waste-marker.drop{background:var(--w-teal)}.waste-marker.ticket{background:var(--w-amber)}.waste-marker-wrap .waste-marker{line-height:1}.waste-marker::first-letter{transform:rotate(45deg)}.leaflet-popup-content b{font-size:13px}.leaflet-popup-content span{font-size:11px}.leaflet-popup-content a{display:inline-block;margin-top:7px;color:var(--w-teal);font-weight:800}.location-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:1180px;margin:18px auto 0}.location-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--w-line);border-radius:12px;background:#fff}.location-kind{align-self:start;padding:4px 7px;border-radius:6px;color:#fff;font-size:9px;font-weight:900}.location-kind.drop{background:var(--w-teal)}.location-kind.ticket{background:#b45309}.location-list h3{margin:0;font-size:14px}.location-list p{margin:2px 0;color:var(--w-muted);font-size:10px}.location-list div>span{font-size:9px;color:#7b8795}.location-list a{color:var(--w-teal);font-size:10px;font-weight:900}.map-caution{max-width:1180px;margin:13px auto 0;color:var(--w-muted);font-size:10px}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:0 auto}.document-grid article{padding:26px;border:1px solid var(--w-line);border-radius:15px;background:#fff}.document-grid h3{margin:17px 0 9px;font-size:18px}.document-grid ul{padding-left:20px}.document-grid li{margin:4px 0;font-size:14px;font-weight:800}.document-grid p{color:var(--w-muted);font-size:11px}.document-note{max-width:900px;margin:14px auto 0;padding:14px 17px;border-left:4px solid var(--w-amber);background:#fffbeb;color:#695b3c;font-size:11px}.caution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1180px;margin:0 auto}.caution-grid article{padding:22px;border:1px solid var(--w-line);border-radius:13px;background:#fff}.caution-grid svg{width:28px;height:28px;color:var(--w-teal)}.caution-grid b{display:block;margin-top:13px}.caution-grid p{margin:5px 0 0;color:var(--w-muted);font-size:12px}.official-sources{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:60px max(8vw,32px);background:#0f172a;color:#fff}.official-sources h2{margin:6px 0;font-size:28px}.official-sources>div>span{color:#94a3b8;font-size:10px}.source-links{display:grid;gap:8px}.source-links a{display:flex;justify-content:space-between;gap:15px;padding:15px 17px;border:1px solid #334155;border-radius:10px;color:#fff;text-decoration:none}.source-links b{font-size:13px}.source-links span{color:#7dd3fc;font-size:10px}.map-noscript{max-width:1180px;margin:10px auto;padding:15px;background:#fff}
@media(max-width:900px){.waste-hero{grid-template-columns:1fr;gap:35px;padding:65px 24px}.today-card{max-width:600px}.quick-check ol,.facility-results{grid-template-columns:1fr}.facility-card{padding:22px}.location-list{grid-template-columns:1fr}.official-sources{grid-template-columns:1fr;gap:24px}.waste-section{padding:65px 24px}.caution-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.waste-page .site-header{height:68px}.waste-page .site-header nav{display:none}.waste-hero{padding:48px 18px}.waste-hero h1{font-size:43px}.waste-lead{font-size:15px}.waste-page .hero-actions{display:grid}.today-card{padding:22px}.today-card>strong{font-size:17px}.source-alert{grid-template-columns:24px 1fr;margin:14px;padding:15px}.source-alert a{grid-column:1/-1;padding:9px 0 0}.waste-section{padding:52px 18px}.section-title{margin-bottom:25px}.section-title h2{font-size:31px}.quick-check ol{gap:10px}.quick-check li{min-height:0;padding:20px}.waste-filter{display:grid;grid-template-columns:1fr 1fr}.waste-filter button{min-width:0;line-height:1.35}.facility-card h3{font-size:17px}.waste-map{height:430px;border-radius:12px}.location-list article{grid-template-columns:auto 1fr}.location-list a{grid-column:2}.document-grid,.caution-grid{grid-template-columns:1fr}.official-sources{padding:46px 18px}.source-links a{display:block}.source-links span{display:block;margin-top:3px}footer{padding:38px 18px}}

/* 入場券の行き先と、狭い画面での横あふれ防止 */
html:has(.waste-page),body.waste-page{overflow-x:hidden}
.waste-hero>*,.today-card,.source-alert>*,.waste-section>*{min-width:0}
.today-card{width:100%}
.waste-page :is(.section-title h2,.quick-check h2,.official-sources h2){font-family:inherit}
.waste-page .section-title h2,.waste-page .official-sources h2{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif!important}
.ticket-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:780px;margin:0 auto 16px}
.ticket-rules span{padding:14px 16px;border:1px solid #b7d8d5;border-radius:10px;background:#ecfdf9;font-size:14px;font-weight:900}
.ticket-rules b{display:block;color:#526173;font-size:10px}
.ticket-flows{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1180px;margin:0 auto}
.ticket-flows>article{overflow:hidden;border:1px solid var(--w-line);border-radius:15px;background:#fff}
.ticket-flows article>header{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;background:#0f766e;color:#fff}
.ticket-flows article>header span{font-size:14px;font-weight:900}.ticket-flows article>header b{font-size:10px}
.ticket-flows article>div{position:relative;padding:17px 18px;border-bottom:1px solid #e8eef1}
.ticket-flows time{display:block;color:#0f766e;font-size:10px;font-weight:900}.ticket-flows strong{display:block;margin:3px 0;font-size:16px}
.ticket-flows p{margin:0;color:#526173;font-size:10px}.ticket-flows a{position:absolute;right:18px;top:23px;color:#0f766e;font-size:10px;font-weight:900}
.ticket-flows article>small{display:block;padding:13px 18px;color:#725c32;background:#fffbeb;font-size:10px;line-height:1.7}
.ticket-flows .ticket-location-current{border-left:7px solid #0f766e;background:#f0fdfa}.ticket-flows .ticket-location-current time{font-size:15px}.ticket-flows .ticket-location-current time b{display:inline-block;margin-right:7px;padding:4px 7px;border-radius:4px;background:#0f766e;color:#fff;font-size:11px}.ticket-flows .ticket-location-current strong{font-size:22px}.ticket-flows .ticket-location-past{background:#f1f5f9;color:#64748b}.ticket-flows .ticket-location-past time{color:#64748b}.ticket-flows .ticket-location-past strong{color:#64748b;text-decoration:line-through;text-decoration-thickness:1px}.ticket-flows .ticket-location-past p{color:#8a3b31;font-weight:800}.ticket-flows .ticket-location-past::after{content:"過去の情報";position:absolute;right:18px;top:18px;padding:4px 7px;border-radius:4px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:900}
@media(max-width:700px){.waste-hero-inner,.today-card{max-width:100%}.today-card dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.today-card dd{font-size:14px;white-space:nowrap}.ticket-rules{grid-template-columns:1fr}.ticket-flows{grid-template-columns:1fr}.ticket-flows article>header{display:block}.ticket-flows article>header b{display:block;margin-top:2px}.ticket-flows a{position:static;display:inline-block;margin-top:8px}.waste-button{width:100%;max-width:100%}}

/* 宇土市の配布チラシをイメージした、大きく視覚的な紙面 */
body.waste-page{background:#f2efe6;background-image:radial-gradient(#d8d2c2 0.7px,transparent 0.7px);background-size:7px 7px}
.waste-page .site-header{background:#fffdf8;border-bottom:4px solid #0f766e}
.waste-page main{max-width:1440px;margin:0 auto;background:#fff;box-shadow:0 0 50px rgba(52,48,38,.12)}
.waste-hero{position:relative;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);gap:54px;padding-top:70px;padding-bottom:70px;background:linear-gradient(126deg,#fff9d9 0 53%,#dff7f3 53%);border-bottom:0}
.waste-hero:after{content:"宇土市からのお知らせ";position:absolute;left:max(8vw,32px);bottom:-18px;padding:7px 18px;border-radius:5px;background:#ea580c;color:#fff;font-size:13px;font-weight:900;letter-spacing:.08em;box-shadow:0 4px 0 #9a3412}
.waste-eyebrow{display:flex;align-items:center;gap:10px;color:#334155;font-size:15px;letter-spacing:.06em}
.waste-eyebrow span{display:inline-grid;place-items:center;min-width:92px;padding:8px 15px;border-radius:999px;background:#0f766e;color:#fff;font-size:20px;letter-spacing:.08em;box-shadow:0 4px 0 #115e59}
.waste-hero h1{margin:22px 0 20px;font-size:clamp(56px,6.2vw,86px);line-height:1.06;letter-spacing:-.055em;text-shadow:3px 3px 0 #fff}
.waste-hero h1 small{display:block;margin-bottom:8px;color:#0f766e;font-size:.42em;letter-spacing:.04em}
.waste-hero h1 span{display:inline-block;margin-top:6px;padding:3px 10px 9px;background:linear-gradient(transparent 63%,#facc15 63%);color:#0f172a}
.waste-lead{max-width:680px;padding:18px 20px;border-left:7px solid #ea580c;background:rgba(255,255,255,.74);color:#263447;font-size:20px;font-weight:700;line-height:1.9}
.waste-button{min-height:58px;padding-inline:26px;border-width:2px;border-radius:8px;font-size:17px;box-shadow:0 4px 0 rgba(15,23,42,.15)}
.hero-side{display:grid;gap:14px;min-width:0}.hero-illustration{padding:16px 18px 13px;border:3px solid #0f766e;border-radius:20px;background:#fff;box-shadow:8px 8px 0 #99d9d1}.hero-illustration>svg{display:block;width:100%;height:auto}.hero-illustration .ground{stroke:#334155;stroke-width:5}.hero-illustration .truck{fill:#14b8a6;stroke:#0f766e;stroke-width:5}.hero-illustration .window{fill:#dff7f3;stroke:#0f766e;stroke-width:4}.hero-illustration .wheel{fill:#334155;stroke:#fff;stroke-width:8}.hero-illustration .box-one{fill:#facc15;stroke:#a16207;stroke-width:4}.hero-illustration .box-two{fill:#fb923c;stroke:#c2410c;stroke-width:4}.hero-illustration .box-three{fill:#60a5fa;stroke:#1d4ed8;stroke-width:4}.hero-illustration :is(.bottle,.chair,.screen){stroke:#fff;stroke-width:5}.hero-illustration .route{stroke:#ea580c;stroke-width:5;stroke-dasharray:9 9}.hero-illustration .pin{fill:#ea580c;stroke:#c2410c;stroke-width:4}.hero-illustration .pin-dot{fill:#fff;stroke:none}.hero-illustration p{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;color:#334155;font-size:14px}.hero-illustration p b{color:#0f766e;font-size:20px}.today-card{padding:20px 22px;border:3px solid #0f766e;border-radius:15px;box-shadow:5px 5px 0 #99d9d1}.today-card .icon-disc{float:left;margin-right:13px}.today-card>p{margin-top:2px;font-size:13px}.today-card>strong{font-size:23px}.today-card dl{clear:both;margin-top:20px}.today-card dt{font-size:12px}.today-card dd{font-size:18px}.today-card small{font-size:13px;font-weight:700}.source-alert{margin-top:40px;border-width:3px;border-color:#f59e0b;border-radius:8px;background:#fff8d6;box-shadow:5px 5px 0 #fde68a}.source-alert b{font-size:16px}.source-alert p,.source-alert a{font-size:13px}.waste-section{position:relative}.waste-section:nth-of-type(even){background:#f5fbfa}.section-title>p{display:inline-block;padding:5px 10px;border-radius:4px;background:#0f766e;color:#fff;font-size:13px;letter-spacing:.1em}.section-title h2{margin-top:12px;font-size:clamp(38px,4.3vw,56px);font-weight:900}.section-title>span{font-size:17px;font-weight:700}.quick-check ol{gap:20px}.quick-check li{min-height:220px;padding:28px;border:3px solid #cbd5e1;border-radius:10px;box-shadow:7px 7px 0 #e2e8f0}.quick-check li:nth-child(1){border-color:#5eead4}.quick-check li:nth-child(2){border-color:#93c5fd}.quick-check li:nth-child(3){border-color:#fdba74}.quick-check .icon-disc{width:58px;height:58px;border-radius:50%}.quick-check .icon-disc svg{width:31px;height:31px}.quick-check li>span{top:3px;font-size:64px}.quick-check b{font-size:22px}.quick-check p{font-size:16px;font-weight:600}.ticket-rules{max-width:900px;gap:14px}.ticket-rules span{border-width:3px;border-radius:8px;font-size:19px;box-shadow:4px 4px 0 #a7f3d0}.ticket-rules b{font-size:13px}.ticket-flows{gap:22px}.ticket-flows>article{border-width:3px;border-radius:10px;box-shadow:7px 7px 0 #d8e4e6}.ticket-flows article>header{padding:20px 22px}.ticket-flows article>header span{font-size:20px}.ticket-flows article>header b{padding:4px 8px;border-radius:4px;background:#facc15;color:#713f12;font-size:13px}.ticket-flows article>div{padding:21px 22px}.ticket-flows time{font-size:14px}.ticket-flows strong{font-size:20px}.ticket-flows p,.ticket-flows a,.ticket-flows article>small{font-size:13px}.waste-filter{gap:12px}.waste-filter button{min-height:64px;padding:12px 17px;border-width:2px;border-radius:8px;font-size:15px;box-shadow:0 3px 0 #dbe4ea}.waste-filter button svg{width:28px;height:28px}.facility-results{gap:22px}.facility-card{padding:27px;border-width:3px;border-radius:10px;box-shadow:7px 7px 0 #dbe4ea}.facility-number{width:44px;height:44px;font-size:20px}.facility-card header p{font-size:12px}.facility-card h3{font-size:22px}.facility-card header span:last-child{font-size:13px}.facility-status{padding:14px;font-size:14px}.facility-card dt{font-size:13px}.facility-card dd{font-size:14px}.accepted>b{font-size:15px}.accepted p,.facility-flow{font-size:14px}.route-link{padding:14px;font-size:14px}.classification-note{border:3px dashed #f59e0b;background:#fff8d6;font-size:15px}.waste-map{border-width:4px;border-radius:10px;box-shadow:8px 8px 0 #b8d8d5}.map-legend-waste{font-size:14px;font-weight:800}.location-list article{border-width:2px;border-radius:8px;box-shadow:3px 3px 0 #dbe4ea}.location-kind{font-size:11px}.location-list h3{font-size:17px}.location-list p,.location-list a{font-size:13px}.location-list div>span,.map-caution{font-size:12px}.document-grid article{border-width:3px;border-radius:10px;box-shadow:7px 7px 0 #dbe4ea}.document-grid .icon-disc{width:58px;height:58px;border-radius:50%}.document-grid h3{font-size:23px}.document-grid li{font-size:18px}.document-grid p,.document-note{font-size:14px}.caution-grid article{border-width:3px;border-radius:9px;box-shadow:5px 5px 0 #dbe4ea}.caution-grid svg{width:42px;height:42px}.caution-grid b{font-size:20px}.caution-grid p{font-size:15px}.official-sources{border-top:12px solid #facc15}.official-sources h2{font-size:35px}.source-links a{border-width:2px}.source-links b{font-size:16px}.source-links span{font-size:13px}
@media(max-width:900px){.waste-hero{grid-template-columns:1fr;background:linear-gradient(155deg,#fff9d9 0 49%,#dff7f3 49%)}.hero-side{max-width:650px}.facility-results{grid-template-columns:1fr}}
@media(max-width:600px){.waste-page main{box-shadow:none}.waste-hero{padding-top:42px;padding-bottom:52px}.waste-hero:after{left:18px;font-size:11px}.waste-eyebrow{font-size:12px}.waste-eyebrow span{min-width:78px;padding:6px 12px;font-size:17px}.waste-hero h1{font-size:48px}.waste-lead{padding:14px 15px;font-size:16px}.hero-illustration{padding:10px;box-shadow:5px 5px 0 #99d9d1}.hero-illustration p{display:block;text-align:center}.hero-illustration p b,.hero-illustration p span{display:block}.hero-illustration p b{font-size:17px}.today-card>strong{font-size:18px}.today-card small{font-size:12px}.section-title h2{font-size:35px}.section-title>span{font-size:14px}.quick-check li{min-height:0;padding:22px}.quick-check b{font-size:19px}.quick-check p{font-size:14px}.ticket-rules span{font-size:17px}.ticket-flows article>header span{font-size:18px}.waste-filter button{min-height:60px;padding:10px;font-size:13px}.facility-card{padding:22px}.facility-card h3{font-size:20px}.document-grid li{font-size:16px}.official-sources h2{font-size:28px}}

/* 品目を実物と照らし合わせるための大型イラスト選択カード */
.waste-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}
.waste-filter button{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;min-height:154px;padding:14px 18px;border:3px solid #cbd5e1;border-radius:12px;background:#fff;text-align:left;box-shadow:5px 5px 0 #e2e8f0;transition:transform .16s,border-color .16s,box-shadow .16s}
.waste-filter button:hover{transform:translateY(-3px);border-color:#0f766e;box-shadow:7px 8px 0 #b7ddd8}
.waste-filter button[aria-pressed="true"]{border-color:#0f766e;background:#e8faf7;color:#0f172a;box-shadow:7px 7px 0 #5eead4}
.waste-art{display:grid;place-items:center;min-height:112px;border-radius:10px;background:#f8fafc}
.waste-filter button .waste-art svg{width:120px;height:82px;color:#334155;stroke-width:3}
.waste-art .art-teal{fill:#2dd4bf;stroke:#0f766e}.waste-art .art-orange{fill:#fb923c;stroke:#c2410c}.waste-art .art-blue{fill:#93c5fd;stroke:#1d4ed8}.waste-art .art-yellow{fill:#fde047;stroke:#a16207}.waste-art .art-slate{fill:#cbd5e1;stroke:#475569}.waste-art .hanger{fill:none}
.waste-filter-copy b,.waste-filter-copy small{display:block}.waste-filter-copy b{font-size:19px;line-height:1.4}.waste-filter-copy small{margin-top:7px;color:#526173;font-size:13px;font-weight:700;line-height:1.6}
.waste-filter button>i{display:none;position:absolute;right:10px;top:10px;place-items:center;width:28px;height:28px;border-radius:50%;background:#0f766e;color:#fff;font-size:16px;font-style:normal;font-weight:900}
.waste-filter button[aria-pressed="true"]>i{display:grid}
@media(max-width:1000px){.waste-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.waste-filter{grid-template-columns:1fr;gap:13px}.waste-filter button{grid-template-columns:122px minmax(0,1fr);min-height:140px;padding:12px 14px}.waste-art{min-height:104px}.waste-filter button .waste-art svg{width:112px;height:78px}.waste-filter-copy b{font-size:17px}.waste-filter-copy small{font-size:12px}}

/* 手順と必要書類も、行動・持ち物が見える説明イラストにする */
.quick-check li{display:flex;flex-direction:column;min-height:390px}
.step-illustration{display:grid;place-items:center;width:100%;min-height:178px;margin-bottom:8px;border-radius:10px;background:#f8fafc}
.step-illustration svg{width:min(100%,260px);height:158px;color:#334155;stroke-width:3}
.step-illustration .step-ground{stroke:#64748b;stroke-width:4}.step-illustration .step-bin{stroke-width:4}.step-illustration .bin-green{fill:#5eead4;stroke:#0f766e}.step-illustration .bin-yellow{fill:#fde047;stroke:#a16207}.step-illustration .bin-blue{fill:#93c5fd;stroke:#1d4ed8}.step-illustration .bottle-shape{fill:#60a5fa;stroke:#1d4ed8}.step-illustration .pan-shape{fill:#cbd5e1;stroke:#475569}.step-illustration .cloth-shape{fill:#fb923c;stroke:#c2410c}.step-illustration .paper-back{fill:#e2e8f0;stroke:#64748b}.step-illustration .paper-front{fill:#fff;stroke:#2563eb}.step-illustration .id-card{fill:#bfdbfe;stroke:#1d4ed8}.step-illustration .car-shape{fill:#2dd4bf;stroke:#0f766e}.step-illustration .car-wheel{fill:#334155;stroke:#fff;stroke-width:5}.step-illustration .booth{fill:#fed7aa;stroke:#c2410c}.step-illustration .ticket-shape{fill:#fde047;stroke:#a16207}
.quick-check li>div:last-child{grid-column:auto}.quick-check li>div:last-child b{font-size:23px}.quick-check li>div:last-child p{font-size:16px}
.document-grid{max-width:1040px}.document-grid article{padding-top:22px}.document-illustration{display:grid;grid-template-rows:160px auto;place-items:center;margin:-4px -4px 20px;padding:14px;border-radius:10px;background:#f8fafc}
.document-illustration svg{width:min(100%,390px);height:155px;color:#334155;stroke-width:3}
.document-illustration>span{display:inline-block;margin-top:6px;padding:5px 12px;border-radius:999px;background:#0f766e;color:#fff;font-size:13px;font-weight:900}
.document-illustration .doc-shadow{fill:#e2e8f0;stroke:#64748b}.document-illustration .doc-blue{fill:#bfdbfe;stroke:#1d4ed8}.document-illustration .doc-orange{fill:#fed7aa;stroke:#c2410c}.document-illustration .doc-stamp{fill:#fb7185;stroke:#be123c}.document-illustration .license{fill:#bfdbfe;stroke:#1d4ed8}.document-illustration .my-number{fill:#a7f3d0;stroke:#0f766e}
@media(max-width:600px){.quick-check li{min-height:0}.step-illustration{min-height:150px}.step-illustration svg{height:142px}.quick-check li>div:last-child b{font-size:20px}.quick-check li>div:last-child p{font-size:14px}.document-illustration{grid-template-rows:130px auto}.document-illustration svg{height:130px}.document-illustration>span{font-size:11px}}

/* 「品目を選ぶ」と「場所を確認する」を別の操作段階として明確に分ける */
.item-selection-heading{display:flex;align-items:center;gap:12px;max-width:1180px;margin:0 auto 14px;padding:13px 17px;border-left:8px solid #f59e0b;background:#fff8d6}
.item-selection-heading>span,.result-step{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#ea580c;color:#fff;font-size:20px;font-weight:900}
.item-selection-heading b,.item-selection-heading small{display:block}.item-selection-heading b{font-size:18px}.item-selection-heading small{color:#725c32;font-size:12px;font-weight:700}
.facility-results{position:relative;gap:18px;margin-top:48px;padding:24px;border:4px solid #0f766e;border-radius:18px;background:#dff7f3;box-shadow:10px 10px 0 #99d9d1}
.facility-results:before{content:"";position:absolute;left:50%;top:-42px;width:4px;height:38px;background:#ea580c;transform:translateX(-50%)}
.facility-results:after{content:"";position:absolute;left:50%;top:-12px;width:14px;height:14px;border-right:4px solid #ea580c;border-bottom:4px solid #ea580c;transform:translateX(-50%) rotate(45deg)}
.facility-result-heading{grid-column:1/-1;display:grid;grid-template-columns:46px minmax(0,1fr) 48px;gap:15px;align-items:center;margin:-24px -24px 6px;padding:22px 25px;border-radius:13px 13px 0 0;background:#0f766e;color:#fff}
.facility-result-heading .result-step{width:46px;height:46px;background:#facc15;color:#713f12;font-size:24px}.facility-result-heading p{margin:0;color:#ccfbf1;font-size:13px}.facility-result-heading p b{color:#fff;font-size:16px}.facility-result-heading h3{margin:2px 0;font-size:28px}.facility-result-heading div>span{font-size:12px}.facility-result-heading>i{display:grid;place-items:center;width:44px;height:44px;border:2px solid #5eead4;border-radius:50%;font-size:25px;font-style:normal}
.facility-results .facility-card{overflow:hidden;padding:0 22px 22px;border:0;border-radius:10px;background:#fff;box-shadow:0 5px 15px rgba(15,118,110,.14)}
.facility-results .facility-card>header{margin:0 -22px 18px;padding:20px 22px;background:#172554;color:#fff}
.facility-results .facility-number{background:#facc15;color:#713f12}
.facility-results .facility-card header p{color:#5eead4;font-size:12px}.facility-results .facility-card header span:last-child{color:#cbd5e1}
.facility-results .facility-card h3{color:#fff;font-size:22px}.facility-results .facility-status{margin-top:0}.facility-results .accepted{padding-top:4px;border-top:3px solid #dff7f3}
.facility-results .route-link{background:#fff;color:#0f766e}
@media(max-width:600px){.item-selection-heading{padding:11px 13px}.item-selection-heading b{font-size:16px}.facility-results{margin-top:42px;padding:13px;border-width:3px;border-radius:12px;box-shadow:6px 7px 0 #99d9d1}.facility-result-heading{grid-template-columns:40px minmax(0,1fr);margin:-13px -13px 3px;padding:17px 15px;border-radius:8px 8px 0 0}.facility-result-heading .result-step{width:40px;height:40px}.facility-result-heading h3{font-size:22px}.facility-result-heading>i{display:none}.facility-results .facility-card{padding:0 17px 18px}.facility-results .facility-card>header{margin:0 -17px 16px;padding:18px 17px}.facility-results .facility-card h3{font-size:19px}}

/* 施設ごとの受入品目を、文章ではなくイラスト一覧で確認できるようにする */
.facility-results .accepted{margin:18px -8px 0;padding:15px;border:3px solid #f59e0b;border-radius:10px;background:#fffbeb}
.accepted>header{display:flex!important;align-items:center;gap:10px;margin:0 0 12px!important;padding:0 0 11px!important;border-bottom:2px solid #f4d58d;background:transparent!important;color:#0f172a!important}
.accepted>header>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#facc15;color:#713f12}.accepted>header svg{width:23px;height:23px}
.accepted>header b,.accepted>header small{display:block}.accepted>header b{font-size:18px}.accepted>header small{margin-top:1px;color:#9a3412;font-size:11px;font-weight:900}
/* 2列固定だと、この箱が細い列に入るPC幅で品目名が数文字ごとに折り返される。
   入る幅があるときだけ2列にする */
.accepted-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}
.accepted-list>span{display:grid;grid-template-columns:54px minmax(0,1fr);gap:7px;align-items:center;min-height:55px;padding:5px 7px;border:1px solid #f2d58f;border-radius:7px;background:#fff}
.accepted-list i{display:grid;place-items:center;width:54px;height:43px;border-radius:5px;background:#f8fafc;font-style:normal}.accepted-list i svg{width:52px;height:38px;color:#334155;stroke-width:3}
.accepted-list .art-teal{fill:#2dd4bf;stroke:#0f766e}.accepted-list .art-orange{fill:#fb923c;stroke:#c2410c}.accepted-list .art-blue{fill:#93c5fd;stroke:#1d4ed8}.accepted-list .art-yellow{fill:#fde047;stroke:#a16207}.accepted-list .art-slate{fill:#cbd5e1;stroke:#475569}.accepted-list .hanger{fill:none}
.accepted-list>span>b{font-size:11px;line-height:1.35}.accepted details{margin-top:11px;border-top:1px dashed #d6a731}.accepted summary{padding-top:10px;color:#92400e;font-size:11px;font-weight:900;cursor:pointer}.accepted details p{margin:8px 0 0;color:#5f4b27;font-size:11px;line-height:1.7}
@media(max-width:1100px) and (min-width:901px){.accepted-list{grid-template-columns:1fr}.accepted-list>span{grid-template-columns:45px minmax(0,1fr)}.accepted-list i{width:45px}.accepted-list i svg{width:43px}}
@media(max-width:600px){.facility-results .accepted{margin-inline:-4px;padding:12px}.accepted>header b{font-size:17px}.accepted-list>span{grid-template-columns:50px minmax(0,1fr)}.accepted-list i{width:50px}.accepted-list i svg{width:48px}.accepted-list>span>b{font-size:10px}}

/* The two branch collection points use a distinct visual language because their
   self-service rules differ from the three staffed temporary sites. */
.facility-results .facility-card.branch-card>header{background:#14532d}
.facility-status.self-service{border:2px solid #86efac;background:#ecfdf5;color:#166534}

/* Keep the archive notice as one three-column component. The shared flyer
   marker is redundant here because this card already contains an alert icon. */
.waste-page .source-alert::before{content:none!important;display:none!important}
.waste-page .source-alert{grid-template-columns:32px minmax(0,1fr) max-content;column-gap:16px;min-height:0}
.waste-page .source-alert>svg{display:block;grid-column:1;grid-row:1;width:28px;height:28px}
.waste-page .source-alert>div{grid-column:2;grid-row:1;min-width:0}
.waste-page .source-alert>a{grid-column:3;grid-row:1;max-width:230px;white-space:normal;text-align:right}
@media(max-width:700px){.waste-page .source-alert{grid-template-columns:32px minmax(0,1fr);gap:10px 13px;margin-inline:12px;padding:16px}.waste-page .source-alert>svg{grid-column:1;grid-row:1}.waste-page .source-alert>div{grid-column:2;grid-row:1}.waste-page .source-alert>a{grid-column:1/-1;grid-row:2;max-width:none;padding:11px 13px;border:2px solid #d97706;border-radius:8px;background:#fff;text-align:center;text-decoration:none}}
