.oeufs-rsv{--rn:var(--navy,#05206b);--ry:var(--yolk,#f3c94b);--rl:var(--line,#d9dbe3);--rs:var(--navy-soft,#eef1f8);--rm:var(--muted,#6a6f7d);max-width:680px;margin:0 auto;font-family:var(--jp,inherit);color:var(--ink,#2b2f3a);line-height:1.8}
.oeufs-rsv *{box-sizing:border-box}
.rsv-notice{background:var(--rs);border-left:4px solid var(--ry);padding:14px 18px;margin:0 0 28px;font-size:14px}
.rsv-notice p{margin:0}
.rsv-notice p+.rsv-points{margin-top:10px}
.rsv-points{margin:0;padding-left:1.3em}.rsv-points li{margin:4px 0}
.rsv-step{margin:0 0 36px}
.rsv-h{display:flex;align-items:center;gap:12px;font-size:18px;margin:0 0 14px;color:var(--rn)}
.rsv-h span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--rn);color:#fff;font-size:14px;font-family:var(--en,inherit)}
.rsv-cal{background:#fff;border:1px solid var(--rl);border-radius:8px;padding:14px}
.rsv-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.rsv-nav strong{font-size:16px;letter-spacing:.06em}
.rsv-nav button{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;text-align:center;line-height:38px;font-size:22px;color:var(--rn);border:1px solid var(--rl)}
.rsv-nav button:disabled{opacity:.3;cursor:default}
.rsv-cal table{width:100%;border-collapse:collapse;table-layout:fixed}
.rsv-cal th{font-size:12px;font-weight:500;color:var(--rm);padding:4px 0}
.rsv-cal td{padding:3px;text-align:center}
.rsv-cal td.empty{padding:0}
.day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;max-height:56px;margin:0 auto;border-radius:8px;font-size:15px;font-family:var(--en,inherit)}
button.day{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;max-height:56px;border-radius:8px;background:var(--rs);color:var(--rn);font-weight:700;font-size:15px;font-family:var(--en,inherit)}
button.day:hover{background:var(--ry)}
button.day.on{background:var(--rn);color:#fff}
button.day:focus-visible,.slot:focus-visible,.rsv-submit:focus-visible{outline:2px solid var(--rn);outline-offset:2px}
.day.ng{color:#b5b8c2;background:#f4f4f5;text-decoration:line-through;text-decoration-color:#d4d6dc}
.rsv-legend{font-size:12px;color:var(--rm);margin:10px 2px 0}
.rsv-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin:0 4px 0 10px;vertical-align:-1px}.rsv-legend i:first-child{margin-left:0}
.rsv-legend i.ok{background:var(--rs);border:1px solid var(--rn)}.rsv-legend i.ng{background:#f4f4f5;border:1px solid #d4d6dc}
.rsv-date{font-weight:700;margin:0 0 10px}
.rsv-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.slot{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:14px 6px;border:1px solid var(--rn);border-radius:10px;font-size:18px;font-weight:700;color:var(--rn);background:#fff;font-family:var(--en,inherit);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px}
.slot:hover{background:var(--ry)}
.slot.on{background:var(--rn);color:#fff}
.slot.ng{cursor:default;border-color:var(--rl);color:#b5b8c2;background:#f4f4f5}
.slot.ng:hover{background:#f4f4f5}
.slot small{font-size:11px;font-weight:500;font-family:var(--jp,inherit)}
.rsv-chosen{background:var(--rs);padding:12px 16px;border-radius:8px;margin:0 0 18px}
.rsv-chosen span{font-size:12px;color:var(--rm);margin-right:6px}
.rsv-field{margin:0 0 18px}
.rsv-field label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.rsv-field em{font-style:normal;font-size:11px;font-weight:500;background:var(--ry);color:var(--rn);padding:1px 8px;border-radius:999px;margin-left:8px}
.rsv-field input,.rsv-field select,.rsv-field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--rl);border-radius:8px;background:#fff;color:inherit}
.rsv-field input:focus,.rsv-field select:focus,.rsv-field textarea:focus{outline:2px solid var(--rn);outline-offset:0;border-color:var(--rn)}
.rsv-field small{display:block;color:var(--rm);font-size:12px;margin-top:4px}
.rsv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rsv-agree{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:0 0 16px;cursor:pointer}
.rsv-agree input{margin-top:6px;width:18px;height:18px;flex:none}
.rsv-error{color:#b3261e;background:#fdecea;border-radius:8px;padding:10px 14px;margin:0 0 14px;font-size:14px}
.rsv-submit{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:16px 24px;border-radius:999px;background:var(--rn);color:#fff;font-weight:700;font-size:16px;letter-spacing:.08em;border:1px solid var(--rn)}
.rsv-submit:hover{background:#fff;color:var(--rn)}
.rsv-submit:disabled{opacity:.5;cursor:default}
.rsv-fine{font-size:12px;color:var(--rm);margin:12px 0 0}
.rsv-done{text-align:center;padding:32px 12px}
.rsv-done h2{color:var(--rn);font-size:22px}
.rsv-sum{background:var(--rs);padding:14px 18px;border-radius:8px;white-space:pre-wrap;font:inherit;font-size:15px}
.rsv-loading{text-align:center;color:var(--rm);padding:24px 0;margin:0}
[hidden]{display:none!important}
@media(max-width:420px){.rsv-slots{grid-template-columns:1fr 1fr 1fr;gap:8px}.slot{font-size:16px}}
