
.shop-calendar {
	font-family: sans-serif;
	max-width: 250px;
	text-align: center;
	color: #000;
	margin: 0 auto;
	padding: 0;
	display: block;
}
.shop-calendar-table {
	width:100%;
	font-size: 14px;
	background:#ffffff;
	text-align: center;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.2;
}
.shop-calendar-table th {
	font-weight: normal;
	text-align: center!important;
	margin: 0;
	padding: 2px;
}
.shop-calendar-table td {
	font-size: 13px;
	text-align: center;
	font-weight: lighter;
	margin: 0;
	padding: 2px;
}
/* --- 休業（最優先） --- */
/* .shop-calendar table td.holiday,
.shop-calendar table td.today-holiday {
  background: #cf2a2a;
  color: #fff;
  font-weight: 500;
} */
.shop-calendar table td.today-holiday {
  background: #cf2a2a;
  color: green;
  font-weight: 500;
}

.shop-calendar table td.holiday {
  background: #cf2a2a;
  color: #fff;
  font-weight: 500;
}

/* 今日（営業日） */
.shop-calendar-table .today {
  font-weight: 500;
  color: green!important;
}

/* キャプション */
.shop-calendar-table caption {
font-size: 12px;
text-align: center;
padding: 5px 0 3px;
}

/* --- 土日（休業セルは除外して塗る） --- */
.shop-calendar table td:nth-child(1):not(.holiday):not(.today-holiday),
.shop-calendar table th:nth-child(1) {
  background: #fff5f5;
  color: #cf2a2a;
}

.shop-calendar table td:nth-child(7):not(.holiday):not(.today-holiday),
.shop-calendar table th:nth-child(7) {
  background: #fff5f5;
  color: #7499ef;
}

/* --- 祝日（休業セルは除外。営業日だけ祝日色） --- */
.shop-calendar td.public-holiday:not(.holiday):not(.today-holiday) {
  background: #fff5f5;
  color: #cf2a2a;
}

/* 今日 + 祝日（営業日） */
.shop-calendar td.public-holiday.today:not(.holiday):not(.today-holiday) {
  color: green;
}