.tc-calendar {
	font-family:
		"Helvetica Neue",
		Helvetica,
		"Hiragino Kaku Gothic ProN",
		Meiryo,
		sans-serif;
}

.tc-calendar caption {
	caption-side:top;
	text-align:center;
}

.tc-calendar .calendar-caption {
	display:inline-block;
	font-size:120%;
	line-height:28px;
	vertical-align:middle;
}

.tc-calendar .month-header button {
	width:28px;
	height:28px;
	border:0;
	background:transparent;
	padding:0;
	cursor:pointer;
}

.tc-calendar .month-prev {
	float:left;
}

.tc-calendar .month-next {
	float:right;
}

.tc-calendar .dashicons {
	font-size:22px;
	line-height:28px;
}

.tc-calendar table {
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	width:100%;
	background:#fff;
	color:#333;
    margin-bottom: 8px;
    border-top:1px solid #ccc;
	border-left:1px solid #ccc;
}


.tc-calendar table td,
.tc-calendar table th {
	padding:0;
	border:1px solid #ccc;
    border-width:0 1px 1px 0;
}

.tc-calendar .month-header {
	margin:2px 0 4px;
	text-align:center;
	position:relative;
}

.tc-calendar .month-header span {
	display:inline-block;
	line-height:28px;
}

.tc-calendar .month-prev,
.tc-calendar .month-next {
	position:absolute;
	top:0;
	width:28px;
	height:28px;
	padding:0;
	border:0;
	background:transparent;
	color:#333;
	font-size:24px;
	line-height:28px;
	text-align:center;
	cursor:pointer;
}

.tc-calendar .month-prev {
	left:0;
}


.tc-calendar .month-next {
	right:0;
}


.tc-calendar th {
	text-align:center;
	font-weight:bold;
	padding:2px 0;
}


.tc-calendar th:first-child {
	color:#d00;
}

.tc-calendar th:last-child {
	color:#00d;
}

.tc-calendar td {
	height:45px;
	text-align:right;
	vertical-align:top;
}

.tc-calendar td span {
	display:block;
	padding:4px;
	line-height:1.2em;
}

.tc-calendar td.holiday {
	background:#fddde6;
}

.tc-calendar-wrap {
	position: relative;
}

.tc-calendar-wrap.tc-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36px;
	height: 36px;
	margin-left: -18px;
	margin-top: -18px;
	border: 4px solid #ddd;
	border-top-color: #555;
	border-radius: 50%;
	animation: tc-loading-spin 0.8s linear infinite;
	z-index: 10;
}

.holiday-title{
    font-size: 90%;
}

.holiday-title span {
	background-color: #fddde6;
    margin: 0 6px 0 0;
    padding: 0 0 0 18px;
    border: 1px solid #ccc;
}

/* 無効化された（制限に達した）月切り替えボタンの見た目 */
.tc-calendar .month-header button.disabled,
.tc-calendar .month-header button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    background: transparent;
    border: none;
    pointer-events: none; /* クリックを完全に無効化 */
}

.tc-calendar-wrap.tc-loading .tc-calendar {
	opacity:0.5;
}

.tc-calendar button:focus {
	outline:none;
	box-shadow:none;
}

.tc-calendar button {
	appearance:none;
	-webkit-appearance:none;
}

.other-month {
	color: #333;
}

.other-month span {
	opacity: 0.6;
}


@keyframes tc-loading-spin {

	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}

}