.yamazaki-calendar{
  width: var(--ymsc-width, 90%);
  margin: 16px auto;
  color: var(--ymsc-text, #1b1b1b);
  font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}
.yamazaki-calendar .yc-card{
  background: var(--ymsc-card-bg, #fff);
  border: 1px solid var(--ymsc-border, rgba(0,0,0,.10));
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  min-height: var(--ymsc-minh, 400px);
}
.yamazaki-calendar .yc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.yamazaki-calendar .yc-title{text-align:center;line-height:1.2;}
.yamazaki-calendar .yc-store{font-size:18px;font-weight:700;color:var(--ymsc-text,#1b1b1b);}
.yamazaki-calendar .yc-month{font-size:18px;font-weight:700;margin-top:2px;}
.yamazaki-calendar .yc-nav{border:1px solid var(--ymsc-border,rgba(0,0,0,.10));background:#fff;border-radius:12px;padding:8px 12px;cursor:pointer;font-size:14px;}
.yamazaki-calendar .yc-grid{width:100%;border-collapse:separate;border-spacing:6px;}
.yamazaki-calendar th{font-size:12px;color:var(--ymsc-muted,#666);font-weight:600;text-align:center;}
.yamazaki-calendar td{
  background: var(--ymsc-open-bg, #eaf7ee);
  border: 1px solid var(--ymsc-border, rgba(0,0,0,.10));
  border-radius: 12px;
  height: 54px;
  vertical-align: top;
  padding: 8px 8px;
  position: relative;
}
.yamazaki-calendar td.is-out{visibility:hidden;border:none;background:transparent;box-shadow:none;}
.yamazaki-calendar td.is-out::after{display:none;}
.yamazaki-calendar td.is-out .d{display:none;}
.yamazaki-calendar td.is-closed{background: var(--ymsc-closed-bg, #fff1f1);}
.yamazaki-calendar td .d{font-size:14px;font-weight:600;}
.yamazaki-calendar .yc-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;color:var(--ymsc-muted,#666);font-size:12px;}
.yamazaki-calendar .yc-dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px;}
.yamazaki-calendar .yc-dot.open{background: var(--ymsc-open-bg, #eaf7ee);}
.yamazaki-calendar .yc-dot.closed{background: var(--ymsc-closed-bg, #fff1f1);}
.yamazaki-calendar .yc-legend .yc-dot{border:1px solid var(--ymsc-border, rgba(0,0,0,.10));}
@media (max-width:640px){
  .yamazaki-calendar{width:var(--ymsc-width, 90%);}
  .yamazaki-calendar .yc-card{min-height:auto;}
  .yamazaki-calendar td{height:48px;padding:6px;}
  .yamazaki-calendar .yc-month{font-size:16px;}
}
