@charset "UTF-8";
/* 予約カレンダー */
main{
	padding: 0 0 160px;
}
.h1_wrapper h1::before {
	content: "";
	background: url(../images/common/hagumi.svg) no-repeat;
	width: 66px;
	height: 102px;
	display: block;
	position: absolute;
	left: 345px;
	top: -17px;
}
.ly_calender{
	display: flex;
	flex-direction: column;
}
.bl_txtWrapper + .bl_btn{
	display: none;
}
.bl_txtWrapper{
	text-align: center;
	margin-bottom: 52px;
	order: 1;
}
.bl_txtWrapper p{
	line-height: 1.5;
}
.bl_txtWrapper p + p{
	margin-top: 14px;
}
.bl_txtWrapper a{
	text-decoration: underline;
	color: #035efc;
}
.hp_bold{
	font-weight: bold;
}
.none{
	display: none;
}
.bl_calender{
	width: 900px;
	margin: 0 auto;
	order: 2;
}
.bl_calender + .bl_btn{
	display: none!important;
}
.bl_calender + .bl_btn + .bl_txtWrapper{
	display: block;
}
.bl_calender .calendar-title{
	display: none;
}
.bl_calender table{
	width: 100%;
	height: auto;
	background: #fff;
	text-align: center;
}
.bl_calender caption{
	font-size: 34px;
	font-family: inherit;
	font-weight: bold;
	margin-bottom: 18px;
}
.bl_calender thead{
	border: 2px solid #aba7a4;
	border-bottom: none;
}
.bl_calender .header-row{
	display: flex;
}
.bl_calender tbody{
	border: 2px solid #aba7a4;
}
.bl_calender tbody > tr{
	display: flex;
	align-items: center;
}
.bl_calender tbody > tr + tr{
	border-top: 1px solid #aba7a4;
}
.bl_calender tbody > tr:first-child{
	border-bottom: 1px solid #aba7a4;
}
.bl_calender tbody > tr:first-child th + th{
	border-left: 1px solid #aba7a4;
}
.bl_calender tbody > tr > td + td{
	border-left: 1px solid #aba7a4;
}
.week-title{
	width: 128px;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #aba7a4;
}
.week-title:last-of-type{
	border-right: none;
}
.bl_calender .day-box{
	width: 128px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.bl_calender .day-box.no-day{
	background-color: #fff;
}
.bl_calender .day-number{
	margin-bottom: 6px;
}
.calendar-mark > a{
	text-decoration: underline;
}
.monthly-prev-next{
	margin-top: 18px;
	font-size: 20px;
	width: 100%!important;
}
.monthly-prev-next > div > a{
	position: relative;
	display: block;
	padding-top: 3px;
}
.monthly-prev > a::before{
	content: "◀︎";
	color: #eead11;
	font-size: 17px;
	margin: 0 8px 0 0;
}
.monthly-next > a::after{
	content: "▶";
	color: #eead11;
	font-size: 17px;
	margin: 0 0 0 8px;
}
.monthly-prev > a::after,
.monthly-next > a::before{
	content: '';
	position: absolute;
	background: #333;
	width: 100%;
	height: 1px;
	bottom: 0px;
	left: 0;
}
.monthly-next{
	margin-right: 0!important;
}

@media screen and (max-width : 750px){
	.h1_wrapper h1::before {
		left: 182px;
		top: -12px;
	}
	.bl_txtWrapper {
		width: 690px;
		margin: 0 auto 70px!important;
	}
	.bl_calender{
		width: 690px;
	}
	.bl_calender table{
		width: 690px;
	}
	.bl_calender caption{
		font-size: 36px;
	}
	.week-title{
		width: 98px;
		height: 46px;
	}
	.bl_calender .day-box{
		width: 98px;
		height: 88px;
	}
	.calendar-mark > a{
		font-size: 28px;
	}
	.bl_calender .day-number{
		margin-bottom: 6px;
		font-size: 24px;
	}
	.monthly-prev-next{
		font-size: 26px;
	}
	.monthly-prev > a::before{
		font-size: 22px;
	}
	.monthly-next > a::after{
		font-size: 22px;
	}
}

/* リスト */
.day-bl_calender{
	width: 816px;
	margin: 0 auto 60px!important;
}
.day-bl_calender table{
	margin: 0 auto;
}
.day-bl_calender caption{
	font-size: 34px;
	font-weight: bold;
	margin-bottom: 50px;
}
.day-bl_calender  tbody tr{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

.mix-day{
	/*     width: 816px!important; */
	width: 407px;
	height: 48px;
	text-align: left;
	border: 1px solid #918989;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 3px;
}
.article-name{
	margin-top: 0;
	margin-bottom: 50px!important;
	font-size: 26px!important;
	font-weight: bold;
	padding-left: 100px;
	position: relative;
	width: 100%!important;
	height: auto!important;
	border: none;
	display: block;
}

.mix-dayrow.space-line{
	margin-bottom: 50px;
}

.article-name::before{
	content: '';
	position: absolute;
	background: url(../images/booking/hagumi.jpg) top left / contain no-repeat;
	width: 80px;
	height: 80px;
	top: -27px;
	left: 0;
	border-radius: 80px;
	border: 1px solid #ddd;
}
.sakamoto::before{
	background: url(../images/booking/sakamoto.jpg) top left / contain no-repeat!important;
}
.saito::before{
	background: url(../images/booking/saito.jpg) top left / contain no-repeat!important;
}
.murayama::before{
	background: url(../images/booking/murayama.jpg) top left / contain no-repeat!important;
}
.bl_btn{
	width: 1020px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.bl_btn + .bl_txtWrapper{
	 display: none;
}
.el_backBtn{
	width: 230px;
	height: 49px;
	border-radius: 5px;
	font-size: 26px;
	font-weight: bold;
	color: #fff;
	font-size: 22px;
	background: #b29652;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.el_backBtn::after{
	content: '▶︎';
	margin-left: 3px;
	font-size: 16px;
}
@media screen and (max-width : 750px){
	.day-bl_calender{
		width: 690px;
	}
	.mix-day{
		width: 343px;
	}
	.article-name{
		margin-bottom: 60px!important;
		font-size: 32px!important;
		padding-left: 110px!important;
	}
	.article-name::before {
		width: 90px;
		height: 90px;
		top: -22px;
	}
	.day-bl_calender table{
		width: 690px!important;
		margin-top: 12px;
	}
	.day-bl_calender table tbody th,
	.day-bl_calender table tbody td {
		font-size: 28px;
		padding: 10px 0;
	}

	.bl_btn{
		width: 690px;
	}
	.el_backBtn{
		width: 310px;
		height: 70px;
		font-size: 31px;
	}
	.el_backBtn::after{
		font-size: 24px;
	}
}

/* フォーム */
.content-form{
	width: 1020px;
	margin: 0 auto;
}
input:-webkit-autofill{
    -webkit-box-shadow: 0 0 0px 1000px #fffbf4 inset;
}
#booking-reservation-fieldset table tbody tr:nth-of-type(2),
#booking-confirm-fieldset table tbody tr:nth-of-type(2),
#client-address2{
	display: none;
}
#booking_client-fieldset{
	margin-bottom: 0;
	border-bottom: none;
}
#booking-message-fieldset{
	border-top: none;
}
/* .content-form fieldset{
	border: none!important;
} */
.content-form legend{
	display: none;
}
.option-confirm-header,
#confirmation-booking-message-title{
	display: none;
}
.content-form table tbody tr td{
	line-height: 1.5;
}
.content-form select{
	width: 230px;
}

#booking-reservation-fieldset table tbody tr td,
#booking-confirm-fieldset table tbody tr:first-of-type td{
	position: relative;
}
#booking-reservation-fieldset table tbody tr td::after,
#booking-confirm-fieldset table tbody tr:first-of-type td::after{
	content: '〜';
}
.content-form th{
	text-align: center!important;
}
.content-text.medium,
.content-text.fat{
	width: 100%!important;
}
#booking-message-fieldset table tbody th {
	padding-top: 60px;
}
#action-button button{
	display: block;
	width: 246px;
	height: 49px;
	background: #3c2a10;
	border-radius: 10px;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

/* ラジオボタン */
input[type="radio"], input[type="checkbox"]{
	display: unset;
}
input{
	-webkit-appearance: auto;
	border-radius: unset;
	appearance: auto;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
input:focus, select:focus,textarea:focus{
    box-shadow: none;
}
#booking_client-fieldset tbody tr:nth-of-type(6) label {
	margin-right: 16px;
}
#booking_client-fieldset tbody tr:nth-of-type(6) label input{
	margin-right: 10px;
}
@media screen and (max-width : 750px){
	.field-item{
		padding-left: 46px;
		position: relative;
	}
	.field-item input[type="radio"]{
		width: 40px!important;
		height: 30px;
		position: absolute;
		top: 6px;
		left: 0;
	}

	.content-form {
		width: 690px!important;
	}
	.content-form legend{
		font-size: 28px!important;
	}
	.content-form table{
		margin-top: 18px!important;
	}
	.content-form table tbody tr{
		display: block;
	}
	.content-form table tbody tr + tr{
		margin-top: 24px;
	}
	.content-form table tbody tr th,
	.content-form table tbody tr td{
		width: 100%!important;
		display: block;
		text-align: left!important;
		font-size: 30px!important;
		border: none!important;
	}
	.content-form table tbody tr th{
		margin-bottom: 8px;
	}
	.content-form table tbody tr td input,
	.content-form table tbody tr td textarea{
		width: 100%!important;
		font-size: 32px!important;
		padding-left: 10px;
	}
	#booking-message-fieldset table tbody th {
		padding-top: 0;
	}
	#action-button button{
		width: 386px;
		height: 82px;
		border-radius: 10px;
		font-size: 34px;
	}
}

/* サンクス */
.bl_thanks.inner{
	border: 1px solid #aba7a4;
	padding: 28px 25px;
	line-height: 1.6;
}
.el_thanks_ttl{
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.bl_thanks p{
	text-align: center;
}
.bl_thanks p:nth-of-type(2){
	margin-bottom: 18px;
	font-size: 15px;
	color: #de5040;
}
.bl_thanks .el_btn{
	width: 246px;
	height: 49px;
	background: #3c2a10;
	border-radius: 10px;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
	margin: 20px auto 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3px;
}

@media screen and (max-width : 750px){
	.bl_thanks.inner{
		width: 690px;
		border: 2px solid #aba7a4;
		padding: 32px 25px 48px;
	}
	.el_thanks_ttl{
		font-size: 34px;
	}
	.bl_thanks p:nth-of-type(2){
		margin-bottom: 24px;
		font-size: 22px;
	}
	.bl_thanks .el_btn{
		width: 380px;
		height: 76px;
		font-size: 32px;
		margin: 28px auto 0;
	}
}

/* 確認画面エラー */
.error-message{
	width: 1020px;
	margin: 0 auto;
}
.error-message > p{
	text-align: center;
	line-height: 1.5;
}
.error-message .el_btn{
	margin: 30px auto 0;
}
@media screen and (max-width : 750px){
	.error-message{
		width: 690px;
	}
}