@charset "utf-8";

main {
  overflow: visible;
}

.section_agree {
	text-align: center;
}

#agree_btn {
	pointer-events: none;
	background: #f283a5;
}

#agree_btn.is-active {
	pointer-events: inherit;
	background: #ef648e;
}

/* ------------------------------
  優先予約
------------------------------ */

#select_list {
  display: flex;
  flex-wrap: wrap;
}

#select_list input[name="select_list"] {
  display: none;
}

#select_list label {
  cursor: pointer;
  position: relative;
  margin: 0 0 2em;
  order: 0;
  z-index: 0;
}

#select_list label:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  right: -3px;
  bottom: -3px;
  border-radius: 7px;
  background: url(/assets/img/contents/bg_shadow_blk.png) repeat left top;
  background-size: 9px auto;
  z-index: -1;
}

#select_list label > strong {
  position: relative;
  padding: 1.125em 18px 1.125em 12px;
  display: block;
  font-size: 1.125rem;
	line-height: 1.2;
  border-radius: 7px;
  background: white;
  transition: transform 0.3s;
}

#select_list label:hover>strong {
  transform: translateX(3px) translateY(3px);
}

#select_list .select_list_content {
  display: none;
  order: 10;
}

#select_list input[name="select_list"]:checked+label>strong {
  color: white;
  background: #ef648e;
  transform: translateX(3px) translateY(3px);
}

#select_list input[name="select_list"]:checked+label>strong::after {
  display: block;
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  bottom: -8px;
  margin: 0 auto;
  border-top: solid 8px #ef648e;
  border-left: solid 8px transparent;
  border-right: solid 8px transparent;
}

#select_list label strong {
	display: flex;
	align-items: center;
	justify-content: center;
}

#select_list label strong:before {
	content: "";
	display: block;
	width: 76px;
	height: 64px;
}

#select_list label[for="select_list1"] strong:before {
	background: url(../img/select_icon_web.png) no-repeat;
	background-size: contain;
}

#select_list label[for="select_list2"] strong:before {
	background: url(../img/select_icon_phone.png) no-repeat;
	background-size: contain;
}

#select_list label[for="select_list3"] strong:before {
	background: url(../img/select_icon_fax.png) no-repeat;
	background-size: contain;
}

#select_list label[for="select_list4"] strong:before {
	background: url(../img/select_icon_lawson.png) no-repeat;
	background-size: contain;
}

#select_list input[name="select_list"]:checked+label+.select_list_content {
  display: block;
}

.select_list_content {
	width: 100%;
}

.select_web_reserve a,
.sselect_web_oveview a {
	display: flex;
}

.select_web_reserve a:before {
	content: "";
	display: block;
	background: url(../img/select_icon_web.png) no-repeat;
	background-size: contain;
}

.select_web_oveview a:before,
#select_list_content3 .btn_entrysheet a span:after {
	content: "";
	display: block;
	background: url(../img/icon_png.png) no-repeat;
	background-size: contain;
}

#select_list_content4 dl dd strong {
	color: #f89043;
}


@media (max-width: 640px) {
	.reserve_lead {
    position: relative;
	}
	
	.reserve_lead:before {
		content: "";
		width: 150px;
		height: 85px;
		background: url(../img/balloon_lead_sp.png) no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -80px;
		left: -1px;
		z-index: 20;
	}
	
	.reserve_lead > p {
		text-align: left;
	}

	.reserve_lead .postit {
		width: 100%;
		padding: 13px 20px 14px;
		text-align: center;
		box-sizing: border-box;
	}

	.select_list_lead {
		padding-top: 25px;
	}
	
	#select_list_content1 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body,
	#select_list_content2 .reserve_steps .steps_heading[data-stepnum="4"] + .steps_body,
	#select_list_content3 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body,
	#select_list_content4 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body {
		position: relative;
	}
	
	#select_list_content1 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after,
	#select_list_content2 .reserve_steps .steps_heading[data-stepnum="4"] + .steps_body:after,
	#select_list_content3 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after,
	#select_list_content4 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after {
		content: "";
		width: 124px;
		height: 100px;
		background: url(../img/balloon_waiting.png) no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -102px;
		right: 41px;
		z-index: 100;
	}

	/* select_list */
	#select_list {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#select_list label strong {
		justify-content: space-between;
	}

	#select_list:before {
		content: "";
		width: 100%;
		height: 0;
		padding-top: 3.9%;
		margin-top: 12px;
		margin-bottom: 12px;
		background: url(../img/border_dot_sp.png) no-repeat center;
		background-size: contain;
		order: 7;
	}
	
	#select_list label {
		width: 100%;
		margin: 0 0 10px;
	}
	
	#select_list input[name="select_list"]:checked + label > strong::after {
		display: none;
	}

	#select_list label strong {
		justify-content: center;
		height: 100%;
		padding: 14px 8px 10px;
		font-size: 15px;
		box-sizing: border-box;
	}
	
	#select_list label strong:before {
		width: 39px;
		height: 32px;
    margin-right: 10px;
	}
	
	.select_list_content {
		background-size: 8.5px auto;
		border-radius: 10px;
	}
	
	.select_list_content .sp_select_name {
		padding: 16px 10px 12px;
		margin:  0 0 13px;
		font-size: 17px;
		color: #fff;
		text-align: center;
		font-weight: bold;
		border-radius: 10px;
		background: url(/assets/img/contents/bg_stripe_mgt.png) repeat center;
		background-size: 8.5px auto;
	}

	#select_list_content1 .button_wrap {
		width: 100%;
	}
	
	#select_list_content1 h5 {
		margin-bottom: 6px;
	}
	
	#select_list_content1 .select_web_btn {
		padding-top: 6px;
	}
	
	#select_list_content1 .button_wrap {
		margin-bottom: 12px;
	}

	#select_list_content1 .select_web_reserve a {
		height: 50px;
		padding-top: 0;
		padding-bottom: 0;
	}
	
	#select_list_content1 .select_web_reserve a:before {
		width: 53px;
		height: 44px;
		margin-right: 10px;
		z-index: 1;
		transform: translateY(-3px);
	}
	
	#select_list_content1 a span {
		font-weight: bold;
	}
	
	#select_list_content1 .select_web_reserve a span {
		margin: 0;
	}

	#select_list_content1 .select_web_oveview a:before,
	#select_list_content3 .btn_entrysheet a span:after {
		width: 18px;
		height: 21px;
		margin-right: 10px;
	}
		
	
	#select_list_content2 .content_row {
		width: 100%;
		font-weight: bold;
	}

	#select_list_content2 .content_row > p {
		margin-bottom: 0.75em;
	}
	
	#select_list_content2 .content_address {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 18px 10px 18px 0;
		border-radius: 14px;
		background: #fff;
		box-sizing: border-box;
	}
	
	#select_list_content2 .content_address:before {
		content: "";
		display: block;
		width: 53px;
		height: 44px;
		margin-right: 8px;
		background: url(../img/select_icon_phone.png) no-repeat center;
		background-size: contain;
	}
	
	#select_list_content2 .content_address_notes {
		text-align: center;
	}

	#select_list_content2 .address_free {
	padding-top: 5px;
		margin-bottom: 9px;
		font-size: 1rem;
		line-height: 1;
	}
	
	#select_list_content2 .address_tel {
		margin-bottom: 10px;
		font-size: 1.625rem;
		font-weight: bold;
		line-height: 1;
	}
	
	#select_list_content2 .address_acceptance {
  	box-sizing: border-box;
  	width: 100%;
  	padding-left: 10px;
		font-size: 0.875rem;
		font-weight: lighter;
		line-height: 1.3;
	}
	
	#select_list_content3 .btn_entrysheet {
		display: block;
		font-weight: bold;
		margin-bottom: 20px;
	}

	#select_list_content3 .btn_entrysheet a {
		display: flex;
		height: 70px;
		padding-left: 0.5em;
	}

	#select_list_content3 .btn_entrysheet a:before {
		content: "";
		display: block;
		width: 53px;
		height: 47px;
		margin-right: 10px;
		background: url(../img/select_icon_fax_border.png) no-repeat center;
		background-size: contain;
	}

	#select_list_content3 .btn_entrysheet a span {
		display: flex;
		align-items: center;
		margin-right: 0;
		text-align: center;
	}
	
	#select_list_content3 .btn_entrysheet a span:after {
		margin-left: 10px;
		margin-right: 0;
	}
	
	#select_list_content3 dt {
		font-weight: bold;
	}

	#select_list_content3 dd {
		width: 100%;
		margin-bottom: 12px;
		box-sizing: border-box;
	}
	
	#select_list_content4 .lawson_lead {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
		font-size: 1.125rem;
		font-weight: bold;
		line-height: 1.6;
	}

	#select_list_content4 .lawson_lead:before {
		content: "";
		display: block;
		width: 73px;
		height: 61px;
		margin-right: 14px;
		background: url(../img/select_icon_lawson.png) no-repeat;
		background-size: contain;
	}

	#select_list_content4 ol {
		margin-bottom: 10px;
	}
	
	#select_list_content4 ol > li {
		padding: 18px 10px 0;
		margin-bottom: 40px;
		font-size: 1.125rem;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		border-radius: 10px;
		background: #fff;
		position: relative;
		box-sizing: border-box;
	}

	#select_list_content4 ol > li:last-child {
		margin-bottom: 0;
	}

	#select_list_content4 ol > li img {
		max-width: 172px;
		height: auto;
	}
	
	#select_list_content4 ol > li p + p {
		padding-top: 10px;
	}
	
	#select_list_content4 ol > li + li:before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 15px 15px 0 15px;
		border-color: #ef648e transparent transparent transparent;
		position: absolute;
		top: -28px;
		right: 0;
		left: 0;
		margin: auto;
	}
		
}

@media (min-width: 641px) {
	.reserve_lead {
		text-align: center;
		position: relative;
	}
	
	.reserve_lead:before {
		content: "";
		width: 190px;
		height: 216px;
		background: url(../img/balloon_lead.png) no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -83px;
		left: -1px;
	}
	
	/* select_list */
  #select_list label {
    width: calc( ( 100% - 40px ) / 3 );
  }
  
  #select_list label:not(:first-of-type) {
    margin-left: 20px;
  }
  
  #select_list label::before {
    right: -5px;
    bottom: -5px;
    border-radius: 15px;
    background-size: 18px auto;
  }

  #select_list label>strong {
    border-radius: 15px;
  }

  #select_list label:hover>strong {
    transform: translateX(5px) translateY(5px);
  }

  #select_list label>strong:before {
		margin-right: 20px;
	}
	
  #select_list .schedule_table {
    width: 100%;
  }

  #select_list input[name="select_list"]:checked+label>strong {
    transform: translateX(5px) translateY(5px);
  }

	/* select_list end */
	#select_list_content1 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body,
	#select_list_content2 .reserve_steps .steps_heading[data-stepnum="4"] + .steps_body,
	#select_list_content3 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body,
	#select_list_content4 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body {
		position: relative;
	}
	
	#select_list_content1 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after,
	#select_list_content2 .reserve_steps .steps_heading[data-stepnum="4"] + .steps_body:after,
	#select_list_content3 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after,
	#select_list_content4 .reserve_steps .steps_heading[data-stepnum="2"] + .steps_body:after {
		content: "";
		width: 205px;
		height: 166px;
		background: url(../img/balloon_waiting.png) no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -42px;
		right: 60px;
	}

	.select_list_content .sp_select_name {
		display: none;
	}

	#select_list_content1 .select_web_btn {
		display: flex;
		justify-content: space-between;
	}

	#select_list_content1 .select_web_reserve {
		width: 445px;
		position: relative;
	}
	
	#select_list_content1 .select_web_reserve a,
	#select_list_content1 .select_web_oveview a {
		height: 70px;
		font-weight: bold;
		box-sizing: border-box;
	}
	
	#select_list_content1 .select_web_reserve a:before {
		width: 105px;
		height: 89px;
		z-index: 1;
		transform: translateY(-20px) translateX(-30px);
	}

	#select_list_content1 .select_web_oveview {
		width: 445px;
	}

	#select_list_content1 .select_web_oveview a:before,
	#select_list_content3 .btn_entrysheet a span:after {
		width: 24px;
		height: 27px;
	}

	#select_list_content2 .content_row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		font-weight: bold;
	}
	
	#select_list_content2 .content_address {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 570px;
		padding: 18px 10px 24px;
		border-radius: 14px;
		background: #fff;
		box-sizing: border-box;
	}
	
	#select_list_content2 .content_address:before {
		content: "";
		display: block;
		width: 101px;
		height: 84px;
		margin-right: 8px;
		background: url(../img/select_icon_phone.png) no-repeat;
		background-size: contain;
	}
	
	#select_list_content2 .content_address_notes {
		margin-right: 16px;
		text-align: center;
	}

	#select_list_content2 .address_free {
	padding-top: 5px;
		margin-bottom: 9px;
		font-size: 1rem;
		line-height: 1;
	}
	
	#select_list_content2 .address_tel {
		margin-bottom: 10px;
		font-size:  1.625rem;
		font-weight: bold;
		line-height: 1;
	}
	
	#select_list_content2 .address_acceptance {
  	width: 100%;
		padding-top: 10px;
  	margin-left: -16px;
  	text-align: center;
		font-size: 0.875rem;
		font-weight: lighter;
		line-height: 1.6;
	}
	
	#select_list_content3 .btn_entrysheet {
		display: block;
		font-weight: bold;
		margin-bottom: 35px;
	}

	#select_list_content3 .btn_entrysheet a {
		display: flex;
		justify-content: flex-start;
		height: 70px;
		padding-left: 70px;
		font-size: 1.25rem;
	}

	#select_list_content3 .btn_entrysheet a:before {
		content: "";
		display: block;
		width: 105px;
		height: 93px;
		margin-right: 150px;
		background: url(../img/select_icon_fax_border.png) no-repeat;
		background-size: contain;
		transform: translateY(-10px);
	}

	#select_list_content3 .btn_entrysheet a span {
		display: flex;
		align-items: center;
		text-align: center;
	}

	#select_list_content3 .btn_entrysheet a span:after {
		margin-left: 15px;
	}
	

	#select_list_content3 dl {
		padding: 14px 0 0;
		position: relative;
	}

	#select_list_content3 dt {
		width: 3em;
		font-weight: bold;
		position: absolute;
	}

	#select_list_content3 dt:after {
		content: "";
		display: block;
		width: 99px;
		height: 3px;
		background: url(../img/border_dot.png) repeat;
		background-size: contain;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 60px;
		margin: auto;
	}
	
	#select_list_content3 dd {
		width: 100%;
		padding-left: 177px;
		margin-bottom: 9px;
		box-sizing: border-box;
	}

	#select_list_content4 .lawson_lead {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
		text-align: center;
		font-size: 1.25rem;
		font-weight: bold;
		line-height: 1.6;
	}

	#select_list_content4 .lawson_lead:before {
		content: "";
		display: block;
		width: 105px;
		height: 88px;
		margin-right: 21px;
		background: url(../img/select_icon_lawson.png) no-repeat;
	}

	#select_list_content4 ol {
		display: flex;
		justify-content: space-between;
		width: 840px;
		margin: 0 auto;
	}
	
	#select_list_content4 ol > li {
		width: 390px;
		padding: 23px 20px 0;
		font-size: 1.25rem;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		border-radius: 20px;
		background: #fff;
		position: relative;
		box-sizing: border-box;
	}
	
	#select_list_content4 ol > li p + p {
		padding-top: 10px;
	}
	
	#select_list_content4 ol > li img {
		width: 246px;
		height: 128px;
	}
	
	#select_list_content4 ol > li + li:before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 0 30px 30px;
		border-color: transparent transparent transparent #ef648e;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -45px;
		margin: auto;
	}
}