@charset "utf-8";
.resultLink{
  margin-bottom: 32px;
  text-align: center;
}
.index main form,
.option main form{
  width: 450px;
}
.option section {
  max-width: 780px;
}
.areaSelect dd{
  display: flex;
  align-items: flex-end;
}
.areaSelect .decorated_select{
  width: 200px;
  height: 48px;
}
.optionSelect .decoratedParts{
  display: flex;
  flex-wrap: wrap;
  margin-left: 16px;
}
.optionSelect .decoratedParts label{
  margin-bottom: 16px;
}
.nursingCareLevelSelect{
  margin-bottom: 32px;
}
.stylistList{
  width: 100%;
  margin-bottom: 30px;
}
.stylistList dt{
  font-size: 20px;
  font-weight: bold;
}
.stylistList li,
.stylistList li a{
  display: flex;
  align-items: center;
}
.stylistList li a:hover{
  text-decoration: underline;
}
.stylistList li img{
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin: 0 8px;
}
.stylistList li:before{
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  margin-right: 4px;
}
.stylistList li.notFound:before{
  content: none;
}

/* daySelect */
.daySelect section{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.stylistArea{
  width: 100%;
}
.stylistArea .img {
  margin-bottom: 20px;
  width: 300px;
  height: 300px;
}
.stylistArea .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.stylistArea .txt {
  min-height: 160px;
  text-align: left;
  margin-bottom: 30px;
}
.stylistArea .txt .name {
  font-size: 34px;
  padding-bottom: 10px;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  color: #000;
}
.stylistArea .txt .name span{
  font-size: 15px;
  display: block;
}
.stylistArea .txt .name a{
  padding: 8px 8px 6px 0;
  font-size: 18px;
  display: inline-block;
  color: #F6704B;
}
.stylistArea .txt .name a:hover{
  text-decoration: none;
  background-color: #F6704B;
  color: #fff;
}


.calendarSection .checkTable th label{
  display: none;
}
.calendarSection td .tdContentWrap.tdContentWrap{
  height: auto;
}
.booked .bookingNotice{
  color: #999;
  font-size: 12px;
  display: block;
  margin: -8px 0 0 18px;
}
.thisDayWorkingtime li::before{
  font-family: "Font Awesome 5 Free";
  content: "\f00d";
  font-weight: bold;
  margin: 0 6px 0 5px;
  font-size: 16px;
}
.thisDayWorkingtime li.selectable a{
  color: #1375BA;
  cursor: pointer;
}
.thisDayWorkingtime li.selectable a:hover{
  text-decoration: underline;
}
.thisDayWorkingtime li.selectable::before{
  content: "\f111";
  color: #1375BA;
  font-weight: normal;
  margin: 0 4px 0 2px;
  text-decoration: none;
}
/* //daySelect */

/* reservationPost */
.reservationPost form{
  width: 640px;
}
.reservationPost .setAddress{
  font-size: 12px;
  color: #fff;
  background-color: #1375ba;
  padding: 4px 8px;
  border-radius: 4px;
  margin: 0 0 16px 16px;
  display: block;
  width: 148px;
  cursor: pointer;
  transition: .3s;
}
.reservationPost .setAddress:hover{
  background-color: #75bdf0;
  box-shadow: 0px 0px 8px 0px black;
}
.reservationPost .customerAddress{
  display: none;
}

.mailDD .inputNotice{
  margin-bottom: 0;
}

.addressDD .townDetailNotice{
  display: block;
  font-size: 13px;
  text-indent: -13px;
  margin-left: 13px;
}
.addressDD .townDetailNotice::before{
  content: "※";
}

.payNotices{
  font-weight: bold;
  text-indent: -16px;
}
.payNotices.card{
  margin: -56px 0 0px 16px;
}
.payNotices.price{
  margin: -16px 0 16px 16px;
}
.confirm .payNotices.price{
  margin: 0 0 16px 16px;
}
.confirm .payNotices.card{
  margin:  -16px 0 16px 16px;
}
.payNotices.point{
  margin: -48px 0 32px 16px;
}
.payNotices::before{
  content: "※";
}

.usePoint,
.reducedPrice{
  display: none;
  /*display: block;*/
}
.usePoint.show,
.reducedPrice.show{
  display: block;
}
.reducedPrice span{
  margin-left: 8px;
}

.reservationPost .contactCheck .inputNotice{
  margin-bottom: 8px;
}
.reservationPost .contactCheck span,
.confirm .contactCheck span,
.booked .contactCheck span{
  display: block;
}
.shopComment{
  margin: 16px 0 32px;
  padding: 16px;
  background-color: #ffc2c2;
}
.shopComment dt span{
  font-weight: normal;
  font-size: 14px;
  display: block;
}

.confirm form,
.booked form{
  width: 544px;
}
.booked .confirm_dn{
  display: none;
}
.booked form .required::before,
.booked form .required::after{
  content: none;
}
.confirm .pointList::before,
.booked .pointList::before{
  content: "･";
}
.confirm .preReducePrice{
  color: #666;
  font-size: 16px;
}

.cancelArea{
  display: none;
}
body.cancel{
  background-color: #ffe5e5;
}
.cancel .cancelArea{
  display: block;
}
.cancel .cancelDetail{
  margin-bottom: 0;
}
.cancel .payCancellationChargeText{
  margin-bottom: 16px;
}
.cancel .cancellationUL li{
  font-size: 14px;
  color: #999;
}
.cancel .cancellationUL.marked li{
  text-indent: -14px;
  margin-left: 14px;
}
.cancel .cancellationUL.marked li::before{
  content: "※";
  font-size: 14px;
}
.cancel .submit{
  background-color: #f00;
}
.cancel .submit:hover{
  background-color: #ffa3a3;
  color: #f00;
}
.cancel .submit.fixSubmit{
  display: none;
}

.statusText{
  text-align: center;
  font-weight: bold;
  color: #fff;
}
.statusText.fixed{
  background-color: #1375ba;
  margin-bottom: 16px;
}
.statusText.canceled{
  background-color: #F00;
}
.reReserveDL{
  width: 288px;
  margin: 0px auto 32px;
  text-align:center;
}
.reReserveDL ul{
  /*display: flex;*/
  /*justify-content: space-between;*/
}
.reReserveDL ul li::before{
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  margin-right: 4px;
}
.rsCheck{
  text-align:center;
  margin-bottom: 30px;
}
.return {
  width: 100%;
}
.reservation_pt,
.confirm_pt,
.booked_pt {
	padding-top: 50px;
}


/* //reservationPost */

/* booked */
.booked main a:hover{
  text-decoration: underline;
}
.booked main .return{
  padding-top: 16px;
}
/* //booked */

/* after */
.after .mailNotice{
  margin: 0 auto;
}
/* //after */
@media only screen and (max-width: 767px){
	.option section {
		width: 100%;
	}
	.index main form, .option main form {
		width: 100%;
	}
	.areaSelect {
		padding: 20px 0;
	}
	.areaSelect dt {
		text-align: center;
		padding-bottom: 15px;
		font-weight: bold;
	}
	.areaSelect dd {
		justify-content: center;
	}
	.areaSelect .decorated_select {
		margin: 0 10px;
	}
	.buttonStyle, input[type="submit"] {
		height: 59px;
		font-size: 18px;
	}
	.reservationPost form {
		width: 100%;
	}
	.rsCheck {
		margin-bottom: 0;
		text-align: left;
	}
	.reservation_pt,
	.confirm_pt,
	.booked_pt {
		padding-top: 30px;
	}
	.confirm form,
	.booked form {
    width: 100%;
	}
	.after .mailNotice {
		width: 100%;
	}
	.booked main .return {
		padding-top: 0;
	}
	.areaSelect .decorated_select {
		width: 160px;
	}
}




@media only screen and (max-width: 400px){
	.areaSelect .decorated_select {
		width: 90%;
		height: 48px;
		margin: 0 5px;
	}
}







