:root{--navy:#0b3a82;--red:#d7192d;--line:#999;--cream:#fff8e6;--btn:#dce6f7}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#222;background:#fff;line-height:1.6}
.wrap{background:#fff;max-width:800px;margin:0 auto;padding:24px 36px 40px}
.wrap h1{font-size:16px;text-align:center;margin:15px 0 32px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.group{text-align:center;margin-top:22px}
.group h2{font-size:14px;color:var(--red);margin:0;line-height:1.4}
.group small{display:block;font-size:10px;margin-bottom:8px}
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:left}
.opts label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:4px;padding:8px 6px;font-size:12px;color:var(--navy);cursor:pointer}
.opts input{margin:0;accent-color:var(--navy)}
.opts label:has(input:checked){background:#eaf0fb;border-color:var(--navy)}
select{width:40%;min-width:200px;padding:10px;border:1px solid var(--line);border-radius:4px;font-size:13px;color:var(--navy);text-align:center;margin-top:5px}
.actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}
.actions button{width:40%;padding:8px;border:1px solid var(--line);border-radius:999px;background:#eee;font-size:13px;font-weight:500;cursor:pointer}
.actions button:hover{background:#e0e0e0}
#count{margin:36px 0 12px;font-size:13px;text-align:center;scroll-margin-top:12px}
.results{max-width:1200px;margin:0 auto;padding:0 16px 60px}
#list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.card{width:100%;background:var(--cream);border:2px solid #d9cfae;padding:14px}
.shop-name{display:flex;align-items:baseline;gap:6px;background:var(--navy);color:#fff;border-radius:999px;padding:8px 20px;margin:0;font-size:16px;line-height:1.3;position:relative}
.menu .note{font-size:12px;font-weight:400;margin-left:2px}
.shop-name .note{font-size:11px;font-weight:400;margin-left:2px}
.shop-name .fl{font-size:22px;font-weight:700}.shop-name .fl small{font-size:10px}
.inner{background:#fff;padding:14px 16px 18px;margin-top:-6px;padding-top:20px;font-size:13px}
.inner p{margin:0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.tags span{border:1px solid var(--navy);color:var(--navy);padding:0 6px;font-size:12px}
.inner img{display:block;width:100%;height:auto;margin-top:12px;margin-bottom:12px}
.menu{color:var(--red);font-weight:700;font-size:15px;line-height:1.4;margin:0}
.period{font-size:11px;color:#666}
.comment{margin:8px 0 14px!important;font-size:13px;line-height:1.9}
.btns{display:grid;gap:10px;justify-items:center}
.btns a{width:80%;text-align:center;padding:9px 4px;background:var(--btn);border:1px solid #666;border-radius:999px;color:#222;text-decoration:none;font-size:13px}
.btns a:hover{filter:brightness(.95)}
.empty{text-align:center;color:#666;padding:40px 0}
@media(max-width:520px){.opts{grid-template-columns:repeat(2,1fr)}.actions button{width:90%}}
@media(max-width:730px){#list{grid-template-columns:1fr;justify-items:center}.card{max-width:436px}}

