:root {
	--full-work-color:#0070c0;
	--work-color:#08ca60;
	--rest-color:#d0d0d0;
	--rest-textcolor:gray;
}

body {
	margin:0;
	padding:0 0 25px 0;
	width: 1708px;
	font-family:
		"ヒラギノ丸ゴ ProN",
		"UD デジタル 教科書体 NP",
		"UD デジタル 教科書体 NP-R",
		"BIZ UDPゴシック";
	font-size:24px;
	font-weight:bold;
}

h1 {
	margin:auto;
	padding:4px;
	text-align:center;
	font-size:50px;
}

.legend {
	padding:4px 4px 4px 40px;
	font-size:25px;
}

.col2-table {
	white-space:nowrap;
	overflow:clip;
}

.a-column {
	display:inline-block;
	vertical-align:top;
	width:825px;
	padding-left:25px;
}

.table-header {
	border-top:solid 3px black;
	border-right:solid 3px black;
	border-bottom:solid 2px black;
	width:max-content;
	background-color:#f0f0f0;
}

.table-header-l {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	border-right:solid 2px black;
	border-left:solid 3px black;
	width:56px;
	height:30px;
}

.table-header1, .table-header2 {
	height:30px;
}

.table-header1-r {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	width:calc(105px * 7);
	height:30px;
	text-align:center;
	line-height:30px;
}

.table-header2-r {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	border-top:solid 2px black;
	border-right:solid 2px black;
	width:105px;
	height:30px;
	text-align:center;
	font-size:20px;
	line-height:29px;
}

.month {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	border-right:solid 2px black;
	border-left:solid 3px black;
	width:56px;
	height:80px;
	text-align:center;
	font-size:22px;
}

.day-box {
	display:inline-block;
	position:relative;
	vertical-align:top;
	box-sizing:border-box;
	border-right:solid 1px #c0c0c0;
	border-bottom:solid 1px #c0c0c0;
	width:105px;
	height:80px;
}

.day-label {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	padding:0 0 0 4px;
}

.weekend-sepalator {
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	border-left:solid 3px black;
	width:0px;
	height:80px;
}

.holiday {
	display:block;
	position:absolute;
	text-align:center;
	top:42px;
	width:100%;
	font-size:20px;
	line-height:22px;
	text-shadow:
		-2px -2px 1px white,
		-2px 2px 1px white,
		2px -2px 1px white,
		2px 2px 1px white;
}

.op-box {
	display:block;
	position:absolute;
	top:35px;
	left:0;
	width:100%;
	height:35px;
	text-align:center;
	line-height:38px;
}

.full-work-box {
	display:block;
	box-sizing:border-box;
	width:100%;
	height:100%;
	background-color:var(--full-work-color);
}

.work-box {
	display:block;
	box-sizing:border-box;
	border-left:solid calc(105px / 24 * 8.5) var(--rest-color);
	width:100%;
	height:100%;
	background-color:var(--work-color);
}

.rest-box {
	display:block;
	box-sizing:border-box;
	width:100%;
	height:100%;
	background-color:var(--rest-color);
	color:var(--rest-textcolor);
	line-height:35px;
}

.full-work {
	color:var(--full-work-color);
}

.work {
	color:var(--work-color);
}

.rest {
	color:var(--rest-textcolor);
}

.saturday {
	color:blue;
}

.sunday {
	color:red;
}

.no-right-border {
	border-right:none;
}

.oddmonth {
	background-color:#f4f4fc;
}

.smallfont {
	font-size:17px;
	line-height:21px;
}

.border-right-black {
	border-right:solid 1px black;
}

.border-bottom-black {
	border-bottom:solid 1px black;
}

.border-bottom-endtable {
	border-bottom:solid 3px black;
}

.box-outyear {
	background-color:#e0e0e0;
}

.outyear {
	opacity:0.3;
}
