/*calendar
-----------------------------------------------------------*/

#calendar {
	position: relative;
	width: 100%;
	margin-top: 36px;
}

#calendar .calHeader {
	font-size: 0;
	margin-bottom: 12px;
}

#calendar .btn {
	display: inline-block;
	width: 24px;
	border-radius: 50%;
	background-color: #555;
	cursor: pointer;
}

#calendar #next {
	margin-left: 8px;
	margin-right: 24px;
	transform: rotate(180deg);
}

#calendar .ym {
	display: inline-block;
	font-size: 18px;
	line-height: 150%;
	margin-right: 1px;
}

#calendar .to {
	margin: 0 6px 0 4px;
}

#calendar .calFrame  {
	width: 100%;
	height: 540px;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#calendar .calFrame .times {
	width: 54px;
	height: 100%;
	position: relative;
	overflow: visible;
}

#calendar .calFrame .times .time {
	position: absolute;
	left: 0;
	width: 100%;
	font-size: 12px;
	line-height: 150%;
	padding-right: 8px;
	margin-top: -9px;
	text-align: right;
}

#calendar .calFrame .times .time:nth-of-type(1) { top: 10%; }
#calendar .calFrame .times .time:nth-of-type(2) { top: 15%; }
#calendar .calFrame .times .time:nth-of-type(3) { top: 20%; }
#calendar .calFrame .times .time:nth-of-type(4) { top: 25%; }
#calendar .calFrame .times .time:nth-of-type(5) { top: 30%; }
#calendar .calFrame .times .time:nth-of-type(6) { top: 35%; }
#calendar .calFrame .times .time:nth-of-type(7) { top: 40%; }
#calendar .calFrame .times .time:nth-of-type(8) { top: 45%; }
#calendar .calFrame .times .time:nth-of-type(9) { top: 50%; }
#calendar .calFrame .times .time:nth-of-type(10) { top: 55%; }
#calendar .calFrame .times .time:nth-of-type(11) { top: 60%; }
#calendar .calFrame .times .time:nth-of-type(12) { top: 65%; }
#calendar .calFrame .times .time:nth-of-type(13) { top: 70%; }
#calendar .calFrame .times .time:nth-of-type(14) { top: 75%; }
#calendar .calFrame .times .time:nth-of-type(15) { top: 80%; }
#calendar .calFrame .times .time:nth-of-type(16) { top: 85%; }
#calendar .calFrame .times .time:nth-of-type(17) { top: 90%; }
#calendar .calFrame .times .time:nth-of-type(18) { top: 95%; }
#calendar .calFrame .times .time:nth-of-type(19) { top: 100%; }

#calendar .calFrame .weeksBox {
	position: relative;
	flex: 1;
	height: 100%;
	overflow: hidden;
}

#calendar .calFrame .weeksBox .week {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
	border-right: solid 1px #ccc;
	transform: translateX(0%);
	transition: transform .3s;
}
#calendar .calFrame .weeksBox .week.prev {
	transform: translateX(-100%);
}
#calendar .calFrame .weeksBox.slidePrev .week {
	transform: translateX(100%);
}
#calendar .calFrame .weeksBox.slidePrev .week.prev {
	transform: translateX(0%);
}
#calendar .calFrame .weeksBox .week.next {
	transform: translateX(100%);
}
#calendar .calFrame .weeksBox.slideNext .week {
	transform: translateX(-100%);
}
#calendar .calFrame .weeksBox.slideNext .week.next {
	transform: translateX(0%);
}

#calendar .calFrame .weeksBox .week .day {
	width: 14%;
	height: 100%;
	border-left: solid 1px #ccc;
	text-align: center;
	position: relative;
}

#calendar .calFrame .weeksBox .week .day .date {
	margin-top: 1px;
	font-size: 18px;
	line-height: 150%;
}

#calendar .calFrame .weeksBox .week .day .dw {
	margin-top: 2px;
	font-size: 12px;
	line-height: 150%;
}

#calendar .calFrame .weeksBox .week .line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ccc;
}

#calendar .calFrame .weeksBox .week .line:nth-of-type(1) { top: 10%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(2) { top: 15%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(3) { top: 20%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(4) { top: 25%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(5) { top: 30%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(6) { top: 35%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(7) { top: 40%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(8) { top: 45%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(9) { top: 50%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(10) { top: 55%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(11) { top: 60%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(12) { top: 65%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(13) { top: 70%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(14) { top: 75%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(15) { top: 80%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(16) { top: 85%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(17) { top: 90%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(18) { top: 95%; }
#calendar .calFrame .weeksBox .week .line:nth-of-type(19) { top: calc(100% - 1px); }


.fix, .keep, .lochun {
	position: absolute;
	left: 0;
	width: 100%;
	padding: 6px;
	z-index: 5;
	top: 15.5%;
	height: 26%;
}

.fix::after { background-color: #da536e; content: '確定'; }
.keep::after { background-color: #88b5d3; content: 'キープ'; }
.lochun::after { background-color: #54917f; content: 'ロケハン'; }

.fix::after,
.keep::after,
.lochun::after {
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 14px;
	line-height: 100%;
	border-radius: 8px;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	-webkit-align-items: center;
    align-items: center;
}

.calNotes {
	margin-top: 32px;
} 


@media screen and (max-width: 800px) {
	
	#calendar {
        margin-top: 20px;
    }

    #calendar .calHeader {
        margin-bottom: 10px;
    }

    #calendar .btn {
        width: 20px;
    }

    #calendar #next {
        margin-left: 6px;
        margin-right: 20px;
    }

    #calendar .ym {
        font-size: 16px;
    }

    #calendar .to {
        margin: 0 5px 0 3px;
    }

    #calendar .calFrame  {
        height: 360px;
    }

    #calendar .calFrame .times {
        width: 36px;
    }

    #calendar .calFrame .times .time {
        font-size: 10px;
        padding-right: 6px;
        margin-top: -8px;
    }

    #calendar .calFrame .weeksBox .week .day .date {
        margin-top: 2px;
        font-size: 14px;
		line-height: 114%;
    }

    #calendar .calFrame .weeksBox .week .day .dw {
        margin-top: 2px;
        font-size: 10px;
		line-height: 110%;
    }

    .fix, .keep, .lochun {
        padding: 4px;
    }

    .fix::after,
    .keep::after,
	.lochun::after {
        font-size: 1.75vw;
        border-radius: 6px;
    }
	
	.calNotes {
        margin-top: 24px;
    } 
	
	
}

#reserve001 {
	top: 15%;
	height: 25%;
}

#reserve002 {
	top: 50%;
	height: 45%;
}

#reserve003 {
	top: 20%;
	height: 35%;
}

#reserve004 {
	top: 70%;
	height: 20%;
}

/*tel
-----------------------------------------------------------*/

.telHeading {
	font-weight: 500!important;
}

.telNumber {
	font-weight: 600!important;
	font-size: 24px;
}

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

    .telNumber {
        font-size: 22px;
    }
	
}


/*loader
-----------------------------------------------------------*/

.loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
	align-items: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
	z-index: 9999;
}

.loading .loader {
	opacity: 1;
	pointer-events: all;
}

.spinner {
  width: 32px;
  height: 32px;

  position: relative;
  margin: 0 auto;
}

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #807f74;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}
