@charset "UTF-8";
.header{
	max-width: 100%;
}
.reserve-back-box{
	max-width: 100%;
}
/*---------------------------------------------------------------

カレンダー

----------------------------------------------------------------*/
.form-area-lead{
	text-align:center;
	font-size:14px;
	line-height:25px;
	padding:40px 0;
}
@media screen and (max-width: 767px) {
  .form-area-lead{
    text-align:left;
    font-size:2.6rem;
    line-height:3.8rem;
    padding:6vw 0;
  }
}
.form-area-ttl{
	text-align:center;
	font-size:14px;
	font-weight:normal;
	line-height:24px;
}
@media screen and (max-width: 767px) {
  .form-area-ttl{
    font-size:2.6rem;
    line-height:2.6rem;
    border-bottom:1px solid #cccccc;
		padding-bottom:4vw;
		margin-bottom: 8vw;
  }
}
.area_data{
	display: none;
}
.area_modal{
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color: rgba(255,255,255,.6);
}
.area_modal_inner{
	display:block;
	position:fixed;
	top:200px;
	left:50%;
	transform:translate(-50%,0);
	width:1020px;
	max-width:80%;
	min-height:400px;
  box-shadow: 5px 5px 10px rgba(0,0,0,.2);
	padding:30px;
	background-color:#FFF;
}
@media screen and (max-width: 767px) {
  .area_modal_inner{
    width:90%;
    min-height:50vh;
    height:70vh;
    overflow:auto;
		box-shadow: 0 0 2vw rgba(0,0,0,.2);
		padding:4vw;
		top:50%;
		transform: translate(-50%,-50%);
  }
}
.area_modal_inner .form-area-ttl{
	margin-bottom:60px;
}
@media screen and (max-width: 767px) {
  .area_modal_inner .form-area-ttl{
		margin-bottom:8vw;
		border-bottom:1px solid #cccccc;
  }
}
.studio-list,
.area_select{
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
  justify-content: space-between;
}
.studio_select_item{
	width:30%;
	margin:10px auto;
}
.area_select_item{
	width:30%;
	padding:20px;
	display:block;
	text-align:center;
	margin:10px auto;
	background-color:#f7f7f7;
	border-radius:10px;
	cursor:pointer;
}
@media screen and (max-width: 767px) {
  .area_select_item{
    width:46%;
    padding:5vw 0;
    margin:2vw auto;
    background-color:#f7f7f7;
    border-radius:1vw;
    cursor:pointer;
  }
}
.area_select_item:hover{
	background-color:#eeddf7;
}
.area_modal_inner{
	position: relative;
}
.area_modal_close{
	content: "";
	display: block;
	cursor: pointer;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #000;
	position: absolute;
	top: -15px;
	right: -15px;
	color: #FFF;
	text-align: center;
	line-height: 30px;
}
@media screen and (max-width: 767px) {
	.area_modal_close{
		content: "";
		display: block;
		cursor: pointer;
		width: 6vw;
		height: 6vw;
		border-radius: 50%;
		background-color: #000;
		position: absolute;
		top: 0;
		right: 0;
		color: #FFF;
		text-align: center;
		line-height: 6vw;
	}
}
.area_modal_list .area-name{
	font-size:20px;
	text-align:center;
	margin-bottom:40px;
}
@media screen and (max-width: 767px) {
	.area_modal_list .area-name{
		font-size:3vw;
		margin-bottom:5vw;
	}
}
.area_modal_list .shop-list{
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	width: 100%;
	overflow: auto;
	max-height: 600px;
}
@media screen and (max-width: 767px) {
	.area_modal_list .shop-list{
		max-height: 60vw;
	}
}
.shop-list-item{
	width:18%;
	min-width:18%;
	display:block;
	text-align:center;
	margin:10px 1%;
}
@media screen and (max-width: 767px) {
  .shop-list-item{
    width:46%;
    margin:1vw;
  }
}
.form-area{
	max-width: 100%;
}
.studio_rule,
.shop_rule{
	padding:20px 0;
	border: 0;
	outline: none;
	width: 100%;
	height: 100%;
	display: block;
	background-color:#f7f7f7;
	cursor:pointer;
	white-space: space;

	border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
	border-radius:10px;
}
@media screen and (max-width: 767px) {
	.studio_rule,
	.shop_rule{
		white-space: pre-wrap;
	}
}
.studio_rule:hover,
.shop_rule:hover{
	background-color:#eeddf7;
}
.shop_data_ttl{
	font-size:20px;
	text-align:center;
}
.shop_data_ttl span{
	font-size:14px;
	font-weight:normal;
	margin-right:10px;
}
.shop_map{
	text-align:center;
	padding:20px;
}
@media screen and (max-width: 767px) {
  .shop_map{
    padding:3vw;
  }
  .shop_map img{
    width:100%;
  }
}
.select_comment{
	font-size:14px;
	font-weight:normal;
	margin-bottom:40px;
}
.select_data{
	padding:20px;
}
.select_data_wrap{
	display:flex;
}
.select_data_wrap dt{
	width:30%;
}
.select_data_wrap dd{
	display:flex;
	flex-wrap:wrap;
  justify-content: start;
	width:70%;
}
.select_data_wrap dd label{
	margin-right:40px;
	margin-bottom:40px;
}
.select_data_wrap dd label input{
	margin-right:10px;
}
@media screen and (max-width: 767px) {
	.select_data{
		padding:2vw;
	}
  .select_data_wrap{
		display:block;
		margin-bottom:6vw;
	}
  .select_data_wrap dt{
		width:100%;
		font-size: 3.2rem;
    font-weight: bold;
    border-bottom: 1px solid #CCC;
		padding:3vw 2vw;
  }
  .select_data_wrap dd{
    width:100%;
    justify-content: space-between;
  }
  .select_data_wrap dd label{
		width:46%;
		margin-right:0;
    margin-bottom:2vw;
		border-bottom: 1px solid #e7e7e7;
		padding:3vw 1vw;
	}
	.select_data_wrap dd label input{
		margin-right:2vw;
	}
}

.calendar_head{
	display: flex;
	width: 100%;
	box-shadow: 0 5px 5px rgba(0,0,0,.2);
	margin-bottom:40px;
}
@media screen and (max-width: 767px) {
	.calendar_head{
		box-shadow: none;
		box-shadow: 0 2px 2px rgba(0,0,0,.2);
	}
}
.calendar_now,
.calendar_prev,
.calendar_next{
	width:33.3%;
	text-align:center;
	padding:20px;
	cursor:pointer;
	position: relative;
}
.calendar_prev{
	text-align:left;
	padding:20px 20px 20px 40px;
}
.calendar_next{
	text-align:right;
	padding:20px 40px 20px 20px;
}
.calendar_prev::after,
.calendar_next::after{
	content:"";
	display: block;
	width : 20px;
	height: 20px;
	background-image: url(/form/img/icon_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top:50%;
	transform: translate(0,-50%);
}
.calendar_prev::after{
	left:20px;
}
.calendar_next::after{
	right:20px;
	transform: translate(0,-50%) rotate(180deg);
}
@media screen and (max-width: 767px) {
	.calendar_prev,
	.calendar_next{
		width:20%;
		padding:3vw;
	}
	.calendar_prev{
		padding:3vw 3vw 3vw 6vw;
	}
	.calendar_next{
		padding:3vw 6vw 3vw 3vw;
	}
	.calendar_now{
		width:60%;
		padding:3vw;
	}
	.calendar_prev::after,
	.calendar_next::after{
		width : 3vw;
		height: 3vw;
	}
	.calendar_prev::after{
		left:1vw;
	}
	.calendar_next::after{
		right:1vw;
		transform: translate(0,-50%) rotate(180deg);
	}
}
.week_inner table{
	width:100%;
	color:#4c4c4c;
	font-size:14px;
	border-collapse: collapse;
}
@media screen and (max-width: 767px) {
	.week_inner table{
		font-size:1.8rem;
	}
}

.week_inner table tr:nth-child(odd){
	background-color:#f6f6f6;
}
.week_inner table tr:nth-child(1) th,
.week_inner table tr:nth-child(1),
.week_inner table tr:nth-child(2),
.week_inner table tr:nth-child(3){
	background-color:#FFF;
}
.week_inner table th:nth-child(even),
.week_inner table td:nth-child(odd){
	background-color:rgba(0,0,0,.03);
}
.week_inner table td.empty{
	background-color:rgba(0,0,0,.3);
}

.week_inner table th,
.week_inner table td{
	text-align:center;
	width:12.5%;
}
.week_inner table th{
	font-weight:normal;
	border:1px solid #e5e5e5;
	border-width:1px 0 1px 0 ;
	padding:15px 0;
}
@media screen and (max-width: 767px) {
	.week_inner table th{
		padding:2vw 0;
	}
}
.week_inner table td{
	font-weight:normal;
	border:1px solid #FFF;
}
.week_inner .table_h{
	border:1px solid #e5e5e5;
	border-width: 0 1px 1px 0 ;
}
.week_inner .table_time{
	border:1px solid #e5e5e5;
	border-width: 0 1px 0 0 ;
}
.week_inner .table_month{
	border:1px solid #e5e5e5;
	border-width: 0 1px 1px 0 ;
}
.week_inner .table_last{
	border-right:1px solid #e5e5e5;
}
.week_inner table a{
  color:#bba1cb;
	padding:15px 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}
.week_inner table a.current,
.week_inner table a:hover{
  background-color:#bba1cb;
  color:#FFF;
}
@media screen and (max-width: 767px) {
	.week_inner table a{
		padding:2vw 0;
	}
}
.form-area-lead a{
	color:#333;
	text-decoration: underline;
}
.calendar_error{
	display: none;
	text-align: center;
	color:#c44;
	font-size:14px;
}
.sp-br{
	display: none;
}
@media screen and (max-width: 767px) {
	.sp-br{
		display: block;
	}
}
@media screen and (max-width: 767px) {
	input[type=text], input[type=email], input[type=tel] {
		border: 1px solid #afafaf;
		border-radius: 3px;
		padding: 3vw 2vw;
		font-size: 16px;
		color: #000;
		-webkit-appearance: none;
	}
}
.label_note{
    margin-top: -40px;
    margin-bottom: 40px;
    color: #e53aa7;
    font-size: 14px;
}
@media screen and (max-width: 767px) {
	.label_note{
      margin-top: -1.5vw;
      margin-bottom: 1vw;
			color: #e53aa7;
			font-size: 3vw;
	}
}