/* calendar --------------------------------------------*/
:root {
  --webBGC: #f9d2b2;
  --telBGC: #9be0f0;
}

.year-month {
	text-align: center;
}

.year-month b {
	font-weight: bold;
	font-size: 110%;
	letter-spacing: 0.2em;
	text-align: center;
}

.yoyaku_calendar {
	max-width: 1000px;
	margin: 0.7em auto;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #fcc;
	border-bottom: 1px solid #fcc;
}

.calendar_box {
	padding: 2.5vw;
	margin: 0vw auto 0;
	max-width: 700px;
	width: 95vw;
}

.yoyaku_calendar a,
.yoyaku_calendar p {
	width: 14.25%;
	text-align: center;
	border-bottom: 4px solid transparent;
	border-right: 4px solid transparent;
	padding: 1.5vw 1.5vw;
	margin-bottom: 8px
}

.yoyaku_calendar p.yyk_no {
	color: #bbb;
}

.yoyaku_calendar a {
	color: #333;
}

.yoyaku_calendar a.yyk_no {
	color: #aaa;
}

.yoyaku_calendar p span,
.yoyaku_calendar p a {
	display: block;
	padding: 0.5vw 0 1.3vw;
	width: calc(5vw + 20px);
}

@media(min-width:1000px) {

	.yoyaku_calendar p span,
	.yoyaku_calendar p a {
		padding: 5px 0 8px;
		width: 60px;
	}
}

.yoyaku_calendar p a {
	background: #c53434;
	color: #fff;
	border-radius: 5px;
}

.yoyaku_calendar p:nth-child(7n+1) {
	width: 14.25%;
}

.yoyaku_calendar p:nth-child(1) {
	color: red;
	width: 14.3%;
}

.yoyaku_calendar p:nth-child(7) {
	color: #3f70f9;
}

.calendar_nextback {
	display: flex;
}

.calendar_nextback p {
	width: 50%;
	padding: 0 25px;
}

.calendar_nextback p:first-child {
	text-align: left;
}

.calendar_nextback p:last-child {
	text-align: right;
}

.calendar_nextback a {
	display: inline-block;
}


/*カレンダー数字の背景マーク*/
.yyk_ok,
.yyk_tel,
.yyk_ari,
.yyk_full {
	position: relative;
	z-index: 1;
}

.yyk_ok::before,
.yyk_tel::before,
.yyk_ari::before,
.yyk_full::before {
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	color: var(--webBGC);
	/* 円の色 */
}
.yyk_tel::before{
	color: var(--telBGC);
}

.yyk_ok::before,
.yyk_tel::before {
	font-size: 280%;
	top: 47%;
	content: "●";
}

.yyk_ari::before {
	font-size: 280%;
	top: 45%;
	content: "▲";

}

.yyk_full::before {
	font-size: 280%;
	top: 45%;
	content: "×";
}

.yyk_thumb {
	max-width: 200px;
}

.yoyaku_time {
	max-width: 850px;
	width: 90vw;
	margin: 30px auto;
	display: flex;
	flex-wrap: wrap;
	background: #fff;
}

.yoyaku_time p {
	width: 50%;
	text-align: center;
	border-bottom: 1px solid #ed7895;
	border-right: 1px dotted #ffbcd9;
	padding: 20px 0;
}

.yoyaku_time p:nth-child(2n+1) {
	border-left: 1px solid #ed7895;
}

.yoyaku_time p:nth-child(2n) {
	border-right: 1px solid #ed7895;
}

.yoyaku_time p:nth-child(-n+2) {
	border-top: 1px solid #ed7895;
}

.yoyaku_time a {
	background-color: #ed7895;
	color: #fff;
	font-weight: bold;
	font-size: 95%;
	padding: 5px 30px;
	border-radius: 5px;
	box-shadow: 1px 2px 3px #ccc
}

.yoyaku_time span {
	background: #eee;
	padding: 5px 10px;
	border-radius: 5px;
	display: inline-block;
	max-width: 9em;
}

.yoyaku_time_hiduke {
	text-align: center;
	font-size: 150%;
	letter-spacing: 4px;
	font-weight: bold;
}

table.yoyaku {
	width: 95%;
	margin-left: 2.5%;
	border-collapse: collapse;
}

table.yoyaku tr {
	border-bottom: 1px solid #ccc;
	height: 85px;
}

table.yoyaku th {
	/* text-align: left; */
	width: 35%;
	color: #666;
	font-size: 90%;
}

table.yoyaku th span,
table.yoyaku td span {
	color: #f8b;
	font-weight: normal;
}

table.yoyaku td.times_special span {
	color: #555;
	display:
		inline-block;
	margin-bottom: 5px;
	width: 48%;
	font-size: 110%;
}

.web_yoyaku_color{
	color:var(--webBGC);
}
.tel_yoyaku_color{
	color:var(--telBGC);;
}