.xo-event-calendar {
	font-family: YakuHanMPs_Noto, 'Noto Serif', 'Noto Serif JP', serif;
}

.xo-event-calendar table {
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	background-color: #fff;
	color: #333;
}

.xo-event-calendar table tr {
	display: table-row;
}

.xo-event-calendar table td,
.xo-event-calendar table th {
	display: table-cell;
	padding: 0;
}

.xo-event-calendar {
	position: relative;
}

.xo-event-calendar .xo-month {
	position: relative;
}

.xo-event-calendar table.xo-month {
	margin: 0 0 15px 0;
	padding: 0;
	border: 1px solid #ccc;
	border-width: 1px 0 1px 1px;
}

.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td {
	padding: 0;
	border: 1px solid #ccc;
}

.xo-event-calendar table.xo-month>caption {
	caption-side: top;
}

.xo-event-calendar table.xo-month .month-header {
	margin: 2px 0 4px;
}

.xo-event-calendar table.xo-month .month-header>span {
	font-family: 'Crimson Text';
	display: inline-block;
	text-align: center;
	font-size: 1.4rem;
	vertical-align: bottom;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.xo-event-calendar table.xo-month button {
	margin: 0;
	padding: 0;
	color: #333;
	background-color: transparent;
	border: 0;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	width: 28px;
}

.xo-event-calendar table.xo-month button[disabled] {
	opacity: 0.3;
	cursor: default;
}

.xo-event-calendar table.xo-month button>span {
	width: 28px;
	height: 28px;
	line-height: 28px;
	font-size: 22px;
	text-align: center;
	vertical-align: middle;
}

.xo-event-calendar table.xo-month button span.nav-prev {
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2Zzg3OCIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgNC41MDYxODQ2IDcuNjA2NzcwNSIKICAgaGVpZ2h0PSI3LjYwNjc3MDVtbSIKICAgd2lkdGg9IjQuNTA2MTg0Nm1tIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzODcyIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTg3NSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTYuNzExMTk0LC0zNS40MTY4NTQpIgogICAgIGlkPSJsYXllcjEiPgogICAgPGcKICAgICAgIGlkPSJ0ZXh0ODE3LTkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMC41ODMzMzMwMnB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMjY0NTgzMzIiCiAgICAgICBhcmlhLWxhYmVsPSImbHQ7Ij4KICAgICAgPHBhdGgKICAgICAgICAgaWQ9InBhdGg4MTQiCiAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMC41ODMzMzMwMnB4O2ZvbnQtZmFtaWx5OidNUyBQR290aGljJzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidNUyBQR290aGljLCBOb3JtYWwnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDt0ZXh0LWFsaWduOnN0YXJ0O3dyaXRpbmctbW9kZTpsci10Yjt0ZXh0LWFuY2hvcjpzdGFydDtzdHJva2Utd2lkdGg6MC4yNjQ1ODMzMiIKICAgICAgICAgZD0ibSA1Ni43MTExOTQsMzkuMjIwMjM5IDQuMDkyNzc0LC0zLjgwMzM4NSAwLjQxMzQxMSwwLjQxMzQxMSAtMy42NzkzNjIsMy4zODk5NzQgMy42NzkzNjIsMy4zODk5NzQgLTAuNDEzNDExLDAuNDEzNDExIHoiIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K) no-repeat 50%;
	background-size: 14px 18px;
	display: inline-block;
	font-size: 0;
	height: 28px;
	width: 28px
}

.xo-event-calendar table.xo-month button span.nav-next {
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzE0NDciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDQuNTA2MTg0NiA3LjYwNjc3MDUiCiAgIGhlaWdodD0iNy42MDY3NzA1bW0iCiAgIHdpZHRoPSI0LjUwNjE4NDZtbSI+CiAgPGRlZnMKICAgICBpZD0iZGVmczE0NDEiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTQ0NCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDEuNTkyMTQ3LC0yMS44MDk3MSkiCiAgICAgaWQ9ImxheWVyMSI+CiAgICA8ZwogICAgICAgaWQ9InRleHQ4MTctOS03IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTAuNTgzMzMzMDJweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowLjI2NDU4MzMyIgogICAgICAgYXJpYS1sYWJlbD0iJmd0OyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGlkPSJwYXRoODE0IgogICAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MTAuNTgzMzMzMDJweDtmb250LWZhbWlseTonTVMgUEdvdGhpYyc7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonTVMgUEdvdGhpYywgTm9ybWFsJztmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7dGV4dC1hbGlnbjpzdGFydDt3cml0aW5nLW1vZGU6bHItdGI7dGV4dC1hbmNob3I6c3RhcnQ7c3Ryb2tlLXdpZHRoOjAuMjY0NTgzMzIiCiAgICAgICAgIGQ9Im0gNDEuNTkyMTQ3LDIyLjIyMzEyMiAwLjQxMzQxMSwtMC40MTM0MTIgNC4wOTI3NzMsMy44MDMzODYgLTQuMDkyNzczLDMuODAzMzg1IC0wLjQxMzQxMSwtMC40MTM0MTEgMy42NzkzNjEsLTMuMzg5OTc0IHoiIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K) no-repeat 50%;
	background-size: 14px 18px;
	display: inline-block;
	font-size: 0;
	height: 28px;
	width: 28px
}

.xo-event-calendar table.xo-month .month-prev {
	float: left;
}

.xo-event-calendar table.xo-month .month-next {
	float: right;
}

.xo-event-calendar table.xo-month>thead th {
	border-width: 0 1px 0 0;
	padding: 5px 0 0 0;
	text-align: center;
	font-size: 100%;
}

.xo-event-calendar table.xo-month>thead th.sunday {
	color: #e5584d;
}

.xo-event-calendar table.xo-month>thead th.saturday {
	/*color: #00d;*/
}

.xo-event-calendar table.xo-month .month-week {
	position: relative;
	padding: 0;
	border: 0;
	width: 100%;
	overflow: hidden;
}

.xo-event-calendar table.xo-month .month-week {
	position: relative;
	padding: 0;
	border: 0;
	width: 100%;
	overflow: hidden;
}

.xo-event-calendar table.xo-month .month-week table {
	border: 0;
	margin: 0;
	padding: 0;
}

.xo-event-calendar table.xo-month .month-dayname {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-width: 1px 0 0 1px;
}

.xo-event-calendar table.xo-month .month-dayname td {
	border-width: 1px 1px 0 0;
	padding: 0;
}

.xo-event-calendar table.xo-month .month-dayname td div {
	font-family: 'Crimson Text';
	height: 1000px;
	position: relative;
	padding: 5px 7px;
	border-width: 1px 1px 0 0;
	text-align: right;
	font-size: 1.4rem;
	line-height: 1.2;
}

.xo-event-calendar table.xo-month .month-dayname td div.other-month {
	opacity: 0.4;
}

.xo-event-calendar table.xo-month .month-dayname td div.today span {
	color: #fff;
	font-size: 94%;
	font-weight: bold;
	position: absolute;
	z-index: 999;
	right: -11px;
	top: 0px;
}

.xo-event-calendar table.xo-month .month-dayname td div.today span:after {
	position: relative;
	right: 50%;
	top: 5px;
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #888;
	z-index: -1;
}

.xo-event-calendar table.xo-month .month-dayname-space {
	position: relative;
	top: 0;
	height: 2.5em;
}

.xo-event-calendar table.xo-month .month-event {
	position: relative;
	top: 0;
	background-color: transparent;
}

.xo-event-calendar table.xo-month .month-event td {
	padding: 0 1px 2px 1px;
	border-width: 0 1px 0 0;
}

.xo-event-calendar table.xo-month .month-event-space {
	height: 2.5em;
	background-color: transparent;
}

.xo-event-calendar table.xo-month .month-event-space td {
	border-width: 0 1px 0 0;
}

.xo-event-calendar table.xo-month .month-event tr,
.xo-event-calendar table.xo-month .month-event-space tr {
	background-color: transparent;
}

.xo-event-calendar table.xo-month .month-event-title {
	padding: 0 3px;
	display: block;
	color: #666;
	text-align: left;
	font-size: 0.8em;
	background-color: #ccc;
	border-radius: 3px;
	white-space: nowrap;
	overflow: hidden;
}

.xo-event-calendar p.holiday-title {
	margin: 0;
	padding: 0;
	font-size: 80%;
	vertical-align: middle;
}

.xo-event-calendar p.holiday-title span {
	margin: 0 6px 0 0;
	padding: 0 0 0 18px;
	border: 1px solid #ccc;
}

.widget .xo-event-calendar table.xo-month>thead th {
	font-size: 90%;
}

.xo-event-calendar .loading-animation {
	left: 50%;
	margin: -20px 0 0 -20px;
	position: absolute;
	top: 50%
}

.xoec-loading .xo-months {
	opacity: .5
}

.xoec-loading .loading-animation {
	-webkit-animation: loadingCircRot .8s linear infinite;
	animation: loadingCircRot .8s linear infinite;
	border: 5px solid rgba(0, 0, 0, .2);
	border-radius: 50%;
	border-top-color: #4285f4;
	height: 40px;
	width: 40px
}

@-webkit-keyframes loadingCircRot {
	0% {
		-webkit-transform: rotate(0deg)
	}

	to {
		-webkit-transform: rotate(359deg)
	}
}

@keyframes loadingCircRot {
	0% {
		transform: rotate(0deg)
	}

	to {
		transform: rotate(359deg)
	}
}

/*
ほかの月の非表示
*/
#calendar-month {
	padding-top: 20px;
	margin-bottom: 30px;
}

#calendar-month .other-month {
	display: none;
}

/*
曜日の表示変更
*/
.xo-month thead {
	font-size: 0;
}

.xo-month thead th:before {
	font-size: 1.4rem;
	font-family: 'Crimson Text';
	letter-spacing: 0.1em;
}

.xo-month th.sunday:before {
	content: "Sun";
}

.xo-month th.monday:before {
	content: "Mon";
}

.xo-month th.tuesday:before {
	content: "Tue";
}

.xo-month th.wednesday:before {
	content: "Wed";
}

.xo-month th.thursday:before {
	content: "Thu";
}

.xo-month th.friday:before {
	content: "Fri";
}

.xo-month th.saturday:before {
	content: "Sat";
}
.xo-event-calendar table.xo-month .month-dayname-space {
	height: 1.5em;
}

.xo-event-calendar p.holiday-title {
	font-size: 1.2rem;
}
@media only screen and (min-width: 560px) {
	#calendar-month {
		padding-top: 20px;
		margin-bottom: 50px;
	}
	/* 年/月　*/
	.xo-event-calendar table.xo-month .month-header>span {
		font-family: 'Crimson Text';
		display: inline-block;
		text-align: center;
		font-size: 1.6rem;
		vertical-align: bottom;
		line-height: 1.8;
		letter-spacing: 0.1em;
		padding-bottom: 4px;
	}
	/* 曜日　*/
	.xo-month thead th:before {
		font-size: 1.5rem;
		font-family: 'Crimson Text';
		letter-spacing: 0.1em;
	}
	
	/* 日の定義　*/
	.xo-event-calendar table.xo-month .month-dayname td div {
		font-family: 'Crimson Text';
		height: 1000px;
		position: relative;
		padding: 5px 7px;
		border-width: 1px 1px 0 0;
		text-align: right;
		font-size: 1.6rem;
		line-height: 1.2;
	}

	/* カレンダーの高さ　*/
	.xo-event-calendar table.xo-month .month-dayname-space {
		height: 3.2em;
	}
	/* カレンダー色の説明　*/
	.xo-event-calendar p.holiday-title {
		font-size: 1.3rem;
	}

}

@media only screen and (min-width: 960px) {
	/* 年/月　*/
	.xo-event-calendar table.xo-month .month-header>span {
		font-family: 'Crimson Text';
		display: inline-block;
		text-align: center;
		font-size: 1.7rem;
		vertical-align: bottom;
		line-height: 1.8;
		letter-spacing: 0.1em;
		padding-bottom: 2px;
	}
	/* 曜日　*/
	.xo-month thead th:before {
		font-size: 1.6rem;
		font-family: 'Crimson Text';
		letter-spacing: 0.1em;
	}
	/* 日の定義　*/
	.xo-event-calendar table.xo-month .month-dayname td div {
		font-family: 'Crimson Text';
		height: 1000px;
		position: relative;
		padding: 5px 7px;
		border-width: 1px 1px 0 0;
		text-align: right;
		font-size: 1.7rem;
		line-height: 1.2;
	}
	/* カレンダーの高さ　*/
	.xo-event-calendar table.xo-month .month-dayname-space {
		height: 3.5em;
	}
}