@charset "UTF-8";
/* CSS Document */

.sgbc-calendars {
	width: 100%;
	max-width: 1380px;
	gap: 40px!important;
	margin: 3em auto;
	text-align: center;
}
.sgbc-month {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #f7a1a1;
	border-radius: 10px;
}

@media screen and (max-width: 767px) {
    
}

.sgbc-table {
	width: 100%;
	border: none!important;
	font-size: 2.4rem;
	text-align: center;
	background: #fff!important;
	margin: 0 7% 35px!important;
	box-sizing: border-box;
}
.sgbc-month-header {
	width: 100%;
	background: #f7a1a1;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	padding: 0 2em!important;
}
.sgbc-month-title {
	font-size: 2.0em!important;
	line-height: 3.4!important;
	font-weight: bold!important;
	color: #fff;
	text-align: center;
	letter-spacing: 0.05em;
	margin: 0!important;
}
.top_calendar .sgbc-month-title {
	font-size: 3.4em!important;
}
.sgbc-month-header span,
.sgbc-month-header button {
	transform: scale(3);
	color: #fff;
}
.home .sgbc-month-header span,
.home .sgbc-month-header button {
	opacity: 0!important;
}

.sgbc-table th,
.sgbc-table td {
	border: none!important;
	vertical-align: middle!important;
	text-align: center;
}
.sgbc-table thead th,
.sgbc-table thead th.sgbc-sunday,
.sgbc-table thead th.sgbc-saturday {
	color: transparent !important;
	position: relative!important;
	font-size: 1.3em!important;
	line-height: 3!important;
	height: 3em!important;
	padding-top: 0.3em!important;
}
.sgbc-table thead th:after {
	display: block!important;
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%, -50%)!important;
	color: #333 !important;
	line-height: 3!important;
	font-weight: bold!important;
}
.sgbc-table thead th:nth-child(1):after { content: "日" !important; }
.sgbc-table thead th:nth-child(2):after { content: "月" !important; }
.sgbc-table thead th:nth-child(3):after { content: "火" !important; }
.sgbc-table thead th:nth-child(4):after { content: "水" !important; }
.sgbc-table thead th:nth-child(5):after { content: "木" !important; }
.sgbc-table thead th:nth-child(6):after { content: "金" !important; }
.sgbc-table thead th:nth-child(7):after { content: "土" !important; }

.month-week {
	text-align: center!important;
	margin: 0 auto!important;
}
.sgbc-table td {
	font-size: 1.2em!important;
	padding: 0.7em 0!important;
	text-align: center!important;
}
.sgbc-table td.sgbc-holiday {
	color: #fff!important;
	position: relative!important;
	background: transparent!important;
	z-index: 1 !important;
}
.sgbc-table td.sgbc-holiday:after {
	display: block;
	content: "";
	position: absolute;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 1.8em!important;
	height: 1.8em!important;
	border-radius: 50%;
	z-index: -1!important;
	background: #f7a1a1;
}
.sgbc-table td.sgbc-today {
	color:#3888eb!important;
}
.sgbc-table td.sgbc-other-month {
	opacity:.3!important;	
}
.month-event-space {
	display: none;
}
.sgbc-table-space {
	display: none;
}
.sgbc-table {
	position: inherit!important;
}
.sgbc-legends {
	width: 100%;
	max-width: 1380px;
	margin: 3em auto;
	text-align: right;
}
.sgbc-legend {
	text-align: right;
	margin: 0 0 0 auto;
	font-size: 1.6rem;
}
.sgbc-legend-swatch {
	border: none!important;
	border-radius: 50%!important;
}

@media screen and (max-width: 767px) {
	.sgbc-calendars {
		width: 90%;
		max-width: 300px;
		margin: 40px auto 1vw;
		box-sizing: border-box;
		gap: 10px;
    }
    .sgbc-month {
        justify-content: center;
		flex-wrap: wrap;
        margin: 0 auto!important;
		border-radius: 2vw;
    }
    .sgbc-table {
		width: 100%;
		margin: 0 5% 2vw!important;
		border-radius: 0 0 2vw 2vw;
		font-size: 1.3rem;
	}
	.sgbc-month-header {
		width: 100%;
		box-sizing: border-box;
		border-top-left-radius: 2vw;
		border-top-right-radius: 2vw;
		padding: 0 0.3em!important;
	}
	.sgbc-month-title {
		font-size: 1.15em!important;
	}
	.top_calendar .sgbc-month-title {
		font-size: 1.9em!important;
	}
	.sgbc-month-header span,
	.sgbc-month-header button {
		transform: scale(1.3);
		color: #fff;
	}
	.sgbc-table td {
		font-size: 1.3em;
		padding: 0.1em 0!important;
	}
	.sgbc-legends {
		width: 90%;
		max-width: 300px;
		margin: 0.8em auto;
    }
}