:root{--pri:#0b5f5a;--pri2:#13857d;--ink:#17302f;--mut:#4d6260;--bg:#f4faf8;--line:#dce9e6;--cream:#fff6e3;--coral:#e8604f;--sky:#3f9cc4;--r:18px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Noto Sans JP,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:15px}p,td{overflow-wrap:anywhere}a{color:var(--pri)}h1,h2,.rd{font-family:"M PLUS Rounded 1c",Noto Sans JP,sans-serif;letter-spacing:.02em}.w{max-width:1080px;margin:0 auto;padding:0 18px}header{position:sticky;top:0;z-index:10;background:#ffffffe8;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:62px;gap:12px}.logo{display:flex;align-items:center;gap:8px;text-decoration:none}.logo img{width:34px;height:34px}.logo b{font-family:"M PLUS Rounded 1c";font-weight:800;font-size:22px;color:var(--pri)}.logo b i{font-style:normal;color:var(--coral)}.logo small{display:block;font-size:10px;color:var(--mut);line-height:1;margin-top:-2px}.nav nav{display:flex;gap:4px}.nav nav a{font-size:13px;font-weight:500;text-decoration:none;color:var(--ink);padding:8px 12px;border-radius:99px}.nav nav a:hover{background:#e6f4f1}main{padding:22px 0 56px}h1{font-size:26px;margin:6px 0 10px;line-height:1.4}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:20px;background:linear-gradient(135deg,#e3f4ef,#fdf3e3);border-radius:28px;padding:30px 34px;margin-bottom:22px;overflow:hidden}.hero h1{font-size:32px;color:var(--pri)}.hero h1 em{font-style:normal;color:var(--coral)}.hero p{margin:0 0 14px;color:var(--mut)}.chars{display:flex;justify-content:center;align-items:flex-end}.chars img{width:33%;max-width:150px;height:auto}.chars img:nth-child(2){transform:translateY(-14px)}.bubble{background:#fff;border-radius:16px;padding:8px 14px;font-size:13px;display:inline-block;box-shadow:0 4px 14px #0b5f5a14;margin-bottom:8px}.stats{display:flex;gap:10px;flex-wrap:wrap}.stats span{background:#fff;border-radius:99px;padding:4px 12px;font-size:13px;font-weight:700;color:var(--pri)}.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px;box-shadow:0 4px 16px #0b5f5a0d}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.search{grid-column:1/-1}label.f{font-size:12px;font-weight:700;color:var(--mut)}select,input{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}select:focus,input:focus{outline:3px solid #13857d55;border-color:var(--pri2)}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none}.chip{flex:none;display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}.chip[aria-pressed=true]{background:var(--pri);border-color:var(--pri);color:#fff}.card{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px;transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:0 8px 24px #0b5f5a17;transform:translateY(-1px)}.date{flex:none;width:58px;text-align:center;background:var(--cream);border-radius:14px;padding:6px 0;line-height:1.2;align-self:flex-start}.date .mo{display:block;font-size:11px;color:var(--mut)}.date .dy{display:block;font-family:"M PLUS Rounded 1c";font-size:24px;font-weight:800;color:var(--pri)}.date .wd{font-size:11px;color:var(--mut)}.body{min-width:0;flex:1}.card h3{margin:6px 0;font-size:16px;line-height:1.5}.card h3 a{text-decoration:none;color:var(--ink)}.card h3 a:hover{color:var(--pri)}.meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12.5px;color:var(--mut)}.tags{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}.tag{display:inline-flex;align-items:center;gap:4px;background:#eef5f3;border-radius:99px;padding:2px 10px;color:var(--ink)}.tag.reg{background:#e0f1ee;color:var(--pri);font-weight:700}.ico{display:inline-flex}.st{font-weight:700}.st-満席,.st-受付終了{background:#fde7e4;color:#9e2a1c}.st-受付中{background:#e2f5e7;color:#17602f}.st-要確認{background:#f0f0ee;color:#4d5250}.vb{border-radius:6px;padding:1px 8px;font-weight:700;font-size:11.5px}.v-ok{background:#e2f5e7;color:#17602f}.v-mid{background:#fff1cc;color:#6b4d00}.v-ng{background:#fde7e4;color:#9e2a1c}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--pri);color:#fff;padding:11px 18px;border-radius:99px;text-decoration:none;border:0;font:inherit;font-weight:700;font-size:14px;cursor:pointer}.btn:hover{background:var(--pri2)}.btn.sub{background:#fff;color:var(--pri);border:1.5px solid var(--pri)}.cta{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#ffe9e4,#fff6e3);border-radius:24px;padding:18px 22px;margin:24px 0}.cta img{width:96px;height:auto;flex:none}.cta b{font-family:"M PLUS Rounded 1c";font-size:18px}.empty{text-align:center;padding:28px;color:var(--mut)}.empty img{width:110px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:14px}.lp{display:flex;flex-wrap:wrap;gap:8px}.lp a{text-decoration:none;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 12px;color:var(--ink)}.lp a:hover{border-color:var(--pri)}table.dt{width:100%;border-collapse:collapse;font-size:14px}table.dt th{text-align:left;padding:10px 8px;width:28%;color:var(--mut);font-weight:700;vertical-align:top}table.dt td{padding:10px 8px}table.dt tr{border-top:1px solid var(--line)}.warn{font-size:13px;background:#fff1cc;color:#5a4100;padding:10px 12px;border-radius:12px}footer{border-top:1px solid var(--line);background:#fff;padding:26px 0;font-size:12px;color:var(--mut)}@media (max-width:720px){.hero{grid-template-columns:1fr;padding:22px 18px;text-align:left}.hero h1{font-size:24px}.chars img{max-width:100px}.nav nav a{padding:6px 8px;font-size:12px}.logo small{display:none}.grid{grid-template-columns:1fr 1fr}h1{font-size:21px}.cta{flex-direction:column;text-align:center}}
