@font-face {
	font-family: 'Prata';
	src: url('../fonts/Prata-Regular.ttf') format("truetype");
}

@font-face {
	font-family: 'Mrs Saint Delafield';
	src: url('../fonts/MrsSaintDelafield-Regular.ttf') format("truetype");
}

#cal-box {
	/* margin-top: -30px; */
	margin-top: -24px;
}

.fc-calendar-container {
	/* height: 630px;
	width: 1060px; */
	height: 504px;
	width: 848px;
	/* margin: 15px auto 55px; */
	margin: 12px auto 44px;
}

.fc-calendar {
	height: 100%;
	width: 100%;
}

.fc-calendar .fc-head {
	/* font-size: 18px; */
	font-size: 14.4px;
	letter-spacing: 0.8px;
	/* height: 50px; */
	height: 40px;
	/* line-height: 50px; */
	line-height: 40px;
	color: #707070;
	border-top: 1px solid #b2afaa;
	border-bottom: 1px solid #b2afaa;
	/* margin-bottom: 10px; */
	margin-bottom: 8px;
}

.fc-calendar .fc-head div:nth-child(6) {
	color: #0492ff;
}

.fc-calendar .fc-head div:nth-child(7) {
	color: #b31c1c;
}

.fc-calendar .fc-body {
	position: relative;
	width: 100%;
	height: 100%;
	/* height: -moz-calc(100% - 30px);
	height: -webkit-calc(100% - 30px);
	height: calc(100% - 30px); */
	height: -moz-calc(100% - 24px);
	height: -webkit-calc(100% - 24px);
	height: calc(100% - 24px);
	border: 1px solid #b2afaa;
}

.fc-calendar .fc-row {
	width: 100%;
	border-bottom: 1px solid #b2afaa;
}

.fc-four-rows .fc-row {
	height: 25%;
}

.fc-five-rows .fc-row {
	height: 20%;
}

.fc-six-rows .fc-row {
	height: 16.66%;
	height: -moz-calc(100%/6);
	height: -webkit-calc(100%/6);
	height: calc(100%/6);
}

.fc-calendar .fc-row>div,
.fc-calendar .fc-head>div {
	float: left;
	height: 100%;
	width: 14.28%;
	/* 100% / 7 * 厳密に100/7をしてしまうとEdgeで繰り上げされて改行してしまうので固定 */
	position: relative;
}

/* IE 9 is rounding up the calc it seems */
.ie9 .fc-calendar .fc-row>div,
.ie9 .fc-calendar .fc-head>div {
	width: 14.2%;
}

.fc-calendar .fc-row>div {
	border-right: 1px solid #b2afaa;
	overflow: hidden;
	position: relative;
}

.fc-calendar .fc-head>div {
	text-align: center;
}

.fc-calendar .fc-row>div>span.fc-date {
	position: absolute;
	/* width: 30px;
	height: 20px; */
	width: 24px;
	height: 16px;
	/* font-size: 20px; */
	font-size: 16px;
	/* line-height: 20px; */
	line-height: 16px;
	/* font-weight: 700; */
	font-weight: 560;
	color: #707070;
	text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.8);
	/* top: 5px;
	left: 5px; */
	top: 4px;
	left: 4px;
	text-align: left;
	z-index: 100;
}

.fc-calendar .fc-row>div.sat>span.fc-date {
	color: #0492ff;
}

.fc-calendar .fc-row>div.sun>span.fc-date,
.fc-calendar .fc-row>div.holiday>span.fc-date {
	color: #b31c1c;
}

.fc-calendar .fc-row>div>span.fc-weekday {
	/* padding-left: 5px; */
	padding-left: 4px;
	display: none;
}

.fc-calendar .fc-row>div>.fc-eve-cont {
	/* font-size: 14px; */
	font-size: 11.2px;
	/* line-height: 1.2; */
	line-height: 0.96;
	text-align: right;
	color: #707070;
}

.fc-calendar .fc-row>div>.fc-eve-cont a {
	display: block;
	color: #707070;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	/* padding: 20px 10px 0 0; */
	padding: 16px 8px 0 0;
}

.fc-calendar.fc-six-rows .fc-row>div>.fc-eve-cont a {
	/* padding: 2px 10px 0 0; */
	padding: 1.6px 8px 0 0;
}

.fc-calendar .fc-row>div>.fc-eve-cont a:hover {
	background: #fff4c3;
}

.fc-calendar .fc-row>div>.fc-eve-cont a.eve-on {
	background: #fff4c3;
}

.fc-calendar .fc-row>div>.fc-eve-cont span {
	position: absolute;
	/* bottom: 5px;
	right: 5px; */
	bottom: 4px;
	right: 4px;
}

.fc-calendar .fc-row>div>.fc-eve-cont .no-fair-data {
	/* padding: 30px 10px 0 0; */
	padding: 24px 8px 0 0;
}

.fc-calendar .fc-row>div.fc-today {
	background: #ffd2d2;
}

.fc-calendar .fc-row>div.fc-out {
	opacity: 0.6;
}

.fc-calendar .fc-row>div:last-child,
.fc-calendar .fc-head>div:last-child {
	border-right: none;
}

.fc-calendar .fc-row:last-child {
	border-bottom: none;
}

#cal-naviarea {
	/* width: 1060px; */
	width: 848px;
	margin: auto;
	text-align: center;
	position: relative;
}

.custom-prev,
.custom-next {
	color: #707070;
	cursor: pointer;
	position: absolute;
	bottom: 0;
}

.custom-prev {
	left: 0;
	/* padding-left: 30px; */
	padding-left: 24px;
	background: url("../img/prev.png") no-repeat left;
}

.custom-next {
	right: 0;
	/* padding-right: 30px; */
	padding-right: 24px;
	background: url("../img/next.png") no-repeat right;
}

.custom-month-name {
	display: block;
	color: #a47e39;
	/* font-size: 32px; */
	font-size: 25.6px;
	font-style: normal;
	font-style: italic;
	font-family: 'Mrs Saint Delafield', cursive;
}

.custom-month {
	/* font-size: 90px; */
	font-size: 72px;
	font-family: 'Prata', serif;
	font-weight: bold;
	position: relative;
	/* line-height: 100px; */
	line-height: 80px;
}

.custom-month:after {
	content: '';
	/* width: 52px;
	height: 1px; */
	width: 100%;
	height: 0.8px;
	background-color: #000;
	position: absolute;
	/* bottom: 10px; */
	bottom: 8px;
	left: 0;
}



@media screen and (max-width: 768px) {
	#cal-box {
		border: 1px solid #b2afaa;
		/* padding: 10px; */
		padding: 8px;
		/* margin: 0 auto 40px; */
		margin: 0 auto 32px;
	}

	.fc-calendar-container {
		/* height: 280px; */
		height: 224px;
		width: 100%;
		/* margin: 0px auto 55px; */
		margin: 0px auto 44px;
		-webkit-tap-highlight-color: transparent;
	}

	#cal-naviarea {
		width: 100%;
	}

	.custom-month-name {
		display: none;
	}

	.custom-month {
		/* font-size: 50px; */
		font-size: 40px;
		border-bottom: none;
	}

	.custom-month:after {
		display: none;
	}

	.fc-calendar .fc-head {
		/* font-size: 12px; */
		font-size: 9.6px;
		border-top: none;
	}

	.fc-calendar .fc-row>div,
	.fc-calendar .fc-head>div {
		overflow: hidden;
	}

	.fc-calendar .fc-row>div {
		border-right: none;
	}

	.fc-calendar .fc-body {
		border: none;
	}

	.fc-calendar .fc-row {
		border-bottom: none;
	}

	.fc-calendar .fc-row>div>.fc-eve-cont a,
	.fc-calendar .fc-row>div>.fc-eve-cont p {
		font-size: 0;
	}

	.fc-calendar .fc-row>div>span.fc-date {
		position: absolute;
		width: 100%;
		/* height: 16px; */
		height: 12.8px;
		/* font-size: 12px; */
		font-size: 9.6px;
		/* line-height: 12px; */
		line-height: 9.6px;
		/* font-weight: 700; */
		font-weight: 560;
		text-shadow: none;
		top: 35%;
		left: 0;
		text-align: center;
		padding: 0;
		z-index: 0;
	}

	#cal-naviarea-sp {
		width: 100%;
		/* height: 20px; */
		height: 16px;
		position: relative;
		line-height: 100%;
	}

	.custom-prev,
	.custom-next {
		/* font-size: 14px; */
		font-size: 11.2px;
		/* line-height: 16px; */
		line-height: 12.8px;
	}

	.fc-calendar .fc-row>div>.fc-eve-cont a {
		transition: none;
	}

	.fc-calendar .fc-row>div>.fc-eve-cont a:hover {
		background: none;
	}

	.fc-calendar .fc-row>div>.fc-eve-cont a.eve-on {
		background: url("../img/sp_cal_day.png") no-repeat center;
		/* background-size: 36px; */
		background-size: 28.8px;
		mix-blend-mode: multiply;
	}

	.fc-calendar .fc-row>div.fc-today {
		background: url("../img/sp_cal_today.png") no-repeat center;
		/* background-size: 36px; */
		background-size: 28.8px;
		mix-blend-mode: multiply;
	}

	.bridal-fair-concept .radio {
		width: 100%;
		/* font-size: 16px; */
		font-size: 12.8px;
		/* padding-left: 30px; */
		padding-left: 24px;
	}

	.bridal-fair-concept {
		padding-left: 0;
	}

	.bridal-fair-subttl {
		/* margin: 0 auto 20px; */
		margin: 0 auto 16px;
	}
}

@media screen and (max-width: 375px) {
	.fc-calendar-container {
		/* height: 270px; */
		height: 216px;
		width: 100%;
	}
}

@media screen and (max-width: 320px) {
	.fc-calendar-container {
		/* height: 220px; */
		height: 176px;
		width: 100%;
	}

	.bridal-fair-concept .radio {
		/* font-size: 14px; */
		font-size: 11.2px;
	}
}

/* SP用カレンダー */
div.calendar-box {
	display: inline-block;
	width: 100%;
	margin-bottom: 30px;
}

.calendar-section.hide {
	display: none !important;
}

.calendar-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* margin-bottom: 10px; */
	padding-bottom: 10px;
	position: relative;
	border-bottom: 1px solid #707070;
}

.calendar-section-title {
	color: #707070;
	font-size: 33px;
	line-height: 33px;
	font-weight: normal;
	text-align: center;
	margin: 0 auto;
}

/* next prev button / 初月のprev・最後月のnext → 非表示*/
.calendar-box .calendar-section:first-of-type .prev-month,
.calendar-box .calendar-section:last-of-type .next-month {
	display: none;
}

.prev-month,
.next-month {
	color: #707070;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	line-height: 20px;
	font-size: 16px;
}

.prev-month {
	left: 0;
	padding-left: 30px;
	margin-bottom: 10px;
	background: url(../img/prev.png) no-repeat left;
}

.next-month {
	right: 0;
	padding-right: 30px;
	margin-bottom: 10px;
	background: url(../img/next.png) no-repeat right;
}

.calendar-section-select .button {
	height: 36px;
	width: 110px;
	margin-left: 4px;
	font-size: 14px;
}

.calendar-section-select .button.holiday {
	color: #cc887f;
}

.calendar-section-date {
	width: 100%;
	font-size: 14px;
	border-collapse: collapse;
}

.calendar-section-date th,
.calendar-section-date td {
	/* height: 50px; */
	height: 65px;
	width: 78px;
	font-weight: normal;
	text-align: center !important;
	vertical-align: middle;
	border: 1px solid #dbdbdb;
	cursor: pointer;
}

.calendar-section-date thead th,
.calendar-section-date thead tr {
	border: none !important;
	font-size: 11px;
	cursor: default;
}

.calendar-section-date th.sunday,
.calendar-section-date td.sunday,
.calendar-section-date th.holiday,
.calendar-section-date td.holiday,
.calendar-section-date th.sunday a,
.calendar-section-date td.sunday a,
.calendar-section-date th.holiday a,
.calendar-section-date td.holiday a {
	color: #cc887f;
}

.calendar-section-date th.saturday,
.calendar-section-date td.saturday,
.calendar-section-date th.saturday a,
.calendar-section-date td.saturday a {
	color: #2a7fb9;
}

.calendar-section-date th.disable,
.calendar-section-date td.disable,
.calendar-section-date th.disable a,
.calendar-section-date td.disable a {
	color: #eeeeee !important;
}

.calendar-section-date th.disable .calendar-label,
.calendar-section-date td.disable .calendar-label,
.calendar-section-date th.disable .calendar-label a,
.calendar-section-date td.disable .calendar-label a {
	cursor: not-allowed !important;
}

.calendar-label {
	display: block;
	height: 95%;
	width: 95%;
	border: 1px solid #dbdbdb;
}

@media screen and (min-width:769px) {
	.calendar-label:hover {
		cursor: pointer;
		background: #FFFFF3;
		color: #E0CEA3;
		opacity: 0.7;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}
}

.calendar-label input[type="checkbox"] {
	display: none;
}

.calendar-label input[type="checkbox"]:checked+span,
.calendar-label input[type="checkbox"]:checked+span+span {
	background-color: #FFFFF3;
	color: #C9A966;
}

.calendar-label span,
.calendar-label a {
	display: flex;
	align-items: center;
	justify-content: center;
	/* height: 100%; */
	height: 50%;
	/*残席表示利用時*/
	width: 100%;
	background: #fff;
}

.calendar-label span.stock {
	font-size: 10px
}

/* pc */
@media screen and (min-width:769px) {
	.calendar-box.sp {
		display: none !important;
	}

	.calendar-section-date thead tr.pc {
		display: table-row;
	}
}

/* sp */
@media screen and (max-width:768px) {
	.calendar-box.pc {
		display: none !important;
	}

	.calendar-box.sp thead.week {
		border-bottom: 1px solid #707070;
	}

	.calendar-box.sp thead th {
		height: 30px;
	}

	.for-scroll {
		position: relative;
		padding-right: 5px;
	}

	.scroll-calendar {
		overflow: scroll;
		height: 200px;
		/* 40px x 5 (.calendar-section-date th, .calendar-section-date td の height)*/
		margin-top: 5px;
	}

	.scroll-calendar::-webkit-scrollbar {
		display: none;
		-webkit-appearance: none;
	}

	.bridal-fair-subttl {
		font-size: 15px;
		padding: 0 0 8px 10px;
	}

	.calendar-section-title {
		font-size: 28px;
		line-height: 28px;
	}

	.calendar-section-date th,
	.calendar-section-date td {
		width: 50px;
		height: 40px;
		/* height: 50px; */
	}

	.next-month {
		padding-right: 25px;
	}

	.prev-month {
		padding-left: 25px;
	}

	.prev-month,
	.next-month {
		line-height: 15px;
		font-size: 12px;
	}

	.calendar-section-date thead tr.sp {
		display: table-row;
	}

	#scrollbar {
		width: 5px;
		height: calc(100% - 5px);
		overflow: hidden;
		position: absolute;
		top: 0;
		/* 後でJSで変更 */
		right: 0;
		background-color: #fff;
		border: 1px solid #707070;
		border-radius: 5px;
		margin-top: 5px;
	}

	#scrollbar-handle {
		width: 100%;
		position: absolute;
		top: 0;
		/* 後でJSで変更 */
		left: 0;
		height: 0;
		/* 後でJSで変更 */
		background-color: #333;
		border: 1px solid #333;
		border-radius: 5px;
	}
}

/* ---------------------for iframe------------------------ */
@media screen and (min-width:769px) {
	section.faircalender .calendar-box {
		width: 500px;
	}
}

@media screen and (max-width:768px) {
	section.faircalender .calendar-box {
		width: 100%;
	}
}

/* --------------------- カレンダーカスタマイズ 2022/07~ --------------------- */
/* 隙間不要 */
.calendar-label {
	width: 100%;
	height: 100%;
	border: none;
}

/* 曜日背景色 */
.calendar-section-date th.saturday {
	background: #e2eef3;
}

.calendar-section-date th.sunday {
	background: #f7dede;
}

/* 曜日毎日付背景色 */
td.saturday .calendar-label,
td.saturday .calendar-label span,
td.saturday .calendar-label a {
	background: #e2eef3;
}

td.sunday .calendar-label,
td.sunday .calendar-label span,
td.sunday .calendar-label a,
td.holiday .calendar-label,
td.holiday .calendar-label span,
td.holiday .calendar-label a {
	background: #f7dede;
}

/* spカレンダー (スクロールバー位置調整)*/
/* @media screen and (max-width:768px) {
	.search-box .for-scroll {
		padding-right: 0px;
	}
} */