@charset "utf-8";
/* CSS Document */
/*480 768 960 1280*/
/*========================================   タブ   ========================================*/
/*タブ*/
#tab{
	max-width:1000px;
	width:94%;
	margin:0 auto 40px;
	display:flex;
}
#tab li{
	width : calc(100% / 7) ;
	text-align:center;
	padding: 0 5px;
	box-sizing: border-box;
}
#tab li a{
	padding: 8px 0;
	margin:0 auto;
	letter-spacing: 0.06em;
	display:block;
	background-color: var(--basergba-color);
	box-shadow: 2px 4px 6px rgb(0 0 0 / 0.3);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
#tab li a:link,#tab li a:visited{
	color:#FFFFFF;
}
#tab li a:hover{
	color: var(--point-color);
}
#tab li.present a{
	color: #FFFFFF;
	background-color: var(--pointrgba-color);
}
#tab li span{
	font-size: 1.4rem;
}
#tab li span small{
	font-size: 1.2rem;
}
span.number_of_cast{
	background-color: rgba(0,0,0,0.3);
	border-radius: 5px;
	padding: 0 3px;
}
#tab li.present a span.number_of_cast{
	background-color: rgba(0,0,0,0.15);
}
@media screen and (min-width : 768px) {/*768以上(タブレット/PC)*/
	#tab li a{
		padding: 8px 4px 8px 8px;
	}
	#tab li span{
		display: inline-block;
		margin-left: -0.3em;
	}
}
@media screen and (min-width:0px) and ( max-width:959px) {/*960まで(SP)*/
	#tab li{
		font-size: 1.4rem;
	}
	#tab li span{
		font-size: 1.2rem;
	}
	#tab li span small{
		font-size: 1.0rem;
	}
}
@media screen and (min-width:0px) and ( max-width:767px) {/*768まで(SP/タブレット)*/
	#tab li a{
		line-height: 1.4;
	}
	#tab li span{
		display: block;
	}
	#tab li span.number_of_cast{
		display: inline-block;
		margin-top: 3px;
		padding: 0 8spx 2px;
	}
}
@media screen and (min-width:0px) and ( max-width:479px) {/*480まで(SP/タブレット)*/
	#tab{
		width:96%;
	}
	#tab li{
		padding: 0 2px;
		font-size: 1.2rem;
	}
}


/*========================================   リスト   ========================================*/
.schedule{
	max-width: 1280px;
	width: 90%;
	margin: 0 auto;
}
.schedule > li{
	width:100%;
	padding:2%;
	box-sizing: border-box;
	margin-bottom: 20px;
	background-color:rgba(255,255,255,0.75);
	box-shadow: 2px 4px 10px rgb(0 0 0 / 0.1);
	position: relative;
}
div.castprof{
	position: relative;
}
div.castphoto{
	/*width: 180px;*/
}
div.castphoto div{
	position: relative;
}
p.castname > span{
	vertical-align: middle;
}
span.castsize{
	display: inline-block;
}
p.castname_sp span.castsize{
	display: block;
}
/*出勤状況*/
p.castschedule_status_wrap{
	background-color: #FFFFFF;

	/*font-weight: bolder;*/
	border-radius: 5px;
}
span.castschedule_status_time{
	width: 50%;
	text-align: center;
	box-sizing: border-box;
	display: inline-block;
	padding: 5px 0px;
	color: #FFFFFF;
	background-color:#EF66B2;
	border-radius: 5px 0 0 5px;
}
span.castschedule_status{
	font-weight: bolder;
	color: #EF66B2;
	width: 50%;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
}
span.castschedule_status i{
	margin-right: 0.2em;
}
/*WEB予約ボタン*/
p.castschedule_reservebtn{
	margin: 20px auto;
}
p.castschedule_reservebtn a{
	min-width: 200px;
	max-width: 500px;
	width: 90%;
	padding: 7px;
	font-size:1.6rem;
	box-sizing: border-box;
	white-space: nowrap;

	-webkit-appearance: none;
	border-radius: 0;
	border: solid 2px #FFFFFF;/* 内側の線になる一本線の枠線をひく*/
	outline: solid 1px #333333;/* 外側の線になる一本線の枠線をひく*/
}
div.timetable_warp{
	width: 100%;
	position: relative;
}
p.profilepage_link{
	text-align: right;
	margin-top: 10px;
}
p.profilepage_link strong{
	margin-right: 0.2em;
	font-size: 1.8rem;
}
p.profilepage_link span{
	vertical-align: bottom;
}
@media screen and (min-width : 480px) {/*480以上(タブレット/PC)*/
	span.castsize{
		margin-left: 0.4em;
	}
}
@media screen and (min-width : 768px) {/*768以上(タブレット/PC)*/
	p.castname_sp{
		display: none;
	}
	p.castname{
		padding:4px 0 4px 0.6em;
		border: #CCCCCC solid 1px;
		background-color: #EEEEEE;
	}
	p.castname > span{
		display: inline-block;
	}
}
@media screen and (min-width : 1280px) {/*1280以上(タブレット/PC)*/
	.schedule > li{
		padding-left: calc(280px + 2%);
		min-height: 450px;
	}
	.castphoto{
		width: 260px;
		position: absolute;
		left: 2%;
		/*top: 50%;
		transform: translateY(-50%);*/
	}
	p.castname strong{
		font-size: 1.9rem;
	}
	p.castname > span{
		padding-top: 5px;
	}
	/*出勤状況*/
	p.castschedule_status_wrap{
		position: absolute;
		right: 5px;
		top: 5px;
		width: 20em;
		font-size: 1.6rem;
	}
	span.castschedule_status_time{
		width: 10em;
		padding: 3px 0px;
	}
	span.castschedule_status{
		width: 10em;
	}
	/*WEB予約ボタン　要確認の場合非表示*/
	p.castschedule_reservebtn{
		min-height: 60px;
	}
}
@media screen and (min-width:768px) and ( max-width:1279.9px) {/*768から1280まで(SP/タブレット)*/
	.schedule > li{
		display:flex;
		flex-wrap: wrap;
	}
	.castphoto{
		margin-right: 20px;
	}
	.castprof{
		width: calc(100% - 200px);
	}
	p.castschedule_status_wrap{
		margin: 30px auto 0;
	}
}
@media screen and (min-width:0px) and ( max-width:1279.9px) {/*1280まで*/
	.castphoto{
		width: 180px;
		margin-bottom: 20px;
	}
	/*出勤状況*/
	p.castschedule_status_wrap{
		background-color: #FFFFFF;
		border: #EF66B2 solid 1px;
		/*font-weight: bolder;*/
		border-radius: 5px;
		max-width: 500px;
		width: 90%;
		font-size: 1.8rem;
	}
}
@media screen and (min-width:0px) and ( max-width:767.9px) {/*768まで*/
	.schedule > li{
		padding-top: 1.6em;
	}
	.castphoto{
		margin: 0 auto 30px;
	}
	p.castname_sp{
		text-align: center;
		margin-bottom: 15px;
	}
	p.castname_pc{
		display: none;
	}
	p.castschedule_status_wrap{
		margin: 20px auto 0;
	}
	p.profilepage_link strong{
		font-size: 1.6rem;
	}
}
@media screen and (min-width:0px) and ( max-width:479.9px) {/*480まで(SP/タブレット)*/
	span.castsize{
		display: block;
	}
	p.castschedule_status_wrap{
		font-size: 1.4rem;
	}
	span.castschedule_status_time{
		width: 55%;
	}
	span.castschedule_status{
		width: 45%;
	}
	p.profilepage_link{
		font-size: 1.4rem;
	}
}


/*========================================   タイムテーブル   ========================================*/
div.reserve_timetable_details{
	border: #EEEEEE dashed 2px;
	margin: 15px auto 20px;
	width: 90%;
	height: 90px;
	box-sizing: border-box;
	padding: 1.6em 2em 0;
	position: relative;
	z-index: 1;
}
div.reserve_timetable_details:before {
	position: absolute;
	bottom: 0.1em;
	left: 50%;
	transform: translateX(-50%);
	/*top:50%;
	transform: translateY(-50%);
	right: 1em;*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f063';
	color: #EEEEEE;
	font-size: 2.8rem;
	line-height: 1;
	z-index: -1;
}

span.guidance_reserve_mark{
	display: inline-block;
	width:50px;
	text-align: center;
	padding:2px;
	/*border-radius: 5px;*/
	background-color: #7FDDFF;
	border: #EFEFEF dashed 2px;
	color:#FFFFFF;
	font-size:1.6rem;
	margin-right:0.6em;
}
ul.timetable_hour{
	display:flex;
	/*min-width: 1200px;*/
	width: 99.9%;
	font-size:1.4rem;
	position: relative;
	box-sizing: border-box;
}
li.timetable_hour_value{
	background-color:#EEEEEE;
	border-right: 1px solid #CCCCCC;
	text-align: center;
}
li.timetable_hour_value:last-child{
	border: none;
}
ul.timetable_content{
	/*min-width: 900px;*/
	width: 99.9%;
	height: 80px;
	display:flex;
	box-sizing: border-box;
	margin: 0;
	
	background-color: red;
}
li.timetable_content_value{
	text-align: center;
	margin: 0;
}
ul.timetable_content li{
	background-color:#CCCCCC;
}
ul.timetable_content li.phone_timetable_content {
	background-color: #ffc2a6;
}
ul.timetable_content li.reserve_timetable_content{/*予約有*/
	background-color:#7FDDFF;
}

.sp_timetable_scroll{
	width: 100%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-x: none;
}
.sp_timetable_scroll::-webkit-scrollbar {
	height: 12px; /* スクロールバーの高さ */
}

.sp_timetable_scroll::-webkit-scrollbar-thumb {
	background: #000000; /* ツマミの色 */
	border-radius: 6px; /* ツマミ両端の丸み */
}

.sp_timetable_scroll::-webkit-scrollbar-track {
	background: #ddd; /* トラックの色 */
	border-radius: 6px; /* トラック両端の丸み */
}
@media screen and (min-width : 480px) {/*480以上(タブレット/PC)*/
	p.guidance_reserve{
		text-align: center;
	}
}
@media screen and (min-width:0px) and ( max-width:767px) {/*768まで(SP/タブレット)*/
	div.reserve_timetable_details{
		font-size: 1.4rem;
		padding: 2em 0 0 1.4em;
	}
	span.guidance_reserve_mark{
		width:36px;
		padding:2px;
		margin-right:0.4em;
	}
}
@media screen and (min-width:0px) and ( max-width:479px) {/*480まで(SP)*/
	div.reserve_timetable_details{
		padding: 1.5em 1em 0 1.4em;
	}
	p.guidance_reserve{
		display: flex;
		line-height: 1.2;
	}
	span.guidance_reserve_mark{
		height: 30px;
		line-height: 30px;
	}
	p.guidance_reserve span{
		display: block;
	}
}



span.selected_color{
	display: inline-block;
	width: 100%;
	height: 100%;
	background-color: #00BBFF;
}
.selected_color i{
	color: var(--point-color);
}
/*ツールチップ*/
span.phone_mark{
	line-height: 80px;
	color: #666666;
}
span.reserve_mark{
	line-height: 80px;
	cursor :pointer;
	color: #FFFFFF;
}
span.reserve_mark:hover{
	color: #CCCCCC;
}

/*お気に入り登録ボタン*/
.schedule_favorite_btn{
	margin: 20px auto 0;
}


/*出勤なし*/
.schedule_empty{
	/*box-sizing: border-box;
	max-width: 1280px;
	width: 90%;
	margin: 0 auto;
	background-color:rgba(255,255,255,0.75);
	box-shadow: 2px 4px 10px rgb(0 0 0 / 0.1);*/
	width: 100%;
	text-align: center;
	height: 100px;
	line-height: 100px;
}
@media screen and (min-width : 600px) {/*600以上(タブレット/PC)*/
	.schedule_empty{
		height: 300px;
		line-height: 300px;
	}
}
