/* CSS Document */


.dimOnly.loading:before {
	content: "";
}
.dimOnly.loading:after {
	content: "";
	display: none;
}
.loading:before {
	z-index: 10;
}
.loading:after {
	z-index: 11;
}

.loadingFadeOut.step:before,
.loadingFadeOut.step:after {
	opacity: 0;
	transition: opacity 0.2s;
}
.modalClose {
	z-index: 2;
}


#confirmModal input[type="radio"]+label {
	user-select:none;
    border: 1px solid white;
    background-color: #fff;
    border-radius: 5px;
}

#confirmModal input[type="radio"]:checked+label {
  border: 1px solid #333;
    background-color: #444;
	color:white;
}


#globalLoading{
  position: fixed;
	top: 0;
	display: flex;
  left: 0;
  width: 100vw;
  height: 100vh;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(1px);
  z-index: 1900;
  background-color: rgba(0,0,0,0.5);
}


#booking{}
	#booking footer{
		margin-top: var(--space);
		}
		#booking footer .buttonSet{
			margin-top: 1em;
			}

#select{}
	#select h3+div{
		margin-top: 1.5em;
		}
	#select .wrap{
		display: grid;
		grid-gap: var(--space);
		}

#calendar{
	margin-top: 2em;
	}

#selectedProgram{
	margin-bottom: var(--space);
	}
	#selectedProgram dl{
		display: flex;
		flex-wrap: wrap;
		grid-gap: 1em;
		padding: 1em;
		border: 1px solid currentColor;
		}
		#selectedProgram dt{
			width: 100%;
			font-size: 1.25em;
			font-weight: 700;
			line-height: 1.5em;
			}
		#selectedProgram dd{}
			#selectedProgram dd ul{
				display: flex;
				grid-gap: 1em;
				}
			#selectedProgram dd li+li{
				display: none;
				}
	#selectedProgram svg{
		vertical-align: baseline;
		}
	#selectedProgram .text{
		padding: 0.4em;
		font-size: 0.875em;
		}

#confirmModal{}
	#confirmModal .wrap{
		display: grid;
		grid-gap: 1em;
		}
	#confirmModal .buttonSet{
		margin-top: 1em;
		}

#errorModal{}
	#errorModal .wrap{
		display: grid;
		grid-gap: 1em;
		width: auto;
		min-width: 20em;
		text-align: center;
		}
	#errorModal .buttonSet{
		margin-top: 1em;
		}

[data-bind="foreach:legend"]{
	display: flex;
	grid-gap: 1em;
	justify-content: center;
	}

.zabuto_calendar{}
	.zabuto_calendar :where(th,td){
		text-align: center;
		}
	.zabuto_calendar table{
		display: grid;
		grid-gap: 0.5em;
		}
	.zabuto_calendar tr{
		display: grid;
		grid-template-columns: repeat(7, 1fr);
		grid-gap: 0.5em;
		}
	.zabuto_calendar .day{
		padding: 0.5em 0;
		background: rgb(var(--base-fg));
		border-radius: 2px;
		color: rgb(var(--base-bg));
		cursor: pointer;
		}
	.zabuto_calendar .selected{}
		.zabuto_calendar .selected .day{
			background: red;
			}
	.zabuto_calendar .ls-past{
		pointer-events: none;
		}
	.zabuto_calendar [title="本日"]{}
		.zabuto_calendar [title="本日"] .day{
			border-color: red;
			font-weight: 700;
			}
	.zabuto_calendar .ls-dim,
	.zabuto_calendar .ls-void-future,
	.zabuto_calendar .ls-void{
		opacity: 0.5;
		}
	.calendar-month-header{}
		.calendar-month-header [colspan="5"]{
			grid-column: 2 / 7;
			}
	.calendar-month-navigation{
		}


.zabuto_calendar .calendar-dow-header .sun,
.fc-widget-header .fc-sun{
	color: #FFa0a0;
}

.zabuto_calendar .calendar-dow-header .sat,
.fc-widget-header .fc-sat{
	color: #a0a0FF;
}







.fc{}
	.fc-widget-header .fc-today{
		font-weight: 800;
	}
.fc-widget-header th{
	padding: 0.75em;
}

.fc-ltr .fc-time-grid .fc-event-container {
  margin: 0px 0px 0px 0px;
}




.fc	a.lsSlot{
	text-align: center;
	text-decoration:none
	}

.fc	a.lsSlot p{
	font-size: 1.25rem;
	line-height: 1.25em;
	text-decoration:none
	}
.fc	a.lsSlot p.pgmName{
	font-size: 1.3rem;
	line-height: 1.1em;
	padding: 0.5rem 0 0.25rem 0;
	}
.fc	a.lsSlot p.istr{
	padding: 0rem 0 0.25rem 0;
	}

.fc	a.lsSlot.select{
	filter: saturate(300%);
	box-shadow: 0px 0px 5px 3px rgba(255,255,255,0.75);
}

.fc	a.lsSlot:hover{
		filter: saturate(300%);
	}


.fc	a.lsSlot.bkgExist .capa{
	font-weight: 600;
}
.fc	a.lsSlot.lscNoticeSlot:after,
.fc	a.lsSlot.lscAskSlot:after,
.fc	a.lsSlot.lscFreeSlot:after,
.fc	a.lsSlot.waitList:before{
	position: absolute;
	bottom:0px;
	font-size: 10px;
	padding: 1px 5px 3px 5px;
	border-radius: 2px;
}




.fc	a.lsSlot.waitList:before{
	content: "待";
	left:0px;
	padding-top: 0;
	padding-bottom: 2px;
	background-color: deepskyblue;
	color: white;
	white-space: nowrap;
}







	/*	予約不要	*/

.fc	a.lsSlot.lscFreeSlot:after{
	content: "予約不要";
	right:0px;
	background-color: red;
	color: white;
	white-space: nowrap;
}

.fc	a.lsSlot.lscAskSlot:after{
	content: "予約不可";
	right:0px;
	background-color: blue;
	color: white;
	white-space: nowrap;
}

.fc	a.lsSlot.lscNoticeSlot:after{
	content: "お知らせ";
	right:0px;
	background-color: gray;
	color: white;
	white-space: nowrap;
}

/* marker  */


.fc a.lsSlot.marker:before{
	content: "*";
	display: inline-block;
	position: absolute;
	bottom:2px;
	left:0;
	padding: 0 2px;
	font-size: 10px;
	background-color: red;
	border-radius: 2px;
	color: white;
	opacity: 0.7;
}

.fc a.lsSlot.marker.cancel:before{
	content: "*";
}
.fc a.lsSlot.marker.change:before{
	content: "*";
}
.fc a.lsSlot.marker.transfer:before{
	content: "*";
}

.fc	a.lsSlot.myBkg{
	border: 1px solid white!important;
	background-color:red!important;
	color:yellow!important;
}

.fc	a.lsSlot.myWtg{
	border: 1px solid red!important;
	background-color:red!important;
	color:white!important;	
}

.fc	a.lsSlot.pastSlot {
	pointer-events: none!important;
	filter: brightness(70%)!important;
}




#step4 .lscFreeSlot{
	line-height: 1.2em;
	padding: 0em 1em 0.2em 1em;
	margin-left: 1em;
	background-color: red;
	border-radius: 2px;
	color: white;
	white-space: nowrap;
}	
	#step4 .warning{
		margin-top: 1em;
		color:red;
	/*	animation: warning 1.5s linear infinite;	*/
	}		
	@keyframes warning {
	  0%,100% {
		opacity: 1;
	  }

	  50% {
		opacity: 0.75;
	  }
	}

	.fc .lsSlot{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		min-height: 100%;
		border-radius: 2px;
		line-height: 1.2em;
		cursor: pointer;
		}

	.fc .fc-col-header-cell-cushion{
		display: block;
		text-decoration: none;
		}
.fc-theme-standard{}
	.fc-theme-standard th{
		background: rgb(var(--base-bg));
		color: rgb(var(--base-fg));
		}
	.fc-theme-standard td{
		border-color: rgb(var(--base-fg));
		}
		
.floorPlan{
	overflow-x: auto;
	}

.floorPlan.lsc-disable{
	opacity: 0.65!important;
}



.lscFcIcon{}
	.lscFcIcon.text{
		display: inline-block;
		padding: 0.25em;
		border-radius: 2px;
		font-style: normal;
		line-height: 1em;
		}
	.lscFcIcon svg{
		vertical-align: baseline;
		}

.icons{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 0.5em;
	grid-gap: 0.5em;
	}
	.icons svg{
		vertical-align: baseline;
		}



/* for lower */
@media (max-width: 1399.98px) {
/*1399px以下*/
}
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
}


/* Small */
@media (max-width: 767.98px) {
/*767px以下*/
	#confirmModal ul ,
	#confirmModal ul li{
		display:block;
		width: 100%;
	}

	
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下縦向き*/
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下横向き*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
}


/* Medium */
@media (min-width: 768px) {
/*768px以上*/
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
}


/* Large */
@media (min-width: 992px) {
/*992px以上*/
#select{}
	#select .wrap{
		grid-template-columns: 1fr 3fr;
		align-content: flex-start;
		}
	
#step3,
#selectProgram{
	grid-column: 2;
	grid-row: 1 / 3;
	}
#step4,	
#selectSeat{
	grid-column: 1 / 3;
	}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}


/* X-Large */
@media (min-width: 1200px) {
/*1200px以上*/
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
/*1200px～1399px*/
}


/* XX-Large */
@media (min-width: 1400px) {
/*1400px以上*/
}







